release-request-c9e3b153-009d-4386-b83e-337752602795-for-git_oc-mr1-release-4111654 snap-temp-L22900000075285650

Change-Id: If080e52e63c1fa51abc7f514c49eb6d2c3b0d19b
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..5d4f1ac
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,28 @@
+*.patch
+*.o
+*.a
+*.la
+*.lo
+*~
+*.orig
+*.rej
+Makefile
+Makefile.in
+aclocal.m4
+autom4te.cache
+config.*
+depcomp
+compile
+configure
+*.rules
+*.fdi
+*.hwdb
+*.pc
+*.usermap
+hotplug.sh
+install-sh
+libmtp.sh
+libtool
+ltmain.sh
+missing
+stamp-h1
diff --git a/.travis-translate-pkgs b/.travis-translate-pkgs
new file mode 100644
index 0000000..b31337c
--- /dev/null
+++ b/.travis-translate-pkgs
@@ -0,0 +1,50 @@
+#!/bin/sh
+
+set -e
+
+# Translate package names from Ubuntu packages to OSX brew packages
+ubuntu2osx() {
+    case "$1" in
+	libusb-dev)       echo "libusb-compat" ;;
+	libusb-1.0-0-dev) echo "libusb" ;;
+	libgd2-xpm-dev)   echo "gd" ;;
+	*)
+	    echo "Error: Unknown package name: '$1'" >&2
+	    exit 2 ;;
+    esac
+}
+
+case "$TRAVIS_OS_NAME" in
+    linux)
+	echo "autopoint" "$@"
+	;;
+    osx)
+	accu="gettext"
+	for pkg in "$@"; do
+	    pkg="$(ubuntu2osx "$pkg")"
+	    accu="$accu $pkg"
+	done
+	echo "$accu"
+	;;
+    *)
+	echo "Unknown TRAVIS_OS_NAME value: '$TRAVIS_OS_NAME'" >&2
+	exit 1
+esac
+
+exit 0
+
+# Test this script.
+#
+# Usage: Type ( into a shell, paste test code, type ) and press Enter.
+true <<EOF
+for SH in "bash" "busybox sh"; do
+  for os in linux osx no-os; do
+    for EXTRALIBS in "" "libusb-dev" "libusb-1.0-0-dev libgd2-xpm-dev" "nosuchlib"; do
+      echo "### SHELL: $SH OS: $os EXTRALIBS: '$EXTRALIBS' ###"
+      env TRAVIS_OS_NAME=$os $SH .travis-before-install $EXTRALIBS
+      echo "### Status: $?"
+      echo
+    done
+  done
+done
+EOF
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..4d5fc58
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,29 @@
+language: c
+
+os:
+ - linux
+
+env:
+ - EXTRALIBS="gettext libusb-dev"
+ - EXTRALIBS="gettext libusb-1.0-0-dev"
+
+# Note: Keep the sudo commands in .travis.yml - they do not work from
+#       a helper shell script.
+before_install:
+ - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update; fi
+ - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install $(sh .travis-translate-pkgs $EXTRALIBS); fi
+ - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get update -qq; fi
+ - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get install -y $(sh .travis-translate-pkgs $EXTRALIBS); fi
+
+compiler:
+ - clang
+ - gcc
+
+script:
+ - export PATH=/usr/local/opt/gettext/bin:$PATH ; echo "n" | sh ./autogen.sh
+ - make && make check
+
+notifications:
+  email:
+    on_success: change
+    on_failure: always
diff --git a/AUTHORS b/AUTHORS
index 4ce8132..4ca3151 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -37,4 +37,9 @@
 Alvin <alvinbeach@gmail.com>
 James Ravenscroft <ravenscroftj@gmail.com>
 Thomas Schweitzer <thomas_-_s@users.sourceforge.net>
-Nyall Dawson <nyall@zombiepigs.net>
\ No newline at end of file
+Nyall Dawson <nyall@zombiepigs.net>
+Nicolas VIVIEN <nicolas@vivien.fr>
+Andrea Grillini <andrea.grillini@inwind.it>
+Yavor Goulishev <yavor@google.com>
+Jonas Salling <jonas@salling.com>
+Sajid Anwar <sajidanwar94@gmail.com>
diff --git a/ChangeLog b/ChangeLog
index f6c3500..3619938 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,222 @@
+2011-01-19  Linus Walleij <triad@df.lth.se>
+
+	RETIRING THIS FILE! WE HAVE MIGRATED TO GIT WHICH
+	PROVIDES EASY ACCESS TO THE CHANGELOG, LETS GET RID
+	OF THIS ANCIENT CRUFT
+
+2011-01-09  Linus Walleij <triad@df.lth.se>
+
+	* configure.ac: bump to 1.0.4
+	* src/Makefile.am: bump interface to libmtp.so.8.3.4
+	* Release libmtp 1.0.4
+
+2010-12-07  Linus Walleij <triad@df.lth.se>
+
+	* configure.ac: make sure the prober only compiles for
+	  Linux.
+	* src/ptp.c: update to match upstream.
+	* src/ptp.h: dito.
+	* src/ptp-pack.c: dito.
+
+2010-12-05  Linus Walleij <triad@df.lth.se>
+
+	* utils/mtp-probe.c: enhanced to use libmtp intrinsics
+	  and e.g. OS descriptor to probe new devices from
+	  udev.
+	* utils/mtp-hotplug.c: utilize mtp-probe.
+	* src/libmtp.h.in: add new interface used by the mtp-probe
+	  utility to probe a certain device in a certain bus.
+	* src/libusb-glue.c: introduce new function to probe a
+	  certain bus and device.
+	* examples/Makefile.am: reform the way of making all
+	  executable examples prefixed with "mtp-*" just set this
+	  name in the make target!
+	* configure.ac: drop the default "mtp-*" prefixing of all
+	  programs, instead I have renamed the executables.
+	* Makefile.am: install the mtp-probe script in the
+	  libexecdir, and FORCE this to be /lib/udev.
+	  We now also install the udev rules to
+	  $libexecdir/rules.d, which is thus also forced to
+	  be /lib/udev/rules.d.
+
+2010-12-01  Linus Walleij <triad@df.lth.se>
+
+	* examples/hotplug.c: drop old udev style somewhat.
+	* utils/: move out mtp-hotplug into its own subdir,
+	  intend to put programs to probe devices here too.
+	* utils/mtp-hotplug.c: moved the hotplug program here.
+	* utils/check_mtp_device.sh: tentative script for
+	  checking MTP devices.
+	* utils/mtp-probe.c: C program intended to check if
+	  devices are MTP.
+
+2010-11-24  Linus Walleij <triad@df.lth.se>
+
+	* examples/hotplug.c: set the music player environment
+	  variable for userspace programs watching udev output to
+	  determine what device is plugged in.
+
+2010-10-31  Linus Walleij <triad@df.lth.se>
+
+	* src/libusb-glue.c: only reset the device if a connection
+	  fails, then retry. We were resetting the device on every
+	  close() - not good.
+
+2010-10-17  Linus Walleij <triad@df.lth.se>
+
+	* src/libmtp.c: Windows file open fixes from Jelle Geerts.
+	* examples/sendfile.c: exit with 1 on error.
+	* examples/*: condensed connect subprograms to a single
+	  header and propagate error codes.
+
+2010-09-18  Linus Walleij <triad@df.lth.se>
+
+	* src/libmtp.c: NULL check on abstract lists, drop unused
+	  folder variable.
+
+2010-07-25  Linus Walleij <triad@df.lth.se>
+
+	* src/libmtp.c: if the Ogg or FLAC filetypes have been
+	  flagged as being stored as "unknown" and the device now
+	  indicates it supports them: remove the flag.
+	* src/libmtp.c: parse device extensions.
+	* src/libmtp.h.in: stack up device extensions in the
+	  device struct.
+
+2010-06-19  Richard Low <richard@wentnet.com>
+
+	* src/music-players.h: add Apple devices as supported by
+	  PwnTunes
+
+2010-05-23  Linus Walleij <triad@df.lth.se>
+
+	* src/libusb-glue.c: don't probe HID equipment for device
+	  descriptors, some Kensington mice don't like that and
+	  there generally is not point either
+	* src/Makefile.am: interface libmtp.so.8.3.3
+	* configure.ac: libmtp 1.0.3
+	* Release 1.0.3
+
+2010-05-16  Richard Low <richard@wentnet.com>
+
+	* src/libusb-glue.c: usb bus location fix for Mac and disable
+	  usb_set_altinterface on Mac
+
+2010-04-25  Linus Walleij <triad@df.lth.se>
+
+	* src/ptp.c: sync to upstream.
+	* src/ptp.h: dito.
+	* src/playlist-spl.c: fix an issue with Samsung playlists disappearing
+	  since they were using a custom MTP type.
+	* src/libmtp.c: moan about PTP devices without MTP extension
+
+2010-04-05  Linus Walleij <triad@df.lth.se>
+
+	* src/ptp.c: sync to upstream.
+	* src/ptp.h: dito.
+	* src/ptp-pack.c: dito.
+
+2010-02-01  Linus Walleij <triad@df.lth.se>
+
+	* src/Makefile.am: interface libmtp.so.8.3.2
+	* configure.ac: libmtp 1.0.2
+	* Release 1.0.2.
+
+2010-01-30  Linus Walleij <triad@df.lth.se>
+
+	* examples/connect.c: bad prototype for sendtrack_.
+	* examples/sentr.c: bad prototype.
+	* src/ptp.c: sync to upstream.
+	* src/ptp.h: dito.
+	* src/ptp-pack.c: dito.
+
+2010-01-19  Linus Walleij <triad@df.lth.se>
+
+	* src/libmtp.c: handle a root folder with a number of
+	  0xffffffffU (-1), even if the spec says that 0x00000000
+	  is the root folder. Add some warnings.
+	* src/libmtp.c: patch from Kevin Hester to fix the erroneous
+	  setting of genre or release date to NULL on some devices.
+	* src/libusb-glue.c: patch to fix a bug in some multithread
+	  contexts affecting e.g. Rhythmbox, also by Kevin Hester.
+	* examples/Makefile.am: fix the bad prefixing that came in
+	  as part of the Windows fixes. Keep $(EXEEXT).
+
+2010-01-07  Linus Walleij <triad@df.lth.se>
+
+	* src/libmtp.c: detect "My_Foo" default folders as well
+	  as "My Foo" (underscore) as well.
+
+2010-01-01  Linus Walleij <triad@df.lth.se>
+
+	* src/libmtp.h.in: we use time_t so include <time.h>
+
+2009-12-16  Linus Walleij <triad@df.lth.se>
+
+	* src/libusb-glue.c: don't complain so much about the
+	  response to command 2.
+
+2009-11-30  Linus Walleij <triad@df.lth.se>
+
+	* src/libusb-glue.c: bus detection fix for libusb -
+	  bus->location was not properly initialized.
+
+2009-10-10  Linus Walleij <triad@df.lth.se>
+
+	* src/libmtp.h.in: move debugmacros to util.h
+	* src/util.h: dito
+	* libmtp.pc.in: erroneouse Libs.private, lacking ":"
+
+2009-09-28  Nicolas VIVIEN <nicolas@vivien.fr>
+
+	* examples/albumart.c : add d option, to enable or not debug
+	  ouput.
+	* examples/albums.c : dito.
+	* examples/detect.c : dito.
+	* src/libmtp.c : Add LIBMTP_Set_Debug function.
+	* src/libmtp.h.in : Add LIBMTP_Set_Debug function to API.
+	* src/libmtp.sym : Add LIBMTP_Set_Debug function to exported symbol.
+	* src/libusb-glue.h : Add LIBMTP_USB_DEBUG / LIBMTP_DATA_DEBUG macros.
+	* src/libusb-glue.c : Use previous macros inside of printf.
+	* src/playlist-spl.c : Add LIBMTP_PLST_DEBUG macro.
+
+2009-09-25  Linus Walleij <triad@df.lth.se>
+
+	* src/libusb-glue.c: some more BlackBerry fixing from
+	  Nicolas.
+	* examples/albumart.c: add p and s switches, to support
+	  storage and parent ID:s. (Nicolas)
+	* examples/newplaylist.c: dito. (Nicolas)
+
+2009-09-23  Linus Walleij <triad@df.lth.se>
+
+	* src/libmtp.c: patch from Nyall Dawson to make all
+	  filenames unique if the device requires this.
+	* src/libusb-glue.h: dito.
+	* src/device-flags.h: dito.
+	* src/music-players.h: dito.
+
+2009-09-23  Linus Walleij <triad@df.lth.se>
+
+	* src/libusb-glue.c: several patches from Nicolas Vivien to
+	  support the BlackBerry Storm.
+	* src/device-flags.h: add special flag for the BlackBerry
+	  "switch mode" command.
+	* src/libusb-glue.h: dito.
+	* src/music-players.h: tag the BlackBerry with this flag.
+
+2009-09-21  Linus Walleij <triad@df.lth.se>
+
+	* examples/sendtr.c: patch from Andrea Grillini to support
+	  quiet mode operation.
+
+2009-09-12  Linus Walleij <triad@df.lth.se>
+
+	* src/libusb-glue.c: skip interfaces with != 3 endpoints
+	  and make sure we locate 1 bulk in, 1 bulk out and 1 interrupt
+	  endpoint on the interface, else SKIP IT. Based on a patch
+	  from Nicolas Vivien <nicolas@vivien.fr>.
+
 2009-09-12  Linus Walleij <triad@df.lth.se>
 
 	* configure.ac: bump version to libmtp 1.0.1 and release!
@@ -321,7 +540,7 @@
 
 	* configure.ac: bump to 0.3.6 and release.
 	* src/Makefile.am: interface bump to libmtp.so.8.2.1
-	
+
 2009-01-16  Linus Walleij <triad@df.lth.se>
 
 	* src/ptp.c: sync to upstream.
@@ -422,7 +641,7 @@
 	* Release libmtp 0.3.4.
 	* configure.ac: let's release 0.3.4.
 	* src/Makefile.am: compatible API and ABI.
-	
+
 2008-11-05  Linus Walleij <triad@df.lth.se>
 
 	* src/libmtp.c: fix the association type problem on
@@ -470,7 +689,7 @@
 	* configure.ac: bump to 0.3.3.
 	* src/Makefile.am: interface to .so.8.1.0
 	* Release as 0.3.3.
-	
+
 2008-09-24  Linus Walleij <triad@df.lth.se>
 
 	* src/libmtp.h.in: add new filename setting functions, patch
@@ -495,7 +714,7 @@
 
 2008-09-20  Joe Nahmias <joe@nahmias.net>
 
-	* examples/sendtr.c: added option to specify which 
+	* examples/sendtr.c: added option to specify which
 	  storage_id the track should be copied.
 
 2008-09-20  Linus Walleij <triad@df.lth.se>
@@ -527,7 +746,7 @@
 
 2008-09-04  Linus Walleij <triad@df.lth.se>
 
-	* src/libmtp.c: look up the filename for playlists if the name is 
+	* src/libmtp.c: look up the filename for playlists if the name is
 	  missing or not properly set. Not doing the same for albums -
 	  these must have proper metadata.
 	* src/music-players.h: more players as usual.
@@ -619,7 +838,7 @@
 	  It's NOT compatible!
 	* RELEASE libmtp 0.3.0 and let the apps developers have
 	  their apps fixed!
-	
+
 2008-06-22  Linus Walleij <triad@df.lth.se>
 
 	* src/libmtp.h.in: removed the parenthandle argument from
@@ -660,14 +879,14 @@
 	* src/libmtp.c: only look for default folders in the
 	  primary storage, and only try to put files there
 	  if they are targetting the primary storage.
-	
+
 2008-06-08  Linus Walleij <triad@df.lth.se>
 
 	* configure.ac: check for the langinfo.h header.
 	* examples/connect.c: check charset properly.
 	* examples/sendtr.c: dito.
 	* src/music-players.h: new devices galore.
-	
+
 2008-06-03  Linus Walleij <triad@df.lth.se>
 
 	* src/device-flags.h: new device flag for devices that
@@ -691,11 +910,11 @@
 	  switching on the device flags and increase the code
 	  readability.
 	* src/libmtp.c: use the new accessor functions.
-	
+
 2008-06-01  Linus Walleij <triad@df.lth.se>
 
 	* src/libmtp.c: use LIBMTP_Detect_Raw_Devices() and
-	  LIBMTP_Open_Raw_Device() inside 
+	  LIBMTP_Open_Raw_Device() inside
 	  LIBMTP_Get_First_Device() refactoring. Move
 	  params creation into this file.
 	* src/libusb-glue.c: move params creation away
@@ -754,7 +973,7 @@
 2008-05-05  Linus Walleij <triad@df.lth.se>
 
 	* src/libusb-glue.c: assign device name and flags to
-	  detected raw devices, slowly preparing to move to 
+	  detected raw devices, slowly preparing to move to
 	  using the raw device detection internally as well.
 
 2008-05-04  Linus Walleij <triad@df.lth.se>
@@ -784,14 +1003,14 @@
 	  types and tidy up a bit.
 
 2008-04-24  Linus Walleij <triad@df.lth.se>
-	
+
 	* src/libmtp.h.in: added preliminary interface for getting
 	  raw devices.
 	* src/libusb-glue.c: the implementation is all here!
 	* src/libusb-glue.h: add some bus and device fields to the
 	  internal device list.
 	* examples/detect.c: exercise the raw device detection code.
-	
+
 2008-03-26  Linus Walleij <triad@df.lth.se>
 
 	* examples/pathutils.c: fix a folder identification bug,
@@ -820,12 +1039,12 @@
 2008-03-02  Linus Walleij <triad@df.lth.se>
 
 	* configure.ac: prepare 0.2.6 release.
-	* src/Makefile.am: bump to compatible interface, 
+	* src/Makefile.am: bump to compatible interface,
 	* src/ptp.c: sync in upstream, a Sansa fix!
 	* src/ptp.h: sync in upstream.
 	* doc/Doxyfile.in: retire obsoleted parameters.
 	* Release this as 0.2.6!
-	
+
 2008-02-24  Richard Low <richard@wentnet.com>
 
 	* src/music-players.h: add DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL
@@ -857,7 +1076,7 @@
 
 	* src/libmtp.c: LIBMTP_Get_Filemetadata() return metadata for
 	  folders (associations) too. There is really no reason why it
-	  shouldn't and it's good for use internally. 
+	  shouldn't and it's good for use internally.
 	  LIBMTP_Get_Filelisting_With_Callback() will still not return
 	  any associations however. We want to use the folder functions
 	  for that.
@@ -866,7 +1085,7 @@
 
 	* src/libmtp.h.in: withdraw LIBMTP_Set_Object_Parent() function,
 	  no known devices will support this.
-	* src/libmtp.c: dito. Fix up some problems with the 
+	* src/libmtp.c: dito. Fix up some problems with the
 	  LIBMTP_Set_Object_Filename() function.
 
 2008-01-27  Linus Walleij <triad@df.lth.se>
@@ -899,7 +1118,7 @@
 	* src/libmtp.h.in: ditto
 
 2008-01-14  Linus Walleij <triad@df.lth.se>
-	
+
 	* src/libmtp.c: add LIBMTP_Get_Manufacturername(). Remember
 	  to bump soname (compatible) in 0.2.6 (or whatever we name it).
 	  0.3.0 perhaps?
@@ -912,7 +1131,7 @@
 	* examples/pathutils.c: recognize .bin files as firmware,
 	  used by e.g. RockBox developers. Doesn't cost anything to
 	  add.
-	
+
 2008-01-08  Linus Walleij <triad@df.lth.se>
 
 	* configure.ac: bump to 0.2.5.
@@ -1028,7 +1247,7 @@
 	  RAZR2 V8 has this problem.
 	* src/libusb-glue.h: flag for broken set object proplist.
 	* libmtp.c: avoid broken set object proplist.
-	
+
 2007-10-09  Jeff Mitchell <kde-dev@emailgoeshere.com>
 
 	* src/libusb-glue.c: add separate vendor and product strings
@@ -1043,7 +1262,7 @@
 	* src/Makefile.am: interface to libmtp.so.6.0.2 (compatible)
 	* Release as 0.2.2. Now is as good time as ever. Release
 	  early and release often.
-	
+
 2007-10-03  Linus Walleij <triad@df.lth.se>
 
 	* src/libusb-glue.c: tag the OLD Creative devices with
@@ -1057,11 +1276,11 @@
 	* src/libmtp.c: devices which represented file size with a
 	  32bit value (some Creative devices) would return a bananas
 	  file size. Fixed it up by...
-	* src/libmtp.h.in: recycling the uint8_t "interface" 
-	  field in the device struct as a holder of the object size 
-	  for the device. This will make the new library binary 
-	  compatible with version 0.2.1 since no-one should *ever* 
-	  dereference that value (which used to be the USB interface 
+	* src/libmtp.h.in: recycling the uint8_t "interface"
+	  field in the device struct as a holder of the object size
+	  for the device. This will make the new library binary
+	  compatible with version 0.2.1 since no-one should *ever*
+	  dereference that value (which used to be the USB interface
 	  number and is now the object size).
 	* examples/files.c: display 64bit file sizes in hex correctly.
 
@@ -1102,11 +1321,11 @@
 	* src/libusb-glue.c: flag the Samsung YH-820 with
 	  DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL after tests by Stephan
 	  Fabel.
-	
+
 2007-09-18  Linus Walleij <triad@df.lth.se>
 
 	* src/libusb-glue.c: stop the endpoint unhalting/unstalling when
-	  closing the USB device. It was AYBABTU the Samsungs 
+	  closing the USB device. It was AYBABTU the Samsungs
 	  (and others).
 
 2007-09-17  Linus Walleij <triad@df.lth.se>
@@ -1148,7 +1367,7 @@
 	* src/ptp.c: reflect changes.
 	* src/ptp.h: reflect changes.
 	* src/libmtp.c: reflect changes.
-	
+
 2007-09-06  Linus Walleij <triad@df.lth.se>
 
 	* examples/hotplug.c: edit up into a udev ruleset that is
@@ -1178,11 +1397,11 @@
 	  object ID.
 	* hotplug.sh.in: explicitly call BASH instead of just sh. Warn
 	  if script is not run as root.
-	
+
 2007-08-29  Linus Walleij <triad@df.lth.se>
 
 	* examples/Makefile.am: move include define from AM_CFLAGS to
-	  AM_CPPFLAGS (as it should be) bug found by Petar Petrov 
+	  AM_CPPFLAGS (as it should be) bug found by Petar Petrov
 	  <pesho.petrov@gmail.com>.
 	* src/libusb-glue.c: strange misleading message corrected. Fix
 	  up the horrid interface passing back-and-forward and confusing.
@@ -1197,7 +1416,7 @@
 	  size in advance. Add in some code to fall back on the recursive
 	  metadata retrieveal if getting the whole long list fails.
 	* src/libusb-glue.c: tag all Sansas as having broken GetObjectPropList
-	  when all tags for all objects are requested. Scan each INTERFACE 
+	  when all tags for all objects are requested. Scan each INTERFACE
 	  of the device for device descriptors.
 
 2007-08-24  Linus Walleij <triad@df.lth.se>
@@ -1216,7 +1435,7 @@
 	  are ranges or enums, rounding and twiddling if need be. This is
 	  needed because some new devices (like the TrekStor Sweez,
 	  has duration defined as a range: MIN 0, MAX 65535000, STEP 1
-	  and Sandisk Sansa c240 has duration as range: MIN 0, MAX 2147483000, 
+	  and Sandisk Sansa c240 has duration as range: MIN 0, MAX 2147483000,
 	  STEP 1000) whereas old devices would just accept any value.
 
 2007-08-16  Richard Low <richard@wentnet.com>
@@ -1340,8 +1559,8 @@
 
 2007-07-10  Linus Walleij <triad@df.lth.se>
 
-	* examples/hotplug.c: force HAL OGG support on iriver devices. 
-	  They all have it! Also force for two other devices that does 
+	* examples/hotplug.c: force HAL OGG support on iriver devices.
+	  They all have it! Also force for two other devices that does
 	  this.
 
 2007-07-07  Linus Walleij <triad@df.lth.se>
@@ -1439,7 +1658,7 @@
 
 	* src/ptp.c: sync to upstream gPhoto source.
 	* src/ptp.h: dito.
-	
+
 2007-04-17  Richard Low <richard@wentnet.com>
 
 	* src/libusb-glue.c: new device
@@ -1456,7 +1675,7 @@
 
 	* examples/files.c: some WIN32 64bit prefix fixup.
 	* examples/tracks.c: dito.
-	
+
 2007-03-28  Ted Bullock <tbullock@canada.com>
 
 	* examples/*.c: Print library version number on execution of examples.
@@ -1476,15 +1695,15 @@
 
 	* src/libmtp.c: refactored MTP property list handling code to make
 	  things simple. Removed the flag for MTP enhanced: there are devices
-	  that will not work without MTP enhanced (for example the Samsung 
-	  YP-K5 will only support setting object property lists, not 
-	  individual object properties, leaving out parts of the MTP basic 
-	  subset), thus we are allowed to reverse-engineer and implement this 
-	  for interoperability. I also made the output from 
-	  LIBMTP_Dump_Device_Info() considerably more verbose, plotting out 
-	  the ranges and possible enumerated values of all object properties.
-	  For example you can see that the secret values associated with 
-	  Audible.com property 0xda01 is an enumerated value that can be 
+	  that will not work without MTP enhanced (for example the Samsung
+	  YP-K5 will only support setting object property lists, not
+	  individual object properties, leaving out parts of the MTP basic
+	  subset), thus we are allowed to reverse-engineer and implement this
+	  for interoperability. I also made the output from
+	  LIBMTP_Dump_Device_Info() considerably more verbose, plotting out
+	  the ranges and possible enumerated values of all object properties
+	  For example you can see that the secret values associated with
+	  Audible.com property 0xda01 is an enumerated value that can be
 	  2, 3 or 4 (etc).
 
 2007-03-22  Richard Low <richard@wentnet.com>
@@ -1512,10 +1731,10 @@
 2007-03-12  Linus Walleij <triad@df.lth.se>
 
 	* Makefile.am: cleanup patch from Rafael Laboissiere.
-	* src/libusb-glue.c: refactored device detection code to 
-	  immediately test if the device is in the known devices list if it 
-	  does not feature a MTP device descriptor. This fixes the problem 
-	  of not being able to mix devices with proper descriptors and 
+	* src/libusb-glue.c: refactored device detection code to
+	  immediately test if the device is in the known devices list if it
+	  does not feature a MTP device descriptor. This fixes the problem
+	  of not being able to mix devices with proper descriptors and
 	  non-detected devices.
 
 2007-03-07  Linus Walleij <triad@df.lth.se>
@@ -1523,7 +1742,7 @@
 	* src/libusb-glue.c: remove libgphoto2 functions that we
 	  don't use.
 	* src/libusb-glue.h: export the free_mtpdevice_list() function,
-	  new signature of find_usb_devices().	
+	  new signature of find_usb_devices().
 	* src/libmtp.c: shrink code, pass as list of devices instead of
 	  several huge arrays between libmtp.c and USB glue layer in
 	  libusb-glue.c using the nifty list struct defined in libusb-glue.h.
@@ -1531,10 +1750,10 @@
 
 2007-03-06  Linus Walleij <triad@df.lth.se>
 
-	* src/libusb-glue.c: rewrote one more function to be 
+	* src/libusb-glue.c: rewrote one more function to be
 	  non-recursive, perhaps I found the remaining bug, just
 	  cannot see that right now, will test tomorrow.
-	
+
 2007-03-05  Linus Walleij <triad@df.lth.se>
 
 	* src/libmtp.c: rewrite recursive function to linear.
@@ -1545,13 +1764,13 @@
 	  linear, use wrapper objects, don't copy the libusb device
 	  struct, instead just store a pointer to it. This magically
 	  solved a bug...
-	
+
 2007-03-04  Linus Walleij <triad@df.lth.se>
 
 	* src/Makefile.am: bump library interface to libmtp.so.5.2.0
 	  backwards compatible with any libmtp.so.5 interface, for
 	  imminent libmtp 0.1.4 release.
-	
+
 2007-03-03  Ted Bullock  <tbullock@canada.com>
 
 	* src/libusb-glue.c: Don't echo warnings about reading a single
@@ -1567,7 +1786,7 @@
 2007-03-03  Linus Walleij <triad@df.lth.se>
 
 	* src/libusb-glue.h: Tiresome ramblings to explain exactly what
-	  the (now renamed) device flag DEVICE_FLAG_NO_ZERO_READS really 
+	  the (now renamed) device flag DEVICE_FLAG_NO_ZERO_READS really
 	  means.
 	* src/libusb-glue.c: Renamed flag. Indent code :-) Reading the code
 	  and being impressed by our ability to iron out the root cause
@@ -1583,28 +1802,28 @@
 2007-02-28  Linus Walleij <triad@df.lth.se>
 
 	* src/ptp.h: Upstream accepted our patch so synced it in.
-	
+
 2007-02-27  Linus Walleij <triad@df.lth.se>
 
-	* src/ptp.c: Synced in upstream version which removes the 
+	* src/ptp.c: Synced in upstream version which removes the
 	  offending line.
 	* src/libmtp.c: replaces strcmp() for strcasecmp() in folder
 	  detection since Windows and some devices (such as iRivers)
 	  ignore case and user capital letters for default folders.
-	
+
 2007-02-22  Ted Bullock  <tbullock@canada.com>
 
-	* src/ptp.c: Comment out line in ptp_exit_fd_handler that was 
-	  closing a file descriptor.  This is not the responsibility of 
+	* src/ptp.c: Comment out line in ptp_exit_fd_handler that was
+	  closing a file descriptor.  This is not the responsibility of
 	  the PTP Layer. Defect and solution found by Rob Reardon
 
 2007-02-26  Linus Walleij <triad@df.lth.se>
 
-	* src/libmtp.c: Implement a check for PTP_OC_MTP_SetObjectPropValue 
-	  in the LIBMTP_Update_Track_Metadata() function, there are 
-	  obviously devices that do not support this, but only 
-	  PTP_OC_MTP_SetObjPropList instead (such as the Samsung YH 925-GS), 
-	  but we haven't implemented that yet. Problems are 
+	* src/libmtp.c: Implement a check for PTP_OC_MTP_SetObjectPropValue
+	  in the LIBMTP_Update_Track_Metadata() function, there are
+	  obviously devices that do not support this, but only
+	  PTP_OC_MTP_SetObjPropList instead (such as the Samsung YH 925-GS),
+	  but we haven't implemented that yet. Problems are
 	  atleast reported correctly now.
 
 2007-02-24  Richard Low <richard@wentnet.com>
@@ -1615,7 +1834,7 @@
 2007-02-23  Linus Walleij <triad@df.lth.se>
 
 	* src/libmtp.c: Undeprecate getting first device code.
-	
+
 2007-02-23  Richard Low <richard@wentnet.com>
 
 	* src/libmtp.c: Fix crash when no devices connected
@@ -1627,7 +1846,7 @@
 	* src/libusb-glue.h: Remove old uni-device cruft code
 	* Replace LIBMTP_ERROR_N0_DEVICE_ATTACHED with
 		LIBMTP_ERROR_NO_DEVICE_ATTACHED across entire project
-	
+
 2007-02-22  Ted Bullock  <tbullock@canada.com>
 
 	* examples/albums.c: Updated to use new multi device code
@@ -1667,21 +1886,21 @@
 
 	* examples/folders.c: Updated to use new multi device code
 	* src/libmtp.c: Fixed potential memory leaks
-	* src/libusb-glue.c: Fixed potential memory leaks and fixed device 
+	* src/libusb-glue.c: Fixed potential memory leaks and fixed device
 	  release segfault for multiple devices
 
 2007-02-14  Ted Bullock  <tbullock@canada.com>
 
-	* src/libusb-glue.c: Wrote three new recursive functions to avoid 
-	  extreme levels of multiple indirection and to clean the code up 
+	* src/libusb-glue.c: Wrote three new recursive functions to avoid
+	  extreme levels of multiple indirection and to clean the code up
 	  a bit for multiple devices.
-	* examples/detect.c: Adjusted function calls to use new multiple 
+	* examples/detect.c: Adjusted function calls to use new multiple
 	  device code.
 	* src/libmtp.h.in: Added prototype for LIBMTP_Release_Device_List
 
 2007-02-12  Ted Bullock  <tbullock@canada.com>
 
-	* src/libmtp.c: Two new functions (create_usb_mtp_devices and 
+	* src/libmtp.c: Two new functions (create_usb_mtp_devices and
 	  LIBMTP_Get_Connected_Devices) to add support for multiple devices
 	  to client applications
 	* src/libmtp.h: Added LIBMTP_Get_Connected_Devices as a publicly
@@ -1760,7 +1979,7 @@
 	  (but let's not do that renaming since it would break the API).
 	  For now let's understand this is a USB-only function by
 	  simply putting it in the libusb-glue.c file.
-	
+
 2007-01-22  Ted Bullock <tbullock@canada.com>
 
 	* src/libusb-glue.c: first hack at creating an interface
@@ -1779,7 +1998,7 @@
 	  errors and adjust examples to make use of the error
 	  stack.
 	* src/libmtp.c: dito.
-	
+
 2007-01-20  Richard Low <richard@wentnet.com>
 
 	* src/libusb-glue.c: new device 'Philips PSA235'
@@ -1808,7 +2027,7 @@
 	  a little bit.
 	* src/libmtp.c: don't assign values to writes or reads, use the
 	  PTP transport intrinsics instead.
-	
+
 2007-01-07  Orson Teodoro <orsonteodoro@yahoo.com>
 
 	* src/ptp.h: Encoding profile.
@@ -1839,7 +2058,7 @@
 
 2007-01-02  Linus Walleij <triad@df.lth.se>
 
-	* src/libusb-glue.c: fix up comments, remove things 
+	* src/libusb-glue.c: fix up comments, remove things
 	  refering to stuff we don't have.
 
 2007-01-02  Richard Low <richard@wentnet.com>
@@ -1863,7 +2082,7 @@
 
 2007-01-01  Orson Teodoro <orsonteodoro@yahoo.com>
 
-	* src/ptp.h: changed some WMDRMND def codes to AAVT def codes. 
+	* src/ptp.h: changed some WMDRMND def codes to AAVT def codes.
 	  addition of AAVT error codes.
 	* src/ptp.c: changes to reflect modifications done in ptp.h
 
@@ -1936,7 +2155,7 @@
 	* src/ptp.c: sync to upstream.
 	* src/ptp.h: dito.
 	* src/ptp-pack.c: dito.
-	
+
 2006-12-15  Linus Walleij <triad@df.lth.se>
 
 	* src/libmtp.h.in: make the format function take a storage as
@@ -1950,7 +2169,7 @@
 	* src/libmtp.c: make get_first_storage_freespace() always query
 	  the first storage when the space is requested. And some other
 	  janitorial stuff.
-	
+
 2006-12-13  Linus Walleij <triad@df.lth.se>
 
 	* src/libusb-glue.c: one more device.
@@ -2031,10 +2250,10 @@
 
 2006-11-30  Matthew Wilcox <matthew@wil.cx>
 
-	* src/ptp.c: on some devices, surplus packet data is 
+	* src/ptp.c: on some devices, surplus packet data is
 	  sometimes returned during read, i.e. a header of the
-	  next package is typically attacked to the incoming 
-	  data, as if someone was sending several packets at 
+	  next package is typically attacked to the incoming
+	  data, as if someone was sending several packets at
 	  once. If this happens we buffer the surplus packet.
 	* src/libusb-glue.c: revert my own mistakes by making
 	  them Windows-only.
@@ -2047,7 +2266,7 @@
 	* src/libmtp.h.in: removed external object interface.
 	* src/libmtp.c: dito. Made all object manipulation functions
 	  static.
-	
+
 2006-11-29  Richard Low <richard@wentnet.com>
 
 	* src/libusb-glue.c: added new devices
@@ -2059,7 +2278,7 @@
 	  Windows.
 	* src/libmtp.c: various fixups to enable use of Windows
 	  <io.h> include file.
-	* README.windows.txt: added a quick porting guide for 
+	* README.windows.txt: added a quick porting guide for
 	  MSVC by Farooq Zaman.
 
 2006-11-28  Linus Walleij <triad@df.lth.se>
@@ -2083,9 +2302,9 @@
 
 2006-11-25  Marcus Meissner <marcus@jet.franken.de>
 
-	* examples/hotplug.c: adding HAL style XML output for 
+	* examples/hotplug.c: adding HAL style XML output for
 	  the devices.
-	* examples/Makefile.am: fixing a bug in the automake 
+	* examples/Makefile.am: fixing a bug in the automake
 	  file (pathutils.h missing!)
 	* Makefile.am: fix the problem with re-making sources
 	  (you had to run ./autogen.sh before!)
@@ -2119,7 +2338,7 @@
 
 2006-11-20  Andy Kelk <andy@mopoke.co.uk>
 
-	* src/libmtp.h.in: add "parent_id" property to LIBMTP_track_struct. 
+	* src/libmtp.h.in: add "parent_id" property to LIBMTP_track_struct.
 	* src/libmtp.c: get "parent_id" property when reading tracks.
 	* examples/emptyfolders.c: new example program for pruning empty
 	  folders. (does a dummy run by default).
@@ -2134,7 +2353,7 @@
 2006-11-19  Daniel Williams <danielw@iinet.net.au>
 
 	* src/libusb-glue.c: fix error on reconnect.
-	
+
 2006-11-18  Richard Low <richard@wentnet.com>
 
 	* src/ptp.c: tidy up ptp_usb_getdata
@@ -2159,13 +2378,13 @@
 	* src/libmtp.c: use enhanced MTP commands to create albums and
 	  add detection of the default album folder.
 	* src/libmtp.h.in: add a holder for album default folder.
-	
+
 2006-11-15  Richard Low <richard@wentnet.com>
 
 	* src/ptp-pack.c: set string buffer to correct size.
 
 2006-11-14  Richard Low <richard@wentnet.com>
-	
+
 	* examples/tracks.c: really use undeprecated API entry.
 
 2006-11-13  Richard Low <richard@wentnet.com>, Linus Walleij <triad@df.lth.se>
@@ -2177,7 +2396,7 @@
 	* examples/tracks.c: use undeprecated API entry.
 	* examples/connect.c: ditto.
 	* examples/detect.c: ditto.
-	* examples/files.c: ditto.	
+	* examples/files.c: ditto.
 	* src/ptp.c: working on getting object prop lists.
 	* src/ptp.h: dito.
 
@@ -2205,7 +2424,7 @@
 2006-10-29  Andy Kelk <andy@mopoke.co.uk>
 
 	* examples/albumart.c: simple tool for adding album art.
-	* src/libmtp.c: graceful handling of players not supporting 
+	* src/libmtp.c: graceful handling of players not supporting
 	  abstract album objects.
 
 2006-10-27  Linus Walleij <triad@df.lth.se>
@@ -2229,7 +2448,7 @@
 2006-10-20  Linus Walleij <triad@df.lth.se>
 
 	* Release 0.0.21 to get all the new device support out.
-	
+
 2006-10-16  Linus Walleij <triad@df.lth.se>
 
 	* configure.ac: bump to 0.0.21.
@@ -2239,14 +2458,14 @@
 
 2006-10-11  Linus Walleij <triad@df.lth.se>
 
-	* examples/delfile.c: patch from Chris Debenham 
+	* examples/delfile.c: patch from Chris Debenham
 	  straingtening out the command-line interface a bit
 	  more.
 
 2006-10-10  Linus Walleij <triad@df.lth.se>
 
-	* examples/delfile.c: patch from Chris Debenham to make 
-	  this command take an optional filename as parameter 
+	* examples/delfile.c: patch from Chris Debenham to make
+	  this command take an optional filename as parameter
 	  instead of file ID.
 
 2006-09-26  Linus Walleij <triad@df.lth.se>
@@ -2288,7 +2507,7 @@
 
 	* configure.ac: bump release. Released 0.0.18 yesterday.
 	* src/libmtp.c: do not try to read battery max level unless
-	  the device supports it. (Bug occurred on Toshiba Gigabeat 
+	  the device supports it. (Bug occurred on Toshiba Gigabeat
 	  P10.)
 
 2006-09-11  Linus Walleij <triad@df.lth.se>
@@ -2297,7 +2516,7 @@
 	  detection so as to bring closer to libgphoto2 detection algorithm.
 	  I've seen things that might be false positives, possibly USB mass
 	  storage devices with additional MSFT descriptors to indicate they
-	  have Janus DRM. 
+	  have Janus DRM.
 	* src/libmtp.c: use UCS-2-INTERNAL if we're not on glibc. glibc
 	  knows that UCS-2 is in machine endianness but Darwin and *BSD does
 	  not. Detect C library and switch accordingly.
@@ -2340,7 +2559,7 @@
 
 2006-09-02  Linus Walleij <triad@df.lth.se>
 
-	* src/libmtp.c: add some code to have 
+	* src/libmtp.c: add some code to have
 	  LIBMTP_Send_File_From_File_Descriptor() accept a stream
 	  if size is set to (uint64_t) -1, plus documentation fixes.
 	  I don't think the streaming code will work but whoever want
@@ -2406,10 +2625,10 @@
 2006-08-22  Linus Walleij <triad@df.lth.se>
 
 	* configure.ac: bump to 0.0.13, also released 0.0.12 now.
-	
+
 2006-08-21  Linus Walleij <triad@df.lth.se>
 
-	* src/libmtp.c: fixup mmap() usage and add madvise() 
+	* src/libmtp.c: fixup mmap() usage and add madvise()
 	  as result of experiments by Gavin McCullagh. Upstream
 	  accept patch to get files directly to file descriptor.
 	  Move iconv() converters into device struct for thread
@@ -2428,7 +2647,7 @@
 	* src/libmtp.c: dito.
 	* examples/detect.c: reflect changes.
 	* src/Makefile.am: interface is incompatible so age it.
-	
+
 2006-08-19  Linus Walleij <triad@df.lth.se>
 
 	* src/libmtp.h.in: add function to get syncronization
@@ -2447,7 +2666,7 @@
 	  to using iconv() instead.
 	* src/unicode.h: dito.
 	* src/libmtp.c: reflect changes.
-	
+
 2006-08-09  Linus Walleij <triad@df.lth.se>
 
 	* Release libmtp 0.0.11.
@@ -2456,12 +2675,12 @@
 
 	* src/libmtp.c: patch from Dan Aloni to make sendfile
 	  use mmap and avoid memory drainage.
-	* src/libusb-glue.c: patch from Andy Kelk to avoid 
+	* src/libusb-glue.c: patch from Andy Kelk to avoid
 	  exit():ing when the interface cannot be claimed.
 	* configure.ac: version bump.
 
 2006-07-27  Linus Walleij <triad@df.lth.se>
-	
+
 	* Release libmtp 0.0.10.
 
 2006-07-26  Linus Walleij <triad@df.lth.se>
@@ -2480,13 +2699,13 @@
 2006-06-21  Linus Walleij <triad@df.lth.se>
 
 	* src/libmtp.h.in: added function to retrieve supported
-	  filetypes.	
+	  filetypes.
 	* src/libmtp.c: ditto.
 	* examples/detect.c: use that function.
 
 2006-06-19  Linus Walleij <triad@df.lth.se>
 
-	* src/unicode.c: support all endianness, detect 
+	* src/unicode.c: support all endianness, detect
 	  byte-order-mark
 	* src/unicode.h: ditto.
 	* src/libmtp.c: ditto.
@@ -2494,7 +2713,7 @@
 	* src/libmtp.h.in: add some more track properties.
 	* src/libmtp.c: ditto.
 	* examples/tracks.c: ditto.
-	
+
 2006-06-16  Linus Walleij <triad@df.lth.se>
 
 	* src/libmtp.h.in: new interfaces for single metadata post
@@ -2523,7 +2742,7 @@
 	* examples/playlists.c: new example program.
 	* configure.ac: bump to 0.0.9
 	* src/Makefile.am: bump library interface.
-	
+
 2006-06-05  Linus Walleij <triad@df.lth.se>
 
 	* examples/sendtr.c: fixed annoying bug that made this
@@ -2552,7 +2771,7 @@
 	  bad use of return code.
 	* src/libusb-glue.c: fixed a loop exiting problem with
 	  good 'ol GOTO.
-	
+
 2006-05-29  Linus Walleij <triad@df.lth.se>
 
 	* src/libusb-glue.c: one more device.
@@ -2576,7 +2795,7 @@
 	* src/libmtp.h.in: ditto
 	* examples/refactortest.c: Added simple example to use refactoring
 	* examples/getplaylist.c: Added example to extract playlist data
-	* src/ptp.c: Re-added ptp_get/set_objectreferences to allow 
+	* src/ptp.c: Re-added ptp_get/set_objectreferences to allow
 	  for playlist handling
 	* src/ptp.h: ditto
 
@@ -2585,7 +2804,7 @@
 	* src/libmtp.h.in: add simple detection function.
 	* src/libusb-glue.c: implement MTP "OS descriptor" for
 	  looking for MTP devices.
-	* examples/detect.c: make it possible to do very 
+	* examples/detect.c: make it possible to do very
 	  rudimentary detection with "detect -p".
 	* configure.ac: bump to 0.0.5.
 
@@ -2600,7 +2819,7 @@
 2006-05-04  Linus Walleij  <triad@df.lth.se>
 
 	* examples/sendfile.c: fixes some more filetypes.
-	* src/libmtp.c: respectfully rearranged to use a filetype mapping 
+	* src/libmtp.c: respectfully rearranged to use a filetype mapping
 	  table.
 	* src/ptp-pack.c: real nasty unicode packing bug.
 	* Release libmtp 0.0.4.
@@ -2627,7 +2846,7 @@
 	* examples/Makefile.am: new program, new entry.
 	* src/libmtp.c: reflect this new functionality.
 	* src/libmtp.h.in: dito.
-	
+
 2006-04-25  Linus Walleij  <triad@df.lth.se>
 
 	* Rebased the sources around libgphoto2 instead.
@@ -2660,7 +2879,7 @@
 	* examples/folders.c: dito.
 	* examples/newfolder.c: dito.
 	* examples/trexist.c: dito.
-	
+
 2006-03-28  Linus Walleij  <triad@df.lth.se>
 
 	* m4/*: updated macros to work with GCC 4.1.0.
@@ -2703,7 +2922,7 @@
 
 	* Deltr example program to delete tracks, plus corresponding
 	  interface call.
-	
+
 2006-02-23  Linus Walleij  <triad@df.lth.se>
 
 	* Fixed up sendtr program and metadata tagging function that is
@@ -2713,7 +2932,7 @@
 
 	* Untested gettr.c and sendtr.c programs to get and send tracks
 	  created.
-	
+
 2006-01-30  Linus Walleij  <triad@df.lth.se>
 
 	* Created the initial GNU source directory structure.
diff --git a/INSTALL b/INSTALL
index 97180c6..203957d 100644
--- a/INSTALL
+++ b/INSTALL
@@ -34,6 +34,9 @@
 (Often named libusb-devel or similar.) For working with CVS versions
 you may need autoconf, automake, libtool, gettext(-devel).
 
+To enable the optional MTPZ support using libgcrypt you need the
+libgcrypt library installed as well.
+
 
 Shared Library Support
 ----------------------
@@ -56,6 +59,20 @@
   % export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
   % my_program
 
+To check whether you need to do something this:
+
+  % ldd /usr/lib/rhytmbox/plugins/mtpdevice/libmtpdevice.so | grep mtp
+  % ldd /usr/bin/gnomad2 | grep mtp
+
+If the program is linking to a packaged version of libmtp
+it will likely say something like this:
+
+  libmtp.so.N => /usr/lib/libmtp.so.N (0xb4e4b000)
+
+In this case you may have your freshly compiled library in
+/usr/local/lib or something like that, and you need to do the
+LD_LIBRARY_PATH trick. Verify by using "ldd" again.
+
 This way of enabling the library to link is a workaround hack.
 Note that the LD_LIBRARY_PATH is actually supposed to be used for
 testing, not production systems or distributions. It is commonly
@@ -70,16 +87,26 @@
 bind to the latest version of the shared library. A link to the
 latest version is always provided as $PREFIX/lib/libmtp.so.
 
-libusb Support
+libusb support
 --------------
 
-This package depends on libusb.  Get libusb from sourceforge at:
+This package depends on libusb. Get libusb from sourceforge at:
 
    http://www.sourceforge.net/projects/libusb/
 
-On Linux, please use the very latest version you can get, between
-0.1.8 and 0.1.12 a lot of things happened which pertains to
-the udev hotplugging support, see below.
+libusb 1.0 and later is preferred for libmtp, but currently also
+older 0.1.x versions of libusb are supported.
+
+
+libgcrypt support
+-----------------
+
+The MTPZ extension to libmtp requires libgcrypt to be installed.
+
+   http://www.gnu.org/software/libgcrypt/
+
+MTPZ support will not be built unless the configure script finds
+libgcrypt.
 
 
 BASIC BUILD PROCEDURE
@@ -97,17 +124,10 @@
 sox' "play" program. If the default prefix for some reason fail,
 try to tag on "--program-prefix=mtp-" to the "configure" command.
 
-On Linux you should then typically type (see below for details):
-
-   % ./hotplug.sh
-
-you can achieve the same with
-
-   % ./configure --enable-hotplugging
-
-you can turn off some speed enhancements (for testing) with:
-
-   % ./configure --no-turbo
+The "libexedir" in the configure file is hardcoded to /lib/udev to
+make the mtp-probe (which is built for Linux only) install into
+that directory. This is the only location that makes sens for this
+executable.
 
 if you want to install the documentation type:
 
@@ -156,20 +176,37 @@
 
 The libmtp.rules file that comes with libmtp can be used as a starter.
 
-First you need a crazy rule that creates a device node in the
-/dev/bus/usb hierarchy whenever any USB device is connected. The
-script has this at the top, you can comment it in if your
-distribution does not already create these device nodes.
+This will set the environment variables ID_MEDIA_PLAYER and
+ID_MTP_DEVICE to "1" and the former one will be recognized by the
+scripts distributed by recent versions of udev to be a
+console-writable device that should be accessible for all
+users.
 
-Then libusb may need to be patched to recognize this hierarchy. 
+Ancient udev, HAL, libusb
+-------------------------
+
+The old script for udev used to set the device access to "666"
+which is rather nasty (not that big security issue, unless you
+think someone will break into your jukebox) some systems used
+to let PAM do this by placing a configuration file in
+/etc/security/ somewhere. Then it was replaced with simple
+udev rules.
+
+At one point HAL was used to take devices detected by udev and
+signal to userspace that they were available and provide some
+information about them. This was unnecessary middleware, it has
+been killed and most userspace applications now get their
+information directly from udev instead.
+
+In old libusb first you need a crazy rule that creates a device
+node in the /dev/bus/usb hierarchy whenever any USB device is
+connected. The script has this at the top, you can comment it
+in if your distribution does not already create these device
+nodes.
+
+Then libusb may need to be patched to recognize this hierarchy.
 The 0.1.12 version is the first which is properly fixed.
 
-The script sets the device access to "666" which is rather nasty
-(not that big security issue, unless you think someone will break
-into your jukebox) some systems prefer to let PAM do this by placing
-a configuration file in /etc/security/ somewhere. See the Fedora Extras
-SRPM source package in case you're interested in how it is handled
-there.
 
 
 If you cannot run hotplugging
@@ -177,13 +214,17 @@
 
 If you have a distro without hotplugging enabled try this as root:
 
+  % chmod -R a+w /dev/bus/usb
+
+Or if it's *really* ancient you could try:
+
   % chmod -R a+w /proc/bus/usb
 
 You have to do this again every time you unplug/replug your USB cable
 or restart the jukebox, every time you quit libnjb and restart it,
 etc etc etc an alternative is to run libmtp as root which works just fine.
 The problem is to somehow assure that you (ie the current user) always
-has write access on  /proc/bus/usb/*
+has write access to these files.
 
 You can find the Linux hotplug project at:
 http://linux-hotplug.sourceforge.net/
@@ -203,4 +244,77 @@
 function in your program, see the Autoconf texinfo documentation.
 
 See further:
-http://wiki.buici.com/wiki/Autoconf_and_RPL_MALLOC
\ No newline at end of file
+http://wiki.buici.com/wiki/Autoconf_and_RPL_MALLOC
+
+Compilation for Solaris/SunOS
+-----------------------------
+
+libmtp builds on Solaris/SunOS with either gcc or SunStudio 12. It does
+require GNU Make (aka gmake) to be installed. Building libmtp on Solaris
+10 and Solaris 11 differ slightly, so alternate instructions are provided
+for each Solaris version.
+
+For Solaris 10
+--------------
+
+To build using GCC:
+
+  % CFLAGS="I/usr/sfw/lib -L/usr/sfw/lib -R/usr/sfw/lib" MAKE=gmake \
+    INSTALL=/usr/ucb/install ./configure
+  % gmake
+  % gmake install
+
+Custom CLFAGS are required for libusb.so as it lives in /usr/sfw/lib,
+and this path is not in the default search path for ld. If these
+CFLAGS are not set, several components of ./configure will fail leading
+to a failed build.
+
+To build using SunStudio 12:
+
+  % CFLAGS="I/usr/sfw/lib -L/usr/sfw/lib -R/usr/sfw/lib" MAKE=gmake \
+    INSTALL=/usr/ucb/install CC=cc ./configure
+  % gmake
+  % gmake install
+
+
+General Notes:
+All MTP devices on Solaris 10u2+ are driven by the usb_mid driver, which
+will automatically export ugen device interfaces with the correct device
+permissions. No special configuration is required. See the usb_mid(7D)
+and ugen(7D) manpages and /usr/sfw/share/doc/libusb/libusb.txt for
+more information.
+
+For Solaris 11
+--------------
+
+Building libmtp on Solaris 11 is very similar to those instructions for
+Solaris 10, however libusb now lives in /usr/lib, and openusb is also
+available as an alternative USB library. Oracle does not provide a
+libusb v1.0 API compatible version of libusb, instead providing the older
+v0.1 API interface version of libusb. As mentioned, Oracle also provides
+the OpenUSB USB library as an alternate to libusb v1.0, however OpenUSB is
+not source or binary compatible with libusb.
+
+Before building/installing libmtp there are some components missing from
+the base Solaris 11 installation, and are required to be installed prior
+to building/installing libmtp. The 'libusbugen' package must be installed
+before libusb itself is usable on Solaris 11, alternatively the 'openusb'
+package may be used.
+
+To build using GCC:
+  % ./configure
+  % gmake
+  % sudo gmake install
+
+To build using SunStudio 12:
+  % CC=cc ./configure
+  % gmake
+  % sudo gmake install
+
+
+General Notes:
+All MTP devices on Solaris 11+ are driven by the usb_mid driver, which
+will automatically export ugen device interfaces with the correct device
+permissions. No special configuration is required. See the usb_mid(7D)
+and ugen(7D) manpages and /usr/share/doc/libusb/libusb.txt for more
+information.
diff --git a/MODULE_LICENSE_LGPL b/MODULE_LICENSE_LGPL
deleted file mode 100644
index e69de29..0000000
--- a/MODULE_LICENSE_LGPL
+++ /dev/null
diff --git a/MacConfigExternalDebug.xcconfig b/MacConfigExternalDebug.xcconfig
deleted file mode 100644
index 3fb74c5..0000000
--- a/MacConfigExternalDebug.xcconfig
+++ /dev/null
@@ -1,19 +0,0 @@
-SDKROOT=macosx10.5
-ARCHS=i386
-GCC_ALTIVEC_EXTENSIONS=YES
-GCC_ENABLE_CPP_EXCEPTIONS=YES
-GCC_ENABLE_FIX_AND_CONTINUE=NO
-GCC_ENABLE_SSE3_EXTENSIONS=YES
-GCC_INLINES_ARE_PRIVATE_EXTERN=YES
-GCC_OPTIMIZATION_LEVEL=0
-GCC_PREPROCESSOR_DEFINITIONS=DEBUG _DEBUG _PORT_DEBUG _BACKWARD_BACKWARD_WARNING_H _AFT_BUILD
-GCC_SYMBOLS_PRIVATE_EXTERN=YES
-GCC_VERSION=4.2
-INSTALL_PATH=@executable_path
-MACOSX_DEPLOYMENT_TARGET=10.5
-MAC_OS_X_VERSION_MAX_ALLOWED=MAC_OS_X_VERSION_10_5
-MAC_OS_X_VERSION_MIN_REQUIRED=MAC_OS_X_VERSION_10_5
-OTHER_CFLAGS=-fexceptions
-SDKROOT=macosx10.5
-WARNING_CFLAGS=-Wno-deprecated-declarations
-ZERO_LINK=NO
diff --git a/MacConfigExternalRelease.xcconfig b/MacConfigExternalRelease.xcconfig
deleted file mode 100644
index 6a58f19..0000000
--- a/MacConfigExternalRelease.xcconfig
+++ /dev/null
@@ -1,27 +0,0 @@
-SDKROOT=macosx10.5
-ARCHS=ppc i386
-COPY_PHASE_STRIP=NO
-DEAD_CODE_STRIPPING=YES
-DEBUG_INFORMATION_FORMAT=dwarf-with-dsym
-DEPLOYMENT_POSTPROCESSING=YES
-GCC_ALTIVEC_EXTENSIONS=YES
-GCC_ENABLE_CPP_EXCEPTIONS=YES
-GCC_ENABLE_FIX_AND_CONTINUE=NO
-GCC_ENABLE_SSE3_EXTENSIONS=YES
-GCC_GENERATE_DEBUGGING_SYMBOLS=YES
-GCC_INLINES_ARE_PRIVATE_EXTERN=YES
-GCC_PREPROCESSOR_DEFINITIONS=NDEBUG _NDEBUG _PORT_NDEBUG _BACKWARD_BACKWARD_WARNING_H _AFT_BUILD
-GCC_SYMBOLS_PRIVATE_EXTERN=YES
-GCC_UNROLL_LOOPS=YES
-GCC_VERSION=4.2
-INSTALL_PATH=@executable_path
-MACOSX_DEPLOYMENT_TARGET=10.5
-MAC_OS_X_VERSION_MAX_ALLOWED=MAC_OS_X_VERSION_10_5
-MAC_OS_X_VERSION_MIN_REQUIRED=MAC_OS_X_VERSION_10_5
-OTHER_CFLAGS=-fexceptions
-PRESERVE_DEAD_CODE_INITS_AND_TERMS=YES
-SDKROOT=macosx10.5
-SEPARATE_STRIP=YES
-STRIP_INSTALLED_PRODUCT=YES
-WARNING_CFLAGS=-Wno-deprecated-declarations
-ZERO_LINK=NO
diff --git a/Makefile.am b/Makefile.am
index f79235d..7b7e06b 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,15 +1,31 @@
-SUBDIRS=src examples doc
+SUBDIRS=src examples util doc
 ACLOCAL_AMFLAGS=-I m4
 
 pkgconfigdir=$(libdir)/pkgconfig
 pkgconfig_DATA=libmtp.pc
-EXTRA_DIST=libmtp.pc libmtp.sh COPYING README.windows.txt
-noinst_DATA=libmtp.usermap libmtp.rules libmtp.fdi
-libmtp.usermap: examples/hotplug
-	examples/hotplug > libmtp.usermap
-libmtp.rules: examples/hotplug
-	examples/hotplug -u > libmtp.rules
-libmtp.fdi: examples/hotplug
-	examples/hotplug -H > libmtp.fdi
 
-CLEANFILES = libmtp.usermap libmtp.rules libmtp.fdi
+EXTRA_DIST=libmtp.pc libmtp.sh COPYING README.windows.txt
+
+# This stuff only makes sense on Linux so only
+# build and ship it on Linux.
+if USE_LINUX
+udevrulesdir=@UDEV@/rules.d
+hwdbdir=@UDEV@/hwdb.d
+udevrules_DATA=@UDEV_RULES@
+hwdb_DATA=69-libmtp.hwdb
+noinst_DATA=libmtp.usermap libmtp.fdi
+
+libmtp.usermap: util/mtp-hotplug
+	util/mtp-hotplug > libmtp.usermap
+
+@UDEV_RULES@: util/mtp-hotplug
+	util/mtp-hotplug -u -p"@UDEV@" @UDEV_GROUP@ @UDEV_MODE@ > @UDEV_RULES@
+
+libmtp.fdi: util/mtp-hotplug
+	util/mtp-hotplug -H > libmtp.fdi
+
+$(hwdb_DATA): util/mtp-hotplug
+	util/mtp-hotplug -w > $(hwdb_DATA)
+
+CLEANFILES = libmtp.usermap @UDEV_RULES@ libmtp.fdi libmtp.hwdb
+endif
diff --git a/Makefile.in b/Makefile.in
deleted file mode 100644
index 2c20865..0000000
--- a/Makefile.in
+++ /dev/null
@@ -1,792 +0,0 @@
-# Makefile.in generated by automake 1.11 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = .
-DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
-	$(srcdir)/Makefile.in $(srcdir)/config.h.in \
-	$(srcdir)/hotplug.sh.in $(srcdir)/libmtp.pc.in \
-	$(srcdir)/libmtp.sh.in $(top_srcdir)/configure AUTHORS COPYING \
-	ChangeLog INSTALL TODO config.guess config.rpath config.sub \
-	depcomp install-sh ltmain.sh missing
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/byteorder.m4 \
-	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/stdint.m4 \
-	$(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-	$(ACLOCAL_M4)
-am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
- configure.lineno config.status.lineno
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = config.h
-CONFIG_CLEAN_FILES = libmtp.sh hotplug.sh libmtp.pc
-CONFIG_CLEAN_VPATH_FILES =
-SOURCES =
-DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
-	html-recursive info-recursive install-data-recursive \
-	install-dvi-recursive install-exec-recursive \
-	install-html-recursive install-info-recursive \
-	install-pdf-recursive install-ps-recursive install-recursive \
-	installcheck-recursive installdirs-recursive pdf-recursive \
-	ps-recursive uninstall-recursive
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
-    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
-    *) f=$$p;; \
-  esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
-  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
-  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
-  for p in $$list; do echo "$$p $$p"; done | \
-  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
-  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
-    if (++n[$$2] == $(am__install_max)) \
-      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
-    END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
-  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
-  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__installdirs = "$(DESTDIR)$(pkgconfigdir)"
-DATA = $(noinst_DATA) $(pkgconfig_DATA)
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
-  distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
-	$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
-	distdir dist dist-all distcheck
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-distdir = $(PACKAGE)-$(VERSION)
-top_distdir = $(distdir)
-am__remove_distdir = \
-  { test ! -d "$(distdir)" \
-    || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
-         && rm -fr "$(distdir)"; }; }
-am__relativize = \
-  dir0=`pwd`; \
-  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
-  sed_rest='s,^[^/]*/*,,'; \
-  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
-  sed_butlast='s,/*[^/]*$$,,'; \
-  while test -n "$$dir1"; do \
-    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
-    if test "$$first" != "."; then \
-      if test "$$first" = ".."; then \
-        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
-        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
-      else \
-        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
-        if test "$$first2" = "$$first"; then \
-          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
-        else \
-          dir2="../$$dir2"; \
-        fi; \
-        dir0="$$dir0"/"$$first"; \
-      fi; \
-    fi; \
-    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
-  done; \
-  reldir="$$dir2"
-DIST_ARCHIVES = $(distdir).tar.gz
-GZIP_ENV = --best
-distuninstallcheck_listfiles = find . -type f -print
-distcleancheck_listfiles = find . -type f -print
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-HAVE_DOXYGEN = @HAVE_DOXYGEN@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBICONV = @LTLIBICONV@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OSFLAGS = @OSFLAGS@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-effective_target = @effective_target@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-ms_lib_exe = @ms_lib_exe@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-SUBDIRS = src examples doc
-ACLOCAL_AMFLAGS = -I m4
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = libmtp.pc
-EXTRA_DIST = libmtp.pc libmtp.sh COPYING README.windows.txt
-noinst_DATA = libmtp.usermap libmtp.rules libmtp.fdi
-CLEANFILES = libmtp.usermap libmtp.rules libmtp.fdi
-all: config.h
-	$(MAKE) $(AM_MAKEFLAGS) all-recursive
-
-.SUFFIXES:
-am--refresh:
-	@:
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
-	@for dep in $?; do \
-	  case '$(am__configure_deps)' in \
-	    *$$dep*) \
-	      echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
-	      $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
-		&& exit 0; \
-	      exit 1;; \
-	  esac; \
-	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
-	$(am__cd) $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-	@case '$?' in \
-	  *config.status*) \
-	    echo ' $(SHELL) ./config.status'; \
-	    $(SHELL) ./config.status;; \
-	  *) \
-	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
-	    cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
-	esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-	$(SHELL) ./config.status --recheck
-
-$(top_srcdir)/configure:  $(am__configure_deps)
-	$(am__cd) $(srcdir) && $(AUTOCONF)
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
-	$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
-$(am__aclocal_m4_deps):
-
-config.h: stamp-h1
-	@if test ! -f $@; then \
-	  rm -f stamp-h1; \
-	  $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
-	else :; fi
-
-stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
-	@rm -f stamp-h1
-	cd $(top_builddir) && $(SHELL) ./config.status config.h
-$(srcdir)/config.h.in:  $(am__configure_deps) 
-	($(am__cd) $(top_srcdir) && $(AUTOHEADER))
-	rm -f stamp-h1
-	touch $@
-
-distclean-hdr:
-	-rm -f config.h stamp-h1
-libmtp.sh: $(top_builddir)/config.status $(srcdir)/libmtp.sh.in
-	cd $(top_builddir) && $(SHELL) ./config.status $@
-hotplug.sh: $(top_builddir)/config.status $(srcdir)/hotplug.sh.in
-	cd $(top_builddir) && $(SHELL) ./config.status $@
-libmtp.pc: $(top_builddir)/config.status $(srcdir)/libmtp.pc.in
-	cd $(top_builddir) && $(SHELL) ./config.status $@
-
-mostlyclean-libtool:
-	-rm -f *.lo
-
-clean-libtool:
-	-rm -rf .libs _libs
-
-distclean-libtool:
-	-rm -f libtool config.lt
-install-pkgconfigDATA: $(pkgconfig_DATA)
-	@$(NORMAL_INSTALL)
-	test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)"
-	@list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
-	for p in $$list; do \
-	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  echo "$$d$$p"; \
-	done | $(am__base_list) | \
-	while read files; do \
-	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
-	  $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
-	done
-
-uninstall-pkgconfigDATA:
-	@$(NORMAL_UNINSTALL)
-	@list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
-	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(pkgconfigdir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(pkgconfigdir)" && rm -f $$files
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
-	@failcom='exit 1'; \
-	for f in x $$MAKEFLAGS; do \
-	  case $$f in \
-	    *=* | --[!k]*);; \
-	    *k*) failcom='fail=yes';; \
-	  esac; \
-	done; \
-	dot_seen=no; \
-	target=`echo $@ | sed s/-recursive//`; \
-	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  echo "Making $$target in $$subdir"; \
-	  if test "$$subdir" = "."; then \
-	    dot_seen=yes; \
-	    local_target="$$target-am"; \
-	  else \
-	    local_target="$$target"; \
-	  fi; \
-	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-	  || eval $$failcom; \
-	done; \
-	if test "$$dot_seen" = "no"; then \
-	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
-	fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
-	@failcom='exit 1'; \
-	for f in x $$MAKEFLAGS; do \
-	  case $$f in \
-	    *=* | --[!k]*);; \
-	    *k*) failcom='fail=yes';; \
-	  esac; \
-	done; \
-	dot_seen=no; \
-	case "$@" in \
-	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-	  *) list='$(SUBDIRS)' ;; \
-	esac; \
-	rev=''; for subdir in $$list; do \
-	  if test "$$subdir" = "."; then :; else \
-	    rev="$$subdir $$rev"; \
-	  fi; \
-	done; \
-	rev="$$rev ."; \
-	target=`echo $@ | sed s/-recursive//`; \
-	for subdir in $$rev; do \
-	  echo "Making $$target in $$subdir"; \
-	  if test "$$subdir" = "."; then \
-	    local_target="$$target-am"; \
-	  else \
-	    local_target="$$target"; \
-	  fi; \
-	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-	  || eval $$failcom; \
-	done && test -z "$$fail"
-tags-recursive:
-	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
-	done
-ctags-recursive:
-	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
-	done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
-		$(TAGS_FILES) $(LISP)
-	set x; \
-	here=`pwd`; \
-	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
-	  include_option=--etags-include; \
-	  empty_fix=.; \
-	else \
-	  include_option=--include; \
-	  empty_fix=; \
-	fi; \
-	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  if test "$$subdir" = .; then :; else \
-	    test ! -f $$subdir/TAGS || \
-	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
-	  fi; \
-	done; \
-	list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	shift; \
-	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
-	  test -n "$$unique" || unique=$$empty_fix; \
-	  if test $$# -gt 0; then \
-	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	      "$$@" $$unique; \
-	  else \
-	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	      $$unique; \
-	  fi; \
-	fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
-		$(TAGS_FILES) $(LISP)
-	list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	test -z "$(CTAGS_ARGS)$$unique" \
-	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$unique
-
-GTAGS:
-	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && $(am__cd) $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
-	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-	$(am__remove_distdir)
-	test -d "$(distdir)" || mkdir "$(distdir)"
-	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-	list='$(DISTFILES)'; \
-	  dist_files=`for file in $$list; do echo $$file; done | \
-	  sed -e "s|^$$srcdirstrip/||;t" \
-	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-	case $$dist_files in \
-	  */*) $(MKDIR_P) `echo "$$dist_files" | \
-			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-			   sort -u` ;; \
-	esac; \
-	for file in $$dist_files; do \
-	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-	  if test -d $$d/$$file; then \
-	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-	    if test -d "$(distdir)/$$file"; then \
-	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-	    fi; \
-	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-	    fi; \
-	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-	  else \
-	    test -f "$(distdir)/$$file" \
-	    || cp -p $$d/$$file "$(distdir)/$$file" \
-	    || exit 1; \
-	  fi; \
-	done
-	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-	  if test "$$subdir" = .; then :; else \
-	    test -d "$(distdir)/$$subdir" \
-	    || $(MKDIR_P) "$(distdir)/$$subdir" \
-	    || exit 1; \
-	  fi; \
-	done
-	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-	  if test "$$subdir" = .; then :; else \
-	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
-	    $(am__relativize); \
-	    new_distdir=$$reldir; \
-	    dir1=$$subdir; dir2="$(top_distdir)"; \
-	    $(am__relativize); \
-	    new_top_distdir=$$reldir; \
-	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
-	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
-	    ($(am__cd) $$subdir && \
-	      $(MAKE) $(AM_MAKEFLAGS) \
-	        top_distdir="$$new_top_distdir" \
-	        distdir="$$new_distdir" \
-		am__remove_distdir=: \
-		am__skip_length_check=: \
-		am__skip_mode_fix=: \
-	        distdir) \
-	      || exit 1; \
-	  fi; \
-	done
-	-test -n "$(am__skip_mode_fix)" \
-	|| find "$(distdir)" -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
-	  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
-	  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
-	  ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
-	|| chmod -R a+r "$(distdir)"
-dist-gzip: distdir
-	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-	$(am__remove_distdir)
-
-dist-bzip2: distdir
-	tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
-	$(am__remove_distdir)
-
-dist-lzma: distdir
-	tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
-	$(am__remove_distdir)
-
-dist-xz: distdir
-	tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
-	$(am__remove_distdir)
-
-dist-tarZ: distdir
-	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
-	$(am__remove_distdir)
-
-dist-shar: distdir
-	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
-	$(am__remove_distdir)
-
-dist-zip: distdir
-	-rm -f $(distdir).zip
-	zip -rq $(distdir).zip $(distdir)
-	$(am__remove_distdir)
-
-dist dist-all: distdir
-	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-	$(am__remove_distdir)
-
-# This target untars the dist file and tries a VPATH configuration.  Then
-# it guarantees that the distribution is self-contained by making another
-# tarfile.
-distcheck: dist
-	case '$(DIST_ARCHIVES)' in \
-	*.tar.gz*) \
-	  GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
-	*.tar.bz2*) \
-	  bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
-	*.tar.lzma*) \
-	  unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\
-	*.tar.xz*) \
-	  xz -dc $(distdir).tar.xz | $(am__untar) ;;\
-	*.tar.Z*) \
-	  uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
-	*.shar.gz*) \
-	  GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
-	*.zip*) \
-	  unzip $(distdir).zip ;;\
-	esac
-	chmod -R a-w $(distdir); chmod a+w $(distdir)
-	mkdir $(distdir)/_build
-	mkdir $(distdir)/_inst
-	chmod a-w $(distdir)
-	test -d $(distdir)/_build || exit 0; \
-	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
-	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
-	  && am__cwd=`pwd` \
-	  && $(am__cd) $(distdir)/_build \
-	  && ../configure --srcdir=.. --prefix="$$dc_install_base" \
-	    $(DISTCHECK_CONFIGURE_FLAGS) \
-	  && $(MAKE) $(AM_MAKEFLAGS) \
-	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
-	  && $(MAKE) $(AM_MAKEFLAGS) check \
-	  && $(MAKE) $(AM_MAKEFLAGS) install \
-	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \
-	  && $(MAKE) $(AM_MAKEFLAGS) uninstall \
-	  && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
-	        distuninstallcheck \
-	  && chmod -R a-w "$$dc_install_base" \
-	  && ({ \
-	       (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
-	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
-	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
-	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
-	            distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
-	      } || { rm -rf "$$dc_destdir"; exit 1; }) \
-	  && rm -rf "$$dc_destdir" \
-	  && $(MAKE) $(AM_MAKEFLAGS) dist \
-	  && rm -rf $(DIST_ARCHIVES) \
-	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
-	  && cd "$$am__cwd" \
-	  || exit 1
-	$(am__remove_distdir)
-	@(echo "$(distdir) archives ready for distribution: "; \
-	  list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
-	  sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
-distuninstallcheck:
-	@$(am__cd) '$(distuninstallcheck_dir)' \
-	&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
-	   || { echo "ERROR: files left after uninstall:" ; \
-	        if test -n "$(DESTDIR)"; then \
-	          echo "  (check DESTDIR support)"; \
-	        fi ; \
-	        $(distuninstallcheck_listfiles) ; \
-	        exit 1; } >&2
-distcleancheck: distclean
-	@if test '$(srcdir)' = . ; then \
-	  echo "ERROR: distcleancheck can only run from a VPATH build" ; \
-	  exit 1 ; \
-	fi
-	@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
-	  || { echo "ERROR: files left in build directory after distclean:" ; \
-	       $(distcleancheck_listfiles) ; \
-	       exit 1; } >&2
-check-am: all-am
-check: check-recursive
-all-am: Makefile $(DATA) config.h
-installdirs: installdirs-recursive
-installdirs-am:
-	for dir in "$(DESTDIR)$(pkgconfigdir)"; do \
-	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
-	done
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
-	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
-
-distclean-generic:
-	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
-	@echo "This command is intended for maintainers to use"
-	@echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
-	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-	-rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-hdr \
-	distclean-libtool distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-html-am:
-
-info: info-recursive
-
-info-am:
-
-install-data-am: install-pkgconfigDATA
-
-install-dvi: install-dvi-recursive
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-recursive
-
-install-html-am:
-
-install-info: install-info-recursive
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-recursive
-
-install-pdf-am:
-
-install-ps: install-ps-recursive
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
-	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-	-rm -rf $(top_srcdir)/autom4te.cache
-	-rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am: uninstall-pkgconfigDATA
-
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
-	ctags-recursive install-am install-strip tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
-	all all-am am--refresh check check-am clean clean-generic \
-	clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \
-	dist-gzip dist-lzma dist-shar dist-tarZ dist-xz dist-zip \
-	distcheck distclean distclean-generic distclean-hdr \
-	distclean-libtool distclean-tags distcleancheck distdir \
-	distuninstallcheck dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-html \
-	install-html-am install-info install-info-am install-man \
-	install-pdf install-pdf-am install-pkgconfigDATA install-ps \
-	install-ps-am install-strip installcheck installcheck-am \
-	installdirs installdirs-am maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-generic \
-	mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
-	uninstall uninstall-am uninstall-pkgconfigDATA
-
-libmtp.usermap: examples/hotplug
-	examples/hotplug > libmtp.usermap
-libmtp.rules: examples/hotplug
-	examples/hotplug -u > libmtp.rules
-libmtp.fdi: examples/hotplug
-	examples/hotplug -H > libmtp.fdi
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/NOTICE b/NOTICE
deleted file mode 100644
index 213a1ab..0000000
--- a/NOTICE
+++ /dev/null
@@ -1,504 +0,0 @@
-		  GNU LESSER GENERAL PUBLIC LICENSE
-		       Version 2.1, February 1999
-
- Copyright © 1991, 1999 Free Software Foundation, Inc.
-     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the Lesser GPL.  It also counts
- as the successor of the GNU Library Public License, version 2, hence
- the version number 2.1.]
-
-			    Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
-  This license, the Lesser General Public License, applies to some
-specially designated software packages--typically libraries--of the
-Free Software Foundation and other authors who decide to use it.  You
-can use it too, but we suggest you first think carefully about whether
-this license or the ordinary General Public License is the better
-strategy to use in any particular case, based on the explanations below.
-
-  When we speak of free software, we are referring to freedom of use,
-not price.  Our General Public Licenses are designed to make sure that
-you have the freedom to distribute copies of free software (and charge
-for this service if you wish); that you receive source code or can get
-it if you want it; that you can change the software and use pieces of
-it in new free programs; and that you are informed that you can do
-these things.
-
-  To protect your rights, we need to make restrictions that forbid
-distributors to deny you these rights or to ask you to surrender these
-rights.  These restrictions translate to certain responsibilities for
-you if you distribute copies of the library or if you modify it.
-
-  For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you.  You must make sure that they, too, receive or can get the source
-code.  If you link other code with the library, you must provide
-complete object files to the recipients, so that they can relink them
-with the library after making changes to the library and recompiling
-it.  And you must show them these terms so they know their rights.
-
-  We protect your rights with a two-step method: (1) we copyright the
-library, and (2) we offer you this license, which gives you legal
-permission to copy, distribute and/or modify the library.
-
-  To protect each distributor, we want to make it very clear that
-there is no warranty for the free library.  Also, if the library is
-modified by someone else and passed on, the recipients should know
-that what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
-introduced by others.
-
-  Finally, software patents pose a constant threat to the existence of
-any free program.  We wish to make sure that a company cannot
-effectively restrict the users of a free program by obtaining a
-restrictive license from a patent holder.  Therefore, we insist that
-any patent license obtained for a version of the library must be
-consistent with the full freedom of use specified in this license.
-
-  Most GNU software, including some libraries, is covered by the
-ordinary GNU General Public License.  This license, the GNU Lesser
-General Public License, applies to certain designated libraries, and
-is quite different from the ordinary General Public License.  We use
-this license for certain libraries in order to permit linking those
-libraries into non-free programs.
-
-  When a program is linked with a library, whether statically or using
-a shared library, the combination of the two is legally speaking a
-combined work, a derivative of the original library.  The ordinary
-General Public License therefore permits such linking only if the
-entire combination fits its criteria of freedom.  The Lesser General
-Public License permits more lax criteria for linking other code with
-the library.
-
-  We call this license the "Lesser" General Public License because it
-does Less to protect the user's freedom than the ordinary General
-Public License.  It also provides other free software developers Less
-of an advantage over competing non-free programs.  These disadvantages
-are the reason we use the ordinary General Public License for many
-libraries.  However, the Lesser license provides advantages in certain
-special circumstances.
-
-  For example, on rare occasions, there may be a special need to
-encourage the widest possible use of a certain library, so that it becomes
-a de-facto standard.  To achieve this, non-free programs must be
-allowed to use the library.  A more frequent case is that a free
-library does the same job as widely used non-free libraries.  In this
-case, there is little to gain by limiting the free library to free
-software only, so we use the Lesser General Public License.
-
-  In other cases, permission to use a particular library in non-free
-programs enables a greater number of people to use a large body of
-free software.  For example, permission to use the GNU C Library in
-non-free programs enables many more people to use the whole GNU
-operating system, as well as its variant, the GNU/Linux operating
-system.
-
-  Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
-linked with the Library has the freedom and the wherewithal to run
-that program using a modified version of the Library.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.  Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library".  The
-former contains code derived from the library, whereas the latter must
-be combined with the library in order to run.
-
-		  GNU LESSER GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License Agreement applies to any software library or other
-program which contains a notice placed by the copyright holder or
-other authorized party saying it may be distributed under the terms of
-this Lesser General Public License (also called "this License").
-Each licensee is addressed as "you".
-
-  A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
-  The "Library", below, refers to any such software library or work
-which has been distributed under these terms.  A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language.  (Hereinafter, translation is
-included without limitation in the term "modification".)
-
-  "Source code" for a work means the preferred form of the work for
-making modifications to it.  For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control compilation
-and installation of the library.
-
-  Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it).  Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-  
-  1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
-
-  You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.
-
-  2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) The modified work must itself be a software library.
-
-    b) You must cause the files modified to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    c) You must cause the whole of the work to be licensed at no
-    charge to all third parties under the terms of this License.
-
-    d) If a facility in the modified Library refers to a function or a
-    table of data to be supplied by an application program that uses
-    the facility, other than as an argument passed when the facility
-    is invoked, then you must make a good faith effort to ensure that,
-    in the event an application does not supply such function or
-    table, the facility still operates, and performs whatever part of
-    its purpose remains meaningful.
-
-    (For example, a function in a library to compute square roots has
-    a purpose that is entirely well-defined independent of the
-    application.  Therefore, Subsection 2d requires that any
-    application-supplied function or table used by this function must
-    be optional: if the application does not supply it, the square
-    root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Library,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Library, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library.  To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License.  (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.)  Do not make any other change in
-these notices.
-
-  Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
-  This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
-  4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
-
-  If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-  5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library".  Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
-  However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library".  The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
-  When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library.  The
-threshold for this to be true is not precisely defined by law.
-
-  If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work.  (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
-  Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-
-  6. As an exception to the Sections above, you may also combine or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
-  You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License.  You must supply a copy of this License.  If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License.  Also, you must do one
-of these things:
-
-    a) Accompany the work with the complete corresponding
-    machine-readable source code for the Library including whatever
-    changes were used in the work (which must be distributed under
-    Sections 1 and 2 above); and, if the work is an executable linked
-    with the Library, with the complete machine-readable "work that
-    uses the Library", as object code and/or source code, so that the
-    user can modify the Library and then relink to produce a modified
-    executable containing the modified Library.  (It is understood
-    that the user who changes the contents of definitions files in the
-    Library will not necessarily be able to recompile the application
-    to use the modified definitions.)
-
-    b) Use a suitable shared library mechanism for linking with the
-    Library.  A suitable mechanism is one that (1) uses at run time a
-    copy of the library already present on the user's computer system,
-    rather than copying library functions into the executable, and (2)
-    will operate properly with a modified version of the library, if
-    the user installs one, as long as the modified version is
-    interface-compatible with the version that the work was made with.
-
-    c) Accompany the work with a written offer, valid for at
-    least three years, to give the same user the materials
-    specified in Subsection 6a, above, for a charge no more
-    than the cost of performing this distribution.
-
-    d) If distribution of the work is made by offering access to copy
-    from a designated place, offer equivalent access to copy the above
-    specified materials from the same place.
-
-    e) Verify that the user has already received a copy of these
-    materials or that you have already sent this user a copy.
-
-  For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it.  However, as a special exception,
-the materials to be distributed need not include anything that is
-normally distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
-
-  It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system.  Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-
-  7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
-    a) Accompany the combined library with a copy of the same work
-    based on the Library, uncombined with any other library
-    facilities.  This must be distributed under the terms of the
-    Sections above.
-
-    b) Give prominent notice with the combined library of the fact
-    that part of it is a work based on the Library, and explaining
-    where to find the accompanying uncombined form of the same work.
-
-  8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License.  Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License.  However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
-  9. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Library or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
-  10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties with
-this License.
-
-  11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
-
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply,
-and the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-  12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License may add
-an explicit geographical distribution limitation excluding those countries,
-so that distribution is permitted only in or among countries not thus
-excluded.  In such case, this License incorporates the limitation as if
-written in the body of this License.
-
-  13. The Free Software Foundation may publish revised and/or new
-versions of the Lesser General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation.  If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-
-  14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission.  For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this.  Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
-
-			    NO WARRANTY
-
-  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
-		     END OF TERMS AND CONDITIONS
-
-           How to Apply These Terms to Your New Libraries
-
-  If you develop a new library, and you want it to be of the greatest
-possible use to the public, we recommend making it free software that
-everyone can redistribute and change.  You can do so by permitting
-redistribution under these terms (or, alternatively, under the terms of the
-ordinary General Public License).
-
-  To apply these terms, attach the following notices to the library.  It is
-safest to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least the
-"copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the library's name and a brief idea of what it does.>
-    Copyright © <year>  <name of author>
-
-    This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Lesser General Public
-    License as published by the Free Software Foundation; either
-    version 2.1 of the License, or (at your option) any later version.
-
-    This library is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-
-Also add information on how to contact you by electronic and paper mail.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the library, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the
-  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
-
-  <signature of Ty Coon>, 1 April 1990
-  Ty Coon, President of Vice
-
-That's all there is to it!
-
-
diff --git a/README b/README
index c4f3368..6fe143e 100644
--- a/README
+++ b/README
@@ -4,6 +4,26 @@
 See the "INSTALL" file.
 
 
+Initiator and Responder
+-----------------------
+
+libmtp implements an MTP initiator, which means it initiate
+MTP sessions with devices. The devices responding are known
+as MTP responders. libmtp runs on something with a USB host
+controller interface, using libusb to access the host
+controller.
+
+If you're more interested in the MTP responders, gadgets like
+MP3 players, mobile phones etc, look into:
+- MeeGo:s Buteo Sync:
+  https://github.com/nemomobile/buteo-mtp
+  https://wiki.merproject.org/wiki/Buteo/MTP
+- Android has an MTP responder implementation:
+  https://android.googlesource.com/platform/frameworks/base/+/master/media/jni/
+- Ubuntu/Ricardo Salveti has mtp-server and libmtp-server going:
+  https://code.launchpad.net/~phablet-team/mtp/trunk
+  http://bazaar.launchpad.net/~phablet-team/mtp/trunk/files
+
 Heritage
 --------
 
@@ -93,7 +113,7 @@
 The Examples
 ------------
 
-In the subdirectory "examples" you find a number of 
+In the subdirectory "examples" you find a number of
 command-line tools, illustrating the use of libmtp in very
 simple terms.
 
@@ -105,7 +125,7 @@
    called them "tools" not "examples".
 
 2. The MTP usage paradigm is that a daemon should hook
-   the device upon connection, and that it should be 
+   the device upon connection, and that it should be
    released by unplugging. GUI tools utilizing HAL (hald)
    and D-Bus do this much better than any commandline
    program ever can. (See below on bugs.) Specificationwise
@@ -116,22 +136,256 @@
 please volunteer.
 
 
+FAQ: Common Problems
+--------------------
+
+Some MTP devices have strange pecularities. We try to work around
+these whenever we can, sometimes we cannot work around it or we
+cannot test your solution.
+
+* Android locked screen: some devices just report zero files
+  and no storages when the device screen is locked, it looks like
+  so:
+
+  mtp-detect
+  Device 0 (VID=04e8 and PID=6860) is a Samsung Galaxy models (MTP).
+  Attempting to connect device(s)
+  Error 1: Get Storage information failed.
+  Device: SHV-E210K
+  LIBMTP_Get_Storage(): No data available
+  OK.
+
+  This is probably so as not to allow the MTP access to be used
+  as a "backdoor" into the device. Unlock the device before listing
+  files, set the autolock to some large value or disabled if it
+  disturbs you, you are causing this to yourself, or should we say
+  that your vendor is prioritizing security and privacy over
+  ease-of-use. (You may talk to your vendor about this.)
+
+* mtp-* tools doesn't work because someone else is already hogging
+  the device
+
+  This is a common problem, the most common case could be that
+  gphoto2 (which can also talk PTP/MTP) is taking over the device
+  as soon as it's plugged in. Some distributions are configured that
+  way. Counter it like this:
+
+  gvfs-mount -s gphoto2
+
+  Then re-attach the device.
+
+  Sometimes some gvfs daemons are running on the
+  system and hogging the device, try stopping them
+  with something like these commands:
+
+  killall gvfs-mtp-volume-monitor
+  killall gvfs-gphoto2-volume-monitor
+
+  Then plug in the device and issue "mtp-detect" to figure out if
+  this may be the case.
+
+* Generic MTP/PTP disconnect misbehaviour: we have noticed that
+  Windows Media Player apparently never close the session to an MTP
+  device. There is a daemon in Windows that "hooks" the device
+  by opening a PTP session to any MTP device, whenever it is
+  plugged in. This daemon proxies any subsequent transactions
+  to/from the device and will never close the session, thus
+  Windows simply does not close sessions at all.
+
+  For example this means that a device may work the first time
+  you run some command-line example like "mtp-detect" while
+  subsequent runs fail.
+
+  Typical sign of this illness: broken pipes on closing sessions,
+  on the main transfer pipes(s) or the interrupt pipe:
+
+    Closing session
+    usb_clear_halt() on INTERRUPT endpoint: Broken pipe
+    OK.
+
+  This means that device manufacturers doesn't notice any problems
+  with devices that do not correctly handle closing PTP/MTP
+  sessions, since Windows never do it. The proper way of closing
+  a session in Windows is to unplug the device, simply put.
+
+  Since libmtp actually tries to close sessions, some devices
+  may fail since the close session functionality has never been
+  properly tested, and "it works with Windows" is sort of the
+  testing criteria at some companies.
+
+  You can get Windows-like behaviour on Linux by running a udev-aware
+  libmtp GUI client like Rhythmbox or Gnomad2, which will "hook"
+  the device when you plug it in, and "release" it if you unplug
+  it, and you start/end you transfer sessions by plugging/unplugging
+  the USB cable.
+
+  The "Unix way" of running small programs that open the device,
+  do something, then close the device, isn't really working with
+  such devices and you cannot expect to have command line tools
+  like the mtp examples work with them. You could implement new
+  example programs that just call to a mediating daemon like the
+  Windows MTP stack does. (And change all programs using libmtp
+  directly today.)
+
+  If this bug in your device annoys you, contact your device
+  manufacturer and ask them to test their product with some libmtp
+  program.
+
+* Samsung Android 2.3.x devices: these have a special MTP stack
+  with some specific bugs that we have maybe nailed down now.
+  It suffers from an "immediate connect" syndrome, i.e. you have
+  to connect to the device within 7 seconds of plugging in, or it
+  will go numb. This also goes for command-line activity with
+  the example programs, so this device is better used with a
+  GUI tool like Rhythmbox, gnomad2...
+
+* Generic USB misbehaviour: some devices behave badly under MTP
+  and USB mass storage alike, even down to the lowest layers
+  of USB. You can always discuss such issues at the linux-usb
+  mailing list if you're using Linux:
+  http://www.linux-usb.org/mailing.html
+
+  If you have a problem specific to USB mass storage mode, there
+  is a list of strange behaving devices in the Linux kernel:
+  http://lxr.linux.no/linux/drivers/usb/storage/unusual_devs.h
+  You can discuss this too on the mentioned list, for understanding
+  the quirks, see:
+  http://www2.one-eyed-alien.net/~mdharm/linux-usb/target_offenses.txt
+
+* Generic certificate misbehaviour. All devices are actually
+  required to support a device certificate to be able to
+  encrypt Windows Media (WMA/WMV) files. However there are
+  obviously a lot of devices out there which doesn't support
+  this at all but instead crash. Typical printout:
+
+  Error 2: PTP Layer error 02ff: get_device_unicode_property(): failed
+  to get unicode property.
+
+  This should only affect "mtp-detect", there is no other
+  application currently retrieveing the certificate (not that we
+  know anyway).
+
+* Kernel bug on Linux. Linux 2.6.16 is generally speaking required
+  to use any MTP device under USB 2.0. This is because the EHCI
+  driver previously did not support zero-length writes to endpoints.
+  It should work in most cases however, or if you connect it
+  to an UHCI/OHCI port instead (yielding lower speed). But
+  please just use a recent kernel.
+
+* Zen models AVI file seeking problem: the Zens cannot parse the
+  files for the runlength metadata. Do not transfer file with e.g.
+  mtp-sendfile, use mtp-sendtr and set the length of the track to
+  the apropriate number of seconds and it will work. In graphical
+  clients, use a "track transfer" function to send these AVI files,
+  the Zens need the metadata associated with tracks to play back
+  movies properly. Movies are considered "tracks" in the MTP world.
+
+* Some devices that disregard the metadata sent with the MTP
+  commands will parse the files for e.g. ID3 metadata. Some still
+  of these devices expect only ID3v2.3 metadata and will fail with
+  a modern ID3v2,4 tag writer, like many of those found in Linux
+  applications. Windows Media Player use ID3v2.3 only, so many
+  manufacturers only test this version.
+
+* The Zen Vision:M (possibly more Creative Zens) has a firmware bug
+  that makes it drop the last two characters off a playlist name.
+  It is fixed in later firmware.
+
+* For Creative Technology devices, there are hard limits on how
+  many files can be put onto the device. For a 30 GiB device (like
+  the Zen Xtra) the limit is 6000, for a 60 GiB device the limit
+  is 15000 files. For further Creative pecularities, see the
+  FAQ sections at www.nomadness.net.
+
+* Sandisk sansa c150 and probably several other Sandisk devices
+  (and possibly devices from other manufacturers) have a dual
+  mode with MTP and USB mass storage. The device will initially
+  claim to be mass storage so udev will capture is and make the
+  use of MTP mode impossible. One way of avoiding it could be to
+  be to blacklist the "usb-storage" module in
+  /etc/modprobe.c/blacklist with a row like this:
+  "blacklist usb-storage". Some have even removed the
+  "usb-storage.ko" (kernel module file) to avoid loading.
+
+* Sandisk Sansa Fuze has three modes: auto, MTP or mass storage
+  (MSC). Please set it to MTP to avoid problems with libmtp.
+
+* The iriver devices (possibly all of them) cannot handle the
+  enhanced GetObjectPropList MTP command (0x9805) properly. So
+  they have been banned from using it.
+
+* iriver devices have problems with older versions of libmtp and
+  with new devices libmtp does not know of as of yet, since it
+  has an oldstyle USB device controller that cannot handle zero
+  writes. (Register your device with us!) All their devices are
+  likely to need a special device flag in the src/libusb-glue.c
+  database.
+
+* The Samsung Yepp T9 has several strange characteristics, some
+  that we've managed to work around. (For example it will return
+  multiple PTP packages in a single transaction.)
+
+* The early firmware for Philips HDD players is known to be
+  problematic. Please upgrade to as new firmware as you can get.
+  (Yes this requires some kind of Windows Installation I think.)
+
+* Philips HDD 1630/16 or 1630/17 etc may lock themselves up,
+  turning inresponsive due to internal corruption. This typically
+  gives an error in opening the PTP session. Apparently you can
+  do a "repair" with the firmware utility (Windows only) which
+  will often fix this problem and make the device responsive
+  again.
+
+* Some devices that implement GetObjectPropList (0x9805) will
+  not return the entire object list if you request a list for object
+  0xffffffffu. (But they should.) So they may need the special
+  DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL.
+
+* Some (smaller) subset of devices cannot even get all the
+  properties for a single object in one go, these need the
+  DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST. Currently only the
+  iriver devices seem to have this bug.
+
+* The Toshiba Gigabeat S (and probably its sibling the
+  Microsoft Zune and other Toshiba devices) will only display
+  album information tags for a song in case there is also
+  an abstract album (created with the album interface) with
+  the exact same name.
+
+* The Zen Vision:M has an older firmware which is very corrupt,
+  it is incompatible with the Linux USB stack altogether. The
+  kernel dmesg will look something like this, and you have to
+  upgrade the firmware using Windows:
+  usb 4-5: new high speed USB device using ehci_hcd and address 5
+  usb 4-5: configuration #1 chosen from 1 choice
+  usb 4-5: can't set config #1, error -110
+
+* The Sirus Stiletto does not seem to allow you to copy any files
+  off the device. This may be someone's idea of copy protection.
+
+* The Samsung P2 assigns parent folder ID 0 to all unknown file
+  types.(i.e. moves them to the root folder)
+
+* The Sandisk Sansa Clip+ needs a firmware upgrade in earlier
+  versions in order to work properly.
+
+
 New Devices
 -----------
 
 If you happen upon a device which libmtp claims it cannot
-autodetect, please submit the vendor ID and device ID 
+autodetect, please submit the vendor ID and device ID
 (these can be obtained from the "lsusb" and "lsusb -n"
-commands run as root) as a bug, patch or feature request 
-on the Sourceforge bug tracker at our homepage. If it 
-gives a sensible  output from "mtp-detect" then please attach 
-the result as well as it teach us some stuff about your 
-device. If you've done some additional hacking, join our 
+commands run as root) as a bug, patch or feature request
+on the Sourceforge bug tracker at our homepage. If it
+gives a sensible  output from "mtp-detect" then please attach
+the result as well as it teach us some stuff about your
+device. If you've done some additional hacking, join our
 mailinglist and post your experiences there.
 
 If you want to be able to hack some more and you're not
-afraid of C hacking, add an entry for your device's 
-vendor/product ID and a descriptive string to the database 
+afraid of C hacking, add an entry for your device's
+vendor/product ID and a descriptive string to the database
 in the file src/music-players.h.
 
 If you want to poke around to see if your device has some
@@ -143,33 +397,24 @@
 flag, chances are high that a new device will need it
 too, typically from the same manufacturer.
 
-The most common flag that needs to be set is the 
+The most common flag that needs to be set is the
 DEVICE_FLAG_UNLOAD_DRIVER that detach any Linux kernel
 drivers that may have attached to the device making
 MTP access impossible. This is however not expected to
 really work: this is a problem being tracked as of
 now (2007-08-04). See the "last resort" solutions below
-if you really need to get your dual-mode device to work 
+if you really need to get your dual-mode device to work
 with MTP.
 
 Another flag which is easy to identify is the
 DEVICE_FLAG_NO_ZERO_READS, which remedies connection
-timeouts when getting files, and some timeouts on e.g. 
+timeouts when getting files, and some timeouts on e.g.
 successive "mtp-connect" calls.
 
-If you are a device vendor, please consider assigning one 
-of your employees as a contact person for libmtp, have them
-sign up to the libmtp development list and answer questions
-and post new device ID:s as they are released to our
-mailing list. By the way: do you have spare devices you
-can give us? Send them to Richard (Mac support) or Linus
-(Linux support). (So far nobody did that except for Microsoft
-who sent us a Zune by proxy!)
-
 If your device is very problematic we are curious of how it
 works under Windows, so we enjoy reading USB packet sniffs
 that reveal the low-level traffic carried out between
-Windows Media Player and your device. This can be done 
+Windows Media Player and your device. This can be done
 using e.g.:
 
 * USBsnoop:
@@ -177,13 +422,13 @@
 
 * The trial version of HHD Softwares software-only
   USB monitor. You need to get a copy of version 2.37 since
-  the newer trial versions won't let you carry out the 
+  the newer trial versions won't let you carry out the
   needed packet sniffs. (As of 2007-03-10 a copy can be found
   at: http://www.cobbleware.com/files/usb-monitor-237.exe)
 
 There are other USB monitors as well, some more expensive
 alternatives use hardware and even measure electronic
-characteristics of the traffic (which is far too much 
+characteristics of the traffic (which is far too much
 detail for us).
 
 Device sniffs are an easy read since the PTP/MTP protocol
@@ -218,15 +463,15 @@
 
 * One send (OUT to the device), two reads (IN from the device).
 
-* All three byte chunks commands are 
-  sent/recieved/recieeved by the function  ptp_transaction() 
+* All three byte chunks commands are
+  sent/recieved/recieeved by the function  ptp_transaction()
   in the file ptp.c.
 
-* It boils down to ptp_usb_sendreq(), optionally ptp_usb_senddata() 
-  or ptp_usb_getdata() and finally ptp_usb_getresp() in the file 
+* It boils down to ptp_usb_sendreq(), optionally ptp_usb_senddata()
+  or ptp_usb_getdata() and finally ptp_usb_getresp() in the file
   libusb-glue.c. Notice ptp_usb_sendreq() and ptp_usb_getresp()
   are ALWAYS called. The TYPE field correspond to this, so the
-  TYPES in this case are "COMMAND" (0x0001), "DATA" (0x0002), 
+  TYPES in this case are "COMMAND" (0x0001), "DATA" (0x0002),
   and "RESPONSE" (0x0003).
 
 * Notice that the byte order is little endian, so you need to read
@@ -255,10 +500,10 @@
 * This RESPONSE has:
   CMD 0x99805, we see in ptp.h that this is PTP_OC_MTP_GetObjPropList.
   Return Code ("RC") = 0x2001, PTP_RC_OK, all went fine.
-  Transaction# 0x00000023.  
+  Transaction# 0x00000023.
 
 If you want to compare the Windows behaviour with a similar
-operation using libmtp you can go into the src/libusb-glue.c 
+operation using libmtp you can go into the src/libusb-glue.c
 file and uncomment the row that reads:
 
 //#define ENABLE_USB_BULK_DEBUG
@@ -270,6 +515,67 @@
 data, which is usually where the problems appear.
 
 
+Notes to assist with debugging new devices:
+-------------------------------------------
+
+In debugging new hardware, we highly recommend that you only
+use the example mtp-* applications that come with libmtp, as other
+applications may have their own bugs that may interfere with your
+new device working correctly. Using another application instead of
+those that come with libmtp just adds another point of failure.
+
+For debugging, there are 3 main options:
+
+1. Use the env variable: LIBMTP_DEBUG to increase the
+verboseness of the debugging output for any application using
+libmtp. Relevant codes are:
+* 0x00 [0000 0000] : no debug (default)
+* 0x01 [0000 0001] : PTP debug
+* 0x02 [0000 0010] : Playlist debug
+* 0x04 [0000 0100] : USB debug
+* 0x08 [0000 1000] : USB data debug
+// Codes are hex and binary respectively. Simple add them togther
+// to get your desired level of output.
+
+(Assuming bash)
+eg:
+$ export LIBMTP_DEBUG=12
+$ mtp-detect
+  // To get USB debug and USB data debug information.
+
+$ export LIBMTP_DEBUG=2
+$ mtp-detect
+    // To get Playlist debug information.
+
+Also note, an application may also use the LIBMTP_debug() API
+function to achieve the same options as listed above.
+
+2. Use "strace" on the various mtp-* commands to see where/what
+is falling over or getting stuck at.
+* On Solaris and FreeBSD, use "truss" or "dtrace" instead on "strace".
+* On Mac OS X, use "ktrace" or "dtrace" instead of "strace".
+* On OpenBSD and NetBSD, use "ktrace" instead of "strace".
+
+This will at least help pinpoint where the application is failing, or
+a device is reporting incorrect information. (This is extremely helpful
+with devices that have odd disconnection requirements).
+
+The use of these tools may also pinpoint issues with libusb as
+implemented by each OS vendor or issues with the MTP implementation
+on the new device as well, so please be prepared for either case.
+
+3. Use "gdb" or similar debugger to step through the code as it is
+run. This is time consuming, and not needed just to pinpoint where
+the fault is.
+
+The use of gdb or another debugger may also miss or actually cause
+command and data timing issues with some devices, leading to false
+information. So please consider this a last resort option.
+
+Also please read the "It's Not Our Bug!" section below, as it does
+contain some useful information that may assist with your device.
+
+
 Dual-mode devices does not work - last resort:
 ----------------------------------------------
 
@@ -278,7 +584,7 @@
 module hook them first, and refuse to release them, even
 when we specify the DEVICE_FLAG_UNLOAD_DRIVER flag. (Maybe
 it DOES release it but the device will immediately be probed
-at the USB mass storage interface AGAIN because it 
+at the USB mass storage interface AGAIN because it
 enumerates.)
 
 Here is what some people do:
@@ -292,34 +598,45 @@
  6. Once mtp-detect gives you an "Ok", open either Rhythmbox or Gnomad2,
     everything should work.
 
-Linux: Try this, if you have a recent 2.6.x Linux kernel,
-run (as root) something like:
+Linux: Try this, if you have a recent Linux kernel,
+add the file (as root):
+
+/etc/modprobe.d/no-usb-storage.conf
+
+With the contents:
+
+options usb-storage quirks=1234:4321:i
+
+This will tell usb-storage to ignore this device when it's inserted
+so it is not hogged by the mass storage interfaces. Remove and re-insert
+the device and see if it works. Usually this does the trick.
+
+For older systems, or as a bigger hammer, run (as root) something
+like:
 
 > rmmod usb_storage ; mtp-detect
 
 You can run most any command or a client like gnomad2 or
-Amarok immediately after the rmmod command. This works 
-sometimes. Another way:
+Amarok immediately after the rmmod command. This works
+sometimes. Another even more brutal approach is this:
 
 * Edit /etc/modprobe.d/blacklist
-
 * Add the line "blacklist usb-storage"
-
 * Reboot.
 
-Now none of you USB disks, flash memory sticks etc will be 
+Now none of you USB disks, flash memory sticks etc will be
 working (you just disabled them all). However you *can* try
 your device, and it might have started working because there
 is no longer a USB mass storage driver that tries to hook onto
 the mass storage interface of your device.
 
-If not even blacklisting works (check with 
+If not even blacklisting works (check with
 "lsmod | grep usb-storage"), there is some problem with
-something else and you may need to remove or rename the file 
+something else and you may need to remove or rename the file
 /lib/modules/<VERSION>/kernel/drivers/usb/storage/usb-storage.ko
 manually.
 
-If you find the PerfectSolution(TM) to this dilemma, so you 
+If you find the PerfectSolution(TM) to this dilemma, so you
 can properly switch for individual devices whether to use it
 as USB mass storage or not, please tell us how you did it. We
 know we cannot use udev, because udev is called after-the-fact:
@@ -351,17 +668,17 @@
 
 The Creative Zen series can read VCALENDAR2 (.ics) files
 and VCard (.vcf) files from programs like for example
-Evolution with the following limitations/conditions: 
+Evolution with the following limitations/conditions:
 
 - The file must be in DOS (CR/LF) format, use the unix2dos
   program to convert if needed
 
-- Repeat events in calendar files do not seem to be supported, 
+- Repeat events in calendar files do not seem to be supported,
   entries will only appear once.
 
-- Calendar (.ics) files should be stored in the folder "My Organizer" 
+- Calendar (.ics) files should be stored in the folder "My Organizer"
   when sent to the device (this directory should be autodetected
-  for use with calendar files, otherwise use the option 
+  for use with calendar files, otherwise use the option
   -f "My Organizer" to sendfile for this) Apparently this file can
   also contain tasklists.
 
@@ -384,166 +701,11 @@
 created for the Creative Zen Microphoto by Nicolas Tetreault.
 
 
-It's Not Our Bug!
------------------
-
-Some MTP devices have strange pecularities. We try to work around
-these whenever we can, sometimes we cannot work around it or we 
-cannot test your solution.
-
-* Generic MTP/PTP disconnect misbehaviour: we have noticed that 
-  Windows Media Player apparently never close the session to an MTP
-  device. There is a daemon in Windows that "hooks" the device
-  by opening a PTP session to any MTP device, whenever it is 
-  plugged in. This daemon proxies any subsequent transactions 
-  to/from the device and will never close the session, thus
-  Windows simply does not close sessions at all.
-
-  Typical sign of this illness: broken pipes on closing sessions,
-  on the main transfer pipes(s) or the interrupt pipe:
-
-    Closing session
-    usb_clear_halt() on INTERRUPT endpoint: Broken pipe
-    OK.
-
-  This means that device manufacturers doesn't notice any problems
-  with devices that do not correctly handle closing PTP/MTP
-  sessions, since Windows never do it. The proper way of closing
-  a session in Windows is to unplug the device, simply put.
-
-  Since libmtp actually tries to close sessions, some devices
-  may fail since the close session functionality has never been
-  properly tested, and "it works with Windows" is sort of the
-  testing criteria at some companies.
-
-  You can get Windows-like behaviour on Linux by running a HAL-aware
-  libmtp GUI client like Rhythmbox or Gnomad2, which will "hook"
-  the device when you plug it in, and "release" it if you unplug
-  it.
-
-  If this bug in your device annoys you, contact your device 
-  manufacturer and ask them to test their product with some libmtp 
-  program.
-
-* Generic USB misbehaviour: some devices behave badly under MTP
-  and USB mass storage alike, even down to the lowest layers
-  of USB. You can always discuss such issues at the linux-usb
-  mailing list if you're using Linux: 
-  http://www.linux-usb.org/mailing.html
-
-  If you have a problem specific to USB mass storage mode, there
-  is a list of strange behaving devices in the Linux kernel:
-  http://lxr.linux.no/linux/drivers/usb/storage/unusual_devs.h
-  You can discuss this too on the mentioned list, for understanding
-  the quirks, see:
-  http://www2.one-eyed-alien.net/~mdharm/linux-usb/target_offenses.txt
-
-* Kernel bug on Linux. Linux 2.6.16 is generally speaking required
-  to use any MTP device under USB 2.0. This is because the EHCI
-  driver previously did not support zero-length writes to endpoints.
-  It should work in most cases however, or if you connect it
-  to an UHCI/OHCI port instead (yielding lower speed). But 
-  please just use a recent kernel.
-
-* Zen models AVI file seeking problem: the Zens cannot parse the
-  files for the runlength metadata. Do not transfer file with e.g.
-  mtp-sendfile, use mtp-sendtr and set the length of the track to
-  the apropriate number of seconds and it will work. In graphical
-  clients, use a "track transfer" function to send these AVI files,
-  the Zens need the metadata associated with tracks to play back
-  movies properly. Movies are considered "tracks" in the MTP world.
-
-* Some devices that disregard the metadata sent with the MTP 
-  commands will parse the files for e.g. ID3 metadata. Some still
-  of these devices expect only ID3v2.3 metadata and will fail with
-  a modern ID3v2,4 tag writer, like many of those found in Linux
-  applications. Windows Media Player use ID3v2.3 only, so many
-  manufacturers only test this version.
-
-* The Zen Vision:M (possibly more Creative Zens) has a firmware bug
-  that makes it drop the last two characters off a playlist name.
-  It is fixed in later firmware.
-
-* For Creative Technology devices, there are hard limits on how
-  many files can be put onto the device. For a 30 GiB device (like
-  the Zen Xtra) the limit is 6000, for a 60 GiB device the limit
-  is 15000 files. For further Creative pecularities, see the
-  FAQ sections at www.nomadness.net.
-
-* Sandisk sansa c150 and probably several other Sandisk devices 
-  (and possibly devices from other manufacturers) have a dual
-  mode with MTP and USB mass storage. The device will initially
-  claim to be mass storage so udev will capture is and make the
-  use of MTP mode impossible. One way of avoiding it could be to
-  be to blacklist the "usb-storage" module in 
-  /etc/modprobe.c/blacklist with a row like this:
-  "blacklist usb-storage". Some have even removed the
-  "usb-storage.ko" (kernel module file) to avoid loading.
-
-* Sandisk Sansa Fuze has three modes: auto, MTP or mass storage
-  (MSC). Please set it to MTP to avoid problems with libmtp.
-
-* The iriver devices (possibly all of them) cannot handle the 
-  enhanced GetObjectPropList MTP command (0x9805) properly. So 
-  they have been banned from using it.
-
-* iriver devices have problems with older versions of libmtp and
-  with new devices libmtp does not know of as of yet, since it
-  has an oldstyle USB device controller that cannot handle zero
-  writes. (Register your device with us!) All their devices are
-  likely to need a special device flag in the src/libusb-glue.c
-  database.
-
-* The Samsung Yepp T9 has several strange characteristics, some
-  that we've managed to work around. (For example it will return
-  multiple PTP packages in a single transaction.)
-
-* The early firmware for Philips HDD players is known to be 
-  problematic. Please upgrade to as new firmware as you can get.
-  (Yes this requires some kind of Windows Installation I think.)
-
-* Philips HDD 1630/16 or 1630/17 etc may lock themselves up,
-  turning inresponsive due to internal corruption. This typically
-  gives an error in opening the PTP session. Apparently you can
-  do a "repair" with the firmware utility (Windows only) which
-  will often fix this problem and make the device responsive
-  again.
-
-* Some devices that implement GetObjectPropList (0x9805) will
-  not return the entire object list if you request a list for object
-  0xffffffffu. (But they should.) So they may need the special
-  DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL.
-
-* Some (smaller) subset of devices cannot even get all the 
-  properties for a single object in one go, these need the
-  DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST. Currently only the
-  iriver devices seem to have this bug.
-
-* The Toshiba Gigabeat S (and probably its sibling the 
-  Microsoft Zune and other Toshiba devices) will only display
-  album information tags for a song in case there is also
-  an abstract album (created with the album interface) with
-  the exact same name.
-
-* The Zen Vision:M has an older firmware which is very corrupt,
-  it is incompatible with the Linux USB stack altogether. The
-  kernel dmesg will look something like this, and you have to
-  upgrade the firmware using Windows:
-  usb 4-5: new high speed USB device using ehci_hcd and address 5
-  usb 4-5: configuration #1 chosen from 1 choice
-  usb 4-5: can't set config #1, error -110
-
-* The Sirus Stiletto does not seem to allow you to copy any files
-  off the device. This may be someone's idea of copy protection.
-
-* The Samsung P2 assigns parent folder ID 0 to all unknown file
-  types.(i.e. moves them to the root folder) 
-
 Lost symbols
 ------------
 
 Shared libraries can be troublesome to users not experienced with
-them. The following is a condensed version of a generic question 
+them. The following is a condensed version of a generic question
 that has appeared on the libmtp mailing list from time to time.
 
 > PTP: Opening session
@@ -553,25 +715,25 @@
 > (...)
 > Are these type of errors related to libmtp or something else?
 
-The problem is of a generic nature, and related to dynamic library 
+The problem is of a generic nature, and related to dynamic library
 loading. It is colloquially known as "dependency hell".
 (http://en.wikipedia.org/wiki/Dependency_hell)
 
 The gnomad2 application calls upon the dynamic linker in Linux to
 resolve the symbol "LIBMTP_Get_Storageinfo" or any other symbol
 (ELF symbol, or link point or whatever you want to call them, a
-symbol is a label on a memory address that the linker shall 
+symbol is a label on a memory address that the linker shall
 resolve from label to actual address.)
 For generic information on this subject see the INSTALL file and
 this Wikipedia page:
 
 http://en.wikipedia.org/wiki/Library_(computing)
 
-When Linux /lib/ld-linux.so.X is called to link the symbols compiled 
-into gnomad2 (or any other executable using libmtp), it examines the 
-ELF file for the libmtp.so.X file it finds first and cannot resolve 
+When Linux /lib/ld-linux.so.X is called to link the symbols compiled
+into gnomad2 (or any other executable using libmtp), it examines the
+ELF file for the libmtp.so.X file it finds first and cannot resolve
 the symbol "LIBMTP_Get_Storageinfo" (or whichever symbol you have a
-problem witj) from it, since it's probably not there. There are many 
+problem witj) from it, since it's probably not there. There are many
 possible causes of this symbol breakage:
 
 1) You installed precompiled libmtp and gnomad2 packages (RPMs, debs
@@ -625,14 +787,14 @@
 objects. These objects have file names, but that is actually
 just a name tag on the object.
 
-Folders/directories aren't really such entities: they are just 
+Folders/directories aren't really such entities: they are just
 objects too, albeit objects that can act as parent to other
 objects. They are called "associations" and are created in atomic
 fashion and even though there is an MTP command to get all the
-associations of a certain association, this command is optional
+associations of a certain object, this command is optional
 so it is perfectly possible (and most common, actually) to create
 devices where the "folders" (which are actually associations) have
-no idea whatsoever of what files they are associated as parents to 
+no idea whatsoever of what files they are associated as parents to
 (i.e. which files they contain). This is very easy for device
 manufacturers to implement, all the association (i.e. finding out
 which files are in a certain folder) has to be done by the MTP
@@ -640,11 +802,14 @@
 
 Moving a file to a new folder is for example very simple in a
 "real" file system. In PTP/MTP devices it is often not even possible,
-some devices *may* be able to do that. But actually the only
-reliable way of doing that is to upload the file to the host,
-download it with the new parent, then delete the old file.
-We have played with the idea of implementing this time consuming
-function, perhaps we will.
+some devices *may* be able to do that, if they support command
+0x1019 "Move Object", but actually the only reliable way of executing
+file movement is to upload the file to the host, download it with
+the new parent, then delete the old file. We have played with the
+idea of implementing this time consuming function as a fallback
+in case the device does not support command 0x1019, perhaps one day
+we will do that. (Some devices also support command 0x101a
+"Copy Object".)
 
 Then the issue that in PTP/MTP it is legal for two files to have
 exactly the same path as long as their object IDs differ. A
@@ -654,13 +819,13 @@
 handling that, so they become  /Foo.mp3 and /Foo.mp3(1) or something
 similar, but it's really a bit kludgy.
 
-Playlists and albums aren't really files, thinking about 
+Playlists and albums aren't really files, thinking about
 them as files like the hacks in libgphoto2 is really backwards. They are
 called associations and are more like a symbolic link that links in a
 star-shaped pattern to all the files that are part of the album/playlist.
 Some devices (Samsung) thought that was too complicated and have a
 different way of storing playlists in an UTF-16 encoded .spl-like file
-instead! This is why playlists/albums must have their own structs and 
+instead! This is why playlists/albums must have their own structs and
 functions.
 
 Plain file access also assumes to be able to write files of an
@@ -675,8 +840,8 @@
 LIBMTP_Get_File_To_File_Descriptor() (and a similar function for tracks)
 wherever you want.
 
-People have connected this to TCP sockets for streaming web servers 
-etc, works like a charm. Some devices will even survive if the callback 
+People have connected this to TCP sockets for streaming web servers
+etc, works like a charm. Some devices will even survive if the callback
 functions return non-zero and cancel the download. Some devices will
 lock up and even require a reset if you do that. Devices are poorly
 implemented so that's life. If you want to stream off a device, the
@@ -707,3 +872,211 @@
 since the device rolls back all failed transactions.
 
 So this is an inherent limitation of the PTP/MTP protocol.
+
+
+I want to remote control my device!
+-----------------------------------
+
+I have both good and bad news for you.
+
+The good news is that the MTP protocol has well-defined commands to play
+back content on a device. Operation 0xD411 (PTP_DPC_MTP_PlaybackObject)
+will start playing back a file on the device (whatever that may mean if
+this is not a music or video file), and operation 0xD403 can set the
+playback volume to save your ears. Then there are operations to
+determine how far into the current file you currently are, so as to
+support say progress bars.
+
+Since these commands have been around since the dawn of the MTP protocol
+and since it was developed in cooperation with Creative Technology, this
+is probably a requested feature from the Creative people who already had
+support for playback on their devices using the PDE protocol back then.
+
+Anyway, here are the bad news:
+[logs]$ grep d411 *
+mtp-detect-trekstor-vibez.txt:   0xd411: Playback Object
+
+Aha there is only one known device in the world which actually supports
+playback on the device. So either you go buy the Trekstor Vibez, or you
+can forget about this. You could always try asking your hardware vendor
+of choice to go implement this.
+
+Since none of the core developers of libmtp has the Trekstor device, this
+is not yet implemented in libmtp.
+
+
+I make MTP devices!
+-------------------
+
+If you are a device vendor there is a lot you can do for libmtp:
+
+* Please consider assigning one of your employees as a contact person
+  for libmtp, have them sign up to the libmtp development list and answer
+  questions and post new device ID:s as they are released to our
+  mailing list.
+
+* If you want to help even more, assign someone to look deeper into
+  error reports on your specific devices, understand why your firmware
+  may require some special device flags and what can be done about it.
+
+* Do you have spare devices you can give us? Send them to Richard (Mac
+  support) or Linus (Linux support). (So far nobody did that except for
+  Microsoft who sent us a Zune by proxy!)
+
+Vendors do need help from libmtp too, especially we want to help
+vendors improve their MTP stacks, because they all suffer from the
+same problem: the lack of a proper conformance test has made many devices
+incompliant with the MTP specification as it is published today: most
+devices are just compliant with the Windows MTP stack, and don't work
+out-of-the-box with libmtp. We need someone on the inside to help in
+bug reporting vendors MTP stacks internally so these issues are raised.
+A good way to go toward better MTP compliance is to test with an
+alternative implementation of the stack. In e.g. IETF standardization
+it is compulsory for an RFC to have atleast two independent implementations
+for it to reach the status as standard.
+
+Being compliant with libmtp is also more and more important for
+vendors: libmtp is being deployed in some embedded systems like
+set-top-boxes etc. It will be very irritating for customers if a device
+will not dock properly with some home entertainment equipment just because
+it is based on Linux and libmtp and not the Windows MTP stack.
+
+Autodetect with gudev
+---------------------
+
+Previously you would use HAL to detect devices being plugged in. Nowadays
+we use udev directly, or though the GNOME libgudev library. LIBMTPs
+default udev rules export the proper properties to detect any MTP device
+automatically, here is a verbose example derived from gnomad2:
+
+#define G_UDEV_API_IS_SUBJECT_TO_CHANGE
+#include <gudev/gudev.h>
+const char * const gudev_subsystems[] = { "usb", NULL };
+GUdevClient *gudev_client;
+guint uevent_id;
+guint uevent_bus_hooked = 0;
+guint uevent_device_hooked = 0;
+
+
+static void uevent_cb(GUdevClient *client, const char *action, GUdevDevice *device, void *data)
+{
+  guint64 devicenum;
+  guint vendor;
+  guint model;
+  guint busnum;
+  guint devnum;
+  guint mtpdevice;
+
+  devicenum = (guint64) g_udev_device_get_device_number(device);
+  g_print("%s event for %s (%"G_GINT64_MODIFIER"x)", action,
+          g_udev_device_get_sysfs_path (device), devicenum);
+
+  /* get device info */
+  vendor = get_property_as_int(device, "ID_VENDOR_ID", 16);
+  model = get_property_as_int(device, "ID_MODEL_ID", 16);
+  busnum = get_property_as_int(device, "BUSNUM", 10);
+  devnum = get_property_as_int(device, "DEVNUM", 10);
+  mtpdevice = get_property_as_int(device, "ID_MTP_DEVICE", 10);
+
+  if (vendor == 0 || model == 0) {
+    g_print("couldn't get vendor or model ID for device at (%x:%x)\n",
+            busnum, devnum);
+    return;
+  } else {
+    g_print("vendor = %x, model = %x, bus = %x, device = %x\n",
+            vendor, model, busnum, devnum);
+  }
+
+  if (mtpdevice) {
+    g_print("device is MTP compliant\n");
+
+    if (g_str_equal(action, "add") &&
+       uevent_bus_hooked == 0 &&
+       uevent_device_hooked == 0) {
+      g_print(MTP device plugged in!\n");
+      uevent_bus_hooked = busnum;
+      uevent_device_hooked = devnum;
+      scan_jukebox(NULL);
+    } else if (g_str_equal (action, "remove") &&
+       	   uevent_bus_hooked == busnum &&
+           uevent_device_hooked == devnum) {
+      g_print("MTP device removed!\n");
+      uevent_bus_hooked = 0;
+      uevent_device_hooked = 0;
+    }
+  }
+}
+
+
+
+(...)
+  /*
+   * Monitor udev device events - we're only really interested in events
+   * for USB devices.
+   */
+  gudev_client = g_udev_client_new(gudev_subsystems);
+  uevent_id = g_signal_connect_object(gudev_client,
+                                      "uevent",
+                                      G_CALLBACK(uevent_cb),
+                                      NULL, 0);
+
+SKETCH OF AN OVERVIEW
+---------------------
+
+Draft agenda for a talk on MTP devices submitted for the Android
+builders summit, might come to recycle this:
+
+- Protocol overview
+  - Transactional filesystem - no corruption due to unplugged cables!
+  - The host and the device can access the files simultaneously, the
+    device will always "own" the physical file system and proxy the
+    host (MTP initiator).
+- libmtp interface
+- relation to libgphoto2
+- User expectations fall short:
+  - Not really a mountable filesystem.
+  - Streaming does not work. (Size needs to be known beforehand due to
+    transactional nature.)
+  - GVFS MTP backend to the rescue.
+- Device sins
+  - Using the same VID/PID for several modes, some of which are not MTP.
+    HTC Zopo, HD2, Bird (0x0bb4/0x0c02). Thanks for that, now we cannot
+    detect the protocol from just VID+PID but have to examine the interfaces.
+  - Android bugs
+  - Samsungs special Android MTP stack
+  - SonyEricsson Aricent stack for Xperia Androids pre 4.0, broken headers!
+  - Flat access model vs hierarchical, how Android uses MTP as an hierachical
+    file system while it was previously a flat database.
+  - Old paradigm: scan the entire non-hierarchical storage for all content,
+    build a cache to speed up the (USB 1.1!) link. Usually all files were
+    stored in the root folder or a single folder named "/Music" or similar.
+  - Android introduced deeply nested folder hierarchies, not seen before
+    on MTP devices.
+  - Microsoft not using the complete metadata dump feature of the MTP
+    protocol (once introduced by creative) instead they walk directories
+    separately.
+  - So caching a big device will take long time and/or timeout.
+  - Go-MTPFS (FUSE) and GVFS MTP - doing the partial directory walk rather
+    than caching all files.
+  - Especially Android devices nowadays assume that
+    you want to index a folder at the time, whereas older MTP devices (such
+    as those from Creative) would assume that you wanted to index the entire
+    device as it was plugged in, and device firmware is now ever more tailored
+    toward per-folder filetree walking. This makes it harder for the library
+    to provide the right abstractions: do we provide an API for indexing the
+    whole device which is unacceptably slow on new devices, or do we provide
+    an API for indexing a directory at the time which will somehow work on
+    older devices too? Shall we deprecate the older API?
+- Detecting from vendor extension, can fix in newer extensions!
+- Autoprobing on Linux
+  - Color devices do not like autoprobing
+  - Devices need different PIDs for every alternative interface due to
+    the Windows USB stack.
+  - Multimode USB - one PID for each mode due to Windows limitations not
+    applicable to Linux, SONY devices have ~5 different PIDs for a single
+    device.
+  - Mode switch devices? Maybe we do this wrong.
+- MTPZ, came and went. Apparently deprecated by Microsoft with Windows
+  Phone 8.
+- Ideas??
+
diff --git a/README.version b/README.version
deleted file mode 100644
index b80bbc7..0000000
--- a/README.version
+++ /dev/null
@@ -1,3 +0,0 @@
-URL: http://sourceforge.net/projects/libmtp/files/libmtp/1.0.1/libmtp-1.0.1.tar.gz/download
-Version: 1.0.1
-BugComponent: 49005
diff --git a/TODO b/TODO
index 74ad560..d4918d7 100644
--- a/TODO
+++ b/TODO
@@ -8,18 +8,18 @@
   have always been problematic. We must find a way to get this to work,
   eventually. The problem is that the in-kernel mass storage driver hogs
   the device before the MTP mode gets a chance of being used, whereas
-  the Windows kernel driver apparently does it the other way around, 
+  the Windows kernel driver apparently does it the other way around,
   trying the MTP mode first and then not fall back on mass storage if
   MTP is available. (For some more explanations se src/libusb-glue.h.)
   This may involve kernel modifications. Perhaps it is only necessary
   to tweak the udev config not to load USB mass storage support for
   these devices. Dunno.
 
-2. COMPATIBILITY: several devices tend to "hang" after disconnect, 
-  needing to be unplugged and replugged before they can be used again. 
+2. COMPATIBILITY: several devices tend to "hang" after disconnect,
+  needing to be unplugged and replugged before they can be used again.
   We don't know why, it may be related to low-level USB behaviour that
   is not exposed in the logs we read. On some devices it appear that
-  avoiding to release the USB interface after closing the PTP/MTP 
+  avoiding to release the USB interface after closing the PTP/MTP
   session solves this, and might be a hint at how the Windows MTP stack
   works: perhaps the Windows MTP daemon grabs the interface once the
   device is plugged in, created a session and NEVER release it.
@@ -47,14 +47,15 @@
   atleast a call to the cache update function.
 
 3. FEATURE: Mechanism to retrieve the device icon device property, else if not
-  present, look for DevIcon.fil (Windows ICO format) and 
+  present, look for DevIcon.fil (Windows ICO format) and
   DevLogo.fil (PNG Format) images from the device (if available).
 
 4. FEATURE: Shared device access so that multiple client applications can have
   an open connection to the device at the same time via a handle. For example,
-  it should be somehow possible to run mtp-detect at the same time as amarok or 
+  it should be somehow possible to run mtp-detect at the same time as amarok or
   mtpfs is connected to a device. This would require some form of resource
-  sharing.
+  sharing, discussions have centered on a D-Bus based connection arbiter
+  daemon.
 
 5. FEATURE: Implement an OpenSync backend for devices which have
   calendaring, contact etc support. http://opensync.org/
@@ -62,7 +63,7 @@
 
 THOSE ARE ALREADY DONE:
 
-1. FEATURE: Make an API that can return several devices and let the user 
+1. FEATURE: Make an API that can return several devices and let the user
   choose which one to operate, not just connect to the first one...
 
 2. SPEED: Cache the object info for all items on the device.
@@ -86,21 +87,27 @@
   then use the cache to check for supported props instead of calling
   out to PTP with ptp_mtp_getobjectpropssupported() every time.
   The cache would be an array of size params->deviceinfo.ImageFormats_len
-  with a list for each format of the properties it will support. Notice 
+  with a list for each format of the properties it will support. Notice
   that this needs to be updated whenever flush_handles() is called too.
-  THIS HAS BEEN DISCARDED, TERO IMPLEMENTED IT BUT IT DOESN'T SEEM TO 
+  THIS HAS BEEN DISCARDED, TERO IMPLEMENTED IT BUT IT DOESN'T SEEM TO
   YIELD MUCH.
 
-7. FEATURE: Make abstract playlists really become size -1 when created as 
+7. FEATURE: Make abstract playlists really become size -1 when created as
   the ones created on the device instead of the current 1 byte size.
   (Is this possible using enhanced commands? See TODO remarks in
   the create_abstract_entity() function)
 
 8. FEATURE: Integrate libmtp with HAL / D-Bus so applications can dynamically
-  know when a device has been plugged in or removed. Need a mechanism to 
+  know when a device has been plugged in or removed. Need a mechanism to
   connect a specific hal UDI.
 
 9. SPEEDUP: The recursive function that builds the folder tree is
   O(n^2)! Atleast remove all non-folders (PTP associations) from the
   list before we start sorting and building that tree. We walk the
   entire list for each group of siblings right now!
+
+10. FEATURE: program to autoprobe device interfaces on connection.
+
+11. FEATURE: accomodate Googles uncached device needs.
+
+12. FEATURE: rudimentary event interface.
diff --git a/aclocal.m4 b/aclocal.m4
deleted file mode 100644
index 225c014..0000000
--- a/aclocal.m4
+++ /dev/null
@@ -1,2158 +0,0 @@
-# generated automatically by aclocal 1.11 -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-m4_ifndef([AC_AUTOCONF_VERSION],
-  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.63],,
-[m4_warning([this file was generated for autoconf 2.63.
-You have another version of autoconf.  It may work, but is not guaranteed to.
-If you have problems, you may need to regenerate the build system entirely.
-To do so, use the procedure documented by the package, typically `autoreconf'.])])
-
-# iconv.m4 serial AM6 (gettext-0.17)
-dnl Copyright (C) 2000-2002, 2007 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-
-AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
-[
-  dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
-  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
-  AC_REQUIRE([AC_LIB_RPATH])
-
-  dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
-  dnl accordingly.
-  AC_LIB_LINKFLAGS_BODY([iconv])
-])
-
-AC_DEFUN([AM_ICONV_LINK],
-[
-  dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
-  dnl those with the standalone portable GNU libiconv installed).
-  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-
-  dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
-  dnl accordingly.
-  AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
-
-  dnl Add $INCICONV to CPPFLAGS before performing the following checks,
-  dnl because if the user has installed libiconv and not disabled its use
-  dnl via --without-libiconv-prefix, he wants to use it. The first
-  dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed.
-  am_save_CPPFLAGS="$CPPFLAGS"
-  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
-
-  AC_CACHE_CHECK([for iconv], am_cv_func_iconv, [
-    am_cv_func_iconv="no, consider installing GNU libiconv"
-    am_cv_lib_iconv=no
-    AC_TRY_LINK([#include <stdlib.h>
-#include <iconv.h>],
-      [iconv_t cd = iconv_open("","");
-       iconv(cd,NULL,NULL,NULL,NULL);
-       iconv_close(cd);],
-      am_cv_func_iconv=yes)
-    if test "$am_cv_func_iconv" != yes; then
-      am_save_LIBS="$LIBS"
-      LIBS="$LIBS $LIBICONV"
-      AC_TRY_LINK([#include <stdlib.h>
-#include <iconv.h>],
-        [iconv_t cd = iconv_open("","");
-         iconv(cd,NULL,NULL,NULL,NULL);
-         iconv_close(cd);],
-        am_cv_lib_iconv=yes
-        am_cv_func_iconv=yes)
-      LIBS="$am_save_LIBS"
-    fi
-  ])
-  if test "$am_cv_func_iconv" = yes; then
-    AC_CACHE_CHECK([for working iconv], am_cv_func_iconv_works, [
-      dnl This tests against bugs in AIX 5.1 and HP-UX 11.11.
-      am_save_LIBS="$LIBS"
-      if test $am_cv_lib_iconv = yes; then
-        LIBS="$LIBS $LIBICONV"
-      fi
-      AC_TRY_RUN([
-#include <iconv.h>
-#include <string.h>
-int main ()
-{
-  /* Test against AIX 5.1 bug: Failures are not distinguishable from successful
-     returns.  */
-  {
-    iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8");
-    if (cd_utf8_to_88591 != (iconv_t)(-1))
-      {
-        static const char input[] = "\342\202\254"; /* EURO SIGN */
-        char buf[10];
-        const char *inptr = input;
-        size_t inbytesleft = strlen (input);
-        char *outptr = buf;
-        size_t outbytesleft = sizeof (buf);
-        size_t res = iconv (cd_utf8_to_88591,
-                            (char **) &inptr, &inbytesleft,
-                            &outptr, &outbytesleft);
-        if (res == 0)
-          return 1;
-      }
-  }
-#if 0 /* This bug could be worked around by the caller.  */
-  /* Test against HP-UX 11.11 bug: Positive return value instead of 0.  */
-  {
-    iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591");
-    if (cd_88591_to_utf8 != (iconv_t)(-1))
-      {
-        static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
-        char buf[50];
-        const char *inptr = input;
-        size_t inbytesleft = strlen (input);
-        char *outptr = buf;
-        size_t outbytesleft = sizeof (buf);
-        size_t res = iconv (cd_88591_to_utf8,
-                            (char **) &inptr, &inbytesleft,
-                            &outptr, &outbytesleft);
-        if ((int)res > 0)
-          return 1;
-      }
-  }
-#endif
-  /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is
-     provided.  */
-  if (/* Try standardized names.  */
-      iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1)
-      /* Try IRIX, OSF/1 names.  */
-      && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1)
-      /* Try AIX names.  */
-      && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1)
-      /* Try HP-UX names.  */
-      && iconv_open ("utf8", "eucJP") == (iconv_t)(-1))
-    return 1;
-  return 0;
-}], [am_cv_func_iconv_works=yes], [am_cv_func_iconv_works=no],
-        [case "$host_os" in
-           aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
-           *)            am_cv_func_iconv_works="guessing yes" ;;
-         esac])
-      LIBS="$am_save_LIBS"
-    ])
-    case "$am_cv_func_iconv_works" in
-      *no) am_func_iconv=no am_cv_lib_iconv=no ;;
-      *)   am_func_iconv=yes ;;
-    esac
-  else
-    am_func_iconv=no am_cv_lib_iconv=no
-  fi
-  if test "$am_func_iconv" = yes; then
-    AC_DEFINE(HAVE_ICONV, 1,
-      [Define if you have the iconv() function and it works.])
-  fi
-  if test "$am_cv_lib_iconv" = yes; then
-    AC_MSG_CHECKING([how to link with libiconv])
-    AC_MSG_RESULT([$LIBICONV])
-  else
-    dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
-    dnl either.
-    CPPFLAGS="$am_save_CPPFLAGS"
-    LIBICONV=
-    LTLIBICONV=
-  fi
-  AC_SUBST(LIBICONV)
-  AC_SUBST(LTLIBICONV)
-])
-
-AC_DEFUN([AM_ICONV],
-[
-  AM_ICONV_LINK
-  if test "$am_cv_func_iconv" = yes; then
-    AC_MSG_CHECKING([for iconv declaration])
-    AC_CACHE_VAL(am_cv_proto_iconv, [
-      AC_TRY_COMPILE([
-#include <stdlib.h>
-#include <iconv.h>
-extern
-#ifdef __cplusplus
-"C"
-#endif
-#if defined(__STDC__) || defined(__cplusplus)
-size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
-#else
-size_t iconv();
-#endif
-], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const")
-      am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
-    am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
-    AC_MSG_RESULT([$]{ac_t:-
-         }[$]am_cv_proto_iconv)
-    AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1,
-      [Define as const if the declaration of iconv() needs const.])
-  fi
-])
-
-# lib-ld.m4 serial 3 (gettext-0.13)
-dnl Copyright (C) 1996-2003 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl Subroutines of libtool.m4,
-dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision
-dnl with libtool.m4.
-
-dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no.
-AC_DEFUN([AC_LIB_PROG_LD_GNU],
-[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld,
-[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
-  acl_cv_prog_gnu_ld=yes ;;
-*)
-  acl_cv_prog_gnu_ld=no ;;
-esac])
-with_gnu_ld=$acl_cv_prog_gnu_ld
-])
-
-dnl From libtool-1.4. Sets the variable LD.
-AC_DEFUN([AC_LIB_PROG_LD],
-[AC_ARG_WITH(gnu-ld,
-[  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]],
-test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  echo "#! /bin/sh" >conf$$.sh
-  echo  "exit 0"   >>conf$$.sh
-  chmod +x conf$$.sh
-  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-    PATH_SEPARATOR=';'
-  else
-    PATH_SEPARATOR=:
-  fi
-  rm -f conf$$.sh
-fi
-ac_prog=ld
-if test "$GCC" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  AC_MSG_CHECKING([for ld used by GCC])
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [[\\/]* | [A-Za-z]:[\\/]*)]
-      [re_direlt='/[^/][^/]*/\.\./']
-      # Canonicalize the path of ld
-      ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
-      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
-	ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-elif test "$with_gnu_ld" = yes; then
-  AC_MSG_CHECKING([for GNU ld])
-else
-  AC_MSG_CHECKING([for non-GNU ld])
-fi
-AC_CACHE_VAL(acl_cv_path_LD,
-[if test -z "$LD"; then
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      acl_cv_path_LD="$ac_dir/$ac_prog"
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some GNU ld's only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in
-      *GNU* | *'with BFD'*)
-	test "$with_gnu_ld" != no && break ;;
-      *)
-	test "$with_gnu_ld" != yes && break ;;
-      esac
-    fi
-  done
-  IFS="$ac_save_ifs"
-else
-  acl_cv_path_LD="$LD" # Let the user override the test with a path.
-fi])
-LD="$acl_cv_path_LD"
-if test -n "$LD"; then
-  AC_MSG_RESULT($LD)
-else
-  AC_MSG_RESULT(no)
-fi
-test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
-AC_LIB_PROG_LD_GNU
-])
-
-# lib-link.m4 serial 13 (gettext-0.17)
-dnl Copyright (C) 2001-2007 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-
-AC_PREREQ(2.54)
-
-dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
-dnl the libraries corresponding to explicit and implicit dependencies.
-dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
-dnl augments the CPPFLAGS variable.
-dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
-dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
-AC_DEFUN([AC_LIB_LINKFLAGS],
-[
-  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
-  AC_REQUIRE([AC_LIB_RPATH])
-  define([Name],[translit([$1],[./-], [___])])
-  define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
-                               [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
-  AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
-    AC_LIB_LINKFLAGS_BODY([$1], [$2])
-    ac_cv_lib[]Name[]_libs="$LIB[]NAME"
-    ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
-    ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
-    ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX"
-  ])
-  LIB[]NAME="$ac_cv_lib[]Name[]_libs"
-  LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
-  INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
-  LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix"
-  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
-  AC_SUBST([LIB]NAME)
-  AC_SUBST([LTLIB]NAME)
-  AC_SUBST([LIB]NAME[_PREFIX])
-  dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
-  dnl results of this search when this library appears as a dependency.
-  HAVE_LIB[]NAME=yes
-  undefine([Name])
-  undefine([NAME])
-])
-
-dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode)
-dnl searches for libname and the libraries corresponding to explicit and
-dnl implicit dependencies, together with the specified include files and
-dnl the ability to compile and link the specified testcode. If found, it
-dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and
-dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and
-dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
-dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
-dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
-dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
-AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
-[
-  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
-  AC_REQUIRE([AC_LIB_RPATH])
-  define([Name],[translit([$1],[./-], [___])])
-  define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
-                               [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
-
-  dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
-  dnl accordingly.
-  AC_LIB_LINKFLAGS_BODY([$1], [$2])
-
-  dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
-  dnl because if the user has installed lib[]Name and not disabled its use
-  dnl via --without-lib[]Name-prefix, he wants to use it.
-  ac_save_CPPFLAGS="$CPPFLAGS"
-  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
-
-  AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
-    ac_save_LIBS="$LIBS"
-    LIBS="$LIBS $LIB[]NAME"
-    AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no])
-    LIBS="$ac_save_LIBS"
-  ])
-  if test "$ac_cv_lib[]Name" = yes; then
-    HAVE_LIB[]NAME=yes
-    AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.])
-    AC_MSG_CHECKING([how to link with lib[]$1])
-    AC_MSG_RESULT([$LIB[]NAME])
-  else
-    HAVE_LIB[]NAME=no
-    dnl If $LIB[]NAME didn't lead to a usable library, we don't need
-    dnl $INC[]NAME either.
-    CPPFLAGS="$ac_save_CPPFLAGS"
-    LIB[]NAME=
-    LTLIB[]NAME=
-    LIB[]NAME[]_PREFIX=
-  fi
-  AC_SUBST([HAVE_LIB]NAME)
-  AC_SUBST([LIB]NAME)
-  AC_SUBST([LTLIB]NAME)
-  AC_SUBST([LIB]NAME[_PREFIX])
-  undefine([Name])
-  undefine([NAME])
-])
-
-dnl Determine the platform dependent parameters needed to use rpath:
-dnl   acl_libext,
-dnl   acl_shlibext,
-dnl   acl_hardcode_libdir_flag_spec,
-dnl   acl_hardcode_libdir_separator,
-dnl   acl_hardcode_direct,
-dnl   acl_hardcode_minus_L.
-AC_DEFUN([AC_LIB_RPATH],
-[
-  dnl Tell automake >= 1.10 to complain if config.rpath is missing.
-  m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])])
-  AC_REQUIRE([AC_PROG_CC])                dnl we use $CC, $GCC, $LDFLAGS
-  AC_REQUIRE([AC_LIB_PROG_LD])            dnl we use $LD, $with_gnu_ld
-  AC_REQUIRE([AC_CANONICAL_HOST])         dnl we use $host
-  AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
-  AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [
-    CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
-    ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
-    . ./conftest.sh
-    rm -f ./conftest.sh
-    acl_cv_rpath=done
-  ])
-  wl="$acl_cv_wl"
-  acl_libext="$acl_cv_libext"
-  acl_shlibext="$acl_cv_shlibext"
-  acl_libname_spec="$acl_cv_libname_spec"
-  acl_library_names_spec="$acl_cv_library_names_spec"
-  acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
-  acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
-  acl_hardcode_direct="$acl_cv_hardcode_direct"
-  acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"
-  dnl Determine whether the user wants rpath handling at all.
-  AC_ARG_ENABLE(rpath,
-    [  --disable-rpath         do not hardcode runtime library paths],
-    :, enable_rpath=yes)
-])
-
-dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
-dnl the libraries corresponding to explicit and implicit dependencies.
-dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
-dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found
-dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
-AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
-[
-  AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
-  define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
-                               [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
-  dnl Autoconf >= 2.61 supports dots in --with options.
-  define([N_A_M_E],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit([$1],[.],[_])],[$1])])
-  dnl By default, look in $includedir and $libdir.
-  use_additional=yes
-  AC_LIB_WITH_FINAL_PREFIX([
-    eval additional_includedir=\"$includedir\"
-    eval additional_libdir=\"$libdir\"
-  ])
-  AC_LIB_ARG_WITH([lib]N_A_M_E[-prefix],
-[  --with-lib]N_A_M_E[-prefix[=DIR]  search for lib$1 in DIR/include and DIR/lib
-  --without-lib]N_A_M_E[-prefix     don't search for lib$1 in includedir and libdir],
-[
-    if test "X$withval" = "Xno"; then
-      use_additional=no
-    else
-      if test "X$withval" = "X"; then
-        AC_LIB_WITH_FINAL_PREFIX([
-          eval additional_includedir=\"$includedir\"
-          eval additional_libdir=\"$libdir\"
-        ])
-      else
-        additional_includedir="$withval/include"
-        additional_libdir="$withval/$acl_libdirstem"
-      fi
-    fi
-])
-  dnl Search the library and its dependencies in $additional_libdir and
-  dnl $LDFLAGS. Using breadth-first-seach.
-  LIB[]NAME=
-  LTLIB[]NAME=
-  INC[]NAME=
-  LIB[]NAME[]_PREFIX=
-  rpathdirs=
-  ltrpathdirs=
-  names_already_handled=
-  names_next_round='$1 $2'
-  while test -n "$names_next_round"; do
-    names_this_round="$names_next_round"
-    names_next_round=
-    for name in $names_this_round; do
-      already_handled=
-      for n in $names_already_handled; do
-        if test "$n" = "$name"; then
-          already_handled=yes
-          break
-        fi
-      done
-      if test -z "$already_handled"; then
-        names_already_handled="$names_already_handled $name"
-        dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
-        dnl or AC_LIB_HAVE_LINKFLAGS call.
-        uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'`
-        eval value=\"\$HAVE_LIB$uppername\"
-        if test -n "$value"; then
-          if test "$value" = yes; then
-            eval value=\"\$LIB$uppername\"
-            test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
-            eval value=\"\$LTLIB$uppername\"
-            test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
-          else
-            dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
-            dnl that this library doesn't exist. So just drop it.
-            :
-          fi
-        else
-          dnl Search the library lib$name in $additional_libdir and $LDFLAGS
-          dnl and the already constructed $LIBNAME/$LTLIBNAME.
-          found_dir=
-          found_la=
-          found_so=
-          found_a=
-          eval libname=\"$acl_libname_spec\"    # typically: libname=lib$name
-          if test -n "$acl_shlibext"; then
-            shrext=".$acl_shlibext"             # typically: shrext=.so
-          else
-            shrext=
-          fi
-          if test $use_additional = yes; then
-            dir="$additional_libdir"
-            dnl The same code as in the loop below:
-            dnl First look for a shared library.
-            if test -n "$acl_shlibext"; then
-              if test -f "$dir/$libname$shrext"; then
-                found_dir="$dir"
-                found_so="$dir/$libname$shrext"
-              else
-                if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
-                  ver=`(cd "$dir" && \
-                        for f in "$libname$shrext".*; do echo "$f"; done \
-                        | sed -e "s,^$libname$shrext\\\\.,," \
-                        | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
-                        | sed 1q ) 2>/dev/null`
-                  if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
-                    found_dir="$dir"
-                    found_so="$dir/$libname$shrext.$ver"
-                  fi
-                else
-                  eval library_names=\"$acl_library_names_spec\"
-                  for f in $library_names; do
-                    if test -f "$dir/$f"; then
-                      found_dir="$dir"
-                      found_so="$dir/$f"
-                      break
-                    fi
-                  done
-                fi
-              fi
-            fi
-            dnl Then look for a static library.
-            if test "X$found_dir" = "X"; then
-              if test -f "$dir/$libname.$acl_libext"; then
-                found_dir="$dir"
-                found_a="$dir/$libname.$acl_libext"
-              fi
-            fi
-            if test "X$found_dir" != "X"; then
-              if test -f "$dir/$libname.la"; then
-                found_la="$dir/$libname.la"
-              fi
-            fi
-          fi
-          if test "X$found_dir" = "X"; then
-            for x in $LDFLAGS $LTLIB[]NAME; do
-              AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-              case "$x" in
-                -L*)
-                  dir=`echo "X$x" | sed -e 's/^X-L//'`
-                  dnl First look for a shared library.
-                  if test -n "$acl_shlibext"; then
-                    if test -f "$dir/$libname$shrext"; then
-                      found_dir="$dir"
-                      found_so="$dir/$libname$shrext"
-                    else
-                      if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
-                        ver=`(cd "$dir" && \
-                              for f in "$libname$shrext".*; do echo "$f"; done \
-                              | sed -e "s,^$libname$shrext\\\\.,," \
-                              | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
-                              | sed 1q ) 2>/dev/null`
-                        if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
-                          found_dir="$dir"
-                          found_so="$dir/$libname$shrext.$ver"
-                        fi
-                      else
-                        eval library_names=\"$acl_library_names_spec\"
-                        for f in $library_names; do
-                          if test -f "$dir/$f"; then
-                            found_dir="$dir"
-                            found_so="$dir/$f"
-                            break
-                          fi
-                        done
-                      fi
-                    fi
-                  fi
-                  dnl Then look for a static library.
-                  if test "X$found_dir" = "X"; then
-                    if test -f "$dir/$libname.$acl_libext"; then
-                      found_dir="$dir"
-                      found_a="$dir/$libname.$acl_libext"
-                    fi
-                  fi
-                  if test "X$found_dir" != "X"; then
-                    if test -f "$dir/$libname.la"; then
-                      found_la="$dir/$libname.la"
-                    fi
-                  fi
-                  ;;
-              esac
-              if test "X$found_dir" != "X"; then
-                break
-              fi
-            done
-          fi
-          if test "X$found_dir" != "X"; then
-            dnl Found the library.
-            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
-            if test "X$found_so" != "X"; then
-              dnl Linking with a shared library. We attempt to hardcode its
-              dnl directory into the executable's runpath, unless it's the
-              dnl standard /usr/lib.
-              if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then
-                dnl No hardcoding is needed.
-                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
-              else
-                dnl Use an explicit option to hardcode DIR into the resulting
-                dnl binary.
-                dnl Potentially add DIR to ltrpathdirs.
-                dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
-                haveit=
-                for x in $ltrpathdirs; do
-                  if test "X$x" = "X$found_dir"; then
-                    haveit=yes
-                    break
-                  fi
-                done
-                if test -z "$haveit"; then
-                  ltrpathdirs="$ltrpathdirs $found_dir"
-                fi
-                dnl The hardcoding into $LIBNAME is system dependent.
-                if test "$acl_hardcode_direct" = yes; then
-                  dnl Using DIR/libNAME.so during linking hardcodes DIR into the
-                  dnl resulting binary.
-                  LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
-                else
-                  if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
-                    dnl Use an explicit option to hardcode DIR into the resulting
-                    dnl binary.
-                    LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
-                    dnl Potentially add DIR to rpathdirs.
-                    dnl The rpathdirs will be appended to $LIBNAME at the end.
-                    haveit=
-                    for x in $rpathdirs; do
-                      if test "X$x" = "X$found_dir"; then
-                        haveit=yes
-                        break
-                      fi
-                    done
-                    if test -z "$haveit"; then
-                      rpathdirs="$rpathdirs $found_dir"
-                    fi
-                  else
-                    dnl Rely on "-L$found_dir".
-                    dnl But don't add it if it's already contained in the LDFLAGS
-                    dnl or the already constructed $LIBNAME
-                    haveit=
-                    for x in $LDFLAGS $LIB[]NAME; do
-                      AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-                      if test "X$x" = "X-L$found_dir"; then
-                        haveit=yes
-                        break
-                      fi
-                    done
-                    if test -z "$haveit"; then
-                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
-                    fi
-                    if test "$acl_hardcode_minus_L" != no; then
-                      dnl FIXME: Not sure whether we should use
-                      dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
-                      dnl here.
-                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
-                    else
-                      dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH
-                      dnl here, because this doesn't fit in flags passed to the
-                      dnl compiler. So give up. No hardcoding. This affects only
-                      dnl very old systems.
-                      dnl FIXME: Not sure whether we should use
-                      dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
-                      dnl here.
-                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
-                    fi
-                  fi
-                fi
-              fi
-            else
-              if test "X$found_a" != "X"; then
-                dnl Linking with a static library.
-                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
-              else
-                dnl We shouldn't come here, but anyway it's good to have a
-                dnl fallback.
-                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
-              fi
-            fi
-            dnl Assume the include files are nearby.
-            additional_includedir=
-            case "$found_dir" in
-              */$acl_libdirstem | */$acl_libdirstem/)
-                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
-                LIB[]NAME[]_PREFIX="$basedir"
-                additional_includedir="$basedir/include"
-                ;;
-            esac
-            if test "X$additional_includedir" != "X"; then
-              dnl Potentially add $additional_includedir to $INCNAME.
-              dnl But don't add it
-              dnl   1. if it's the standard /usr/include,
-              dnl   2. if it's /usr/local/include and we are using GCC on Linux,
-              dnl   3. if it's already present in $CPPFLAGS or the already
-              dnl      constructed $INCNAME,
-              dnl   4. if it doesn't exist as a directory.
-              if test "X$additional_includedir" != "X/usr/include"; then
-                haveit=
-                if test "X$additional_includedir" = "X/usr/local/include"; then
-                  if test -n "$GCC"; then
-                    case $host_os in
-                      linux* | gnu* | k*bsd*-gnu) haveit=yes;;
-                    esac
-                  fi
-                fi
-                if test -z "$haveit"; then
-                  for x in $CPPFLAGS $INC[]NAME; do
-                    AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-                    if test "X$x" = "X-I$additional_includedir"; then
-                      haveit=yes
-                      break
-                    fi
-                  done
-                  if test -z "$haveit"; then
-                    if test -d "$additional_includedir"; then
-                      dnl Really add $additional_includedir to $INCNAME.
-                      INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
-                    fi
-                  fi
-                fi
-              fi
-            fi
-            dnl Look for dependencies.
-            if test -n "$found_la"; then
-              dnl Read the .la file. It defines the variables
-              dnl dlname, library_names, old_library, dependency_libs, current,
-              dnl age, revision, installed, dlopen, dlpreopen, libdir.
-              save_libdir="$libdir"
-              case "$found_la" in
-                */* | *\\*) . "$found_la" ;;
-                *) . "./$found_la" ;;
-              esac
-              libdir="$save_libdir"
-              dnl We use only dependency_libs.
-              for dep in $dependency_libs; do
-                case "$dep" in
-                  -L*)
-                    additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
-                    dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
-                    dnl But don't add it
-                    dnl   1. if it's the standard /usr/lib,
-                    dnl   2. if it's /usr/local/lib and we are using GCC on Linux,
-                    dnl   3. if it's already present in $LDFLAGS or the already
-                    dnl      constructed $LIBNAME,
-                    dnl   4. if it doesn't exist as a directory.
-                    if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
-                      haveit=
-                      if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
-                        if test -n "$GCC"; then
-                          case $host_os in
-                            linux* | gnu* | k*bsd*-gnu) haveit=yes;;
-                          esac
-                        fi
-                      fi
-                      if test -z "$haveit"; then
-                        haveit=
-                        for x in $LDFLAGS $LIB[]NAME; do
-                          AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-                          if test "X$x" = "X-L$additional_libdir"; then
-                            haveit=yes
-                            break
-                          fi
-                        done
-                        if test -z "$haveit"; then
-                          if test -d "$additional_libdir"; then
-                            dnl Really add $additional_libdir to $LIBNAME.
-                            LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
-                          fi
-                        fi
-                        haveit=
-                        for x in $LDFLAGS $LTLIB[]NAME; do
-                          AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-                          if test "X$x" = "X-L$additional_libdir"; then
-                            haveit=yes
-                            break
-                          fi
-                        done
-                        if test -z "$haveit"; then
-                          if test -d "$additional_libdir"; then
-                            dnl Really add $additional_libdir to $LTLIBNAME.
-                            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
-                          fi
-                        fi
-                      fi
-                    fi
-                    ;;
-                  -R*)
-                    dir=`echo "X$dep" | sed -e 's/^X-R//'`
-                    if test "$enable_rpath" != no; then
-                      dnl Potentially add DIR to rpathdirs.
-                      dnl The rpathdirs will be appended to $LIBNAME at the end.
-                      haveit=
-                      for x in $rpathdirs; do
-                        if test "X$x" = "X$dir"; then
-                          haveit=yes
-                          break
-                        fi
-                      done
-                      if test -z "$haveit"; then
-                        rpathdirs="$rpathdirs $dir"
-                      fi
-                      dnl Potentially add DIR to ltrpathdirs.
-                      dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
-                      haveit=
-                      for x in $ltrpathdirs; do
-                        if test "X$x" = "X$dir"; then
-                          haveit=yes
-                          break
-                        fi
-                      done
-                      if test -z "$haveit"; then
-                        ltrpathdirs="$ltrpathdirs $dir"
-                      fi
-                    fi
-                    ;;
-                  -l*)
-                    dnl Handle this in the next round.
-                    names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
-                    ;;
-                  *.la)
-                    dnl Handle this in the next round. Throw away the .la's
-                    dnl directory; it is already contained in a preceding -L
-                    dnl option.
-                    names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
-                    ;;
-                  *)
-                    dnl Most likely an immediate library name.
-                    LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
-                    LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
-                    ;;
-                esac
-              done
-            fi
-          else
-            dnl Didn't find the library; assume it is in the system directories
-            dnl known to the linker and runtime loader. (All the system
-            dnl directories known to the linker should also be known to the
-            dnl runtime loader, otherwise the system is severely misconfigured.)
-            LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
-            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
-          fi
-        fi
-      fi
-    done
-  done
-  if test "X$rpathdirs" != "X"; then
-    if test -n "$acl_hardcode_libdir_separator"; then
-      dnl Weird platform: only the last -rpath option counts, the user must
-      dnl pass all path elements in one option. We can arrange that for a
-      dnl single library, but not when more than one $LIBNAMEs are used.
-      alldirs=
-      for found_dir in $rpathdirs; do
-        alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
-      done
-      dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl.
-      acl_save_libdir="$libdir"
-      libdir="$alldirs"
-      eval flag=\"$acl_hardcode_libdir_flag_spec\"
-      libdir="$acl_save_libdir"
-      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
-    else
-      dnl The -rpath options are cumulative.
-      for found_dir in $rpathdirs; do
-        acl_save_libdir="$libdir"
-        libdir="$found_dir"
-        eval flag=\"$acl_hardcode_libdir_flag_spec\"
-        libdir="$acl_save_libdir"
-        LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
-      done
-    fi
-  fi
-  if test "X$ltrpathdirs" != "X"; then
-    dnl When using libtool, the option that works for both libraries and
-    dnl executables is -R. The -R options are cumulative.
-    for found_dir in $ltrpathdirs; do
-      LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
-    done
-  fi
-])
-
-dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
-dnl unless already present in VAR.
-dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
-dnl contains two or three consecutive elements that belong together.
-AC_DEFUN([AC_LIB_APPENDTOVAR],
-[
-  for element in [$2]; do
-    haveit=
-    for x in $[$1]; do
-      AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-      if test "X$x" = "X$element"; then
-        haveit=yes
-        break
-      fi
-    done
-    if test -z "$haveit"; then
-      [$1]="${[$1]}${[$1]:+ }$element"
-    fi
-  done
-])
-
-dnl For those cases where a variable contains several -L and -l options
-dnl referring to unknown libraries and directories, this macro determines the
-dnl necessary additional linker options for the runtime path.
-dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL])
-dnl sets LDADDVAR to linker options needed together with LIBSVALUE.
-dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed,
-dnl otherwise linking without libtool is assumed.
-AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS],
-[
-  AC_REQUIRE([AC_LIB_RPATH])
-  AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
-  $1=
-  if test "$enable_rpath" != no; then
-    if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
-      dnl Use an explicit option to hardcode directories into the resulting
-      dnl binary.
-      rpathdirs=
-      next=
-      for opt in $2; do
-        if test -n "$next"; then
-          dir="$next"
-          dnl No need to hardcode the standard /usr/lib.
-          if test "X$dir" != "X/usr/$acl_libdirstem"; then
-            rpathdirs="$rpathdirs $dir"
-          fi
-          next=
-        else
-          case $opt in
-            -L) next=yes ;;
-            -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'`
-                 dnl No need to hardcode the standard /usr/lib.
-                 if test "X$dir" != "X/usr/$acl_libdirstem"; then
-                   rpathdirs="$rpathdirs $dir"
-                 fi
-                 next= ;;
-            *) next= ;;
-          esac
-        fi
-      done
-      if test "X$rpathdirs" != "X"; then
-        if test -n ""$3""; then
-          dnl libtool is used for linking. Use -R options.
-          for dir in $rpathdirs; do
-            $1="${$1}${$1:+ }-R$dir"
-          done
-        else
-          dnl The linker is used for linking directly.
-          if test -n "$acl_hardcode_libdir_separator"; then
-            dnl Weird platform: only the last -rpath option counts, the user
-            dnl must pass all path elements in one option.
-            alldirs=
-            for dir in $rpathdirs; do
-              alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir"
-            done
-            acl_save_libdir="$libdir"
-            libdir="$alldirs"
-            eval flag=\"$acl_hardcode_libdir_flag_spec\"
-            libdir="$acl_save_libdir"
-            $1="$flag"
-          else
-            dnl The -rpath options are cumulative.
-            for dir in $rpathdirs; do
-              acl_save_libdir="$libdir"
-              libdir="$dir"
-              eval flag=\"$acl_hardcode_libdir_flag_spec\"
-              libdir="$acl_save_libdir"
-              $1="${$1}${$1:+ }$flag"
-            done
-          fi
-        fi
-      fi
-    fi
-  fi
-  AC_SUBST([$1])
-])
-
-# lib-prefix.m4 serial 5 (gettext-0.15)
-dnl Copyright (C) 2001-2005 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-
-dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and
-dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't
-dnl require excessive bracketing.
-ifdef([AC_HELP_STRING],
-[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])],
-[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])])
-
-dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
-dnl to access previously installed libraries. The basic assumption is that
-dnl a user will want packages to use other packages he previously installed
-dnl with the same --prefix option.
-dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
-dnl libraries, but is otherwise very convenient.
-AC_DEFUN([AC_LIB_PREFIX],
-[
-  AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
-  AC_REQUIRE([AC_PROG_CC])
-  AC_REQUIRE([AC_CANONICAL_HOST])
-  AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
-  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
-  dnl By default, look in $includedir and $libdir.
-  use_additional=yes
-  AC_LIB_WITH_FINAL_PREFIX([
-    eval additional_includedir=\"$includedir\"
-    eval additional_libdir=\"$libdir\"
-  ])
-  AC_LIB_ARG_WITH([lib-prefix],
-[  --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
-  --without-lib-prefix    don't search for libraries in includedir and libdir],
-[
-    if test "X$withval" = "Xno"; then
-      use_additional=no
-    else
-      if test "X$withval" = "X"; then
-        AC_LIB_WITH_FINAL_PREFIX([
-          eval additional_includedir=\"$includedir\"
-          eval additional_libdir=\"$libdir\"
-        ])
-      else
-        additional_includedir="$withval/include"
-        additional_libdir="$withval/$acl_libdirstem"
-      fi
-    fi
-])
-  if test $use_additional = yes; then
-    dnl Potentially add $additional_includedir to $CPPFLAGS.
-    dnl But don't add it
-    dnl   1. if it's the standard /usr/include,
-    dnl   2. if it's already present in $CPPFLAGS,
-    dnl   3. if it's /usr/local/include and we are using GCC on Linux,
-    dnl   4. if it doesn't exist as a directory.
-    if test "X$additional_includedir" != "X/usr/include"; then
-      haveit=
-      for x in $CPPFLAGS; do
-        AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-        if test "X$x" = "X-I$additional_includedir"; then
-          haveit=yes
-          break
-        fi
-      done
-      if test -z "$haveit"; then
-        if test "X$additional_includedir" = "X/usr/local/include"; then
-          if test -n "$GCC"; then
-            case $host_os in
-              linux* | gnu* | k*bsd*-gnu) haveit=yes;;
-            esac
-          fi
-        fi
-        if test -z "$haveit"; then
-          if test -d "$additional_includedir"; then
-            dnl Really add $additional_includedir to $CPPFLAGS.
-            CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
-          fi
-        fi
-      fi
-    fi
-    dnl Potentially add $additional_libdir to $LDFLAGS.
-    dnl But don't add it
-    dnl   1. if it's the standard /usr/lib,
-    dnl   2. if it's already present in $LDFLAGS,
-    dnl   3. if it's /usr/local/lib and we are using GCC on Linux,
-    dnl   4. if it doesn't exist as a directory.
-    if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
-      haveit=
-      for x in $LDFLAGS; do
-        AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
-        if test "X$x" = "X-L$additional_libdir"; then
-          haveit=yes
-          break
-        fi
-      done
-      if test -z "$haveit"; then
-        if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
-          if test -n "$GCC"; then
-            case $host_os in
-              linux*) haveit=yes;;
-            esac
-          fi
-        fi
-        if test -z "$haveit"; then
-          if test -d "$additional_libdir"; then
-            dnl Really add $additional_libdir to $LDFLAGS.
-            LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"
-          fi
-        fi
-      fi
-    fi
-  fi
-])
-
-dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,
-dnl acl_final_exec_prefix, containing the values to which $prefix and
-dnl $exec_prefix will expand at the end of the configure script.
-AC_DEFUN([AC_LIB_PREPARE_PREFIX],
-[
-  dnl Unfortunately, prefix and exec_prefix get only finally determined
-  dnl at the end of configure.
-  if test "X$prefix" = "XNONE"; then
-    acl_final_prefix="$ac_default_prefix"
-  else
-    acl_final_prefix="$prefix"
-  fi
-  if test "X$exec_prefix" = "XNONE"; then
-    acl_final_exec_prefix='${prefix}'
-  else
-    acl_final_exec_prefix="$exec_prefix"
-  fi
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
-  prefix="$acl_save_prefix"
-])
-
-dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the
-dnl variables prefix and exec_prefix bound to the values they will have
-dnl at the end of the configure script.
-AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
-[
-  acl_save_prefix="$prefix"
-  prefix="$acl_final_prefix"
-  acl_save_exec_prefix="$exec_prefix"
-  exec_prefix="$acl_final_exec_prefix"
-  $1
-  exec_prefix="$acl_save_exec_prefix"
-  prefix="$acl_save_prefix"
-])
-
-dnl AC_LIB_PREPARE_MULTILIB creates a variable acl_libdirstem, containing
-dnl the basename of the libdir, either "lib" or "lib64".
-AC_DEFUN([AC_LIB_PREPARE_MULTILIB],
-[
-  dnl There is no formal standard regarding lib and lib64. The current
-  dnl practice is that on a system supporting 32-bit and 64-bit instruction
-  dnl sets or ABIs, 64-bit libraries go under $prefix/lib64 and 32-bit
-  dnl libraries go under $prefix/lib. We determine the compiler's default
-  dnl mode by looking at the compiler's library search path. If at least
-  dnl of its elements ends in /lib64 or points to a directory whose absolute
-  dnl pathname ends in /lib64, we assume a 64-bit ABI. Otherwise we use the
-  dnl default, namely "lib".
-  acl_libdirstem=lib
-  searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
-  if test -n "$searchpath"; then
-    acl_save_IFS="${IFS= 	}"; IFS=":"
-    for searchdir in $searchpath; do
-      if test -d "$searchdir"; then
-        case "$searchdir" in
-          */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
-          *) searchdir=`cd "$searchdir" && pwd`
-             case "$searchdir" in
-               */lib64 ) acl_libdirstem=lib64 ;;
-             esac ;;
-        esac
-      fi
-    done
-    IFS="$acl_save_IFS"
-  fi
-])
-
-# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_AUTOMAKE_VERSION(VERSION)
-# ----------------------------
-# Automake X.Y traces this macro to ensure aclocal.m4 has been
-# generated from the m4 files accompanying Automake X.Y.
-# (This private macro should not be called outside this file.)
-AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.11'
-dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
-dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.11], [],
-      [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
-])
-
-# _AM_AUTOCONF_VERSION(VERSION)
-# -----------------------------
-# aclocal traces this macro to find the Autoconf version.
-# This is a private macro too.  Using m4_define simplifies
-# the logic in aclocal, which can simply ignore this definition.
-m4_define([_AM_AUTOCONF_VERSION], [])
-
-# AM_SET_CURRENT_AUTOMAKE_VERSION
-# -------------------------------
-# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
-# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
-AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.11])dnl
-m4_ifndef([AC_AUTOCONF_VERSION],
-  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
-
-# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
-
-# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
-# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
-# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
-#
-# Of course, Automake must honor this variable whenever it calls a
-# tool from the auxiliary directory.  The problem is that $srcdir (and
-# therefore $ac_aux_dir as well) can be either absolute or relative,
-# depending on how configure is run.  This is pretty annoying, since
-# it makes $ac_aux_dir quite unusable in subdirectories: in the top
-# source directory, any form will work fine, but in subdirectories a
-# relative path needs to be adjusted first.
-#
-# $ac_aux_dir/missing
-#    fails when called from a subdirectory if $ac_aux_dir is relative
-# $top_srcdir/$ac_aux_dir/missing
-#    fails if $ac_aux_dir is absolute,
-#    fails when called from a subdirectory in a VPATH build with
-#          a relative $ac_aux_dir
-#
-# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
-# are both prefixed by $srcdir.  In an in-source build this is usually
-# harmless because $srcdir is `.', but things will broke when you
-# start a VPATH build or use an absolute $srcdir.
-#
-# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
-# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
-#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
-# and then we would define $MISSING as
-#   MISSING="\${SHELL} $am_aux_dir/missing"
-# This will work as long as MISSING is not called from configure, because
-# unfortunately $(top_srcdir) has no meaning in configure.
-# However there are other variables, like CC, which are often used in
-# configure, and could therefore not use this "fixed" $ac_aux_dir.
-#
-# Another solution, used here, is to always expand $ac_aux_dir to an
-# absolute PATH.  The drawback is that using absolute paths prevent a
-# configured tree to be moved without reconfiguration.
-
-AC_DEFUN([AM_AUX_DIR_EXPAND],
-[dnl Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])dnl
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-])
-
-# AM_CONDITIONAL                                            -*- Autoconf -*-
-
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 9
-
-# AM_CONDITIONAL(NAME, SHELL-CONDITION)
-# -------------------------------------
-# Define a conditional.
-AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
-	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
-AC_SUBST([$1_TRUE])dnl
-AC_SUBST([$1_FALSE])dnl
-_AM_SUBST_NOTMAKE([$1_TRUE])dnl
-_AM_SUBST_NOTMAKE([$1_FALSE])dnl
-m4_define([_AM_COND_VALUE_$1], [$2])dnl
-if $2; then
-  $1_TRUE=
-  $1_FALSE='#'
-else
-  $1_TRUE='#'
-  $1_FALSE=
-fi
-AC_CONFIG_COMMANDS_PRE(
-[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
-  AC_MSG_ERROR([[conditional "$1" was never defined.
-Usually this means the macro was only invoked conditionally.]])
-fi])])
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 10
-
-# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
-# written in clear, in which case automake, when reading aclocal.m4,
-# will think it sees a *use*, and therefore will trigger all it's
-# C support machinery.  Also note that it means that autoscan, seeing
-# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
-
-
-# _AM_DEPENDENCIES(NAME)
-# ----------------------
-# See how the compiler implements dependency checking.
-# NAME is "CC", "CXX", "GCJ", or "OBJC".
-# We try a few techniques and use that to set a single cache variable.
-#
-# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
-# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
-# dependency, and given that the user is not expected to run this macro,
-# just rely on AC_PROG_CC.
-AC_DEFUN([_AM_DEPENDENCIES],
-[AC_REQUIRE([AM_SET_DEPDIR])dnl
-AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
-AC_REQUIRE([AM_MAKE_INCLUDE])dnl
-AC_REQUIRE([AM_DEP_TRACK])dnl
-
-ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
-       [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
-       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
-       [$1], UPC,  [depcc="$UPC"  am_compiler_list=],
-       [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
-                   [depcc="$$1"   am_compiler_list=])
-
-AC_CACHE_CHECK([dependency style of $depcc],
-               [am_cv_$1_dependencies_compiler_type],
-[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_$1_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
-  fi
-  am__universal=false
-  m4_case([$1], [CC],
-    [case " $depcc " in #(
-     *\ -arch\ *\ -arch\ *) am__universal=true ;;
-     esac],
-    [CXX],
-    [case " $depcc " in #(
-     *\ -arch\ *\ -arch\ *) am__universal=true ;;
-     esac])
-
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.  Also, some Intel
-    # versions had trouble with output in subdirs
-    am__obj=sub/conftest.${OBJEXT-o}
-    am__minus_obj="-o $am__obj"
-    case $depmode in
-    gcc)
-      # This depmode causes a compiler race in universal mode.
-      test "$am__universal" = false || continue
-      ;;
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-	continue
-      else
-	break
-      fi
-      ;;
-    msvisualcpp | msvcmsys)
-      # This compiler won't grok `-c -o', but also, the minuso test has
-      # not run yet.  These depmodes are late enough in the game, and
-      # so weak that their functioning should not be impacted.
-      am__obj=conftest.${OBJEXT-o}
-      am__minus_obj=
-      ;;
-    none) break ;;
-    esac
-    if depmode=$depmode \
-       source=sub/conftest.c object=$am__obj \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_$1_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_$1_dependencies_compiler_type=none
-fi
-])
-AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
-AM_CONDITIONAL([am__fastdep$1], [
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
-])
-
-
-# AM_SET_DEPDIR
-# -------------
-# Choose a directory name for dependency files.
-# This macro is AC_REQUIREd in _AM_DEPENDENCIES
-AC_DEFUN([AM_SET_DEPDIR],
-[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
-])
-
-
-# AM_DEP_TRACK
-# ------------
-AC_DEFUN([AM_DEP_TRACK],
-[AC_ARG_ENABLE(dependency-tracking,
-[  --disable-dependency-tracking  speeds up one-time build
-  --enable-dependency-tracking   do not reject slow dependency extractors])
-if test "x$enable_dependency_tracking" != xno; then
-  am_depcomp="$ac_aux_dir/depcomp"
-  AMDEPBACKSLASH='\'
-fi
-AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
-AC_SUBST([AMDEPBACKSLASH])dnl
-_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
-])
-
-# Generate code to set up dependency tracking.              -*- Autoconf -*-
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-#serial 5
-
-# _AM_OUTPUT_DEPENDENCY_COMMANDS
-# ------------------------------
-AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
-[{
-  # Autoconf 2.62 quotes --file arguments for eval, but not when files
-  # are listed without --file.  Let's play safe and only enable the eval
-  # if we detect the quoting.
-  case $CONFIG_FILES in
-  *\'*) eval set x "$CONFIG_FILES" ;;
-  *)   set x $CONFIG_FILES ;;
-  esac
-  shift
-  for mf
-  do
-    # Strip MF so we end up with the name of the file.
-    mf=`echo "$mf" | sed -e 's/:.*$//'`
-    # Check whether this is an Automake generated Makefile or not.
-    # We used to match only the files named `Makefile.in', but
-    # some people rename them; so instead we look at the file content.
-    # Grep'ing the first line is not enough: some people post-process
-    # each Makefile.in and add a new line on top of each file to say so.
-    # Grep'ing the whole file is not good either: AIX grep has a line
-    # limit of 2048, but all sed's we know have understand at least 4000.
-    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
-      dirpart=`AS_DIRNAME("$mf")`
-    else
-      continue
-    fi
-    # Extract the definition of DEPDIR, am__include, and am__quote
-    # from the Makefile without running `make'.
-    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
-    test -z "$DEPDIR" && continue
-    am__include=`sed -n 's/^am__include = //p' < "$mf"`
-    test -z "am__include" && continue
-    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-    # When using ansi2knr, U may be empty or an underscore; expand it
-    U=`sed -n 's/^U = //p' < "$mf"`
-    # Find all dependency output files, they are included files with
-    # $(DEPDIR) in their names.  We invoke sed twice because it is the
-    # simplest approach to changing $(DEPDIR) to its actual value in the
-    # expansion.
-    for file in `sed -n "
-      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
-      # Make sure the directory exists.
-      test -f "$dirpart/$file" && continue
-      fdir=`AS_DIRNAME(["$file"])`
-      AS_MKDIR_P([$dirpart/$fdir])
-      # echo "creating $dirpart/$file"
-      echo '# dummy' > "$dirpart/$file"
-    done
-  done
-}
-])# _AM_OUTPUT_DEPENDENCY_COMMANDS
-
-
-# AM_OUTPUT_DEPENDENCY_COMMANDS
-# -----------------------------
-# This macro should only be invoked once -- use via AC_REQUIRE.
-#
-# This code is only required when automatic dependency tracking
-# is enabled.  FIXME.  This creates each `.P' file that we will
-# need in order to bootstrap the dependency handling code.
-AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
-[AC_CONFIG_COMMANDS([depfiles],
-     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
-     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
-])
-
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 8
-
-# AM_CONFIG_HEADER is obsolete.  It has been replaced by AC_CONFIG_HEADERS.
-AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
-
-# Do all the work for Automake.                             -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 16
-
-# This macro actually does too much.  Some checks are only needed if
-# your package does certain things.  But this isn't really a big deal.
-
-# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
-# AM_INIT_AUTOMAKE([OPTIONS])
-# -----------------------------------------------
-# The call with PACKAGE and VERSION arguments is the old style
-# call (pre autoconf-2.50), which is being phased out.  PACKAGE
-# and VERSION should now be passed to AC_INIT and removed from
-# the call to AM_INIT_AUTOMAKE.
-# We support both call styles for the transition.  After
-# the next Automake release, Autoconf can make the AC_INIT
-# arguments mandatory, and then we can depend on a new Autoconf
-# release and drop the old call support.
-AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.62])dnl
-dnl Autoconf wants to disallow AM_ names.  We explicitly allow
-dnl the ones we care about.
-m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
-AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
-AC_REQUIRE([AC_PROG_INSTALL])dnl
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
-  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
-  # is not polluted with repeated "-I."
-  AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
-  # test to see if srcdir already configured
-  if test -f $srcdir/config.status; then
-    AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
-  fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
-  if (cygpath --version) >/dev/null 2>/dev/null; then
-    CYGPATH_W='cygpath -w'
-  else
-    CYGPATH_W=echo
-  fi
-fi
-AC_SUBST([CYGPATH_W])
-
-# Define the identity of the package.
-dnl Distinguish between old-style and new-style calls.
-m4_ifval([$2],
-[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
- AC_SUBST([PACKAGE], [$1])dnl
- AC_SUBST([VERSION], [$2])],
-[_AM_SET_OPTIONS([$1])dnl
-dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
-m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
-  [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
-
-_AM_IF_OPTION([no-define],,
-[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
- AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
-
-# Some tools Automake needs.
-AC_REQUIRE([AM_SANITY_CHECK])dnl
-AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
-AM_MISSING_PROG(AUTOCONF, autoconf)
-AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
-AM_MISSING_PROG(AUTOHEADER, autoheader)
-AM_MISSING_PROG(MAKEINFO, makeinfo)
-AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
-AC_REQUIRE([AM_PROG_MKDIR_P])dnl
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
-AC_REQUIRE([AC_PROG_AWK])dnl
-AC_REQUIRE([AC_PROG_MAKE_SET])dnl
-AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
-	      [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
-			     [_AM_PROG_TAR([v7])])])
-_AM_IF_OPTION([no-dependencies],,
-[AC_PROVIDE_IFELSE([AC_PROG_CC],
-		  [_AM_DEPENDENCIES(CC)],
-		  [define([AC_PROG_CC],
-			  defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_CXX],
-		  [_AM_DEPENDENCIES(CXX)],
-		  [define([AC_PROG_CXX],
-			  defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_OBJC],
-		  [_AM_DEPENDENCIES(OBJC)],
-		  [define([AC_PROG_OBJC],
-			  defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
-])
-_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
-dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
-dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This macro
-dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
-AC_CONFIG_COMMANDS_PRE(dnl
-[m4_provide_if([_AM_COMPILER_EXEEXT],
-  [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
-])
-
-dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
-dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
-dnl mangled by Autoconf and run in a shell conditional statement.
-m4_define([_AC_COMPILER_EXEEXT],
-m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
-
-
-# When config.status generates a header, we must update the stamp-h file.
-# This file resides in the same directory as the config header
-# that is generated.  The stamp files are numbered to have different names.
-
-# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
-# loop where config.status creates the headers, so we can generate
-# our stamp files there.
-AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
-[# Compute $1's index in $config_headers.
-_am_arg=$1
-_am_stamp_count=1
-for _am_header in $config_headers :; do
-  case $_am_header in
-    $_am_arg | $_am_arg:* )
-      break ;;
-    * )
-      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
-  esac
-done
-echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-
-# Copyright (C) 2001, 2003, 2005, 2008  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_INSTALL_SH
-# ------------------
-# Define $install_sh.
-AC_DEFUN([AM_PROG_INSTALL_SH],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-if test x"${install_sh}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\	*)
-    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
-  *)
-    install_sh="\${SHELL} $am_aux_dir/install-sh"
-  esac
-fi
-AC_SUBST(install_sh)])
-
-# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# Check whether the underlying file-system supports filenames
-# with a leading dot.  For instance MS-DOS doesn't.
-AC_DEFUN([AM_SET_LEADING_DOT],
-[rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
-  am__leading_dot=.
-else
-  am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-AC_SUBST([am__leading_dot])])
-
-# Check to see how 'make' treats includes.	            -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002, 2003, 2005, 2009  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 4
-
-# AM_MAKE_INCLUDE()
-# -----------------
-# Check to see how make treats includes.
-AC_DEFUN([AM_MAKE_INCLUDE],
-[am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
-	@echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-AC_MSG_CHECKING([for style of include used by $am_make])
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
-  am__include=include
-  am__quote=
-  _am_result=GNU
-  ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
-   echo '.include "confinc"' > confmf
-   case `$am_make -s -f confmf 2> /dev/null` in #(
-   *the\ am__doit\ target*)
-     am__include=.include
-     am__quote="\""
-     _am_result=BSD
-     ;;
-   esac
-fi
-AC_SUBST([am__include])
-AC_SUBST([am__quote])
-AC_MSG_RESULT([$_am_result])
-rm -f confinc confmf
-])
-
-# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
-
-# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 6
-
-# AM_MISSING_PROG(NAME, PROGRAM)
-# ------------------------------
-AC_DEFUN([AM_MISSING_PROG],
-[AC_REQUIRE([AM_MISSING_HAS_RUN])
-$1=${$1-"${am_missing_run}$2"}
-AC_SUBST($1)])
-
-
-# AM_MISSING_HAS_RUN
-# ------------------
-# Define MISSING if not defined so far and test if it supports --run.
-# If it does, set am_missing_run to use it, otherwise, to nothing.
-AC_DEFUN([AM_MISSING_HAS_RUN],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([missing])dnl
-if test x"${MISSING+set}" != xset; then
-  case $am_aux_dir in
-  *\ * | *\	*)
-    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
-  *)
-    MISSING="\${SHELL} $am_aux_dir/missing" ;;
-  esac
-fi
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
-  am_missing_run="$MISSING --run "
-else
-  am_missing_run=
-  AC_MSG_WARN([`missing' script is too old or missing])
-fi
-])
-
-# Copyright (C) 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_MKDIR_P
-# ---------------
-# Check for `mkdir -p'.
-AC_DEFUN([AM_PROG_MKDIR_P],
-[AC_PREREQ([2.60])dnl
-AC_REQUIRE([AC_PROG_MKDIR_P])dnl
-dnl Automake 1.8 to 1.9.6 used to define mkdir_p.  We now use MKDIR_P,
-dnl while keeping a definition of mkdir_p for backward compatibility.
-dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
-dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
-dnl Makefile.ins that do not define MKDIR_P, so we do our own
-dnl adjustment using top_builddir (which is defined more often than
-dnl MKDIR_P).
-AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
-case $mkdir_p in
-  [[\\/$]]* | ?:[[\\/]]*) ;;
-  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-])
-
-# Helper functions for option handling.                     -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002, 2003, 2005, 2008  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 4
-
-# _AM_MANGLE_OPTION(NAME)
-# -----------------------
-AC_DEFUN([_AM_MANGLE_OPTION],
-[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
-
-# _AM_SET_OPTION(NAME)
-# ------------------------------
-# Set option NAME.  Presently that only means defining a flag for this option.
-AC_DEFUN([_AM_SET_OPTION],
-[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
-
-# _AM_SET_OPTIONS(OPTIONS)
-# ----------------------------------
-# OPTIONS is a space-separated list of Automake options.
-AC_DEFUN([_AM_SET_OPTIONS],
-[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
-
-# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
-# -------------------------------------------
-# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
-AC_DEFUN([_AM_IF_OPTION],
-[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-
-# Check to make sure that the build environment is sane.    -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 5
-
-# AM_SANITY_CHECK
-# ---------------
-AC_DEFUN([AM_SANITY_CHECK],
-[AC_MSG_CHECKING([whether build environment is sane])
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Reject unsafe characters in $srcdir or the absolute working directory
-# name.  Accept space and tab only in the latter.
-am_lf='
-'
-case `pwd` in
-  *[[\\\"\#\$\&\'\`$am_lf]]*)
-    AC_MSG_ERROR([unsafe absolute working directory name]);;
-esac
-case $srcdir in
-  *[[\\\"\#\$\&\'\`$am_lf\ \	]]*)
-    AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
-esac
-
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments.  Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
-   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
-   if test "$[*]" = "X"; then
-      # -L didn't work.
-      set X `ls -t "$srcdir/configure" conftest.file`
-   fi
-   rm -f conftest.file
-   if test "$[*]" != "X $srcdir/configure conftest.file" \
-      && test "$[*]" != "X conftest.file $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
-alias in your environment])
-   fi
-
-   test "$[2]" = conftest.file
-   )
-then
-   # Ok.
-   :
-else
-   AC_MSG_ERROR([newly created file is older than distributed files!
-Check your system clock])
-fi
-AC_MSG_RESULT(yes)])
-
-# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_INSTALL_STRIP
-# ---------------------
-# One issue with vendor `install' (even GNU) is that you can't
-# specify the program used to strip binaries.  This is especially
-# annoying in cross-compiling environments, where the build's strip
-# is unlikely to handle the host's binaries.
-# Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in `make install-strip', and initialize
-# STRIPPROG with the value of the STRIP variable (set by the user).
-AC_DEFUN([AM_PROG_INSTALL_STRIP],
-[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
-if test "$cross_compiling" != no; then
-  AC_CHECK_TOOL([STRIP], [strip], :)
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-AC_SUBST([INSTALL_STRIP_PROGRAM])])
-
-# Copyright (C) 2006, 2008  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# _AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
-# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
-# This macro is traced by Automake.
-AC_DEFUN([_AM_SUBST_NOTMAKE])
-
-# AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
-# Public sister of _AM_SUBST_NOTMAKE.
-AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
-
-# Check how to create a tarball.                            -*- Autoconf -*-
-
-# Copyright (C) 2004, 2005  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# _AM_PROG_TAR(FORMAT)
-# --------------------
-# Check how to create a tarball in format FORMAT.
-# FORMAT should be one of `v7', `ustar', or `pax'.
-#
-# Substitute a variable $(am__tar) that is a command
-# writing to stdout a FORMAT-tarball containing the directory
-# $tardir.
-#     tardir=directory && $(am__tar) > result.tar
-#
-# Substitute a variable $(am__untar) that extract such
-# a tarball read from stdin.
-#     $(am__untar) < result.tar
-AC_DEFUN([_AM_PROG_TAR],
-[# Always define AMTAR for backward compatibility.
-AM_MISSING_PROG([AMTAR], [tar])
-m4_if([$1], [v7],
-     [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
-     [m4_case([$1], [ustar],, [pax],,
-              [m4_fatal([Unknown tar format])])
-AC_MSG_CHECKING([how to create a $1 tar archive])
-# Loop over all known methods to create a tar archive until one works.
-_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
-_am_tools=${am_cv_prog_tar_$1-$_am_tools}
-# Do not fold the above two line into one, because Tru64 sh and
-# Solaris sh will not grok spaces in the rhs of `-'.
-for _am_tool in $_am_tools
-do
-  case $_am_tool in
-  gnutar)
-    for _am_tar in tar gnutar gtar;
-    do
-      AM_RUN_LOG([$_am_tar --version]) && break
-    done
-    am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
-    am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
-    am__untar="$_am_tar -xf -"
-    ;;
-  plaintar)
-    # Must skip GNU tar: if it does not support --format= it doesn't create
-    # ustar tarball either.
-    (tar --version) >/dev/null 2>&1 && continue
-    am__tar='tar chf - "$$tardir"'
-    am__tar_='tar chf - "$tardir"'
-    am__untar='tar xf -'
-    ;;
-  pax)
-    am__tar='pax -L -x $1 -w "$$tardir"'
-    am__tar_='pax -L -x $1 -w "$tardir"'
-    am__untar='pax -r'
-    ;;
-  cpio)
-    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
-    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
-    am__untar='cpio -i -H $1 -d'
-    ;;
-  none)
-    am__tar=false
-    am__tar_=false
-    am__untar=false
-    ;;
-  esac
-
-  # If the value was cached, stop now.  We just wanted to have am__tar
-  # and am__untar set.
-  test -n "${am_cv_prog_tar_$1}" && break
-
-  # tar/untar a dummy directory, and stop if the command works
-  rm -rf conftest.dir
-  mkdir conftest.dir
-  echo GrepMe > conftest.dir/file
-  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
-  rm -rf conftest.dir
-  if test -s conftest.tar; then
-    AM_RUN_LOG([$am__untar <conftest.tar])
-    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
-  fi
-done
-rm -rf conftest.dir
-
-AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
-AC_MSG_RESULT([$am_cv_prog_tar_$1])])
-AC_SUBST([am__tar])
-AC_SUBST([am__untar])
-]) # _AM_PROG_TAR
-
-m4_include([m4/byteorder.m4])
-m4_include([m4/libtool.m4])
-m4_include([m4/ltoptions.m4])
-m4_include([m4/ltsugar.m4])
-m4_include([m4/ltversion.m4])
-m4_include([m4/lt~obsolete.m4])
-m4_include([m4/stdint.m4])
diff --git a/autogen.sh b/autogen.sh
new file mode 100755
index 0000000..65c4e2c
--- /dev/null
+++ b/autogen.sh
@@ -0,0 +1,72 @@
+#!/bin/sh
+#set -e
+
+srcdir=`dirname $0`
+
+ACLOCAL_FLAGS="-I ${srcdir}/m4 ${ACLOCAL_FLAGS}"
+
+fail() {
+    status=$?
+    echo "Last command failed with status $status in directory $(pwd)."
+    echo "Aborting"
+    exit $status
+}
+
+# Refresh GNU autotools toolchain: libtool
+echo "Removing libtool cruft"
+rm -f ltmain.sh config.guess config.sub
+echo "Running libtoolize"
+(glibtoolize --version) < /dev/null > /dev/null 2>&1 && LIBTOOLIZE=glibtoolize || LIBTOOLIZE=libtoolize
+$LIBTOOLIZE --copy --force || fail
+
+# Refresh GNU autotools toolchain: aclocal autoheader
+echo "Removing aclocal cruft"
+rm -f aclocal.m4
+echo "Running aclocal $ACLOCAL_FLAGS"
+aclocal $ACLOCAL_FLAGS || fail
+echo "Removing autoheader cruft"
+rm -f config.h.in src/config.h.in
+echo "Running autoheader"
+autoheader || fail
+
+# Refresh GNU autotools toolchain: automake
+echo "Removing automake cruft"
+rm -f depcomp install-sh missing mkinstalldirs
+rm -f stamp-h*
+echo "Running automake"
+touch config.rpath
+automake --add-missing --gnu || fail
+
+# Refresh GNU autotools toolchain: autoconf
+echo "Removing autoconf cruft"
+rm -f configure
+rm -rf autom4te*.cache/
+echo "Running autoconf"
+autoconf
+
+# Autoupdate config.sub and config.guess 
+# from GNU CVS
+WGET=`which wget`
+if [ "x$WGET" != "x" ]; then
+    echo "Autoupdate config.sub and config.guess (y/n)?"
+    read IN
+    if [ "$IN" = "y" ] || [ "$IN" = "Y" ]; then
+	wget -O tmpfile http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess
+	mv tmpfile config.guess
+	wget -O tmpfile http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub
+	mv tmpfile config.sub
+    fi
+else
+    echo "Could not autoupdate config.sub and config.guess"
+fi
+
+if [ ! -z "$NOCONFIGURE" ]; then
+	echo "autogen.sh finished! ./configure skipped."
+	exit $?
+fi
+
+echo "autogen.sh finished! Now going to run ./configure $@"
+./configure $@ || {
+    echo "./configure failed";
+    exit 1;
+}
diff --git a/config.guess b/config.guess
deleted file mode 100644
index f32079a..0000000
--- a/config.guess
+++ /dev/null
@@ -1,1526 +0,0 @@
-#! /bin/sh
-# Attempt to guess a canonical system name.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
-#   Free Software Foundation, Inc.
-
-timestamp='2008-01-23'
-
-# This file is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-
-# Originally written by Per Bothner <per@bothner.com>.
-# Please send patches to <config-patches@gnu.org>.  Submit a context
-# diff and a properly formatted ChangeLog entry.
-#
-# This script attempts to guess a canonical system name similar to
-# config.sub.  If it succeeds, it prints the system name on stdout, and
-# exits with 0.  Otherwise, it exits with 1.
-#
-# The plan is that this can be called by configure scripts if you
-# don't specify an explicit build system type.
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION]
-
-Output the configuration name of the system \`$me' is run on.
-
-Operation modes:
-  -h, --help         print this help, then exit
-  -t, --time-stamp   print date of last modification, then exit
-  -v, --version      print version number, then exit
-
-Report bugs and patches to <config-patches@gnu.org>."
-
-version="\
-GNU config.guess ($timestamp)
-
-Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
-
-This is free software; see the source for copying conditions.  There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
-  case $1 in
-    --time-stamp | --time* | -t )
-       echo "$timestamp" ; exit ;;
-    --version | -v )
-       echo "$version" ; exit ;;
-    --help | --h* | -h )
-       echo "$usage"; exit ;;
-    -- )     # Stop option processing
-       shift; break ;;
-    - )	# Use stdin as input.
-       break ;;
-    -* )
-       echo "$me: invalid option $1$help" >&2
-       exit 1 ;;
-    * )
-       break ;;
-  esac
-done
-
-if test $# != 0; then
-  echo "$me: too many arguments$help" >&2
-  exit 1
-fi
-
-trap 'exit 1' 1 2 15
-
-# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
-# compiler to aid in system detection is discouraged as it requires
-# temporary files to be created and, as you can see below, it is a
-# headache to deal with in a portable fashion.
-
-# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
-# use `HOST_CC' if defined, but it is deprecated.
-
-# Portable tmp directory creation inspired by the Autoconf team.
-
-set_cc_for_build='
-trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
-trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
-: ${TMPDIR=/tmp} ;
- { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
- { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
- { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
- { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
-dummy=$tmp/dummy ;
-tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
-case $CC_FOR_BUILD,$HOST_CC,$CC in
- ,,)    echo "int x;" > $dummy.c ;
-	for c in cc gcc c89 c99 ; do
-	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
-	     CC_FOR_BUILD="$c"; break ;
-	  fi ;
-	done ;
-	if test x"$CC_FOR_BUILD" = x ; then
-	  CC_FOR_BUILD=no_compiler_found ;
-	fi
-	;;
- ,,*)   CC_FOR_BUILD=$CC ;;
- ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
-esac ; set_cc_for_build= ;'
-
-# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
-# (ghazi@noc.rutgers.edu 1994-08-24)
-if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
-	PATH=$PATH:/.attbin ; export PATH
-fi
-
-UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
-UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
-UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
-UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
-
-# Note: order is significant - the case branches are not exclusive.
-
-case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
-    *:NetBSD:*:*)
-	# NetBSD (nbsd) targets should (where applicable) match one or
-	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
-	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
-	# switched to ELF, *-*-netbsd* would select the old
-	# object file format.  This provides both forward
-	# compatibility and a consistent mechanism for selecting the
-	# object file format.
-	#
-	# Note: NetBSD doesn't particularly care about the vendor
-	# portion of the name.  We always set it to "unknown".
-	sysctl="sysctl -n hw.machine_arch"
-	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
-	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
-	case "${UNAME_MACHINE_ARCH}" in
-	    armeb) machine=armeb-unknown ;;
-	    arm*) machine=arm-unknown ;;
-	    sh3el) machine=shl-unknown ;;
-	    sh3eb) machine=sh-unknown ;;
-	    sh5el) machine=sh5le-unknown ;;
-	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
-	esac
-	# The Operating System including object format, if it has switched
-	# to ELF recently, or will in the future.
-	case "${UNAME_MACHINE_ARCH}" in
-	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
-		eval $set_cc_for_build
-		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
-			| grep __ELF__ >/dev/null
-		then
-		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
-		    # Return netbsd for either.  FIX?
-		    os=netbsd
-		else
-		    os=netbsdelf
-		fi
-		;;
-	    *)
-	        os=netbsd
-		;;
-	esac
-	# The OS release
-	# Debian GNU/NetBSD machines have a different userland, and
-	# thus, need a distinct triplet. However, they do not need
-	# kernel version information, so it can be replaced with a
-	# suitable tag, in the style of linux-gnu.
-	case "${UNAME_VERSION}" in
-	    Debian*)
-		release='-gnu'
-		;;
-	    *)
-		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
-		;;
-	esac
-	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
-	# contains redundant information, the shorter form:
-	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
-	echo "${machine}-${os}${release}"
-	exit ;;
-    *:OpenBSD:*:*)
-	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
-	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
-	exit ;;
-    *:ekkoBSD:*:*)
-	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
-	exit ;;
-    *:SolidBSD:*:*)
-	echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
-	exit ;;
-    macppc:MirBSD:*:*)
-	echo powerpc-unknown-mirbsd${UNAME_RELEASE}
-	exit ;;
-    *:MirBSD:*:*)
-	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
-	exit ;;
-    alpha:OSF1:*:*)
-	case $UNAME_RELEASE in
-	*4.0)
-		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
-		;;
-	*5.*)
-	        UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
-		;;
-	esac
-	# According to Compaq, /usr/sbin/psrinfo has been available on
-	# OSF/1 and Tru64 systems produced since 1995.  I hope that
-	# covers most systems running today.  This code pipes the CPU
-	# types through head -n 1, so we only detect the type of CPU 0.
-	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
-	case "$ALPHA_CPU_TYPE" in
-	    "EV4 (21064)")
-		UNAME_MACHINE="alpha" ;;
-	    "EV4.5 (21064)")
-		UNAME_MACHINE="alpha" ;;
-	    "LCA4 (21066/21068)")
-		UNAME_MACHINE="alpha" ;;
-	    "EV5 (21164)")
-		UNAME_MACHINE="alphaev5" ;;
-	    "EV5.6 (21164A)")
-		UNAME_MACHINE="alphaev56" ;;
-	    "EV5.6 (21164PC)")
-		UNAME_MACHINE="alphapca56" ;;
-	    "EV5.7 (21164PC)")
-		UNAME_MACHINE="alphapca57" ;;
-	    "EV6 (21264)")
-		UNAME_MACHINE="alphaev6" ;;
-	    "EV6.7 (21264A)")
-		UNAME_MACHINE="alphaev67" ;;
-	    "EV6.8CB (21264C)")
-		UNAME_MACHINE="alphaev68" ;;
-	    "EV6.8AL (21264B)")
-		UNAME_MACHINE="alphaev68" ;;
-	    "EV6.8CX (21264D)")
-		UNAME_MACHINE="alphaev68" ;;
-	    "EV6.9A (21264/EV69A)")
-		UNAME_MACHINE="alphaev69" ;;
-	    "EV7 (21364)")
-		UNAME_MACHINE="alphaev7" ;;
-	    "EV7.9 (21364A)")
-		UNAME_MACHINE="alphaev79" ;;
-	esac
-	# A Pn.n version is a patched version.
-	# A Vn.n version is a released version.
-	# A Tn.n version is a released field test version.
-	# A Xn.n version is an unreleased experimental baselevel.
-	# 1.2 uses "1.2" for uname -r.
-	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-	exit ;;
-    Alpha\ *:Windows_NT*:*)
-	# How do we know it's Interix rather than the generic POSIX subsystem?
-	# Should we change UNAME_MACHINE based on the output of uname instead
-	# of the specific Alpha model?
-	echo alpha-pc-interix
-	exit ;;
-    21064:Windows_NT:50:3)
-	echo alpha-dec-winnt3.5
-	exit ;;
-    Amiga*:UNIX_System_V:4.0:*)
-	echo m68k-unknown-sysv4
-	exit ;;
-    *:[Aa]miga[Oo][Ss]:*:*)
-	echo ${UNAME_MACHINE}-unknown-amigaos
-	exit ;;
-    *:[Mm]orph[Oo][Ss]:*:*)
-	echo ${UNAME_MACHINE}-unknown-morphos
-	exit ;;
-    *:OS/390:*:*)
-	echo i370-ibm-openedition
-	exit ;;
-    *:z/VM:*:*)
-	echo s390-ibm-zvmoe
-	exit ;;
-    *:OS400:*:*)
-        echo powerpc-ibm-os400
-	exit ;;
-    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
-	echo arm-acorn-riscix${UNAME_RELEASE}
-	exit ;;
-    arm:riscos:*:*|arm:RISCOS:*:*)
-	echo arm-unknown-riscos
-	exit ;;
-    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
-	echo hppa1.1-hitachi-hiuxmpp
-	exit ;;
-    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
-	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
-	if test "`(/bin/universe) 2>/dev/null`" = att ; then
-		echo pyramid-pyramid-sysv3
-	else
-		echo pyramid-pyramid-bsd
-	fi
-	exit ;;
-    NILE*:*:*:dcosx)
-	echo pyramid-pyramid-svr4
-	exit ;;
-    DRS?6000:unix:4.0:6*)
-	echo sparc-icl-nx6
-	exit ;;
-    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
-	case `/usr/bin/uname -p` in
-	    sparc) echo sparc-icl-nx7; exit ;;
-	esac ;;
-    sun4H:SunOS:5.*:*)
-	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit ;;
-    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
-	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit ;;
-    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
-	echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit ;;
-    sun4*:SunOS:6*:*)
-	# According to config.sub, this is the proper way to canonicalize
-	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
-	# it's likely to be more like Solaris than SunOS4.
-	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit ;;
-    sun4*:SunOS:*:*)
-	case "`/usr/bin/arch -k`" in
-	    Series*|S4*)
-		UNAME_RELEASE=`uname -v`
-		;;
-	esac
-	# Japanese Language versions have a version number like `4.1.3-JL'.
-	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
-	exit ;;
-    sun3*:SunOS:*:*)
-	echo m68k-sun-sunos${UNAME_RELEASE}
-	exit ;;
-    sun*:*:4.2BSD:*)
-	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
-	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
-	case "`/bin/arch`" in
-	    sun3)
-		echo m68k-sun-sunos${UNAME_RELEASE}
-		;;
-	    sun4)
-		echo sparc-sun-sunos${UNAME_RELEASE}
-		;;
-	esac
-	exit ;;
-    aushp:SunOS:*:*)
-	echo sparc-auspex-sunos${UNAME_RELEASE}
-	exit ;;
-    # The situation for MiNT is a little confusing.  The machine name
-    # can be virtually everything (everything which is not
-    # "atarist" or "atariste" at least should have a processor
-    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
-    # to the lowercase version "mint" (or "freemint").  Finally
-    # the system name "TOS" denotes a system which is actually not
-    # MiNT.  But MiNT is downward compatible to TOS, so this should
-    # be no problem.
-    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
-        echo m68k-atari-mint${UNAME_RELEASE}
-	exit ;;
-    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
-	echo m68k-atari-mint${UNAME_RELEASE}
-        exit ;;
-    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
-        echo m68k-atari-mint${UNAME_RELEASE}
-	exit ;;
-    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
-        echo m68k-milan-mint${UNAME_RELEASE}
-        exit ;;
-    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
-        echo m68k-hades-mint${UNAME_RELEASE}
-        exit ;;
-    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
-        echo m68k-unknown-mint${UNAME_RELEASE}
-        exit ;;
-    m68k:machten:*:*)
-	echo m68k-apple-machten${UNAME_RELEASE}
-	exit ;;
-    powerpc:machten:*:*)
-	echo powerpc-apple-machten${UNAME_RELEASE}
-	exit ;;
-    RISC*:Mach:*:*)
-	echo mips-dec-mach_bsd4.3
-	exit ;;
-    RISC*:ULTRIX:*:*)
-	echo mips-dec-ultrix${UNAME_RELEASE}
-	exit ;;
-    VAX*:ULTRIX*:*:*)
-	echo vax-dec-ultrix${UNAME_RELEASE}
-	exit ;;
-    2020:CLIX:*:* | 2430:CLIX:*:*)
-	echo clipper-intergraph-clix${UNAME_RELEASE}
-	exit ;;
-    mips:*:*:UMIPS | mips:*:*:RISCos)
-	eval $set_cc_for_build
-	sed 's/^	//' << EOF >$dummy.c
-#ifdef __cplusplus
-#include <stdio.h>  /* for printf() prototype */
-	int main (int argc, char *argv[]) {
-#else
-	int main (argc, argv) int argc; char *argv[]; {
-#endif
-	#if defined (host_mips) && defined (MIPSEB)
-	#if defined (SYSTYPE_SYSV)
-	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
-	#endif
-	#if defined (SYSTYPE_SVR4)
-	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
-	#endif
-	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
-	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
-	#endif
-	#endif
-	  exit (-1);
-	}
-EOF
-	$CC_FOR_BUILD -o $dummy $dummy.c &&
-	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
-	  SYSTEM_NAME=`$dummy $dummyarg` &&
-	    { echo "$SYSTEM_NAME"; exit; }
-	echo mips-mips-riscos${UNAME_RELEASE}
-	exit ;;
-    Motorola:PowerMAX_OS:*:*)
-	echo powerpc-motorola-powermax
-	exit ;;
-    Motorola:*:4.3:PL8-*)
-	echo powerpc-harris-powermax
-	exit ;;
-    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
-	echo powerpc-harris-powermax
-	exit ;;
-    Night_Hawk:Power_UNIX:*:*)
-	echo powerpc-harris-powerunix
-	exit ;;
-    m88k:CX/UX:7*:*)
-	echo m88k-harris-cxux7
-	exit ;;
-    m88k:*:4*:R4*)
-	echo m88k-motorola-sysv4
-	exit ;;
-    m88k:*:3*:R3*)
-	echo m88k-motorola-sysv3
-	exit ;;
-    AViiON:dgux:*:*)
-        # DG/UX returns AViiON for all architectures
-        UNAME_PROCESSOR=`/usr/bin/uname -p`
-	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
-	then
-	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
-	       [ ${TARGET_BINARY_INTERFACE}x = x ]
-	    then
-		echo m88k-dg-dgux${UNAME_RELEASE}
-	    else
-		echo m88k-dg-dguxbcs${UNAME_RELEASE}
-	    fi
-	else
-	    echo i586-dg-dgux${UNAME_RELEASE}
-	fi
- 	exit ;;
-    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
-	echo m88k-dolphin-sysv3
-	exit ;;
-    M88*:*:R3*:*)
-	# Delta 88k system running SVR3
-	echo m88k-motorola-sysv3
-	exit ;;
-    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
-	echo m88k-tektronix-sysv3
-	exit ;;
-    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
-	echo m68k-tektronix-bsd
-	exit ;;
-    *:IRIX*:*:*)
-	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
-	exit ;;
-    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
-	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
-	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
-    i*86:AIX:*:*)
-	echo i386-ibm-aix
-	exit ;;
-    ia64:AIX:*:*)
-	if [ -x /usr/bin/oslevel ] ; then
-		IBM_REV=`/usr/bin/oslevel`
-	else
-		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
-	fi
-	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
-	exit ;;
-    *:AIX:2:3)
-	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
-		eval $set_cc_for_build
-		sed 's/^		//' << EOF >$dummy.c
-		#include <sys/systemcfg.h>
-
-		main()
-			{
-			if (!__power_pc())
-				exit(1);
-			puts("powerpc-ibm-aix3.2.5");
-			exit(0);
-			}
-EOF
-		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
-		then
-			echo "$SYSTEM_NAME"
-		else
-			echo rs6000-ibm-aix3.2.5
-		fi
-	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
-		echo rs6000-ibm-aix3.2.4
-	else
-		echo rs6000-ibm-aix3.2
-	fi
-	exit ;;
-    *:AIX:*:[456])
-	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
-	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
-		IBM_ARCH=rs6000
-	else
-		IBM_ARCH=powerpc
-	fi
-	if [ -x /usr/bin/oslevel ] ; then
-		IBM_REV=`/usr/bin/oslevel`
-	else
-		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
-	fi
-	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
-	exit ;;
-    *:AIX:*:*)
-	echo rs6000-ibm-aix
-	exit ;;
-    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
-	echo romp-ibm-bsd4.4
-	exit ;;
-    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
-	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
-	exit ;;                             # report: romp-ibm BSD 4.3
-    *:BOSX:*:*)
-	echo rs6000-bull-bosx
-	exit ;;
-    DPX/2?00:B.O.S.:*:*)
-	echo m68k-bull-sysv3
-	exit ;;
-    9000/[34]??:4.3bsd:1.*:*)
-	echo m68k-hp-bsd
-	exit ;;
-    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
-	echo m68k-hp-bsd4.4
-	exit ;;
-    9000/[34678]??:HP-UX:*:*)
-	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
-	case "${UNAME_MACHINE}" in
-	    9000/31? )            HP_ARCH=m68000 ;;
-	    9000/[34]?? )         HP_ARCH=m68k ;;
-	    9000/[678][0-9][0-9])
-		if [ -x /usr/bin/getconf ]; then
-		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
-                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
-                    case "${sc_cpu_version}" in
-                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
-                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
-                      532)                      # CPU_PA_RISC2_0
-                        case "${sc_kernel_bits}" in
-                          32) HP_ARCH="hppa2.0n" ;;
-                          64) HP_ARCH="hppa2.0w" ;;
-			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
-                        esac ;;
-                    esac
-		fi
-		if [ "${HP_ARCH}" = "" ]; then
-		    eval $set_cc_for_build
-		    sed 's/^              //' << EOF >$dummy.c
-
-              #define _HPUX_SOURCE
-              #include <stdlib.h>
-              #include <unistd.h>
-
-              int main ()
-              {
-              #if defined(_SC_KERNEL_BITS)
-                  long bits = sysconf(_SC_KERNEL_BITS);
-              #endif
-                  long cpu  = sysconf (_SC_CPU_VERSION);
-
-                  switch (cpu)
-              	{
-              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
-              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
-              	case CPU_PA_RISC2_0:
-              #if defined(_SC_KERNEL_BITS)
-              	    switch (bits)
-              		{
-              		case 64: puts ("hppa2.0w"); break;
-              		case 32: puts ("hppa2.0n"); break;
-              		default: puts ("hppa2.0"); break;
-              		} break;
-              #else  /* !defined(_SC_KERNEL_BITS) */
-              	    puts ("hppa2.0"); break;
-              #endif
-              	default: puts ("hppa1.0"); break;
-              	}
-                  exit (0);
-              }
-EOF
-		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
-		    test -z "$HP_ARCH" && HP_ARCH=hppa
-		fi ;;
-	esac
-	if [ ${HP_ARCH} = "hppa2.0w" ]
-	then
-	    eval $set_cc_for_build
-
-	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
-	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
-	    # generating 64-bit code.  GNU and HP use different nomenclature:
-	    #
-	    # $ CC_FOR_BUILD=cc ./config.guess
-	    # => hppa2.0w-hp-hpux11.23
-	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
-	    # => hppa64-hp-hpux11.23
-
-	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
-		grep __LP64__ >/dev/null
-	    then
-		HP_ARCH="hppa2.0w"
-	    else
-		HP_ARCH="hppa64"
-	    fi
-	fi
-	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
-	exit ;;
-    ia64:HP-UX:*:*)
-	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
-	echo ia64-hp-hpux${HPUX_REV}
-	exit ;;
-    3050*:HI-UX:*:*)
-	eval $set_cc_for_build
-	sed 's/^	//' << EOF >$dummy.c
-	#include <unistd.h>
-	int
-	main ()
-	{
-	  long cpu = sysconf (_SC_CPU_VERSION);
-	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
-	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
-	     results, however.  */
-	  if (CPU_IS_PA_RISC (cpu))
-	    {
-	      switch (cpu)
-		{
-		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
-		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
-		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
-		  default: puts ("hppa-hitachi-hiuxwe2"); break;
-		}
-	    }
-	  else if (CPU_IS_HP_MC68K (cpu))
-	    puts ("m68k-hitachi-hiuxwe2");
-	  else puts ("unknown-hitachi-hiuxwe2");
-	  exit (0);
-	}
-EOF
-	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
-		{ echo "$SYSTEM_NAME"; exit; }
-	echo unknown-hitachi-hiuxwe2
-	exit ;;
-    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
-	echo hppa1.1-hp-bsd
-	exit ;;
-    9000/8??:4.3bsd:*:*)
-	echo hppa1.0-hp-bsd
-	exit ;;
-    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
-	echo hppa1.0-hp-mpeix
-	exit ;;
-    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
-	echo hppa1.1-hp-osf
-	exit ;;
-    hp8??:OSF1:*:*)
-	echo hppa1.0-hp-osf
-	exit ;;
-    i*86:OSF1:*:*)
-	if [ -x /usr/sbin/sysversion ] ; then
-	    echo ${UNAME_MACHINE}-unknown-osf1mk
-	else
-	    echo ${UNAME_MACHINE}-unknown-osf1
-	fi
-	exit ;;
-    parisc*:Lites*:*:*)
-	echo hppa1.1-hp-lites
-	exit ;;
-    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
-	echo c1-convex-bsd
-        exit ;;
-    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
-	if getsysinfo -f scalar_acc
-	then echo c32-convex-bsd
-	else echo c2-convex-bsd
-	fi
-        exit ;;
-    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
-	echo c34-convex-bsd
-        exit ;;
-    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
-	echo c38-convex-bsd
-        exit ;;
-    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
-	echo c4-convex-bsd
-        exit ;;
-    CRAY*Y-MP:*:*:*)
-	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit ;;
-    CRAY*[A-Z]90:*:*:*)
-	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
-	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
-	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
-	      -e 's/\.[^.]*$/.X/'
-	exit ;;
-    CRAY*TS:*:*:*)
-	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit ;;
-    CRAY*T3E:*:*:*)
-	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit ;;
-    CRAY*SV1:*:*:*)
-	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit ;;
-    *:UNICOS/mp:*:*)
-	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-	exit ;;
-    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
-	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
-        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-        exit ;;
-    5000:UNIX_System_V:4.*:*)
-        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
-        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-	exit ;;
-    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
-	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
-	exit ;;
-    sparc*:BSD/OS:*:*)
-	echo sparc-unknown-bsdi${UNAME_RELEASE}
-	exit ;;
-    *:BSD/OS:*:*)
-	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
-	exit ;;
-    *:FreeBSD:*:*)
-	case ${UNAME_MACHINE} in
-	    pc98)
-		echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
-	    amd64)
-		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
-	    *)
-		echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
-	esac
-	exit ;;
-    i*:CYGWIN*:*)
-	echo ${UNAME_MACHINE}-pc-cygwin
-	exit ;;
-    *:MINGW*:*)
-	echo ${UNAME_MACHINE}-pc-mingw32
-	exit ;;
-    i*:windows32*:*)
-    	# uname -m includes "-pc" on this system.
-    	echo ${UNAME_MACHINE}-mingw32
-	exit ;;
-    i*:PW*:*)
-	echo ${UNAME_MACHINE}-pc-pw32
-	exit ;;
-    *:Interix*:[3456]*)
-    	case ${UNAME_MACHINE} in
-	    x86)
-		echo i586-pc-interix${UNAME_RELEASE}
-		exit ;;
-	    EM64T | authenticamd)
-		echo x86_64-unknown-interix${UNAME_RELEASE}
-		exit ;;
-	    IA64)
-		echo ia64-unknown-interix${UNAME_RELEASE}
-		exit ;;
-	esac ;;
-    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
-	echo i${UNAME_MACHINE}-pc-mks
-	exit ;;
-    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
-	# How do we know it's Interix rather than the generic POSIX subsystem?
-	# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
-	# UNAME_MACHINE based on the output of uname instead of i386?
-	echo i586-pc-interix
-	exit ;;
-    i*:UWIN*:*)
-	echo ${UNAME_MACHINE}-pc-uwin
-	exit ;;
-    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
-	echo x86_64-unknown-cygwin
-	exit ;;
-    p*:CYGWIN*:*)
-	echo powerpcle-unknown-cygwin
-	exit ;;
-    prep*:SunOS:5.*:*)
-	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit ;;
-    *:GNU:*:*)
-	# the GNU system
-	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
-	exit ;;
-    *:GNU/*:*:*)
-	# other systems with GNU libc and userland
-	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
-	exit ;;
-    i*86:Minix:*:*)
-	echo ${UNAME_MACHINE}-pc-minix
-	exit ;;
-    arm*:Linux:*:*)
-	eval $set_cc_for_build
-	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
-	    | grep -q __ARM_EABI__
-	then
-	    echo ${UNAME_MACHINE}-unknown-linux-gnu
-	else
-	    echo ${UNAME_MACHINE}-unknown-linux-gnueabi
-	fi
-	exit ;;
-    avr32*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
-	exit ;;
-    cris:Linux:*:*)
-	echo cris-axis-linux-gnu
-	exit ;;
-    crisv32:Linux:*:*)
-	echo crisv32-axis-linux-gnu
-	exit ;;
-    frv:Linux:*:*)
-    	echo frv-unknown-linux-gnu
-	exit ;;
-    ia64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
-	exit ;;
-    m32r*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
-	exit ;;
-    m68*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
-	exit ;;
-    mips:Linux:*:*)
-	eval $set_cc_for_build
-	sed 's/^	//' << EOF >$dummy.c
-	#undef CPU
-	#undef mips
-	#undef mipsel
-	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
-	CPU=mipsel
-	#else
-	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
-	CPU=mips
-	#else
-	CPU=
-	#endif
-	#endif
-EOF
-	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
-	    /^CPU/{
-		s: ::g
-		p
-	    }'`"
-	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
-	;;
-    mips64:Linux:*:*)
-	eval $set_cc_for_build
-	sed 's/^	//' << EOF >$dummy.c
-	#undef CPU
-	#undef mips64
-	#undef mips64el
-	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
-	CPU=mips64el
-	#else
-	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
-	CPU=mips64
-	#else
-	CPU=
-	#endif
-	#endif
-EOF
-	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
-	    /^CPU/{
-		s: ::g
-		p
-	    }'`"
-	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
-	;;
-    or32:Linux:*:*)
-	echo or32-unknown-linux-gnu
-	exit ;;
-    ppc:Linux:*:*)
-	echo powerpc-unknown-linux-gnu
-	exit ;;
-    ppc64:Linux:*:*)
-	echo powerpc64-unknown-linux-gnu
-	exit ;;
-    alpha:Linux:*:*)
-	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
-	  EV5)   UNAME_MACHINE=alphaev5 ;;
-	  EV56)  UNAME_MACHINE=alphaev56 ;;
-	  PCA56) UNAME_MACHINE=alphapca56 ;;
-	  PCA57) UNAME_MACHINE=alphapca56 ;;
-	  EV6)   UNAME_MACHINE=alphaev6 ;;
-	  EV67)  UNAME_MACHINE=alphaev67 ;;
-	  EV68*) UNAME_MACHINE=alphaev68 ;;
-        esac
-	objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
-	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
-	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
-	exit ;;
-    parisc:Linux:*:* | hppa:Linux:*:*)
-	# Look for CPU level
-	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
-	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
-	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
-	  *)    echo hppa-unknown-linux-gnu ;;
-	esac
-	exit ;;
-    parisc64:Linux:*:* | hppa64:Linux:*:*)
-	echo hppa64-unknown-linux-gnu
-	exit ;;
-    s390:Linux:*:* | s390x:Linux:*:*)
-	echo ${UNAME_MACHINE}-ibm-linux
-	exit ;;
-    sh64*:Linux:*:*)
-    	echo ${UNAME_MACHINE}-unknown-linux-gnu
-	exit ;;
-    sh*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
-	exit ;;
-    sparc:Linux:*:* | sparc64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
-	exit ;;
-    vax:Linux:*:*)
-	echo ${UNAME_MACHINE}-dec-linux-gnu
-	exit ;;
-    x86_64:Linux:*:*)
-	echo x86_64-unknown-linux-gnu
-	exit ;;
-    xtensa*:Linux:*:*)
-    	echo ${UNAME_MACHINE}-unknown-linux-gnu
-	exit ;;
-    i*86:Linux:*:*)
-	# The BFD linker knows what the default object file format is, so
-	# first see if it will tell us. cd to the root directory to prevent
-	# problems with other programs or directories called `ld' in the path.
-	# Set LC_ALL=C to ensure ld outputs messages in English.
-	ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
-			 | sed -ne '/supported targets:/!d
-				    s/[ 	][ 	]*/ /g
-				    s/.*supported targets: *//
-				    s/ .*//
-				    p'`
-        case "$ld_supported_targets" in
-	  elf32-i386)
-		TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
-		;;
-	  a.out-i386-linux)
-		echo "${UNAME_MACHINE}-pc-linux-gnuaout"
-		exit ;;
-	  coff-i386)
-		echo "${UNAME_MACHINE}-pc-linux-gnucoff"
-		exit ;;
-	  "")
-		# Either a pre-BFD a.out linker (linux-gnuoldld) or
-		# one that does not give us useful --help.
-		echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
-		exit ;;
-	esac
-	# Determine whether the default compiler is a.out or elf
-	eval $set_cc_for_build
-	sed 's/^	//' << EOF >$dummy.c
-	#include <features.h>
-	#ifdef __ELF__
-	# ifdef __GLIBC__
-	#  if __GLIBC__ >= 2
-	LIBC=gnu
-	#  else
-	LIBC=gnulibc1
-	#  endif
-	# else
-	LIBC=gnulibc1
-	# endif
-	#else
-	#if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
-	LIBC=gnu
-	#else
-	LIBC=gnuaout
-	#endif
-	#endif
-	#ifdef __dietlibc__
-	LIBC=dietlibc
-	#endif
-EOF
-	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
-	    /^LIBC/{
-		s: ::g
-		p
-	    }'`"
-	test x"${LIBC}" != x && {
-		echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
-		exit
-	}
-	test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
-	;;
-    i*86:DYNIX/ptx:4*:*)
-	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
-	# earlier versions are messed up and put the nodename in both
-	# sysname and nodename.
-	echo i386-sequent-sysv4
-	exit ;;
-    i*86:UNIX_SV:4.2MP:2.*)
-        # Unixware is an offshoot of SVR4, but it has its own version
-        # number series starting with 2...
-        # I am not positive that other SVR4 systems won't match this,
-	# I just have to hope.  -- rms.
-        # Use sysv4.2uw... so that sysv4* matches it.
-	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
-	exit ;;
-    i*86:OS/2:*:*)
-	# If we were able to find `uname', then EMX Unix compatibility
-	# is probably installed.
-	echo ${UNAME_MACHINE}-pc-os2-emx
-	exit ;;
-    i*86:XTS-300:*:STOP)
-	echo ${UNAME_MACHINE}-unknown-stop
-	exit ;;
-    i*86:atheos:*:*)
-	echo ${UNAME_MACHINE}-unknown-atheos
-	exit ;;
-    i*86:syllable:*:*)
-	echo ${UNAME_MACHINE}-pc-syllable
-	exit ;;
-    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
-	echo i386-unknown-lynxos${UNAME_RELEASE}
-	exit ;;
-    i*86:*DOS:*:*)
-	echo ${UNAME_MACHINE}-pc-msdosdjgpp
-	exit ;;
-    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
-	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
-	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
-		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
-	else
-		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
-	fi
-	exit ;;
-    i*86:*:5:[678]*)
-    	# UnixWare 7.x, OpenUNIX and OpenServer 6.
-	case `/bin/uname -X | grep "^Machine"` in
-	    *486*)	     UNAME_MACHINE=i486 ;;
-	    *Pentium)	     UNAME_MACHINE=i586 ;;
-	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
-	esac
-	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
-	exit ;;
-    i*86:*:3.2:*)
-	if test -f /usr/options/cb.name; then
-		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
-		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
-	elif /bin/uname -X 2>/dev/null >/dev/null ; then
-		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
-		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
-		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
-			&& UNAME_MACHINE=i586
-		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
-			&& UNAME_MACHINE=i686
-		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
-			&& UNAME_MACHINE=i686
-		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
-	else
-		echo ${UNAME_MACHINE}-pc-sysv32
-	fi
-	exit ;;
-    pc:*:*:*)
-	# Left here for compatibility:
-        # uname -m prints for DJGPP always 'pc', but it prints nothing about
-        # the processor, so we play safe by assuming i386.
-	echo i386-pc-msdosdjgpp
-        exit ;;
-    Intel:Mach:3*:*)
-	echo i386-pc-mach3
-	exit ;;
-    paragon:*:*:*)
-	echo i860-intel-osf1
-	exit ;;
-    i860:*:4.*:*) # i860-SVR4
-	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
-	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
-	else # Add other i860-SVR4 vendors below as they are discovered.
-	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
-	fi
-	exit ;;
-    mini*:CTIX:SYS*5:*)
-	# "miniframe"
-	echo m68010-convergent-sysv
-	exit ;;
-    mc68k:UNIX:SYSTEM5:3.51m)
-	echo m68k-convergent-sysv
-	exit ;;
-    M680?0:D-NIX:5.3:*)
-	echo m68k-diab-dnix
-	exit ;;
-    M68*:*:R3V[5678]*:*)
-	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
-    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
-	OS_REL=''
-	test -r /etc/.relid \
-	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
-	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
-	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
-	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
-    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
-        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-          && { echo i486-ncr-sysv4; exit; } ;;
-    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
-	echo m68k-unknown-lynxos${UNAME_RELEASE}
-	exit ;;
-    mc68030:UNIX_System_V:4.*:*)
-	echo m68k-atari-sysv4
-	exit ;;
-    TSUNAMI:LynxOS:2.*:*)
-	echo sparc-unknown-lynxos${UNAME_RELEASE}
-	exit ;;
-    rs6000:LynxOS:2.*:*)
-	echo rs6000-unknown-lynxos${UNAME_RELEASE}
-	exit ;;
-    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
-	echo powerpc-unknown-lynxos${UNAME_RELEASE}
-	exit ;;
-    SM[BE]S:UNIX_SV:*:*)
-	echo mips-dde-sysv${UNAME_RELEASE}
-	exit ;;
-    RM*:ReliantUNIX-*:*:*)
-	echo mips-sni-sysv4
-	exit ;;
-    RM*:SINIX-*:*:*)
-	echo mips-sni-sysv4
-	exit ;;
-    *:SINIX-*:*:*)
-	if uname -p 2>/dev/null >/dev/null ; then
-		UNAME_MACHINE=`(uname -p) 2>/dev/null`
-		echo ${UNAME_MACHINE}-sni-sysv4
-	else
-		echo ns32k-sni-sysv
-	fi
-	exit ;;
-    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
-                      # says <Richard.M.Bartel@ccMail.Census.GOV>
-        echo i586-unisys-sysv4
-        exit ;;
-    *:UNIX_System_V:4*:FTX*)
-	# From Gerald Hewes <hewes@openmarket.com>.
-	# How about differentiating between stratus architectures? -djm
-	echo hppa1.1-stratus-sysv4
-	exit ;;
-    *:*:*:FTX*)
-	# From seanf@swdc.stratus.com.
-	echo i860-stratus-sysv4
-	exit ;;
-    i*86:VOS:*:*)
-	# From Paul.Green@stratus.com.
-	echo ${UNAME_MACHINE}-stratus-vos
-	exit ;;
-    *:VOS:*:*)
-	# From Paul.Green@stratus.com.
-	echo hppa1.1-stratus-vos
-	exit ;;
-    mc68*:A/UX:*:*)
-	echo m68k-apple-aux${UNAME_RELEASE}
-	exit ;;
-    news*:NEWS-OS:6*:*)
-	echo mips-sony-newsos6
-	exit ;;
-    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
-	if [ -d /usr/nec ]; then
-	        echo mips-nec-sysv${UNAME_RELEASE}
-	else
-	        echo mips-unknown-sysv${UNAME_RELEASE}
-	fi
-        exit ;;
-    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
-	echo powerpc-be-beos
-	exit ;;
-    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
-	echo powerpc-apple-beos
-	exit ;;
-    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
-	echo i586-pc-beos
-	exit ;;
-    SX-4:SUPER-UX:*:*)
-	echo sx4-nec-superux${UNAME_RELEASE}
-	exit ;;
-    SX-5:SUPER-UX:*:*)
-	echo sx5-nec-superux${UNAME_RELEASE}
-	exit ;;
-    SX-6:SUPER-UX:*:*)
-	echo sx6-nec-superux${UNAME_RELEASE}
-	exit ;;
-    SX-7:SUPER-UX:*:*)
-	echo sx7-nec-superux${UNAME_RELEASE}
-	exit ;;
-    SX-8:SUPER-UX:*:*)
-	echo sx8-nec-superux${UNAME_RELEASE}
-	exit ;;
-    SX-8R:SUPER-UX:*:*)
-	echo sx8r-nec-superux${UNAME_RELEASE}
-	exit ;;
-    Power*:Rhapsody:*:*)
-	echo powerpc-apple-rhapsody${UNAME_RELEASE}
-	exit ;;
-    *:Rhapsody:*:*)
-	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
-	exit ;;
-    *:Darwin:*:*)
-	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
-	case $UNAME_PROCESSOR in
-	    unknown) UNAME_PROCESSOR=powerpc ;;
-	esac
-	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
-	exit ;;
-    *:procnto*:*:* | *:QNX:[0123456789]*:*)
-	UNAME_PROCESSOR=`uname -p`
-	if test "$UNAME_PROCESSOR" = "x86"; then
-		UNAME_PROCESSOR=i386
-		UNAME_MACHINE=pc
-	fi
-	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
-	exit ;;
-    *:QNX:*:4*)
-	echo i386-pc-qnx
-	exit ;;
-    NSE-?:NONSTOP_KERNEL:*:*)
-	echo nse-tandem-nsk${UNAME_RELEASE}
-	exit ;;
-    NSR-?:NONSTOP_KERNEL:*:*)
-	echo nsr-tandem-nsk${UNAME_RELEASE}
-	exit ;;
-    *:NonStop-UX:*:*)
-	echo mips-compaq-nonstopux
-	exit ;;
-    BS2000:POSIX*:*:*)
-	echo bs2000-siemens-sysv
-	exit ;;
-    DS/*:UNIX_System_V:*:*)
-	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
-	exit ;;
-    *:Plan9:*:*)
-	# "uname -m" is not consistent, so use $cputype instead. 386
-	# is converted to i386 for consistency with other x86
-	# operating systems.
-	if test "$cputype" = "386"; then
-	    UNAME_MACHINE=i386
-	else
-	    UNAME_MACHINE="$cputype"
-	fi
-	echo ${UNAME_MACHINE}-unknown-plan9
-	exit ;;
-    *:TOPS-10:*:*)
-	echo pdp10-unknown-tops10
-	exit ;;
-    *:TENEX:*:*)
-	echo pdp10-unknown-tenex
-	exit ;;
-    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
-	echo pdp10-dec-tops20
-	exit ;;
-    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
-	echo pdp10-xkl-tops20
-	exit ;;
-    *:TOPS-20:*:*)
-	echo pdp10-unknown-tops20
-	exit ;;
-    *:ITS:*:*)
-	echo pdp10-unknown-its
-	exit ;;
-    SEI:*:*:SEIUX)
-        echo mips-sei-seiux${UNAME_RELEASE}
-	exit ;;
-    *:DragonFly:*:*)
-	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
-	exit ;;
-    *:*VMS:*:*)
-    	UNAME_MACHINE=`(uname -p) 2>/dev/null`
-	case "${UNAME_MACHINE}" in
-	    A*) echo alpha-dec-vms ; exit ;;
-	    I*) echo ia64-dec-vms ; exit ;;
-	    V*) echo vax-dec-vms ; exit ;;
-	esac ;;
-    *:XENIX:*:SysV)
-	echo i386-pc-xenix
-	exit ;;
-    i*86:skyos:*:*)
-	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
-	exit ;;
-    i*86:rdos:*:*)
-	echo ${UNAME_MACHINE}-pc-rdos
-	exit ;;
-esac
-
-#echo '(No uname command or uname output not recognized.)' 1>&2
-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
-
-eval $set_cc_for_build
-cat >$dummy.c <<EOF
-#ifdef _SEQUENT_
-# include <sys/types.h>
-# include <sys/utsname.h>
-#endif
-main ()
-{
-#if defined (sony)
-#if defined (MIPSEB)
-  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
-     I don't know....  */
-  printf ("mips-sony-bsd\n"); exit (0);
-#else
-#include <sys/param.h>
-  printf ("m68k-sony-newsos%s\n",
-#ifdef NEWSOS4
-          "4"
-#else
-	  ""
-#endif
-         ); exit (0);
-#endif
-#endif
-
-#if defined (__arm) && defined (__acorn) && defined (__unix)
-  printf ("arm-acorn-riscix\n"); exit (0);
-#endif
-
-#if defined (hp300) && !defined (hpux)
-  printf ("m68k-hp-bsd\n"); exit (0);
-#endif
-
-#if defined (NeXT)
-#if !defined (__ARCHITECTURE__)
-#define __ARCHITECTURE__ "m68k"
-#endif
-  int version;
-  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
-  if (version < 4)
-    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
-  else
-    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
-  exit (0);
-#endif
-
-#if defined (MULTIMAX) || defined (n16)
-#if defined (UMAXV)
-  printf ("ns32k-encore-sysv\n"); exit (0);
-#else
-#if defined (CMU)
-  printf ("ns32k-encore-mach\n"); exit (0);
-#else
-  printf ("ns32k-encore-bsd\n"); exit (0);
-#endif
-#endif
-#endif
-
-#if defined (__386BSD__)
-  printf ("i386-pc-bsd\n"); exit (0);
-#endif
-
-#if defined (sequent)
-#if defined (i386)
-  printf ("i386-sequent-dynix\n"); exit (0);
-#endif
-#if defined (ns32000)
-  printf ("ns32k-sequent-dynix\n"); exit (0);
-#endif
-#endif
-
-#if defined (_SEQUENT_)
-    struct utsname un;
-
-    uname(&un);
-
-    if (strncmp(un.version, "V2", 2) == 0) {
-	printf ("i386-sequent-ptx2\n"); exit (0);
-    }
-    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
-	printf ("i386-sequent-ptx1\n"); exit (0);
-    }
-    printf ("i386-sequent-ptx\n"); exit (0);
-
-#endif
-
-#if defined (vax)
-# if !defined (ultrix)
-#  include <sys/param.h>
-#  if defined (BSD)
-#   if BSD == 43
-      printf ("vax-dec-bsd4.3\n"); exit (0);
-#   else
-#    if BSD == 199006
-      printf ("vax-dec-bsd4.3reno\n"); exit (0);
-#    else
-      printf ("vax-dec-bsd\n"); exit (0);
-#    endif
-#   endif
-#  else
-    printf ("vax-dec-bsd\n"); exit (0);
-#  endif
-# else
-    printf ("vax-dec-ultrix\n"); exit (0);
-# endif
-#endif
-
-#if defined (alliant) && defined (i860)
-  printf ("i860-alliant-bsd\n"); exit (0);
-#endif
-
-  exit (1);
-}
-EOF
-
-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
-	{ echo "$SYSTEM_NAME"; exit; }
-
-# Apollos put the system type in the environment.
-
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
-
-# Convex versions that predate uname can use getsysinfo(1)
-
-if [ -x /usr/convex/getsysinfo ]
-then
-    case `getsysinfo -f cpu_type` in
-    c1*)
-	echo c1-convex-bsd
-	exit ;;
-    c2*)
-	if getsysinfo -f scalar_acc
-	then echo c32-convex-bsd
-	else echo c2-convex-bsd
-	fi
-	exit ;;
-    c34*)
-	echo c34-convex-bsd
-	exit ;;
-    c38*)
-	echo c38-convex-bsd
-	exit ;;
-    c4*)
-	echo c4-convex-bsd
-	exit ;;
-    esac
-fi
-
-cat >&2 <<EOF
-$0: unable to guess system type
-
-This script, last modified $timestamp, has failed to recognize
-the operating system you are using. It is advised that you
-download the most up to date version of the config scripts from
-
-  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
-and
-  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
-
-If the version you run ($0) is already up to date, please
-send the following data and any information you think might be
-pertinent to <config-patches@gnu.org> in order to provide the needed
-information to handle your system.
-
-config.guess timestamp = $timestamp
-
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
-/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
-
-hostinfo               = `(hostinfo) 2>/dev/null`
-/bin/universe          = `(/bin/universe) 2>/dev/null`
-/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
-/bin/arch              = `(/bin/arch) 2>/dev/null`
-/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
-
-UNAME_MACHINE = ${UNAME_MACHINE}
-UNAME_RELEASE = ${UNAME_RELEASE}
-UNAME_SYSTEM  = ${UNAME_SYSTEM}
-UNAME_VERSION = ${UNAME_VERSION}
-EOF
-
-exit 1
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
diff --git a/config.h b/config.h
deleted file mode 100644
index 27edb8d..0000000
--- a/config.h
+++ /dev/null
@@ -1,192 +0,0 @@
-/* config.h.  Generated from config.h.in by configure.  */
-/* config.h.in.  Generated from configure.ac by autoheader.  */
-
-/* Define if building universal (internal helper macro) */
-/* #undef AC_APPLE_UNIVERSAL_BUILD */
-
-/* Define to 1 if you have the <arpa/inet.h> header file. */
-#define HAVE_ARPA_INET_H 1
-
-/* Define to 1 if you have the `basename' function. */
-#define HAVE_BASENAME 1
-
-/* Define to 1 if you have the <byteswap.h> header file. */
-/* #undef HAVE_BYTESWAP_H */
-
-/* Define to 1 if you have the <ctype.h> header file. */
-#define HAVE_CTYPE_H 1
-
-/* Define to 1 if you have the <dlfcn.h> header file. */
-#define HAVE_DLFCN_H 1
-
-/* Define to 1 if you have the <errno.h> header file. */
-#define HAVE_ERRNO_H 1
-
-/* Define to 1 if you have the <fcntl.h> header file. */
-#define HAVE_FCNTL_H 1
-
-/* Define to 1 if you have the <getopt.h> header file. */
-#define HAVE_GETOPT_H 1
-
-/* Define if you have the iconv() function and it works. */
-#define HAVE_ICONV 1
-
-/* Define to 1 if you have the <iconv.h> header file. */
-#define HAVE_ICONV_H 1
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-#define HAVE_INTTYPES_H 1
-
-/* Define to 1 if you have the <langinfo.h> header file. */
-#define HAVE_LANGINFO_H 1
-
-/* Define to 1 if you have the <libgen.h> header file. */
-#define HAVE_LIBGEN_H 1
-
-/* Define to 1 if you have the `usb' library (-lusb). */
-/* #undef HAVE_LIBUSB */
-
-/* Define to 1 if you have the <limits.h> header file. */
-#define HAVE_LIMITS_H 1
-
-/* Define to 1 if you have the <locale.h> header file. */
-#define HAVE_LOCALE_H 1
-
-/* Define to 1 if your system has a GNU libc compatible `malloc' function, and
-   to 0 otherwise. */
-#define HAVE_MALLOC 1
-
-/* Define to 1 if you have the <memory.h> header file. */
-#define HAVE_MEMORY_H 1
-
-/* Define to 1 if you have the `memset' function. */
-#define HAVE_MEMSET 1
-
-/* Define to 1 if you have the `mkstemp' function. */
-#define HAVE_MKSTEMP 1
-
-/* Define to 1 if you have the `select' function. */
-#define HAVE_SELECT 1
-
-/* Define to 1 if `stat' has the bug that it succeeds when given the
-   zero-length file name argument. */
-/* #undef HAVE_STAT_EMPTY_STRING_BUG */
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#define HAVE_STDINT_H 1
-
-/* Define to 1 if you have the <stdio.h> header file. */
-#define HAVE_STDIO_H 1
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#define HAVE_STDLIB_H 1
-
-/* Define to 1 if you have the `strdup' function. */
-#define HAVE_STRDUP 1
-
-/* Define to 1 if you have the `strerror' function. */
-#define HAVE_STRERROR 1
-
-/* Define to 1 if you have the <strings.h> header file. */
-#define HAVE_STRINGS_H 1
-
-/* Define to 1 if you have the <string.h> header file. */
-#define HAVE_STRING_H 1
-
-/* Define to 1 if you have the `strrchr' function. */
-#define HAVE_STRRCHR 1
-
-/* Define to 1 if you have the `strtoul' function. */
-#define HAVE_STRTOUL 1
-
-/* Define to 1 if `st_blksize' is member of `struct stat'. */
-#define HAVE_STRUCT_STAT_ST_BLKSIZE 1
-
-/* Define to 1 if your `struct stat' has `st_blksize'. Deprecated, use
-   `HAVE_STRUCT_STAT_ST_BLKSIZE' instead. */
-#define HAVE_ST_BLKSIZE 1
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-#define HAVE_SYS_STAT_H 1
-
-/* Define to 1 if you have the <sys/time.h> header file. */
-#define HAVE_SYS_TIME_H 1
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#define HAVE_SYS_TYPES_H 1
-
-/* Define to 1 if you have the <sys/uio.h> header file. */
-#define HAVE_SYS_UIO_H 1
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#define HAVE_UNISTD_H 1
-
-/* Define to 1 if you have the `usleep' function. */
-#define HAVE_USLEEP 1
-
-/* Define as const if the declaration of iconv() needs const. */
-#define ICONV_CONST 
-
-/* Define to 1 if `lstat' dereferences a symlink specified with a trailing
-   slash. */
-/* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */
-
-/* Define to the sub-directory in which libtool stores uninstalled libraries.
-   */
-#define LT_OBJDIR ".libs/"
-
-/* Name of package */
-#define PACKAGE "libmtp"
-
-/* Define to the address where bug reports for this package should be sent. */
-#define PACKAGE_BUGREPORT "libmtp-discuss@lists.sourceforge.net"
-
-/* Define to the full name of this package. */
-#define PACKAGE_NAME "libmtp"
-
-/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "libmtp 1.0.1"
-
-/* Define to the one symbol short name of this package. */
-#define PACKAGE_TARNAME "libmtp"
-
-/* Define to the version of this package. */
-#define PACKAGE_VERSION "1.0.1"
-
-/* Define as the return type of signal handlers (`int' or `void'). */
-#define RETSIGTYPE void
-
-/* Define to 1 if you have the ANSI C header files. */
-#define STDC_HEADERS 1
-
-/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
-#define TIME_WITH_SYS_TIME 1
-
-/* Version number of package */
-#define VERSION "1.0.1"
-
-/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
-   significant byte first (like Motorola and SPARC, unlike Intel). */
-#ifdef __BIG_ENDIAN__
-#  define WORDS_BIGENDIAN 1
-#else
-#  undef WORDS_BIGENDIAN 
-#endif
-
-/* Number of bits in a file offset, on hosts where this is settable. */
-/* #undef _FILE_OFFSET_BITS */
-
-/* Define for large files, on AIX-style hosts. */
-/* #undef _LARGE_FILES */
-
-/* Define to empty if `const' does not conform to ANSI C. */
-/* #undef const */
-
-/* Define to rpl_malloc if the replacement function should be used. */
-/* #undef malloc */
-
-/* Define to `long int' if <sys/types.h> does not define. */
-/* #undef off_t */
-
-/* Define to `unsigned int' if <sys/types.h> does not define. */
-/* #undef size_t */
diff --git a/config.h.in b/config.h.in
deleted file mode 100644
index 925807d..0000000
--- a/config.h.in
+++ /dev/null
@@ -1,195 +0,0 @@
-/* config.h.in.  Generated from configure.ac by autoheader.  */
-
-/* Define if building universal (internal helper macro) */
-#undef AC_APPLE_UNIVERSAL_BUILD
-
-/* Define to 1 if you have the <arpa/inet.h> header file. */
-#undef HAVE_ARPA_INET_H
-
-/* Define to 1 if you have the `basename' function. */
-#undef HAVE_BASENAME
-
-/* Define to 1 if you have the <byteswap.h> header file. */
-#undef HAVE_BYTESWAP_H
-
-/* Define to 1 if you have the <ctype.h> header file. */
-#undef HAVE_CTYPE_H
-
-/* Define to 1 if you have the <dlfcn.h> header file. */
-#undef HAVE_DLFCN_H
-
-/* Define to 1 if you have the <errno.h> header file. */
-#undef HAVE_ERRNO_H
-
-/* Define to 1 if you have the <fcntl.h> header file. */
-#undef HAVE_FCNTL_H
-
-/* Define to 1 if you have the <getopt.h> header file. */
-#undef HAVE_GETOPT_H
-
-/* Define if you have the iconv() function and it works. */
-#undef HAVE_ICONV
-
-/* Define to 1 if you have the <iconv.h> header file. */
-#undef HAVE_ICONV_H
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-#undef HAVE_INTTYPES_H
-
-/* Define to 1 if you have the <langinfo.h> header file. */
-#undef HAVE_LANGINFO_H
-
-/* Define to 1 if you have the <libgen.h> header file. */
-#undef HAVE_LIBGEN_H
-
-/* Define to 1 if you have the `usb' library (-lusb). */
-#undef HAVE_LIBUSB
-
-/* Define to 1 if you have the <limits.h> header file. */
-#undef HAVE_LIMITS_H
-
-/* Define to 1 if you have the <locale.h> header file. */
-#undef HAVE_LOCALE_H
-
-/* Define to 1 if your system has a GNU libc compatible `malloc' function, and
-   to 0 otherwise. */
-#undef HAVE_MALLOC
-
-/* Define to 1 if you have the <memory.h> header file. */
-#undef HAVE_MEMORY_H
-
-/* Define to 1 if you have the `memset' function. */
-#undef HAVE_MEMSET
-
-/* Define to 1 if you have the `mkstemp' function. */
-#undef HAVE_MKSTEMP
-
-/* Define to 1 if you have the `select' function. */
-#undef HAVE_SELECT
-
-/* Define to 1 if `stat' has the bug that it succeeds when given the
-   zero-length file name argument. */
-#undef HAVE_STAT_EMPTY_STRING_BUG
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#undef HAVE_STDINT_H
-
-/* Define to 1 if you have the <stdio.h> header file. */
-#undef HAVE_STDIO_H
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#undef HAVE_STDLIB_H
-
-/* Define to 1 if you have the `strdup' function. */
-#undef HAVE_STRDUP
-
-/* Define to 1 if you have the `strerror' function. */
-#undef HAVE_STRERROR
-
-/* Define to 1 if you have the <strings.h> header file. */
-#undef HAVE_STRINGS_H
-
-/* Define to 1 if you have the <string.h> header file. */
-#undef HAVE_STRING_H
-
-/* Define to 1 if you have the `strrchr' function. */
-#undef HAVE_STRRCHR
-
-/* Define to 1 if you have the `strtoul' function. */
-#undef HAVE_STRTOUL
-
-/* Define to 1 if `st_blksize' is member of `struct stat'. */
-#undef HAVE_STRUCT_STAT_ST_BLKSIZE
-
-/* Define to 1 if your `struct stat' has `st_blksize'. Deprecated, use
-   `HAVE_STRUCT_STAT_ST_BLKSIZE' instead. */
-#undef HAVE_ST_BLKSIZE
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-#undef HAVE_SYS_STAT_H
-
-/* Define to 1 if you have the <sys/time.h> header file. */
-#undef HAVE_SYS_TIME_H
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#undef HAVE_SYS_TYPES_H
-
-/* Define to 1 if you have the <sys/uio.h> header file. */
-#undef HAVE_SYS_UIO_H
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#undef HAVE_UNISTD_H
-
-/* Define to 1 if you have the `usleep' function. */
-#undef HAVE_USLEEP
-
-/* Define as const if the declaration of iconv() needs const. */
-#undef ICONV_CONST
-
-/* Define to 1 if `lstat' dereferences a symlink specified with a trailing
-   slash. */
-#undef LSTAT_FOLLOWS_SLASHED_SYMLINK
-
-/* Define to the sub-directory in which libtool stores uninstalled libraries.
-   */
-#undef LT_OBJDIR
-
-/* Name of package */
-#undef PACKAGE
-
-/* Define to the address where bug reports for this package should be sent. */
-#undef PACKAGE_BUGREPORT
-
-/* Define to the full name of this package. */
-#undef PACKAGE_NAME
-
-/* Define to the full name and version of this package. */
-#undef PACKAGE_STRING
-
-/* Define to the one symbol short name of this package. */
-#undef PACKAGE_TARNAME
-
-/* Define to the version of this package. */
-#undef PACKAGE_VERSION
-
-/* Define as the return type of signal handlers (`int' or `void'). */
-#undef RETSIGTYPE
-
-/* Define to 1 if you have the ANSI C header files. */
-#undef STDC_HEADERS
-
-/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
-#undef TIME_WITH_SYS_TIME
-
-/* Version number of package */
-#undef VERSION
-
-/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
-   significant byte first (like Motorola and SPARC, unlike Intel). */
-#if defined AC_APPLE_UNIVERSAL_BUILD
-# if defined __BIG_ENDIAN__
-#  define WORDS_BIGENDIAN 1
-# endif
-#else
-# ifndef WORDS_BIGENDIAN
-#  undef WORDS_BIGENDIAN
-# endif
-#endif
-
-/* Number of bits in a file offset, on hosts where this is settable. */
-#undef _FILE_OFFSET_BITS
-
-/* Define for large files, on AIX-style hosts. */
-#undef _LARGE_FILES
-
-/* Define to empty if `const' does not conform to ANSI C. */
-#undef const
-
-/* Define to rpl_malloc if the replacement function should be used. */
-#undef malloc
-
-/* Define to `long int' if <sys/types.h> does not define. */
-#undef off_t
-
-/* Define to `unsigned int' if <sys/types.h> does not define. */
-#undef size_t
diff --git a/config.rpath b/config.rpath
deleted file mode 100644
index e69de29..0000000
--- a/config.rpath
+++ /dev/null
diff --git a/config.sub b/config.sub
deleted file mode 100644
index 6759825..0000000
--- a/config.sub
+++ /dev/null
@@ -1,1658 +0,0 @@
-#! /bin/sh
-# Configuration validation subroutine script.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
-#   Free Software Foundation, Inc.
-
-timestamp='2008-01-16'
-
-# This file is (in principle) common to ALL GNU software.
-# The presence of a machine in this file suggests that SOME GNU software
-# can handle that machine.  It does not imply ALL GNU software can.
-#
-# This file is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-
-# Please send patches to <config-patches@gnu.org>.  Submit a context
-# diff and a properly formatted ChangeLog entry.
-#
-# Configuration subroutine to validate and canonicalize a configuration type.
-# Supply the specified configuration type as an argument.
-# If it is invalid, we print an error message on stderr and exit with code 1.
-# Otherwise, we print the canonical config type on stdout and succeed.
-
-# This file is supposed to be the same for all GNU packages
-# and recognize all the CPU types, system types and aliases
-# that are meaningful with *any* GNU software.
-# Each package is responsible for reporting which valid configurations
-# it does not support.  The user should be able to distinguish
-# a failure to support a valid configuration from a meaningless
-# configuration.
-
-# The goal of this file is to map all the various variations of a given
-# machine specification into a single specification in the form:
-#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
-# or in some cases, the newer four-part form:
-#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
-# It is wrong to echo any other type of specification.
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION] CPU-MFR-OPSYS
-       $0 [OPTION] ALIAS
-
-Canonicalize a configuration name.
-
-Operation modes:
-  -h, --help         print this help, then exit
-  -t, --time-stamp   print date of last modification, then exit
-  -v, --version      print version number, then exit
-
-Report bugs and patches to <config-patches@gnu.org>."
-
-version="\
-GNU config.sub ($timestamp)
-
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
-
-This is free software; see the source for copying conditions.  There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
-  case $1 in
-    --time-stamp | --time* | -t )
-       echo "$timestamp" ; exit ;;
-    --version | -v )
-       echo "$version" ; exit ;;
-    --help | --h* | -h )
-       echo "$usage"; exit ;;
-    -- )     # Stop option processing
-       shift; break ;;
-    - )	# Use stdin as input.
-       break ;;
-    -* )
-       echo "$me: invalid option $1$help"
-       exit 1 ;;
-
-    *local*)
-       # First pass through any local machine types.
-       echo $1
-       exit ;;
-
-    * )
-       break ;;
-  esac
-done
-
-case $# in
- 0) echo "$me: missing argument$help" >&2
-    exit 1;;
- 1) ;;
- *) echo "$me: too many arguments$help" >&2
-    exit 1;;
-esac
-
-# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
-# Here we must recognize all the valid KERNEL-OS combinations.
-maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
-case $maybe_os in
-  nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
-  uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
-  storm-chaos* | os2-emx* | rtmk-nova*)
-    os=-$maybe_os
-    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
-    ;;
-  *)
-    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
-    if [ $basic_machine != $1 ]
-    then os=`echo $1 | sed 's/.*-/-/'`
-    else os=; fi
-    ;;
-esac
-
-### Let's recognize common machines as not being operating systems so
-### that things like config.sub decstation-3100 work.  We also
-### recognize some manufacturers as not being operating systems, so we
-### can provide default operating systems below.
-case $os in
-	-sun*os*)
-		# Prevent following clause from handling this invalid input.
-		;;
-	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
-	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
-	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
-	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
-	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
-	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-	-apple | -axis | -knuth | -cray)
-		os=
-		basic_machine=$1
-		;;
-	-sim | -cisco | -oki | -wec | -winbond)
-		os=
-		basic_machine=$1
-		;;
-	-scout)
-		;;
-	-wrs)
-		os=-vxworks
-		basic_machine=$1
-		;;
-	-chorusos*)
-		os=-chorusos
-		basic_machine=$1
-		;;
- 	-chorusrdb)
- 		os=-chorusrdb
-		basic_machine=$1
- 		;;
-	-hiux*)
-		os=-hiuxwe2
-		;;
-	-sco6)
-		os=-sco5v6
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-sco5)
-		os=-sco3.2v5
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-sco4)
-		os=-sco3.2v4
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-sco3.2.[4-9]*)
-		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-sco3.2v[4-9]*)
-		# Don't forget version if it is 3.2v4 or newer.
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-sco5v6*)
-		# Don't forget version if it is 3.2v4 or newer.
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-sco*)
-		os=-sco3.2v2
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-udk*)
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-isc)
-		os=-isc2.2
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-clix*)
-		basic_machine=clipper-intergraph
-		;;
-	-isc*)
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-lynx*)
-		os=-lynxos
-		;;
-	-ptx*)
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
-		;;
-	-windowsnt*)
-		os=`echo $os | sed -e 's/windowsnt/winnt/'`
-		;;
-	-psos*)
-		os=-psos
-		;;
-	-mint | -mint[0-9]*)
-		basic_machine=m68k-atari
-		os=-mint
-		;;
-esac
-
-# Decode aliases for certain CPU-COMPANY combinations.
-case $basic_machine in
-	# Recognize the basic CPU types without company name.
-	# Some are omitted here because they have special meanings below.
-	1750a | 580 \
-	| a29k \
-	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
-	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
-	| am33_2.0 \
-	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
-	| bfin \
-	| c4x | clipper \
-	| d10v | d30v | dlx | dsp16xx \
-	| fido | fr30 | frv \
-	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
-	| i370 | i860 | i960 | ia64 \
-	| ip2k | iq2000 \
-	| m32c | m32r | m32rle | m68000 | m68k | m88k \
-	| maxq | mb | microblaze | mcore | mep \
-	| mips | mipsbe | mipseb | mipsel | mipsle \
-	| mips16 \
-	| mips64 | mips64el \
-	| mips64vr | mips64vrel \
-	| mips64orion | mips64orionel \
-	| mips64vr4100 | mips64vr4100el \
-	| mips64vr4300 | mips64vr4300el \
-	| mips64vr5000 | mips64vr5000el \
-	| mips64vr5900 | mips64vr5900el \
-	| mipsisa32 | mipsisa32el \
-	| mipsisa32r2 | mipsisa32r2el \
-	| mipsisa64 | mipsisa64el \
-	| mipsisa64r2 | mipsisa64r2el \
-	| mipsisa64sb1 | mipsisa64sb1el \
-	| mipsisa64sr71k | mipsisa64sr71kel \
-	| mipstx39 | mipstx39el \
-	| mn10200 | mn10300 \
-	| mt \
-	| msp430 \
-	| nios | nios2 \
-	| ns16k | ns32k \
-	| or32 \
-	| pdp10 | pdp11 | pj | pjl \
-	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
-	| pyramid \
-	| score \
-	| sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
-	| sh64 | sh64le \
-	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
-	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
-	| spu | strongarm \
-	| tahoe | thumb | tic4x | tic80 | tron \
-	| v850 | v850e \
-	| we32k \
-	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
-	| z8k)
-		basic_machine=$basic_machine-unknown
-		;;
-	m6811 | m68hc11 | m6812 | m68hc12)
-		# Motorola 68HC11/12.
-		basic_machine=$basic_machine-unknown
-		os=-none
-		;;
-	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
-		;;
-	ms1)
-		basic_machine=mt-unknown
-		;;
-
-	# We use `pc' rather than `unknown'
-	# because (1) that's what they normally are, and
-	# (2) the word "unknown" tends to confuse beginning users.
-	i*86 | x86_64)
-	  basic_machine=$basic_machine-pc
-	  ;;
-	# Object if more than one company name word.
-	*-*-*)
-		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
-		exit 1
-		;;
-	# Recognize the basic CPU types with company name.
-	580-* \
-	| a29k-* \
-	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
-	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
-	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
-	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
-	| avr-* | avr32-* \
-	| bfin-* | bs2000-* \
-	| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
-	| clipper-* | craynv-* | cydra-* \
-	| d10v-* | d30v-* | dlx-* \
-	| elxsi-* \
-	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
-	| h8300-* | h8500-* \
-	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
-	| i*86-* | i860-* | i960-* | ia64-* \
-	| ip2k-* | iq2000-* \
-	| m32c-* | m32r-* | m32rle-* \
-	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
-	| m88110-* | m88k-* | maxq-* | mcore-* \
-	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
-	| mips16-* \
-	| mips64-* | mips64el-* \
-	| mips64vr-* | mips64vrel-* \
-	| mips64orion-* | mips64orionel-* \
-	| mips64vr4100-* | mips64vr4100el-* \
-	| mips64vr4300-* | mips64vr4300el-* \
-	| mips64vr5000-* | mips64vr5000el-* \
-	| mips64vr5900-* | mips64vr5900el-* \
-	| mipsisa32-* | mipsisa32el-* \
-	| mipsisa32r2-* | mipsisa32r2el-* \
-	| mipsisa64-* | mipsisa64el-* \
-	| mipsisa64r2-* | mipsisa64r2el-* \
-	| mipsisa64sb1-* | mipsisa64sb1el-* \
-	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
-	| mipstx39-* | mipstx39el-* \
-	| mmix-* \
-	| mt-* \
-	| msp430-* \
-	| nios-* | nios2-* \
-	| none-* | np1-* | ns16k-* | ns32k-* \
-	| orion-* \
-	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
-	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
-	| pyramid-* \
-	| romp-* | rs6000-* \
-	| sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
-	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
-	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
-	| sparclite-* \
-	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
-	| tahoe-* | thumb-* \
-	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
-	| tron-* \
-	| v850-* | v850e-* | vax-* \
-	| we32k-* \
-	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
-	| xstormy16-* | xtensa*-* \
-	| ymp-* \
-	| z8k-*)
-		;;
-	# Recognize the basic CPU types without company name, with glob match.
-	xtensa*)
-		basic_machine=$basic_machine-unknown
-		;;
-	# Recognize the various machine names and aliases which stand
-	# for a CPU type and a company and sometimes even an OS.
-	386bsd)
-		basic_machine=i386-unknown
-		os=-bsd
-		;;
-	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
-		basic_machine=m68000-att
-		;;
-	3b*)
-		basic_machine=we32k-att
-		;;
-	a29khif)
-		basic_machine=a29k-amd
-		os=-udi
-		;;
-    	abacus)
-		basic_machine=abacus-unknown
-		;;
-	adobe68k)
-		basic_machine=m68010-adobe
-		os=-scout
-		;;
-	alliant | fx80)
-		basic_machine=fx80-alliant
-		;;
-	altos | altos3068)
-		basic_machine=m68k-altos
-		;;
-	am29k)
-		basic_machine=a29k-none
-		os=-bsd
-		;;
-	amd64)
-		basic_machine=x86_64-pc
-		;;
-	amd64-*)
-		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	amdahl)
-		basic_machine=580-amdahl
-		os=-sysv
-		;;
-	amiga | amiga-*)
-		basic_machine=m68k-unknown
-		;;
-	amigaos | amigados)
-		basic_machine=m68k-unknown
-		os=-amigaos
-		;;
-	amigaunix | amix)
-		basic_machine=m68k-unknown
-		os=-sysv4
-		;;
-	apollo68)
-		basic_machine=m68k-apollo
-		os=-sysv
-		;;
-	apollo68bsd)
-		basic_machine=m68k-apollo
-		os=-bsd
-		;;
-	aux)
-		basic_machine=m68k-apple
-		os=-aux
-		;;
-	balance)
-		basic_machine=ns32k-sequent
-		os=-dynix
-		;;
-	blackfin)
-		basic_machine=bfin-unknown
-		os=-linux
-		;;
-	blackfin-*)
-		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
-		os=-linux
-		;;
-	c90)
-		basic_machine=c90-cray
-		os=-unicos
-		;;
-	convex-c1)
-		basic_machine=c1-convex
-		os=-bsd
-		;;
-	convex-c2)
-		basic_machine=c2-convex
-		os=-bsd
-		;;
-	convex-c32)
-		basic_machine=c32-convex
-		os=-bsd
-		;;
-	convex-c34)
-		basic_machine=c34-convex
-		os=-bsd
-		;;
-	convex-c38)
-		basic_machine=c38-convex
-		os=-bsd
-		;;
-	cray | j90)
-		basic_machine=j90-cray
-		os=-unicos
-		;;
-	craynv)
-		basic_machine=craynv-cray
-		os=-unicosmp
-		;;
-	cr16)
-		basic_machine=cr16-unknown
-		os=-elf
-		;;
-	crds | unos)
-		basic_machine=m68k-crds
-		;;
-	crisv32 | crisv32-* | etraxfs*)
-		basic_machine=crisv32-axis
-		;;
-	cris | cris-* | etrax*)
-		basic_machine=cris-axis
-		;;
-	crx)
-		basic_machine=crx-unknown
-		os=-elf
-		;;
-	da30 | da30-*)
-		basic_machine=m68k-da30
-		;;
-	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
-		basic_machine=mips-dec
-		;;
-	decsystem10* | dec10*)
-		basic_machine=pdp10-dec
-		os=-tops10
-		;;
-	decsystem20* | dec20*)
-		basic_machine=pdp10-dec
-		os=-tops20
-		;;
-	delta | 3300 | motorola-3300 | motorola-delta \
-	      | 3300-motorola | delta-motorola)
-		basic_machine=m68k-motorola
-		;;
-	delta88)
-		basic_machine=m88k-motorola
-		os=-sysv3
-		;;
-	djgpp)
-		basic_machine=i586-pc
-		os=-msdosdjgpp
-		;;
-	dpx20 | dpx20-*)
-		basic_machine=rs6000-bull
-		os=-bosx
-		;;
-	dpx2* | dpx2*-bull)
-		basic_machine=m68k-bull
-		os=-sysv3
-		;;
-	ebmon29k)
-		basic_machine=a29k-amd
-		os=-ebmon
-		;;
-	elxsi)
-		basic_machine=elxsi-elxsi
-		os=-bsd
-		;;
-	encore | umax | mmax)
-		basic_machine=ns32k-encore
-		;;
-	es1800 | OSE68k | ose68k | ose | OSE)
-		basic_machine=m68k-ericsson
-		os=-ose
-		;;
-	fx2800)
-		basic_machine=i860-alliant
-		;;
-	genix)
-		basic_machine=ns32k-ns
-		;;
-	gmicro)
-		basic_machine=tron-gmicro
-		os=-sysv
-		;;
-	go32)
-		basic_machine=i386-pc
-		os=-go32
-		;;
-	h3050r* | hiux*)
-		basic_machine=hppa1.1-hitachi
-		os=-hiuxwe2
-		;;
-	h8300hms)
-		basic_machine=h8300-hitachi
-		os=-hms
-		;;
-	h8300xray)
-		basic_machine=h8300-hitachi
-		os=-xray
-		;;
-	h8500hms)
-		basic_machine=h8500-hitachi
-		os=-hms
-		;;
-	harris)
-		basic_machine=m88k-harris
-		os=-sysv3
-		;;
-	hp300-*)
-		basic_machine=m68k-hp
-		;;
-	hp300bsd)
-		basic_machine=m68k-hp
-		os=-bsd
-		;;
-	hp300hpux)
-		basic_machine=m68k-hp
-		os=-hpux
-		;;
-	hp3k9[0-9][0-9] | hp9[0-9][0-9])
-		basic_machine=hppa1.0-hp
-		;;
-	hp9k2[0-9][0-9] | hp9k31[0-9])
-		basic_machine=m68000-hp
-		;;
-	hp9k3[2-9][0-9])
-		basic_machine=m68k-hp
-		;;
-	hp9k6[0-9][0-9] | hp6[0-9][0-9])
-		basic_machine=hppa1.0-hp
-		;;
-	hp9k7[0-79][0-9] | hp7[0-79][0-9])
-		basic_machine=hppa1.1-hp
-		;;
-	hp9k78[0-9] | hp78[0-9])
-		# FIXME: really hppa2.0-hp
-		basic_machine=hppa1.1-hp
-		;;
-	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
-		# FIXME: really hppa2.0-hp
-		basic_machine=hppa1.1-hp
-		;;
-	hp9k8[0-9][13679] | hp8[0-9][13679])
-		basic_machine=hppa1.1-hp
-		;;
-	hp9k8[0-9][0-9] | hp8[0-9][0-9])
-		basic_machine=hppa1.0-hp
-		;;
-	hppa-next)
-		os=-nextstep3
-		;;
-	hppaosf)
-		basic_machine=hppa1.1-hp
-		os=-osf
-		;;
-	hppro)
-		basic_machine=hppa1.1-hp
-		os=-proelf
-		;;
-	i370-ibm* | ibm*)
-		basic_machine=i370-ibm
-		;;
-# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
-	i*86v32)
-		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-		os=-sysv32
-		;;
-	i*86v4*)
-		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-		os=-sysv4
-		;;
-	i*86v)
-		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-		os=-sysv
-		;;
-	i*86sol2)
-		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-		os=-solaris2
-		;;
-	i386mach)
-		basic_machine=i386-mach
-		os=-mach
-		;;
-	i386-vsta | vsta)
-		basic_machine=i386-unknown
-		os=-vsta
-		;;
-	iris | iris4d)
-		basic_machine=mips-sgi
-		case $os in
-		    -irix*)
-			;;
-		    *)
-			os=-irix4
-			;;
-		esac
-		;;
-	isi68 | isi)
-		basic_machine=m68k-isi
-		os=-sysv
-		;;
-	m68knommu)
-		basic_machine=m68k-unknown
-		os=-linux
-		;;
-	m68knommu-*)
-		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
-		os=-linux
-		;;
-	m88k-omron*)
-		basic_machine=m88k-omron
-		;;
-	magnum | m3230)
-		basic_machine=mips-mips
-		os=-sysv
-		;;
-	merlin)
-		basic_machine=ns32k-utek
-		os=-sysv
-		;;
-	mingw32)
-		basic_machine=i386-pc
-		os=-mingw32
-		;;
-	mingw32ce)
-		basic_machine=arm-unknown
-		os=-mingw32ce
-		;;
-	miniframe)
-		basic_machine=m68000-convergent
-		;;
-	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
-		basic_machine=m68k-atari
-		os=-mint
-		;;
-	mips3*-*)
-		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
-		;;
-	mips3*)
-		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
-		;;
-	monitor)
-		basic_machine=m68k-rom68k
-		os=-coff
-		;;
-	morphos)
-		basic_machine=powerpc-unknown
-		os=-morphos
-		;;
-	msdos)
-		basic_machine=i386-pc
-		os=-msdos
-		;;
-	ms1-*)
-		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
-		;;
-	mvs)
-		basic_machine=i370-ibm
-		os=-mvs
-		;;
-	ncr3000)
-		basic_machine=i486-ncr
-		os=-sysv4
-		;;
-	netbsd386)
-		basic_machine=i386-unknown
-		os=-netbsd
-		;;
-	netwinder)
-		basic_machine=armv4l-rebel
-		os=-linux
-		;;
-	news | news700 | news800 | news900)
-		basic_machine=m68k-sony
-		os=-newsos
-		;;
-	news1000)
-		basic_machine=m68030-sony
-		os=-newsos
-		;;
-	news-3600 | risc-news)
-		basic_machine=mips-sony
-		os=-newsos
-		;;
-	necv70)
-		basic_machine=v70-nec
-		os=-sysv
-		;;
-	next | m*-next )
-		basic_machine=m68k-next
-		case $os in
-		    -nextstep* )
-			;;
-		    -ns2*)
-		      os=-nextstep2
-			;;
-		    *)
-		      os=-nextstep3
-			;;
-		esac
-		;;
-	nh3000)
-		basic_machine=m68k-harris
-		os=-cxux
-		;;
-	nh[45]000)
-		basic_machine=m88k-harris
-		os=-cxux
-		;;
-	nindy960)
-		basic_machine=i960-intel
-		os=-nindy
-		;;
-	mon960)
-		basic_machine=i960-intel
-		os=-mon960
-		;;
-	nonstopux)
-		basic_machine=mips-compaq
-		os=-nonstopux
-		;;
-	np1)
-		basic_machine=np1-gould
-		;;
-	nsr-tandem)
-		basic_machine=nsr-tandem
-		;;
-	op50n-* | op60c-*)
-		basic_machine=hppa1.1-oki
-		os=-proelf
-		;;
-	openrisc | openrisc-*)
-		basic_machine=or32-unknown
-		;;
-	os400)
-		basic_machine=powerpc-ibm
-		os=-os400
-		;;
-	OSE68000 | ose68000)
-		basic_machine=m68000-ericsson
-		os=-ose
-		;;
-	os68k)
-		basic_machine=m68k-none
-		os=-os68k
-		;;
-	pa-hitachi)
-		basic_machine=hppa1.1-hitachi
-		os=-hiuxwe2
-		;;
-	paragon)
-		basic_machine=i860-intel
-		os=-osf
-		;;
-	parisc)
-		basic_machine=hppa-unknown
-		os=-linux
-		;;
-	parisc-*)
-		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
-		os=-linux
-		;;
-	pbd)
-		basic_machine=sparc-tti
-		;;
-	pbb)
-		basic_machine=m68k-tti
-		;;
-	pc532 | pc532-*)
-		basic_machine=ns32k-pc532
-		;;
-	pc98)
-		basic_machine=i386-pc
-		;;
-	pc98-*)
-		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	pentium | p5 | k5 | k6 | nexgen | viac3)
-		basic_machine=i586-pc
-		;;
-	pentiumpro | p6 | 6x86 | athlon | athlon_*)
-		basic_machine=i686-pc
-		;;
-	pentiumii | pentium2 | pentiumiii | pentium3)
-		basic_machine=i686-pc
-		;;
-	pentium4)
-		basic_machine=i786-pc
-		;;
-	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
-		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	pentiumpro-* | p6-* | 6x86-* | athlon-*)
-		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
-		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	pentium4-*)
-		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	pn)
-		basic_machine=pn-gould
-		;;
-	power)	basic_machine=power-ibm
-		;;
-	ppc)	basic_machine=powerpc-unknown
-		;;
-	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	ppcle | powerpclittle | ppc-le | powerpc-little)
-		basic_machine=powerpcle-unknown
-		;;
-	ppcle-* | powerpclittle-*)
-		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	ppc64)	basic_machine=powerpc64-unknown
-		;;
-	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
-		basic_machine=powerpc64le-unknown
-		;;
-	ppc64le-* | powerpc64little-*)
-		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	ps2)
-		basic_machine=i386-ibm
-		;;
-	pw32)
-		basic_machine=i586-unknown
-		os=-pw32
-		;;
-	rdos)
-		basic_machine=i386-pc
-		os=-rdos
-		;;
-	rom68k)
-		basic_machine=m68k-rom68k
-		os=-coff
-		;;
-	rm[46]00)
-		basic_machine=mips-siemens
-		;;
-	rtpc | rtpc-*)
-		basic_machine=romp-ibm
-		;;
-	s390 | s390-*)
-		basic_machine=s390-ibm
-		;;
-	s390x | s390x-*)
-		basic_machine=s390x-ibm
-		;;
-	sa29200)
-		basic_machine=a29k-amd
-		os=-udi
-		;;
-	sb1)
-		basic_machine=mipsisa64sb1-unknown
-		;;
-	sb1el)
-		basic_machine=mipsisa64sb1el-unknown
-		;;
-	sde)
-		basic_machine=mipsisa32-sde
-		os=-elf
-		;;
-	sei)
-		basic_machine=mips-sei
-		os=-seiux
-		;;
-	sequent)
-		basic_machine=i386-sequent
-		;;
-	sh)
-		basic_machine=sh-hitachi
-		os=-hms
-		;;
-	sh5el)
-		basic_machine=sh5le-unknown
-		;;
-	sh64)
-		basic_machine=sh64-unknown
-		;;
-	sparclite-wrs | simso-wrs)
-		basic_machine=sparclite-wrs
-		os=-vxworks
-		;;
-	sps7)
-		basic_machine=m68k-bull
-		os=-sysv2
-		;;
-	spur)
-		basic_machine=spur-unknown
-		;;
-	st2000)
-		basic_machine=m68k-tandem
-		;;
-	stratus)
-		basic_machine=i860-stratus
-		os=-sysv4
-		;;
-	sun2)
-		basic_machine=m68000-sun
-		;;
-	sun2os3)
-		basic_machine=m68000-sun
-		os=-sunos3
-		;;
-	sun2os4)
-		basic_machine=m68000-sun
-		os=-sunos4
-		;;
-	sun3os3)
-		basic_machine=m68k-sun
-		os=-sunos3
-		;;
-	sun3os4)
-		basic_machine=m68k-sun
-		os=-sunos4
-		;;
-	sun4os3)
-		basic_machine=sparc-sun
-		os=-sunos3
-		;;
-	sun4os4)
-		basic_machine=sparc-sun
-		os=-sunos4
-		;;
-	sun4sol2)
-		basic_machine=sparc-sun
-		os=-solaris2
-		;;
-	sun3 | sun3-*)
-		basic_machine=m68k-sun
-		;;
-	sun4)
-		basic_machine=sparc-sun
-		;;
-	sun386 | sun386i | roadrunner)
-		basic_machine=i386-sun
-		;;
-	sv1)
-		basic_machine=sv1-cray
-		os=-unicos
-		;;
-	symmetry)
-		basic_machine=i386-sequent
-		os=-dynix
-		;;
-	t3e)
-		basic_machine=alphaev5-cray
-		os=-unicos
-		;;
-	t90)
-		basic_machine=t90-cray
-		os=-unicos
-		;;
-	tic54x | c54x*)
-		basic_machine=tic54x-unknown
-		os=-coff
-		;;
-	tic55x | c55x*)
-		basic_machine=tic55x-unknown
-		os=-coff
-		;;
-	tic6x | c6x*)
-		basic_machine=tic6x-unknown
-		os=-coff
-		;;
-	tile*)
-		basic_machine=tile-unknown
-		os=-linux-gnu
-		;;
-	tx39)
-		basic_machine=mipstx39-unknown
-		;;
-	tx39el)
-		basic_machine=mipstx39el-unknown
-		;;
-	toad1)
-		basic_machine=pdp10-xkl
-		os=-tops20
-		;;
-	tower | tower-32)
-		basic_machine=m68k-ncr
-		;;
-	tpf)
-		basic_machine=s390x-ibm
-		os=-tpf
-		;;
-	udi29k)
-		basic_machine=a29k-amd
-		os=-udi
-		;;
-	ultra3)
-		basic_machine=a29k-nyu
-		os=-sym1
-		;;
-	v810 | necv810)
-		basic_machine=v810-nec
-		os=-none
-		;;
-	vaxv)
-		basic_machine=vax-dec
-		os=-sysv
-		;;
-	vms)
-		basic_machine=vax-dec
-		os=-vms
-		;;
-	vpp*|vx|vx-*)
-		basic_machine=f301-fujitsu
-		;;
-	vxworks960)
-		basic_machine=i960-wrs
-		os=-vxworks
-		;;
-	vxworks68)
-		basic_machine=m68k-wrs
-		os=-vxworks
-		;;
-	vxworks29k)
-		basic_machine=a29k-wrs
-		os=-vxworks
-		;;
-	w65*)
-		basic_machine=w65-wdc
-		os=-none
-		;;
-	w89k-*)
-		basic_machine=hppa1.1-winbond
-		os=-proelf
-		;;
-	xbox)
-		basic_machine=i686-pc
-		os=-mingw32
-		;;
-	xps | xps100)
-		basic_machine=xps100-honeywell
-		;;
-	ymp)
-		basic_machine=ymp-cray
-		os=-unicos
-		;;
-	z8k-*-coff)
-		basic_machine=z8k-unknown
-		os=-sim
-		;;
-	none)
-		basic_machine=none-none
-		os=-none
-		;;
-
-# Here we handle the default manufacturer of certain CPU types.  It is in
-# some cases the only manufacturer, in others, it is the most popular.
-	w89k)
-		basic_machine=hppa1.1-winbond
-		;;
-	op50n)
-		basic_machine=hppa1.1-oki
-		;;
-	op60c)
-		basic_machine=hppa1.1-oki
-		;;
-	romp)
-		basic_machine=romp-ibm
-		;;
-	mmix)
-		basic_machine=mmix-knuth
-		;;
-	rs6000)
-		basic_machine=rs6000-ibm
-		;;
-	vax)
-		basic_machine=vax-dec
-		;;
-	pdp10)
-		# there are many clones, so DEC is not a safe bet
-		basic_machine=pdp10-unknown
-		;;
-	pdp11)
-		basic_machine=pdp11-dec
-		;;
-	we32k)
-		basic_machine=we32k-att
-		;;
-	sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
-		basic_machine=sh-unknown
-		;;
-	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
-		basic_machine=sparc-sun
-		;;
-	cydra)
-		basic_machine=cydra-cydrome
-		;;
-	orion)
-		basic_machine=orion-highlevel
-		;;
-	orion105)
-		basic_machine=clipper-highlevel
-		;;
-	mac | mpw | mac-mpw)
-		basic_machine=m68k-apple
-		;;
-	pmac | pmac-mpw)
-		basic_machine=powerpc-apple
-		;;
-	*-unknown)
-		# Make sure to match an already-canonicalized machine name.
-		;;
-	*)
-		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
-		exit 1
-		;;
-esac
-
-# Here we canonicalize certain aliases for manufacturers.
-case $basic_machine in
-	*-digital*)
-		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
-		;;
-	*-commodore*)
-		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
-		;;
-	*)
-		;;
-esac
-
-# Decode manufacturer-specific aliases for certain operating systems.
-
-if [ x"$os" != x"" ]
-then
-case $os in
-        # First match some system type aliases
-        # that might get confused with valid system types.
-	# -solaris* is a basic system type, with this one exception.
-	-solaris1 | -solaris1.*)
-		os=`echo $os | sed -e 's|solaris1|sunos4|'`
-		;;
-	-solaris)
-		os=-solaris2
-		;;
-	-svr4*)
-		os=-sysv4
-		;;
-	-unixware*)
-		os=-sysv4.2uw
-		;;
-	-gnu/linux*)
-		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
-		;;
-	# First accept the basic system types.
-	# The portable systems comes first.
-	# Each alternative MUST END IN A *, to match a version number.
-	# -sysv* is not here because it comes later, after sysvr4.
-	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
-	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
-	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
-	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
-	      | -aos* \
-	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
-	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
-	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
-	      | -openbsd* | -solidbsd* \
-	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
-	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
-	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
-	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
-	      | -chorusos* | -chorusrdb* \
-	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-	      | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
-	      | -uxpv* | -beos* | -mpeix* | -udk* \
-	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
-	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
-	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
-	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
-	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
-	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
-	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
-	# Remember, each alternative MUST END IN *, to match a version number.
-		;;
-	-qnx*)
-		case $basic_machine in
-		    x86-* | i*86-*)
-			;;
-		    *)
-			os=-nto$os
-			;;
-		esac
-		;;
-	-nto-qnx*)
-		;;
-	-nto*)
-		os=`echo $os | sed -e 's|nto|nto-qnx|'`
-		;;
-	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
-	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
-	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
-		;;
-	-mac*)
-		os=`echo $os | sed -e 's|mac|macos|'`
-		;;
-	-linux-dietlibc)
-		os=-linux-dietlibc
-		;;
-	-linux*)
-		os=`echo $os | sed -e 's|linux|linux-gnu|'`
-		;;
-	-sunos5*)
-		os=`echo $os | sed -e 's|sunos5|solaris2|'`
-		;;
-	-sunos6*)
-		os=`echo $os | sed -e 's|sunos6|solaris3|'`
-		;;
-	-opened*)
-		os=-openedition
-		;;
-        -os400*)
-		os=-os400
-		;;
-	-wince*)
-		os=-wince
-		;;
-	-osfrose*)
-		os=-osfrose
-		;;
-	-osf*)
-		os=-osf
-		;;
-	-utek*)
-		os=-bsd
-		;;
-	-dynix*)
-		os=-bsd
-		;;
-	-acis*)
-		os=-aos
-		;;
-	-atheos*)
-		os=-atheos
-		;;
-	-syllable*)
-		os=-syllable
-		;;
-	-386bsd)
-		os=-bsd
-		;;
-	-ctix* | -uts*)
-		os=-sysv
-		;;
-	-nova*)
-		os=-rtmk-nova
-		;;
-	-ns2 )
-		os=-nextstep2
-		;;
-	-nsk*)
-		os=-nsk
-		;;
-	# Preserve the version number of sinix5.
-	-sinix5.*)
-		os=`echo $os | sed -e 's|sinix|sysv|'`
-		;;
-	-sinix*)
-		os=-sysv4
-		;;
-        -tpf*)
-		os=-tpf
-		;;
-	-triton*)
-		os=-sysv3
-		;;
-	-oss*)
-		os=-sysv3
-		;;
-	-svr4)
-		os=-sysv4
-		;;
-	-svr3)
-		os=-sysv3
-		;;
-	-sysvr4)
-		os=-sysv4
-		;;
-	# This must come after -sysvr4.
-	-sysv*)
-		;;
-	-ose*)
-		os=-ose
-		;;
-	-es1800*)
-		os=-ose
-		;;
-	-xenix)
-		os=-xenix
-		;;
-	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
-		os=-mint
-		;;
-	-aros*)
-		os=-aros
-		;;
-	-kaos*)
-		os=-kaos
-		;;
-	-zvmoe)
-		os=-zvmoe
-		;;
-	-none)
-		;;
-	*)
-		# Get rid of the `-' at the beginning of $os.
-		os=`echo $os | sed 's/[^-]*-//'`
-		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
-		exit 1
-		;;
-esac
-else
-
-# Here we handle the default operating systems that come with various machines.
-# The value should be what the vendor currently ships out the door with their
-# machine or put another way, the most popular os provided with the machine.
-
-# Note that if you're going to try to match "-MANUFACTURER" here (say,
-# "-sun"), then you have to tell the case statement up towards the top
-# that MANUFACTURER isn't an operating system.  Otherwise, code above
-# will signal an error saying that MANUFACTURER isn't an operating
-# system, and we'll never get to this point.
-
-case $basic_machine in
-        score-*)
-		os=-elf
-		;;
-        spu-*)
-		os=-elf
-		;;
-	*-acorn)
-		os=-riscix1.2
-		;;
-	arm*-rebel)
-		os=-linux
-		;;
-	arm*-semi)
-		os=-aout
-		;;
-        c4x-* | tic4x-*)
-        	os=-coff
-		;;
-	# This must come before the *-dec entry.
-	pdp10-*)
-		os=-tops20
-		;;
-	pdp11-*)
-		os=-none
-		;;
-	*-dec | vax-*)
-		os=-ultrix4.2
-		;;
-	m68*-apollo)
-		os=-domain
-		;;
-	i386-sun)
-		os=-sunos4.0.2
-		;;
-	m68000-sun)
-		os=-sunos3
-		# This also exists in the configure program, but was not the
-		# default.
-		# os=-sunos4
-		;;
-	m68*-cisco)
-		os=-aout
-		;;
-        mep-*)
-		os=-elf
-		;;
-	mips*-cisco)
-		os=-elf
-		;;
-	mips*-*)
-		os=-elf
-		;;
-	or32-*)
-		os=-coff
-		;;
-	*-tti)	# must be before sparc entry or we get the wrong os.
-		os=-sysv3
-		;;
-	sparc-* | *-sun)
-		os=-sunos4.1.1
-		;;
-	*-be)
-		os=-beos
-		;;
-	*-haiku)
-		os=-haiku
-		;;
-	*-ibm)
-		os=-aix
-		;;
-    	*-knuth)
-		os=-mmixware
-		;;
-	*-wec)
-		os=-proelf
-		;;
-	*-winbond)
-		os=-proelf
-		;;
-	*-oki)
-		os=-proelf
-		;;
-	*-hp)
-		os=-hpux
-		;;
-	*-hitachi)
-		os=-hiux
-		;;
-	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
-		os=-sysv
-		;;
-	*-cbm)
-		os=-amigaos
-		;;
-	*-dg)
-		os=-dgux
-		;;
-	*-dolphin)
-		os=-sysv3
-		;;
-	m68k-ccur)
-		os=-rtu
-		;;
-	m88k-omron*)
-		os=-luna
-		;;
-	*-next )
-		os=-nextstep
-		;;
-	*-sequent)
-		os=-ptx
-		;;
-	*-crds)
-		os=-unos
-		;;
-	*-ns)
-		os=-genix
-		;;
-	i370-*)
-		os=-mvs
-		;;
-	*-next)
-		os=-nextstep3
-		;;
-	*-gould)
-		os=-sysv
-		;;
-	*-highlevel)
-		os=-bsd
-		;;
-	*-encore)
-		os=-bsd
-		;;
-	*-sgi)
-		os=-irix
-		;;
-	*-siemens)
-		os=-sysv4
-		;;
-	*-masscomp)
-		os=-rtu
-		;;
-	f30[01]-fujitsu | f700-fujitsu)
-		os=-uxpv
-		;;
-	*-rom68k)
-		os=-coff
-		;;
-	*-*bug)
-		os=-coff
-		;;
-	*-apple)
-		os=-macos
-		;;
-	*-atari*)
-		os=-mint
-		;;
-	*)
-		os=-none
-		;;
-esac
-fi
-
-# Here we handle the case where we know the os, and the CPU type, but not the
-# manufacturer.  We pick the logical manufacturer.
-vendor=unknown
-case $basic_machine in
-	*-unknown)
-		case $os in
-			-riscix*)
-				vendor=acorn
-				;;
-			-sunos*)
-				vendor=sun
-				;;
-			-aix*)
-				vendor=ibm
-				;;
-			-beos*)
-				vendor=be
-				;;
-			-hpux*)
-				vendor=hp
-				;;
-			-mpeix*)
-				vendor=hp
-				;;
-			-hiux*)
-				vendor=hitachi
-				;;
-			-unos*)
-				vendor=crds
-				;;
-			-dgux*)
-				vendor=dg
-				;;
-			-luna*)
-				vendor=omron
-				;;
-			-genix*)
-				vendor=ns
-				;;
-			-mvs* | -opened*)
-				vendor=ibm
-				;;
-			-os400*)
-				vendor=ibm
-				;;
-			-ptx*)
-				vendor=sequent
-				;;
-			-tpf*)
-				vendor=ibm
-				;;
-			-vxsim* | -vxworks* | -windiss*)
-				vendor=wrs
-				;;
-			-aux*)
-				vendor=apple
-				;;
-			-hms*)
-				vendor=hitachi
-				;;
-			-mpw* | -macos*)
-				vendor=apple
-				;;
-			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
-				vendor=atari
-				;;
-			-vos*)
-				vendor=stratus
-				;;
-		esac
-		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
-		;;
-esac
-
-echo $basic_machine$os
-exit
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
diff --git a/configure b/configure
deleted file mode 100755
index 1a23167..0000000
--- a/configure
+++ /dev/null
Binary files differ
diff --git a/configure.ac b/configure.ac
index b6bfd07..3dcb0f0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,17 +1,11 @@
 # Process this file with autoconf to produce a configure script.
 AC_PREREQ(2.52)
-AC_INIT([libmtp], [1.0.1], [libmtp-discuss@lists.sourceforge.net])
+AC_INIT([libmtp], [1.1.13], [libmtp-discuss@lists.sourceforge.net])
 AC_CONFIG_MACRO_DIR([m4])
 AM_INIT_AUTOMAKE([foreign])
 AC_CONFIG_SRCDIR([src/libmtp.c])
 AM_CONFIG_HEADER(config.h)
 
-# This can be overridden by the command line switch
-if test "$program_prefix" = NONE; then
-   program_prefix=mtp-
-   program_transform_name="s,^,$program_prefix,;$program_transform_name"
-fi
-
 # Checks for programs.
 AC_PROG_CC
 AC_PROG_INSTALL
@@ -20,12 +14,61 @@
 AC_PROG_LIBTOOL
 AM_ICONV
 
-# Check for doxygen
-AC_CHECK_PROG(HAVE_DOXYGEN, doxygen, true, false)
-AM_CONDITIONAL(HAVE_DOXYGEN,$HAVE_DOXYGEN)
-if test $HAVE_DOXYGEN = "false"; then
-             AC_MSG_WARN([*** doxygen not found, docs will not be built])
+# Optionally set install location of udev
+UDEV=/usr/lib/udev
+AC_ARG_WITH(udev,
+    AC_HELP_STRING([--with-udev=DIR],
+    [directory where udev is installed [default=/usr/lib/udev]]),
+    [UDEV="${withval}"], [])
+AC_SUBST(UDEV)
+
+# Optionally set name of udev rules file, default
+# priority is 69, to appear before 70-acl.rules which handles
+# access control to the devices. We try to let all other userspace
+# libusb-based device handlers take precedence since libmtp may
+# attempt to autoprobe the devices.
+#
+# Later rules can then use the identifiers for its processing.
+UDEV_RULES=69-libmtp.rules
+AC_ARG_WITH(udev-rules,
+    AC_HELP_STRING([--with-udev-rules=NAME],
+    [file name for udev rules [default=69-libmtp.rules]]),
+    [UDEV_RULES="${withval}"], [])
+AC_SUBST(UDEV_RULES)
+
+# Optionally set group for device nodes
+UDEV_GROUP=
+AC_ARG_WITH(udev-group,
+    AC_HELP_STRING([--with-udev-group=GROUP],
+    [file group for device nodes [default: none specified]]),
+    [UDEV_GROUP="-g\"${withval}\""], [])
+AC_SUBST(UDEV_GROUP)
+
+# Optionally set mode for device nodes
+UDEV_MODE=
+AC_ARG_WITH(udev-mode,
+    AC_HELP_STRING([--with-udev-mode=GROUP],
+    [file mode for device nodes [default: none specified]]),
+    [UDEV_MODE="-m\"${withval}\""], [])
+AC_SUBST(UDEV_MODE)
+
+# Optionally enable and check for doxygen
+AC_ARG_ENABLE([doxygen],
+    AS_HELP_STRING([--enable-doxygen], [Build API documentation using Doxygen [default=auto]]),
+    [ac_enable_doxygen=$enableval], [ac_enable_doxygen=auto])
+if test "x$ac_enable_doxygen" != "xno"; then
+    AC_CHECK_PROG(HAVE_DOXYGEN, doxygen, true, false)
+    if test "x$HAVE_DOXYGEN" = "xfalse" -a "x$ac_enable_doxygen" = "xyes"; then
+        AC_MSG_ERROR([*** API documentation explicitly requested but Doxygen not found])
+    fi
+    if test "x$HAVE_DOXYGEN" = "xtrue"; then
+        AC_MSG_NOTICE([API documentation will be generated using Doxygen])
+    fi
+else
+    HAVE_DOXYGEN=false
+    AC_MSG_NOTICE([API documentation will not be generated])
 fi
+AM_CONDITIONAL(HAVE_DOXYGEN,$HAVE_DOXYGEN)
 
 # Check for Darwin
 AC_MSG_CHECKING([if the host operating system is Darwin])
@@ -39,6 +82,19 @@
 esac
 AC_SUBST(OSFLAGS)
 
+AC_MSG_CHECKING([if the host operating system is Linux])
+AC_TRY_COMPILE([#ifndef __linux__
+		#error "FAIL"
+		#endif
+		],
+		[int test;],
+		[ AC_MSG_RESULT(yes)
+		  AM_CONDITIONAL(USE_LINUX, true)
+		],
+		[ AC_MSG_RESULT(no)
+		  AM_CONDITIONAL(USE_LINUX, false)
+		])
+
 # Check for mingw compiler platform
 AC_MSG_CHECKING([For MinGW32])
 case "$host" in
@@ -56,12 +112,65 @@
 fi
 AM_CONDITIONAL(MS_LIB_EXE, test x$ms_lib_exe = xyes)
 
-# Checks for libraries.
-AC_CHECK_LIB([usb], [usb_control_msg],,
-	AC_MSG_ERROR([I can't find the libusb libraries on your system. You
-	may need to set the LDFLAGS environment variable to include the
-	search path where you have libusb installed before running
-	configure (e.g. setenv LDFLAGS=-L/usr/local/lib)]), "$OSFLAGS")
+# Check for libusb-1.0
+PKG_CHECK_MODULES(LIBUSB, libusb-1.0 >= 1.0.0,[
+   LIBUSB_VER=`$PKG_CONFIG --modversion libusb-1.0`
+   LIBUSB_REQUIRES='libusb-1.0'
+   AC_DEFINE(HAVE_LIBUSB1, [], [Have libusb 1.0])
+   found_libusb1_pkg=yes
+],[
+   # Check for libopenusb second
+   AC_CHECK_LIB([openusb], [openusb_init],[
+	AC_DEFINE(HAVE_OPENUSB, [], [Have libopenusb 1.0])
+        LIBUSB_VER=1.0
+   ],[
+      PKG_CHECK_MODULES(LIBUSB, libusb >= 0.1.8, [
+         LIBUSB_VER=`$PKG_CONFIG --modversion libusb`
+         LIBUSB_REQUIRES='libusb'
+         AC_DEFINE(HAVE_LIBUSB0, [], [Have libusb 0.x])
+         found_libusb0_pkg=yes
+      ],[
+         # Some systems don't use pkg-config for libusb, so double check.
+         AC_CHECK_LIB([usb], [usb_open],[
+            LIBUSB_VER=0.1
+            AC_DEFINE(HAVE_LIBUSB0, [], [Have libusb 0.x])
+            found_libusb0_pkg=yes
+         ],[
+            AC_MSG_ERROR([*** libusb not found! (missing -dev/-devel package?) ***\n*** prefer to install libusb-1 if you can! ***])
+         ])
+      ])
+   ])
+])
+
+# Optionally disable MTPZ functionality.
+AC_ARG_ENABLE([mtpz],
+	AC_HELP_STRING([--disable-mtpz], [Disable functionality to connect to MTPZ devices (e.g. Zune)]),
+	[use_mtpz=$enableval],
+	[use_mtpz="yes"])
+
+# Include MTPZ if not disabled.
+if test x"$use_mtpz" = "xyes" ; then
+	# Check for libgcrypt.
+	AC_MSG_CHECKING([for libgcrypt])
+	AC_CHECK_LIB([gcrypt], [gcry_check_version], , [AC_MSG_NOTICE([*** libgcrypt not found - disabling MTPZ support ***]) ; use_mtpz="no"])
+fi
+
+if test x"$use_mtpz" = "xyes" ; then
+	AC_DEFINE(USE_MTPZ, [], [Enable MTPZ functionality])
+	AC_MSG_NOTICE([MTPZ functionality enabled]);
+else
+	AC_MSG_NOTICE([MTPZ functionality disable]);
+fi
+
+
+AC_SUBST(LIBUSB_CFLAGS)
+AC_SUBST(LIBUSB_LIBS)
+AC_SUBST(LIBUSB_REQUIRES)
+AM_CONDITIONAL(MTPZ_COMPILE, test x"$use_mtpz" = "xyes")
+AM_CONDITIONAL(LIBUSB1_COMPILE, test x"$found_libusb1_pkg" = "xyes")
+AM_CONDITIONAL(LIBUSB0_COMPILE, test x"$found_libusb0_pkg" = "xyes")
+AM_CONDITIONAL(LIBOPENUSB_COMPILE, test x"$ac_cv_lib_openusb_openusb_init" = "xyes")
+AC_MSG_NOTICE([*** using libusb $LIBUSB_VER ***])
 
 # Checks for header files.
 AC_HEADER_STDC
@@ -69,12 +178,7 @@
 # zlib.h the day we need to decompress firmware
 AC_CHECK_HEADERS([ctype.h errno.h fcntl.h getopt.h libgen.h \
 	limits.h stdio.h string.h sys/stat.h sys/time.h unistd.h \
-	iconv.h langinfo.h locale.h arpa/inet.h byteswap.h sys/uio.h])
-AC_CHECK_HEADER([usb.h],,
-	AC_MSG_ERROR([I can't find the libusb header file on your system.
-	You may need to set the CPPFLAGS environment variable to include
-	the search path where you have libusb installed before running
-	configure (e.g. setenv CPPFLAGS=-I/usr/local/include)]))
+	langinfo.h locale.h arpa/inet.h byteswap.h sys/uio.h])
 
 # Checks for typedefs, structures, and compiler characteristics.
 AC_C_CONST
@@ -84,17 +188,20 @@
 AC_STRUCT_ST_BLKSIZE
 
 # Checks for library functions.
-AC_FUNC_MALLOC
 AC_FUNC_MEMCMP
 AC_FUNC_STAT
-AC_CHECK_FUNCS(basename memset select strdup strerror strrchr strtoul usleep mkstemp)
+AC_CHECK_FUNCS(basename memset select strdup strerror strndup strrchr strtoul usleep mkstemp)
 
 # Switches.
 # Enable LFS (Large File Support)
 AC_SYS_LARGEFILE
 # Stick in "-Werror" if you want to be more aggressive.
 # (No need to use AC_SUBST on this default substituted environment variable.)
-CFLAGS="$CFLAGS -Wall -Wmissing-prototypes"
+# Only add these additional CFLAGS if we are using GCC. Other C compilers may
+# not support them.
+if test x"$GCC" == "xyes" ; then
+	CFLAGS="$CFLAGS -Wall -Wmissing-prototypes"
+fi
 
 # Output files
 
@@ -105,11 +212,11 @@
 AX_NEED_STDINT_H([src/_stdint.h])
 
 # Create a header file containing NetBSD-style byte swapping macros.
-# This m4 macros has caused severe pain, I am considering creating a 
+# This m4 macros has caused severe pain, I am considering creating a
 # hard-coded byte swapper that will be eternally portable.
 AC_NEED_BYTEORDER_H(src/gphoto2-endian.h)
 
 AC_CONFIG_FILES([src/libmtp.h doc/Doxyfile Makefile doc/Makefile src/Makefile
-	examples/Makefile libmtp.sh hotplug.sh libmtp.pc])
+	examples/Makefile util/Makefile libmtp.sh hotplug.sh libmtp.pc])
 AC_OUTPUT
 chmod +x hotplug.sh
diff --git a/depcomp b/depcomp
deleted file mode 100755
index df8eea7..0000000
--- a/depcomp
+++ /dev/null
@@ -1,630 +0,0 @@
-#! /bin/sh
-# depcomp - compile a program generating dependencies as side-effects
-
-scriptversion=2009-04-28.21; # UTC
-
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free
-# Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
-
-case $1 in
-  '')
-     echo "$0: No command.  Try \`$0 --help' for more information." 1>&2
-     exit 1;
-     ;;
-  -h | --h*)
-    cat <<\EOF
-Usage: depcomp [--help] [--version] PROGRAM [ARGS]
-
-Run PROGRAMS ARGS to compile a file, generating dependencies
-as side-effects.
-
-Environment variables:
-  depmode     Dependency tracking mode.
-  source      Source file read by `PROGRAMS ARGS'.
-  object      Object file output by `PROGRAMS ARGS'.
-  DEPDIR      directory where to store dependencies.
-  depfile     Dependency file to output.
-  tmpdepfile  Temporary file to use when outputing dependencies.
-  libtool     Whether libtool is used (yes/no).
-
-Report bugs to <bug-automake@gnu.org>.
-EOF
-    exit $?
-    ;;
-  -v | --v*)
-    echo "depcomp $scriptversion"
-    exit $?
-    ;;
-esac
-
-if test -z "$depmode" || test -z "$source" || test -z "$object"; then
-  echo "depcomp: Variables source, object and depmode must be set" 1>&2
-  exit 1
-fi
-
-# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
-depfile=${depfile-`echo "$object" |
-  sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
-tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
-
-rm -f "$tmpdepfile"
-
-# Some modes work just like other modes, but use different flags.  We
-# parameterize here, but still list the modes in the big case below,
-# to make depend.m4 easier to write.  Note that we *cannot* use a case
-# here, because this file can only contain one case statement.
-if test "$depmode" = hp; then
-  # HP compiler uses -M and no extra arg.
-  gccflag=-M
-  depmode=gcc
-fi
-
-if test "$depmode" = dashXmstdout; then
-   # This is just like dashmstdout with a different argument.
-   dashmflag=-xM
-   depmode=dashmstdout
-fi
-
-cygpath_u="cygpath -u -f -"
-if test "$depmode" = msvcmsys; then
-   # This is just like msvisualcpp but w/o cygpath translation.
-   # Just convert the backslash-escaped backslashes to single forward
-   # slashes to satisfy depend.m4
-   cygpath_u="sed s,\\\\\\\\,/,g"
-   depmode=msvisualcpp
-fi
-
-case "$depmode" in
-gcc3)
-## gcc 3 implements dependency tracking that does exactly what
-## we want.  Yay!  Note: for some reason libtool 1.4 doesn't like
-## it if -MD -MP comes after the -MF stuff.  Hmm.
-## Unfortunately, FreeBSD c89 acceptance of flags depends upon
-## the command line argument order; so add the flags where they
-## appear in depend2.am.  Note that the slowdown incurred here
-## affects only configure: in makefiles, %FASTDEP% shortcuts this.
-  for arg
-  do
-    case $arg in
-    -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
-    *)  set fnord "$@" "$arg" ;;
-    esac
-    shift # fnord
-    shift # $arg
-  done
-  "$@"
-  stat=$?
-  if test $stat -eq 0; then :
-  else
-    rm -f "$tmpdepfile"
-    exit $stat
-  fi
-  mv "$tmpdepfile" "$depfile"
-  ;;
-
-gcc)
-## There are various ways to get dependency output from gcc.  Here's
-## why we pick this rather obscure method:
-## - Don't want to use -MD because we'd like the dependencies to end
-##   up in a subdir.  Having to rename by hand is ugly.
-##   (We might end up doing this anyway to support other compilers.)
-## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
-##   -MM, not -M (despite what the docs say).
-## - Using -M directly means running the compiler twice (even worse
-##   than renaming).
-  if test -z "$gccflag"; then
-    gccflag=-MD,
-  fi
-  "$@" -Wp,"$gccflag$tmpdepfile"
-  stat=$?
-  if test $stat -eq 0; then :
-  else
-    rm -f "$tmpdepfile"
-    exit $stat
-  fi
-  rm -f "$depfile"
-  echo "$object : \\" > "$depfile"
-  alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
-## The second -e expression handles DOS-style file names with drive letters.
-  sed -e 's/^[^:]*: / /' \
-      -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
-## This next piece of magic avoids the `deleted header file' problem.
-## The problem is that when a header file which appears in a .P file
-## is deleted, the dependency causes make to die (because there is
-## typically no way to rebuild the header).  We avoid this by adding
-## dummy dependencies for each header file.  Too bad gcc doesn't do
-## this for us directly.
-  tr ' ' '
-' < "$tmpdepfile" |
-## Some versions of gcc put a space before the `:'.  On the theory
-## that the space means something, we add a space to the output as
-## well.
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly.  Breaking it into two sed invocations is a workaround.
-    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-hp)
-  # This case exists only to let depend.m4 do its work.  It works by
-  # looking at the text of this script.  This case will never be run,
-  # since it is checked for above.
-  exit 1
-  ;;
-
-sgi)
-  if test "$libtool" = yes; then
-    "$@" "-Wp,-MDupdate,$tmpdepfile"
-  else
-    "$@" -MDupdate "$tmpdepfile"
-  fi
-  stat=$?
-  if test $stat -eq 0; then :
-  else
-    rm -f "$tmpdepfile"
-    exit $stat
-  fi
-  rm -f "$depfile"
-
-  if test -f "$tmpdepfile"; then  # yes, the sourcefile depend on other files
-    echo "$object : \\" > "$depfile"
-
-    # Clip off the initial element (the dependent).  Don't try to be
-    # clever and replace this with sed code, as IRIX sed won't handle
-    # lines with more than a fixed number of characters (4096 in
-    # IRIX 6.2 sed, 8192 in IRIX 6.5).  We also remove comment lines;
-    # the IRIX cc adds comments like `#:fec' to the end of the
-    # dependency line.
-    tr ' ' '
-' < "$tmpdepfile" \
-    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
-    tr '
-' ' ' >> "$depfile"
-    echo >> "$depfile"
-
-    # The second pass generates a dummy entry for each header file.
-    tr ' ' '
-' < "$tmpdepfile" \
-   | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
-   >> "$depfile"
-  else
-    # The sourcefile does not contain any dependencies, so just
-    # store a dummy comment line, to avoid errors with the Makefile
-    # "include basename.Plo" scheme.
-    echo "#dummy" > "$depfile"
-  fi
-  rm -f "$tmpdepfile"
-  ;;
-
-aix)
-  # The C for AIX Compiler uses -M and outputs the dependencies
-  # in a .u file.  In older versions, this file always lives in the
-  # current directory.  Also, the AIX compiler puts `$object:' at the
-  # start of each line; $object doesn't have directory information.
-  # Version 6 uses the directory in both cases.
-  dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
-  test "x$dir" = "x$object" && dir=
-  base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
-  if test "$libtool" = yes; then
-    tmpdepfile1=$dir$base.u
-    tmpdepfile2=$base.u
-    tmpdepfile3=$dir.libs/$base.u
-    "$@" -Wc,-M
-  else
-    tmpdepfile1=$dir$base.u
-    tmpdepfile2=$dir$base.u
-    tmpdepfile3=$dir$base.u
-    "$@" -M
-  fi
-  stat=$?
-
-  if test $stat -eq 0; then :
-  else
-    rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
-    exit $stat
-  fi
-
-  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
-  do
-    test -f "$tmpdepfile" && break
-  done
-  if test -f "$tmpdepfile"; then
-    # Each line is of the form `foo.o: dependent.h'.
-    # Do two passes, one to just change these to
-    # `$object: dependent.h' and one to simply `dependent.h:'.
-    sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
-    # That's a tab and a space in the [].
-    sed -e 's,^.*\.[a-z]*:[	 ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
-  else
-    # The sourcefile does not contain any dependencies, so just
-    # store a dummy comment line, to avoid errors with the Makefile
-    # "include basename.Plo" scheme.
-    echo "#dummy" > "$depfile"
-  fi
-  rm -f "$tmpdepfile"
-  ;;
-
-icc)
-  # Intel's C compiler understands `-MD -MF file'.  However on
-  #    icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
-  # ICC 7.0 will fill foo.d with something like
-  #    foo.o: sub/foo.c
-  #    foo.o: sub/foo.h
-  # which is wrong.  We want:
-  #    sub/foo.o: sub/foo.c
-  #    sub/foo.o: sub/foo.h
-  #    sub/foo.c:
-  #    sub/foo.h:
-  # ICC 7.1 will output
-  #    foo.o: sub/foo.c sub/foo.h
-  # and will wrap long lines using \ :
-  #    foo.o: sub/foo.c ... \
-  #     sub/foo.h ... \
-  #     ...
-
-  "$@" -MD -MF "$tmpdepfile"
-  stat=$?
-  if test $stat -eq 0; then :
-  else
-    rm -f "$tmpdepfile"
-    exit $stat
-  fi
-  rm -f "$depfile"
-  # Each line is of the form `foo.o: dependent.h',
-  # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
-  # Do two passes, one to just change these to
-  # `$object: dependent.h' and one to simply `dependent.h:'.
-  sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
-  # Some versions of the HPUX 10.20 sed can't process this invocation
-  # correctly.  Breaking it into two sed invocations is a workaround.
-  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
-    sed -e 's/$/ :/' >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-hp2)
-  # The "hp" stanza above does not work with aCC (C++) and HP's ia64
-  # compilers, which have integrated preprocessors.  The correct option
-  # to use with these is +Maked; it writes dependencies to a file named
-  # 'foo.d', which lands next to the object file, wherever that
-  # happens to be.
-  # Much of this is similar to the tru64 case; see comments there.
-  dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
-  test "x$dir" = "x$object" && dir=
-  base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
-  if test "$libtool" = yes; then
-    tmpdepfile1=$dir$base.d
-    tmpdepfile2=$dir.libs/$base.d
-    "$@" -Wc,+Maked
-  else
-    tmpdepfile1=$dir$base.d
-    tmpdepfile2=$dir$base.d
-    "$@" +Maked
-  fi
-  stat=$?
-  if test $stat -eq 0; then :
-  else
-     rm -f "$tmpdepfile1" "$tmpdepfile2"
-     exit $stat
-  fi
-
-  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
-  do
-    test -f "$tmpdepfile" && break
-  done
-  if test -f "$tmpdepfile"; then
-    sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
-    # Add `dependent.h:' lines.
-    sed -ne '2,${
-	       s/^ *//
-	       s/ \\*$//
-	       s/$/:/
-	       p
-	     }' "$tmpdepfile" >> "$depfile"
-  else
-    echo "#dummy" > "$depfile"
-  fi
-  rm -f "$tmpdepfile" "$tmpdepfile2"
-  ;;
-
-tru64)
-   # The Tru64 compiler uses -MD to generate dependencies as a side
-   # effect.  `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
-   # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
-   # dependencies in `foo.d' instead, so we check for that too.
-   # Subdirectories are respected.
-   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
-   test "x$dir" = "x$object" && dir=
-   base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
-
-   if test "$libtool" = yes; then
-      # With Tru64 cc, shared objects can also be used to make a
-      # static library.  This mechanism is used in libtool 1.4 series to
-      # handle both shared and static libraries in a single compilation.
-      # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
-      #
-      # With libtool 1.5 this exception was removed, and libtool now
-      # generates 2 separate objects for the 2 libraries.  These two
-      # compilations output dependencies in $dir.libs/$base.o.d and
-      # in $dir$base.o.d.  We have to check for both files, because
-      # one of the two compilations can be disabled.  We should prefer
-      # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
-      # automatically cleaned when .libs/ is deleted, while ignoring
-      # the former would cause a distcleancheck panic.
-      tmpdepfile1=$dir.libs/$base.lo.d   # libtool 1.4
-      tmpdepfile2=$dir$base.o.d          # libtool 1.5
-      tmpdepfile3=$dir.libs/$base.o.d    # libtool 1.5
-      tmpdepfile4=$dir.libs/$base.d      # Compaq CCC V6.2-504
-      "$@" -Wc,-MD
-   else
-      tmpdepfile1=$dir$base.o.d
-      tmpdepfile2=$dir$base.d
-      tmpdepfile3=$dir$base.d
-      tmpdepfile4=$dir$base.d
-      "$@" -MD
-   fi
-
-   stat=$?
-   if test $stat -eq 0; then :
-   else
-      rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
-      exit $stat
-   fi
-
-   for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
-   do
-     test -f "$tmpdepfile" && break
-   done
-   if test -f "$tmpdepfile"; then
-      sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
-      # That's a tab and a space in the [].
-      sed -e 's,^.*\.[a-z]*:[	 ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
-   else
-      echo "#dummy" > "$depfile"
-   fi
-   rm -f "$tmpdepfile"
-   ;;
-
-#nosideeffect)
-  # This comment above is used by automake to tell side-effect
-  # dependency tracking mechanisms from slower ones.
-
-dashmstdout)
-  # Important note: in order to support this mode, a compiler *must*
-  # always write the preprocessed file to stdout, regardless of -o.
-  "$@" || exit $?
-
-  # Remove the call to Libtool.
-  if test "$libtool" = yes; then
-    while test "X$1" != 'X--mode=compile'; do
-      shift
-    done
-    shift
-  fi
-
-  # Remove `-o $object'.
-  IFS=" "
-  for arg
-  do
-    case $arg in
-    -o)
-      shift
-      ;;
-    $object)
-      shift
-      ;;
-    *)
-      set fnord "$@" "$arg"
-      shift # fnord
-      shift # $arg
-      ;;
-    esac
-  done
-
-  test -z "$dashmflag" && dashmflag=-M
-  # Require at least two characters before searching for `:'
-  # in the target name.  This is to cope with DOS-style filenames:
-  # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
-  "$@" $dashmflag |
-    sed 's:^[  ]*[^: ][^:][^:]*\:[    ]*:'"$object"'\: :' > "$tmpdepfile"
-  rm -f "$depfile"
-  cat < "$tmpdepfile" > "$depfile"
-  tr ' ' '
-' < "$tmpdepfile" | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly.  Breaking it into two sed invocations is a workaround.
-    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-dashXmstdout)
-  # This case only exists to satisfy depend.m4.  It is never actually
-  # run, as this mode is specially recognized in the preamble.
-  exit 1
-  ;;
-
-makedepend)
-  "$@" || exit $?
-  # Remove any Libtool call
-  if test "$libtool" = yes; then
-    while test "X$1" != 'X--mode=compile'; do
-      shift
-    done
-    shift
-  fi
-  # X makedepend
-  shift
-  cleared=no eat=no
-  for arg
-  do
-    case $cleared in
-    no)
-      set ""; shift
-      cleared=yes ;;
-    esac
-    if test $eat = yes; then
-      eat=no
-      continue
-    fi
-    case "$arg" in
-    -D*|-I*)
-      set fnord "$@" "$arg"; shift ;;
-    # Strip any option that makedepend may not understand.  Remove
-    # the object too, otherwise makedepend will parse it as a source file.
-    -arch)
-      eat=yes ;;
-    -*|$object)
-      ;;
-    *)
-      set fnord "$@" "$arg"; shift ;;
-    esac
-  done
-  obj_suffix=`echo "$object" | sed 's/^.*\././'`
-  touch "$tmpdepfile"
-  ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
-  rm -f "$depfile"
-  cat < "$tmpdepfile" > "$depfile"
-  sed '1,2d' "$tmpdepfile" | tr ' ' '
-' | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly.  Breaking it into two sed invocations is a workaround.
-    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
-  rm -f "$tmpdepfile" "$tmpdepfile".bak
-  ;;
-
-cpp)
-  # Important note: in order to support this mode, a compiler *must*
-  # always write the preprocessed file to stdout.
-  "$@" || exit $?
-
-  # Remove the call to Libtool.
-  if test "$libtool" = yes; then
-    while test "X$1" != 'X--mode=compile'; do
-      shift
-    done
-    shift
-  fi
-
-  # Remove `-o $object'.
-  IFS=" "
-  for arg
-  do
-    case $arg in
-    -o)
-      shift
-      ;;
-    $object)
-      shift
-      ;;
-    *)
-      set fnord "$@" "$arg"
-      shift # fnord
-      shift # $arg
-      ;;
-    esac
-  done
-
-  "$@" -E |
-    sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
-       -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
-    sed '$ s: \\$::' > "$tmpdepfile"
-  rm -f "$depfile"
-  echo "$object : \\" > "$depfile"
-  cat < "$tmpdepfile" >> "$depfile"
-  sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-msvisualcpp)
-  # Important note: in order to support this mode, a compiler *must*
-  # always write the preprocessed file to stdout.
-  "$@" || exit $?
-
-  # Remove the call to Libtool.
-  if test "$libtool" = yes; then
-    while test "X$1" != 'X--mode=compile'; do
-      shift
-    done
-    shift
-  fi
-
-  IFS=" "
-  for arg
-  do
-    case "$arg" in
-    -o)
-      shift
-      ;;
-    $object)
-      shift
-      ;;
-    "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
-	set fnord "$@"
-	shift
-	shift
-	;;
-    *)
-	set fnord "$@" "$arg"
-	shift
-	shift
-	;;
-    esac
-  done
-  "$@" -E 2>/dev/null |
-  sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
-  rm -f "$depfile"
-  echo "$object : \\" > "$depfile"
-  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::	\1 \\:p' >> "$depfile"
-  echo "	" >> "$depfile"
-  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-msvcmsys)
-  # This case exists only to let depend.m4 do its work.  It works by
-  # looking at the text of this script.  This case will never be run,
-  # since it is checked for above.
-  exit 1
-  ;;
-
-none)
-  exec "$@"
-  ;;
-
-*)
-  echo "Unknown depmode $depmode" 1>&2
-  exit 1
-  ;;
-esac
-
-exit 0
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
-# time-stamp-end: "; # UTC"
-# End:
diff --git a/doc/.gitignore b/doc/.gitignore
new file mode 100644
index 0000000..ec647dd
--- /dev/null
+++ b/doc/.gitignore
@@ -0,0 +1,4 @@
+Doxyfile
+html
+latex
+man
diff --git a/doc/Makefile.in b/doc/Makefile.in
deleted file mode 100644
index 0833998..0000000
--- a/doc/Makefile.in
+++ /dev/null
@@ -1,384 +0,0 @@
-# Makefile.in generated by automake 1.11 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = doc
-DIST_COMMON = $(srcdir)/Doxyfile.in $(srcdir)/Makefile.am \
-	$(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/byteorder.m4 \
-	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/stdint.m4 \
-	$(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-	$(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES = Doxyfile
-CONFIG_CLEAN_VPATH_FILES =
-SOURCES =
-DIST_SOURCES =
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-HAVE_DOXYGEN = @HAVE_DOXYGEN@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBICONV = @LTLIBICONV@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OSFLAGS = @OSFLAGS@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-effective_target = @effective_target@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-ms_lib_exe = @ms_lib_exe@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-EXTRA_DIST = Doxyfile.in examples.h mainpage.h
-@HAVE_DOXYGEN_TRUE@pkgdocdir = $(datadir)/doc/$(PACKAGE)-$(VERSION)
-@HAVE_DOXYGEN_TRUE@htmldocdir = $(pkgdocdir)/html
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
-	@for dep in $?; do \
-	  case '$(am__configure_deps)' in \
-	    *$$dep*) \
-	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
-	        && { if test -f $@; then exit 0; else break; fi; }; \
-	      exit 1;; \
-	  esac; \
-	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/Makefile'; \
-	$(am__cd) $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign doc/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-	@case '$?' in \
-	  *config.status*) \
-	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
-	  *) \
-	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
-	esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure:  $(am__configure_deps)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-Doxyfile: $(top_builddir)/config.status $(srcdir)/Doxyfile.in
-	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-
-mostlyclean-libtool:
-	-rm -f *.lo
-
-clean-libtool:
-	-rm -rf .libs _libs
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-distdir: $(DISTFILES)
-	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-	list='$(DISTFILES)'; \
-	  dist_files=`for file in $$list; do echo $$file; done | \
-	  sed -e "s|^$$srcdirstrip/||;t" \
-	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-	case $$dist_files in \
-	  */*) $(MKDIR_P) `echo "$$dist_files" | \
-			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-			   sort -u` ;; \
-	esac; \
-	for file in $$dist_files; do \
-	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-	  if test -d $$d/$$file; then \
-	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-	    if test -d "$(distdir)/$$file"; then \
-	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-	    fi; \
-	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-	    fi; \
-	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-	  else \
-	    test -f "$(distdir)/$$file" \
-	    || cp -p $$d/$$file "$(distdir)/$$file" \
-	    || exit 1; \
-	  fi; \
-	done
-check-am: all-am
-check: check-am
-@HAVE_DOXYGEN_FALSE@all-local:
-all-am: Makefile all-local
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
-	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
-	@echo "This command is intended for maintainers to use"
-	@echo "it deletes files that may require special tools to rebuild."
-@HAVE_DOXYGEN_FALSE@uninstall-local:
-@HAVE_DOXYGEN_FALSE@install-data-local:
-@HAVE_DOXYGEN_FALSE@clean-local:
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-local mostlyclean-am
-
-distclean: distclean-am
-	-rm -f Makefile
-distclean-am: clean-am distclean-generic
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am: install-data-local
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
-	-rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-local
-
-.MAKE: install-am install-strip
-
-.PHONY: all all-am all-local check check-am clean clean-generic \
-	clean-libtool clean-local distclean distclean-generic \
-	distclean-libtool distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am \
-	install-data-local install-dvi install-dvi-am install-exec \
-	install-exec-am install-html install-html-am install-info \
-	install-info-am install-man install-pdf install-pdf-am \
-	install-ps install-ps-am install-strip installcheck \
-	installcheck-am installdirs maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-generic \
-	mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
-	uninstall-local
-
-
-@HAVE_DOXYGEN_TRUE@all-local:
-@HAVE_DOXYGEN_TRUE@	doxygen
-
-@HAVE_DOXYGEN_TRUE@install-data-local:
-@HAVE_DOXYGEN_TRUE@	$(INSTALL) -d $(DESTDIR)$(htmldocdir)
-@HAVE_DOXYGEN_TRUE@	$(INSTALL_DATA) html/* $(DESTDIR)$(htmldocdir)
-
-@HAVE_DOXYGEN_TRUE@uninstall-local:
-@HAVE_DOXYGEN_TRUE@	$(RM) -r $(DESTDIR)$(htmldocdir)
-@HAVE_DOXYGEN_TRUE@	$(RM) -r $(DESTDIR)$(pkgdocdir)
-
-@HAVE_DOXYGEN_TRUE@clean-local:
-@HAVE_DOXYGEN_TRUE@	$(RM) -r html latex man
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/examples/.gitignore b/examples/.gitignore
new file mode 100644
index 0000000..d6f7948
--- /dev/null
+++ b/examples/.gitignore
@@ -0,0 +1,3 @@
+.deps
+.libs
+mtp-*
diff --git a/examples/Makefile.am b/examples/Makefile.am
index 101141c..46ac70f 100644
--- a/examples/Makefile.am
+++ b/examples/Makefile.am
@@ -1,34 +1,34 @@
-bin_PROGRAMS=connect detect tracks files hotplug \
-	folders trexist playlists getplaylist \
-	format albumart albums newplaylist emptyfolders \
-	thumb reset
+bin_PROGRAMS=mtp-connect mtp-detect mtp-tracks mtp-files \
+	mtp-folders mtp-trexist mtp-playlists mtp-getplaylist \
+	mtp-format mtp-albumart mtp-albums mtp-newplaylist mtp-emptyfolders \
+	mtp-thumb mtp-reset mtp-filetree
 
-connect_SOURCES=connect.c delfile.c getfile.c newfolder.c \
+mtp_connect_SOURCES=connect.c connect.h delfile.c getfile.c newfolder.c \
 	sendfile.c sendtr.c pathutils.c pathutils.h \
 	util.c util.h common.h
-detect_SOURCES=detect.c util.c util.h common.h
-tracks_SOURCES=tracks.c util.c util.h common.h
-files_SOURCES=files.c util.c util.h common.h
-hotplug_SOURCES=hotplug.c util.c util.h common.h
-folders_SOURCES=folders.c util.c util.h common.h
-trexist_SOURCES=trexist.c util.c util.h common.h
-playlists_SOURCES=playlists.c util.c util.h common.h
-getplaylist_SOURCES=getplaylist.c util.c util.h common.h
-newplaylist_SOURCES=newplaylist.c util.c util.h common.h
-format_SOURCES=format.c util.c util.h common.h
-albumart_SOURCES=albumart.c util.c util.h common.h
-albums_SOURCES=albums.c util.c util.h common.h
-emptyfolders_SOURCES=emptyfolders.c util.c util.h common.h
-thumb_SOURCES=thumb.c util.c util.h common.h
-reset_SOURCES=reset.c util.c util.h common.h
+mtp_detect_SOURCES=detect.c util.c util.h common.h
+mtp_tracks_SOURCES=tracks.c util.c util.h common.h
+mtp_files_SOURCES=files.c util.c util.h common.h
+mtp_folders_SOURCES=folders.c util.c util.h common.h
+mtp_trexist_SOURCES=trexist.c util.c util.h common.h
+mtp_playlists_SOURCES=playlists.c util.c util.h common.h
+mtp_getplaylist_SOURCES=getplaylist.c util.c util.h common.h
+mtp_newplaylist_SOURCES=newplaylist.c util.c util.h common.h
+mtp_format_SOURCES=format.c util.c util.h common.h
+mtp_albumart_SOURCES=albumart.c util.c util.h common.h
+mtp_albums_SOURCES=albums.c util.c util.h common.h
+mtp_emptyfolders_SOURCES=emptyfolders.c util.c util.h common.h
+mtp_thumb_SOURCES=thumb.c util.c util.h common.h
+mtp_reset_SOURCES=reset.c util.c util.h common.h
+mtp_filetree_SOURCES=filetree.c util.c util.h common.h
 
 AM_CPPFLAGS=-I$(top_builddir)/src
 LDADD=../src/libmtp.la
 EXTRA_DIST=evolution-sync.sh
 
 install-exec-hook:
-	ln -f -s $(DESTDIR)$(bindir)/mtp-connect$(EXEEXT) $(DESTDIR)$(bindir)/mtp-delfile$(EXEEXT)
-	ln -f -s $(DESTDIR)$(bindir)/mtp-connect$(EXEEXT) $(DESTDIR)$(bindir)/mtp-getfile$(EXEEXT)
-	ln -f -s $(DESTDIR)$(bindir)/mtp-connect$(EXEEXT) $(DESTDIR)$(bindir)/mtp-newfolder$(EXEEXT)
-	ln -f -s $(DESTDIR)$(bindir)/mtp-connect$(EXEEXT) $(DESTDIR)$(bindir)/mtp-sendfile$(EXEEXT)
-	ln -f -s $(DESTDIR)$(bindir)/mtp-connect$(EXEEXT) $(DESTDIR)$(bindir)/mtp-sendtr$(EXEEXT)
+	ln -f -s mtp-connect$(EXEEXT) $(DESTDIR)$(bindir)/mtp-delfile$(EXEEXT)
+	ln -f -s mtp-connect$(EXEEXT) $(DESTDIR)$(bindir)/mtp-getfile$(EXEEXT)
+	ln -f -s mtp-connect$(EXEEXT) $(DESTDIR)$(bindir)/mtp-newfolder$(EXEEXT)
+	ln -f -s mtp-connect$(EXEEXT) $(DESTDIR)$(bindir)/mtp-sendfile$(EXEEXT)
+	ln -f -s mtp-connect$(EXEEXT) $(DESTDIR)$(bindir)/mtp-sendtr$(EXEEXT)
diff --git a/examples/Makefile.in b/examples/Makefile.in
deleted file mode 100644
index 875656e..0000000
--- a/examples/Makefile.in
+++ /dev/null
@@ -1,687 +0,0 @@
-# Makefile.in generated by automake 1.11 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-bin_PROGRAMS = connect$(EXEEXT) detect$(EXEEXT) tracks$(EXEEXT) \
-	files$(EXEEXT) hotplug$(EXEEXT) folders$(EXEEXT) \
-	trexist$(EXEEXT) playlists$(EXEEXT) getplaylist$(EXEEXT) \
-	format$(EXEEXT) albumart$(EXEEXT) albums$(EXEEXT) \
-	newplaylist$(EXEEXT) emptyfolders$(EXEEXT) thumb$(EXEEXT) \
-	reset$(EXEEXT)
-subdir = examples
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/byteorder.m4 \
-	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/stdint.m4 \
-	$(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-	$(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-CONFIG_CLEAN_VPATH_FILES =
-am__installdirs = "$(DESTDIR)$(bindir)"
-PROGRAMS = $(bin_PROGRAMS)
-am_albumart_OBJECTS = albumart.$(OBJEXT) util.$(OBJEXT)
-albumart_OBJECTS = $(am_albumart_OBJECTS)
-albumart_LDADD = $(LDADD)
-albumart_DEPENDENCIES = ../src/libmtp.la
-am_albums_OBJECTS = albums.$(OBJEXT) util.$(OBJEXT)
-albums_OBJECTS = $(am_albums_OBJECTS)
-albums_LDADD = $(LDADD)
-albums_DEPENDENCIES = ../src/libmtp.la
-am_connect_OBJECTS = connect.$(OBJEXT) delfile.$(OBJEXT) \
-	getfile.$(OBJEXT) newfolder.$(OBJEXT) sendfile.$(OBJEXT) \
-	sendtr.$(OBJEXT) pathutils.$(OBJEXT) util.$(OBJEXT)
-connect_OBJECTS = $(am_connect_OBJECTS)
-connect_LDADD = $(LDADD)
-connect_DEPENDENCIES = ../src/libmtp.la
-am_detect_OBJECTS = detect.$(OBJEXT) util.$(OBJEXT)
-detect_OBJECTS = $(am_detect_OBJECTS)
-detect_LDADD = $(LDADD)
-detect_DEPENDENCIES = ../src/libmtp.la
-am_emptyfolders_OBJECTS = emptyfolders.$(OBJEXT) util.$(OBJEXT)
-emptyfolders_OBJECTS = $(am_emptyfolders_OBJECTS)
-emptyfolders_LDADD = $(LDADD)
-emptyfolders_DEPENDENCIES = ../src/libmtp.la
-am_files_OBJECTS = files.$(OBJEXT) util.$(OBJEXT)
-files_OBJECTS = $(am_files_OBJECTS)
-files_LDADD = $(LDADD)
-files_DEPENDENCIES = ../src/libmtp.la
-am_folders_OBJECTS = folders.$(OBJEXT) util.$(OBJEXT)
-folders_OBJECTS = $(am_folders_OBJECTS)
-folders_LDADD = $(LDADD)
-folders_DEPENDENCIES = ../src/libmtp.la
-am_format_OBJECTS = format.$(OBJEXT) util.$(OBJEXT)
-format_OBJECTS = $(am_format_OBJECTS)
-format_LDADD = $(LDADD)
-format_DEPENDENCIES = ../src/libmtp.la
-am_getplaylist_OBJECTS = getplaylist.$(OBJEXT) util.$(OBJEXT)
-getplaylist_OBJECTS = $(am_getplaylist_OBJECTS)
-getplaylist_LDADD = $(LDADD)
-getplaylist_DEPENDENCIES = ../src/libmtp.la
-am_hotplug_OBJECTS = hotplug.$(OBJEXT) util.$(OBJEXT)
-hotplug_OBJECTS = $(am_hotplug_OBJECTS)
-hotplug_LDADD = $(LDADD)
-hotplug_DEPENDENCIES = ../src/libmtp.la
-am_newplaylist_OBJECTS = newplaylist.$(OBJEXT) util.$(OBJEXT)
-newplaylist_OBJECTS = $(am_newplaylist_OBJECTS)
-newplaylist_LDADD = $(LDADD)
-newplaylist_DEPENDENCIES = ../src/libmtp.la
-am_playlists_OBJECTS = playlists.$(OBJEXT) util.$(OBJEXT)
-playlists_OBJECTS = $(am_playlists_OBJECTS)
-playlists_LDADD = $(LDADD)
-playlists_DEPENDENCIES = ../src/libmtp.la
-am_reset_OBJECTS = reset.$(OBJEXT) util.$(OBJEXT)
-reset_OBJECTS = $(am_reset_OBJECTS)
-reset_LDADD = $(LDADD)
-reset_DEPENDENCIES = ../src/libmtp.la
-am_thumb_OBJECTS = thumb.$(OBJEXT) util.$(OBJEXT)
-thumb_OBJECTS = $(am_thumb_OBJECTS)
-thumb_LDADD = $(LDADD)
-thumb_DEPENDENCIES = ../src/libmtp.la
-am_tracks_OBJECTS = tracks.$(OBJEXT) util.$(OBJEXT)
-tracks_OBJECTS = $(am_tracks_OBJECTS)
-tracks_LDADD = $(LDADD)
-tracks_DEPENDENCIES = ../src/libmtp.la
-am_trexist_OBJECTS = trexist.$(OBJEXT) util.$(OBJEXT)
-trexist_OBJECTS = $(am_trexist_OBJECTS)
-trexist_LDADD = $(LDADD)
-trexist_DEPENDENCIES = ../src/libmtp.la
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
-SOURCES = $(albumart_SOURCES) $(albums_SOURCES) $(connect_SOURCES) \
-	$(detect_SOURCES) $(emptyfolders_SOURCES) $(files_SOURCES) \
-	$(folders_SOURCES) $(format_SOURCES) $(getplaylist_SOURCES) \
-	$(hotplug_SOURCES) $(newplaylist_SOURCES) $(playlists_SOURCES) \
-	$(reset_SOURCES) $(thumb_SOURCES) $(tracks_SOURCES) \
-	$(trexist_SOURCES)
-DIST_SOURCES = $(albumart_SOURCES) $(albums_SOURCES) \
-	$(connect_SOURCES) $(detect_SOURCES) $(emptyfolders_SOURCES) \
-	$(files_SOURCES) $(folders_SOURCES) $(format_SOURCES) \
-	$(getplaylist_SOURCES) $(hotplug_SOURCES) \
-	$(newplaylist_SOURCES) $(playlists_SOURCES) $(reset_SOURCES) \
-	$(thumb_SOURCES) $(tracks_SOURCES) $(trexist_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-HAVE_DOXYGEN = @HAVE_DOXYGEN@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBICONV = @LTLIBICONV@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OSFLAGS = @OSFLAGS@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-effective_target = @effective_target@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-ms_lib_exe = @ms_lib_exe@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-connect_SOURCES = connect.c delfile.c getfile.c newfolder.c \
-	sendfile.c sendtr.c pathutils.c pathutils.h \
-	util.c util.h common.h
-
-detect_SOURCES = detect.c util.c util.h common.h
-tracks_SOURCES = tracks.c util.c util.h common.h
-files_SOURCES = files.c util.c util.h common.h
-hotplug_SOURCES = hotplug.c util.c util.h common.h
-folders_SOURCES = folders.c util.c util.h common.h
-trexist_SOURCES = trexist.c util.c util.h common.h
-playlists_SOURCES = playlists.c util.c util.h common.h
-getplaylist_SOURCES = getplaylist.c util.c util.h common.h
-newplaylist_SOURCES = newplaylist.c util.c util.h common.h
-format_SOURCES = format.c util.c util.h common.h
-albumart_SOURCES = albumart.c util.c util.h common.h
-albums_SOURCES = albums.c util.c util.h common.h
-emptyfolders_SOURCES = emptyfolders.c util.c util.h common.h
-thumb_SOURCES = thumb.c util.c util.h common.h
-reset_SOURCES = reset.c util.c util.h common.h
-AM_CPPFLAGS = -I$(top_builddir)/src
-LDADD = ../src/libmtp.la
-EXTRA_DIST = evolution-sync.sh
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
-	@for dep in $?; do \
-	  case '$(am__configure_deps)' in \
-	    *$$dep*) \
-	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
-	        && { if test -f $@; then exit 0; else break; fi; }; \
-	      exit 1;; \
-	  esac; \
-	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign examples/Makefile'; \
-	$(am__cd) $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign examples/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-	@case '$?' in \
-	  *config.status*) \
-	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
-	  *) \
-	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
-	esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure:  $(am__configure_deps)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-install-binPROGRAMS: $(bin_PROGRAMS)
-	@$(NORMAL_INSTALL)
-	test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
-	@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
-	for p in $$list; do echo "$$p $$p"; done | \
-	sed 's/$(EXEEXT)$$//' | \
-	while read p p1; do if test -f $$p || test -f $$p1; \
-	  then echo "$$p"; echo "$$p"; else :; fi; \
-	done | \
-	sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
-	    -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
-	sed 'N;N;N;s,\n, ,g' | \
-	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
-	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
-	    if ($$2 == $$4) files[d] = files[d] " " $$1; \
-	    else { print "f", $$3 "/" $$4, $$1; } } \
-	  END { for (d in files) print "f", d, files[d] }' | \
-	while read type dir files; do \
-	    if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
-	    test -z "$$files" || { \
-	    echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
-	    $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
-	    } \
-	; done
-
-uninstall-binPROGRAMS:
-	@$(NORMAL_UNINSTALL)
-	@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
-	files=`for p in $$list; do echo "$$p"; done | \
-	  sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
-	      -e 's/$$/$(EXEEXT)/' `; \
-	test -n "$$list" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(bindir)" && rm -f $$files
-
-clean-binPROGRAMS:
-	@list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
-	echo " rm -f" $$list; \
-	rm -f $$list || exit $$?; \
-	test -n "$(EXEEXT)" || exit 0; \
-	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
-	echo " rm -f" $$list; \
-	rm -f $$list
-albumart$(EXEEXT): $(albumart_OBJECTS) $(albumart_DEPENDENCIES) 
-	@rm -f albumart$(EXEEXT)
-	$(LINK) $(albumart_OBJECTS) $(albumart_LDADD) $(LIBS)
-albums$(EXEEXT): $(albums_OBJECTS) $(albums_DEPENDENCIES) 
-	@rm -f albums$(EXEEXT)
-	$(LINK) $(albums_OBJECTS) $(albums_LDADD) $(LIBS)
-connect$(EXEEXT): $(connect_OBJECTS) $(connect_DEPENDENCIES) 
-	@rm -f connect$(EXEEXT)
-	$(LINK) $(connect_OBJECTS) $(connect_LDADD) $(LIBS)
-detect$(EXEEXT): $(detect_OBJECTS) $(detect_DEPENDENCIES) 
-	@rm -f detect$(EXEEXT)
-	$(LINK) $(detect_OBJECTS) $(detect_LDADD) $(LIBS)
-emptyfolders$(EXEEXT): $(emptyfolders_OBJECTS) $(emptyfolders_DEPENDENCIES) 
-	@rm -f emptyfolders$(EXEEXT)
-	$(LINK) $(emptyfolders_OBJECTS) $(emptyfolders_LDADD) $(LIBS)
-files$(EXEEXT): $(files_OBJECTS) $(files_DEPENDENCIES) 
-	@rm -f files$(EXEEXT)
-	$(LINK) $(files_OBJECTS) $(files_LDADD) $(LIBS)
-folders$(EXEEXT): $(folders_OBJECTS) $(folders_DEPENDENCIES) 
-	@rm -f folders$(EXEEXT)
-	$(LINK) $(folders_OBJECTS) $(folders_LDADD) $(LIBS)
-format$(EXEEXT): $(format_OBJECTS) $(format_DEPENDENCIES) 
-	@rm -f format$(EXEEXT)
-	$(LINK) $(format_OBJECTS) $(format_LDADD) $(LIBS)
-getplaylist$(EXEEXT): $(getplaylist_OBJECTS) $(getplaylist_DEPENDENCIES) 
-	@rm -f getplaylist$(EXEEXT)
-	$(LINK) $(getplaylist_OBJECTS) $(getplaylist_LDADD) $(LIBS)
-hotplug$(EXEEXT): $(hotplug_OBJECTS) $(hotplug_DEPENDENCIES) 
-	@rm -f hotplug$(EXEEXT)
-	$(LINK) $(hotplug_OBJECTS) $(hotplug_LDADD) $(LIBS)
-newplaylist$(EXEEXT): $(newplaylist_OBJECTS) $(newplaylist_DEPENDENCIES) 
-	@rm -f newplaylist$(EXEEXT)
-	$(LINK) $(newplaylist_OBJECTS) $(newplaylist_LDADD) $(LIBS)
-playlists$(EXEEXT): $(playlists_OBJECTS) $(playlists_DEPENDENCIES) 
-	@rm -f playlists$(EXEEXT)
-	$(LINK) $(playlists_OBJECTS) $(playlists_LDADD) $(LIBS)
-reset$(EXEEXT): $(reset_OBJECTS) $(reset_DEPENDENCIES) 
-	@rm -f reset$(EXEEXT)
-	$(LINK) $(reset_OBJECTS) $(reset_LDADD) $(LIBS)
-thumb$(EXEEXT): $(thumb_OBJECTS) $(thumb_DEPENDENCIES) 
-	@rm -f thumb$(EXEEXT)
-	$(LINK) $(thumb_OBJECTS) $(thumb_LDADD) $(LIBS)
-tracks$(EXEEXT): $(tracks_OBJECTS) $(tracks_DEPENDENCIES) 
-	@rm -f tracks$(EXEEXT)
-	$(LINK) $(tracks_OBJECTS) $(tracks_LDADD) $(LIBS)
-trexist$(EXEEXT): $(trexist_OBJECTS) $(trexist_DEPENDENCIES) 
-	@rm -f trexist$(EXEEXT)
-	$(LINK) $(trexist_OBJECTS) $(trexist_LDADD) $(LIBS)
-
-mostlyclean-compile:
-	-rm -f *.$(OBJEXT)
-
-distclean-compile:
-	-rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/albumart.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/albums.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/connect.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/delfile.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/detect.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/emptyfolders.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/files.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/folders.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/format.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getfile.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getplaylist.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hotplug.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/newfolder.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/newplaylist.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pathutils.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/playlists.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reset.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sendfile.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sendtr.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/thumb.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tracks.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/trexist.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/util.Po@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
-	-rm -f *.lo
-
-clean-libtool:
-	-rm -rf .libs _libs
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	mkid -fID $$unique
-tags: TAGS
-
-TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-		$(TAGS_FILES) $(LISP)
-	set x; \
-	here=`pwd`; \
-	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	shift; \
-	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
-	  test -n "$$unique" || unique=$$empty_fix; \
-	  if test $$# -gt 0; then \
-	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	      "$$@" $$unique; \
-	  else \
-	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	      $$unique; \
-	  fi; \
-	fi
-ctags: CTAGS
-CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-		$(TAGS_FILES) $(LISP)
-	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	test -z "$(CTAGS_ARGS)$$unique" \
-	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$unique
-
-GTAGS:
-	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && $(am__cd) $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
-	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-	list='$(DISTFILES)'; \
-	  dist_files=`for file in $$list; do echo $$file; done | \
-	  sed -e "s|^$$srcdirstrip/||;t" \
-	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-	case $$dist_files in \
-	  */*) $(MKDIR_P) `echo "$$dist_files" | \
-			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-			   sort -u` ;; \
-	esac; \
-	for file in $$dist_files; do \
-	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-	  if test -d $$d/$$file; then \
-	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-	    if test -d "$(distdir)/$$file"; then \
-	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-	    fi; \
-	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-	    fi; \
-	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-	  else \
-	    test -f "$(distdir)/$$file" \
-	    || cp -p $$d/$$file "$(distdir)/$$file" \
-	    || exit 1; \
-	  fi; \
-	done
-check-am: all-am
-check: check-am
-all-am: Makefile $(PROGRAMS)
-installdirs:
-	for dir in "$(DESTDIR)$(bindir)"; do \
-	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
-	done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
-	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-
-maintainer-clean-generic:
-	@echo "This command is intended for maintainers to use"
-	@echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
-	-rm -rf ./$(DEPDIR)
-	-rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
-	distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am: install-binPROGRAMS
-	@$(NORMAL_INSTALL)
-	$(MAKE) $(AM_MAKEFLAGS) install-exec-hook
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
-	-rm -rf ./$(DEPDIR)
-	-rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
-	mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-binPROGRAMS
-
-.MAKE: install-am install-exec-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
-	clean-generic clean-libtool ctags distclean distclean-compile \
-	distclean-generic distclean-libtool distclean-tags distdir dvi \
-	dvi-am html html-am info info-am install install-am \
-	install-binPROGRAMS install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-exec-hook \
-	install-html install-html-am install-info install-info-am \
-	install-man install-pdf install-pdf-am install-ps \
-	install-ps-am install-strip installcheck installcheck-am \
-	installdirs maintainer-clean maintainer-clean-generic \
-	mostlyclean mostlyclean-compile mostlyclean-generic \
-	mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
-	uninstall-am uninstall-binPROGRAMS
-
-
-install-exec-hook:
-	ln -f -s $(DESTDIR)$(bindir)/mtp-connect$(EXEEXT) $(DESTDIR)$(bindir)/mtp-delfile$(EXEEXT)
-	ln -f -s $(DESTDIR)$(bindir)/mtp-connect$(EXEEXT) $(DESTDIR)$(bindir)/mtp-getfile$(EXEEXT)
-	ln -f -s $(DESTDIR)$(bindir)/mtp-connect$(EXEEXT) $(DESTDIR)$(bindir)/mtp-newfolder$(EXEEXT)
-	ln -f -s $(DESTDIR)$(bindir)/mtp-connect$(EXEEXT) $(DESTDIR)$(bindir)/mtp-sendfile$(EXEEXT)
-	ln -f -s $(DESTDIR)$(bindir)/mtp-connect$(EXEEXT) $(DESTDIR)$(bindir)/mtp-sendtr$(EXEEXT)
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/examples/albumart.c b/examples/albumart.c
index 61b056e..350ba45 100644
--- a/examples/albumart.c
+++ b/examples/albumart.c
@@ -34,7 +34,7 @@
 #endif
 
 static void usage(void) {
-  printf("Usage: albumart -i <fileid/trackid> -n <albumname> <imagefile>\n");
+  printf("Usage: albumart -d -i <fileid/trackid> -n <albumname> -s <storage_id> -p <parent_id> <imagefile>\n");
   exit(0);
 }
 
@@ -53,13 +53,19 @@
   char *path = NULL;
   char *rest;
   struct stat statbuff;
+  uint32_t storageid = 0;
+  uint32_t parentid = 0;
+  int ret;
 
   fprintf(stdout, "libmtp version: " LIBMTP_VERSION_STRING "\n\n");
 
-  while ( (opt = getopt(argc, argv, "hn:i:")) != -1 ) {
+  while ( (opt = getopt(argc, argv, "dhn:i:s:p:")) != -1 ) {
     switch (opt) {
     case 'h':
       usage();
+    case 'd':
+      LIBMTP_Set_Debug(LIBMTP_DEBUG_PTP | LIBMTP_DEBUG_DATA);
+      break;
     case 'i':
       idcount++;
       if ((tmp = realloc(ids, sizeof(uint32_t) * (idcount))) == NULL) {
@@ -72,6 +78,12 @@
     case 'n':
       albumname = strdup(optarg);
       break;
+    case 's':
+      storageid = (uint32_t) strtoul(optarg, NULL, 0);
+	  break;
+    case 'p':
+      parentid = (uint32_t) strtoul(optarg, NULL, 0);
+	  break;
     default:
       usage();
     }
@@ -113,7 +125,8 @@
     return 1;
   }
   else {
-    read(fd, imagedata, filesize);
+    ret = read(fd, imagedata, filesize);
+    if (ret == -1) perror("read");
     close(fd);
   }
 
@@ -133,9 +146,10 @@
   album->name = albumname;
   album->no_tracks = idcount;
   album->tracks = ids;
-  album->parent_id = 0;
-  album->storage_id = 0;
-  int ret = LIBMTP_Create_New_Album(device,album);
+  album->parent_id = parentid;
+  album->storage_id = storageid;
+
+  ret = LIBMTP_Create_New_Album(device,album);
   if (ret == 0) {
     ret = LIBMTP_Send_Representative_Sample(device,album->album_id, albumart);
     if (ret != 0) {
diff --git a/examples/albums.c b/examples/albums.c
index a653126..ac3860a 100644
--- a/examples/albums.c
+++ b/examples/albums.c
@@ -1,4 +1,4 @@
-/** 
+/**
  * \file albums.c
  * Example program that lists the albums on the device.
  *
@@ -34,14 +34,66 @@
   printf("    Tracks: %d\n\n",album->no_tracks);
 }
 
-int main () {
-  LIBMTP_mtpdevice_t *device_list, *iter;
+static void
+dump_albums(LIBMTP_mtpdevice_t *device, uint32_t storageid, int leaf)
+{
+  LIBMTP_file_t *files;
+
+  /* Get file listing. */
+  files = LIBMTP_Get_Files_And_Folders(device,
+				       storageid,
+				       leaf);
+  if (files == NULL) {
+    LIBMTP_Dump_Errorstack(device);
+    LIBMTP_Clear_Errorstack(device);
+  } else {
+    LIBMTP_file_t *file, *tmp;
+    file = files;
+    while (file != NULL) {
+      /* Please don't print these */
+      if (file->filetype == LIBMTP_FILETYPE_FOLDER) {
+	dump_albums(device, storageid, file->item_id);
+      } else if (file->filetype == LIBMTP_FILETYPE_ALBUM) {
+	LIBMTP_album_t *album;
+
+	album = LIBMTP_Get_Album(device, file->item_id);
+	dump_albuminfo(album);
+	LIBMTP_destroy_album_t(album);
+      }
+      tmp = file;
+      file = file->next;
+      LIBMTP_destroy_file_t(tmp);
+    }
+  }
+}
+
+int main (int argc, char *argv[]) {
+  LIBMTP_raw_device_t *rawdevices;
+  int numrawdevices;
+  LIBMTP_error_number_t err;
+  int i;
+
+  int opt;
+  extern int optind;
+  extern char *optarg;
+
+  while ((opt = getopt(argc, argv, "d")) != -1 ) {
+    switch (opt) {
+    case 'd':
+      LIBMTP_Set_Debug(LIBMTP_DEBUG_PTP | LIBMTP_DEBUG_DATA);
+      break;
+    }
+  }
+
+  argc -= optind;
+  argv += optind;
 
   LIBMTP_Init();
-    
+
   fprintf(stdout, "libmtp version: " LIBMTP_VERSION_STRING "\n\n");
 
-  switch(LIBMTP_Get_Connected_Devices(&device_list))
+  err = LIBMTP_Detect_Raw_Devices(&rawdevices, &numrawdevices);
+  switch(err)
   {
   case LIBMTP_ERROR_NO_DEVICE_ATTACHED:
     fprintf(stdout, "mtp-albums: No Devices have been found\n");
@@ -52,7 +104,7 @@
   case LIBMTP_ERROR_MEMORY_ALLOCATION:
     fprintf(stderr, "mtp-albums: Memory Allocation Error. Exit\n");
     return 1;
- 
+
   /* Unknown general errors - This should never execute */
   case LIBMTP_ERROR_GENERAL:
   default:
@@ -64,35 +116,42 @@
   case LIBMTP_ERROR_NONE:
     fprintf(stdout, "mtp-albums: Successfully connected\n");
     fflush(stdout);
+    break;
   }
-  
+
   /* iterate through connected MTP devices */
-  for(iter = device_list; iter != NULL; iter = iter->next)
-  {
+  for (i = 0; i < numrawdevices; i++) {
+    LIBMTP_mtpdevice_t *device;
+    LIBMTP_devicestorage_t *storage;
     char *friendlyname;
-    LIBMTP_album_t *album_list, *album, *tmp;
-    
+
+    device = LIBMTP_Open_Raw_Device_Uncached(&rawdevices[i]);
+    if (device == NULL) {
+      fprintf(stderr, "Unable to open raw device %d\n", i);
+      continue;
+    }
+
     /* Echo the friendly name so we know which device we are working with */
-    friendlyname = LIBMTP_Get_Friendlyname(iter);
+    friendlyname = LIBMTP_Get_Friendlyname(device);
     if (friendlyname == NULL) {
       printf("Retrieving Albums on Device with name: (NULL)\n");
     } else {
       printf("Retrieving Albums on Device with name: %s\n", friendlyname);
       free(friendlyname);
     }
-    
-    album_list = LIBMTP_Get_Album_List(iter);
-    album = album_list;
-    while(album != NULL)
-    {
-      dump_albuminfo(album);
-      tmp = album;
-      album = album->next;
-      LIBMTP_destroy_album_t(tmp);
+
+    LIBMTP_Dump_Errorstack(device);
+    LIBMTP_Clear_Errorstack(device);
+
+    /* Loop over storages */
+    for (storage = device->storage; storage != 0; storage = storage->next) {
+      dump_albums(device, storage->id, LIBMTP_FILES_AND_FOLDERS_ROOT);
     }
+    LIBMTP_Release_Device(device);
   }
-  
-  LIBMTP_Release_Device_List(device_list);
+
+  free(rawdevices);
+
   printf("OK.\n");
   return 0;
 }
diff --git a/examples/common.h b/examples/common.h
index ec41bb8..b39c44a 100644
--- a/examples/common.h
+++ b/examples/common.h
@@ -1,9 +1,9 @@
-/** 
+/**
  * \file common.h
  * These headers are used by absolutely all sample programs.
  * Special quirks that apply to all samples go here.
  *
- * Copyright (C) 2005-2007 Linus Walleij <triad@df.lth.se>
+ * Copyright (C) 2005-2011 Linus Walleij <triad@df.lth.se>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
diff --git a/examples/connect.c b/examples/connect.c
index 99945eb..6acfb8b 100644
--- a/examples/connect.c
+++ b/examples/connect.c
@@ -1,9 +1,9 @@
-/** 
+/**
  * \file connect.c
  * Main programs implementing several utilities in one.
  *
  * Copyright (C) 2006 Chris A. Debenham <chris@adebenham.com>
- * Copyright (C) 2008-2009 Linus Walleij <triad@df.lth.se>
+ * Copyright (C) 2008-2010 Linus Walleij <triad@df.lth.se>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -24,33 +24,17 @@
 #include <libgen.h>
 #include <getopt.h>
 #include <string.h>
+
 #include "common.h"
 #include "util.h"
 #include "pathutils.h"
+#include "connect.h"
 
 LIBMTP_folder_t *folders;
 LIBMTP_file_t *files;
 LIBMTP_mtpdevice_t *device;
 
-void usage(void);
-void split_arg(char *,char **, char **);
-void delfile_function(char *);
-void delfile_command(int, char **);
-void delfile_usage(void);
-int sendtrack_function(char *, char *, char *, char *, char *, char *, char *, char *, uint16_t, uint16_t, uint16_t);
-void sendtrack_command (int, char **);
-void sendtrack_usage(void);
-void sendfile_function(char *,char *);
-void sendfile_command(int, char **);
-void sendfile_usage(void);
-void getfile_function(char *,char *);
-void getfile_command(int, char **);
-void getfile_usage(void);
-void newfolder_function(char *);
-void newfolder_command(int,char **);
-void newfolder_usage(void);
-
-void
+static void
 split_arg(char * argument, char ** part1, char ** part2)
 {
   char *sepp;
@@ -63,7 +47,7 @@
   *part2 = sepp+1;
 }
 
-void
+static void
 usage(void)
 {
   printf("Usage: connect <command1> <command2>\n");
@@ -77,6 +61,8 @@
 
 int main (int argc, char **argv)
 {
+  int ret = 0;
+
   checklang();
 
   LIBMTP_Init();
@@ -92,16 +78,16 @@
   folders = LIBMTP_Get_Folder_List (device);
 
   if ((strncmp(basename(argv[0]),"mtp-delfile",11) == 0) || (strncmp(basename(argv[0]),"delfile",7) == 0)) {
-    delfile_command(argc,argv);
+    ret = delfile_command(argc,argv);
   } else if ((strncmp(basename(argv[0]),"mtp-getfile",13) == 0) || (strncmp(basename(argv[0]),"getfile",9) == 0)) {
-    getfile_command(argc,argv);
+    ret = getfile_command(argc,argv);
   } else if ((strncmp(basename(argv[0]),"mtp-newfolder",13) == 0) || (strncmp(basename(argv[0]),"newfolder",9) == 0)) {
-    newfolder_command(argc,argv);
+    ret = newfolder_command(argc,argv);
   } else if ((strncmp(basename(argv[0]),"mtp-sendfile",11) == 0) || (strncmp(basename(argv[0]),"sendfile",7) == 0)) {
-    sendfile_command(argc, argv);
+    ret = sendfile_command(argc, argv);
   } else if ((strncmp(basename(argv[0]),"mtp-sendtr",10) == 0) || (strncmp(basename(argv[0]),"sendtr",6) == 0)) {
-    sendtrack_command(argc, argv);
-  } else {  
+    ret = sendtrack_command(argc, argv);
+  } else {
     if ( argc < 2 ) {
       usage ();
       return 1;
@@ -117,43 +103,43 @@
         {"sendtrack", 1, 0, 't'},
         {0, 0, 0, 0}
       };
-  
+
       int c = getopt_long (argc, argv, "d:f:g:n:t:", long_options, &option_index);
       if (c == -1)
         break;
-  
+
       char *arg1, *arg2;
       switch (c) {
       case 'd':
         printf("Delete %s\n",optarg);
-        delfile_function(optarg);
+        ret = delfile_function(optarg);
         break;
-  
+
       case 'f':
         printf("Send file %s\n",optarg);
         split_arg(optarg,&arg1,&arg2);
-        sendfile_function(arg1,arg2);
+        ret = sendfile_function(arg1,arg2);
         break;
-  
+
       case 'g':
         printf("Get file %s\n",optarg);
         split_arg(optarg,&arg1,&arg2);
-        getfile_function(arg1,arg2);
+        ret = getfile_function(arg1,arg2);
         break;
-  
+
       case 'n':
         printf("New folder %s\n",optarg);
-        newfolder_function(optarg);
+        ret = newfolder_function(optarg);
         break;
-  
+
       case 't':
         printf("Send track %s\n",optarg);
         split_arg(optarg,&arg1,&arg2);
-        sendtrack_function(arg1,arg2,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0);
+        ret = sendtrack_function(arg1,arg2,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,0);
         break;
       }
     }
-  
+
     if (optind < argc) {
       printf("Unknown options: ");
       while (optind < argc)
@@ -161,9 +147,8 @@
       printf("\n");
     }
   }
-  
+
   LIBMTP_Release_Device(device);
 
-  exit (0);
+  return ret;
 }
-
diff --git a/examples/connect.h b/examples/connect.h
new file mode 100644
index 0000000..5fe2cd3
--- /dev/null
+++ b/examples/connect.h
@@ -0,0 +1,37 @@
+/**
+ * \file connect.h
+ * Header file for connect subfunctions
+ *
+ * Copyright (C) 2006 Chris A. Debenham <chris@adebenham.com>
+ * Copyright (C) 2008-2010 Linus Walleij <triad@df.lth.se>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+int delfile_function(char *);
+int delfile_command(int, char **);
+void delfile_usage(void);
+int sendtrack_function (char *, char *, char *, char *, char *, char *, char *, char *, uint16_t, uint16_t, uint16_t, uint32_t, uint16_t);
+int sendtrack_command (int, char **);
+void sendtrack_usage(void);
+int sendfile_function(char *,char *);
+int sendfile_command(int, char **);
+void sendfile_usage(void);
+int getfile_function(char *,char *);
+int getfile_command(int, char **);
+void getfile_usage(void);
+int newfolder_function(char *);
+int newfolder_command(int,char **);
+void newfolder_usage(void);
diff --git a/examples/delfile.c b/examples/delfile.c
index 670c703..2ae2509 100644
--- a/examples/delfile.c
+++ b/examples/delfile.c
@@ -20,15 +20,13 @@
  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
  */
-#include "common.h"
-#include "string.h"
-#include "pathutils.h"
 #include <stdlib.h>
 #include <limits.h>
 
-void delfile_usage(void);
-void delfile_function(char *);
-void delfile_command(int, char **);
+#include "common.h"
+#include "string.h"
+#include "pathutils.h"
+#include "connect.h"
 
 extern LIBMTP_mtpdevice_t *device;
 extern LIBMTP_folder_t *folders;
@@ -39,7 +37,7 @@
   printf("Usage: delfile [-n] <fileid/trackid> | -f <filename>\n");
 }
 
-void
+int
 delfile_function(char * path)
 {
   uint32_t id = parse_path (path,files,folders);
@@ -52,16 +50,19 @@
       LIBMTP_Dump_Errorstack(device);
       LIBMTP_Clear_Errorstack(device);
       printf("Failed to remove file\n");
+      return 1;
     }
   }
+  return 0;
 }
 
-void delfile_command(int argc, char **argv)
+int delfile_command(int argc, char **argv)
 {
   int FILENAME = 1;
   int ITEMID = 2;
   int field_type = 0;
   int i;
+  int ret = 0;
 
   if ( argc > 2 ) {
     if (strncmp(argv[1],"-f",2) == 0) {
@@ -72,17 +73,16 @@
       strcpy(argv[1],"0");
     } else {
       delfile_usage();
-      return;
+      return 0;
     }
   } else {
     delfile_usage();
-    return;
+    return 0;
   }
 
   for (i=1;i<argc;i++) {
     uint32_t id;
     char *endptr;
-    int ret = 0;
 
     if (field_type == ITEMID) {
       // Sanity check song ID
@@ -109,5 +109,6 @@
       ret = 1;
     }
   }
+  return ret;
 }
 
diff --git a/examples/detect.c b/examples/detect.c
index 3bc21e7..34ca996 100644
--- a/examples/detect.c
+++ b/examples/detect.c
@@ -1,8 +1,8 @@
-/** 
+/**
  * \file detect.c
  * Example program to detect a device and list capabilities.
  *
- * Copyright (C) 2005-2008 Linus Walleij <triad@df.lth.se>
+ * Copyright (C) 2005-2015 Linus Walleij <triad@df.lth.se>
  * Copyright (C) 2007 Ted Bullock <tbullock@canada.com>
  *
  * This library is free software; you can redistribute it and/or
@@ -34,7 +34,7 @@
 {
   static int endianness = 0; // 0 = LE, 1 = BE
   uint32_t bp = 0;
-  
+
   while (bp < len) {
     if (buf[bp+0] == 0xFF && buf[bp+1] == 0xFE) {
       endianness = 0;
@@ -42,7 +42,7 @@
       endianness = 1;
     } else {
       uint16_t tmp;
-      
+
       if (endianness == 0) {
 	tmp = buf[bp+1] << 8 | buf[bp+0];
       } else {
@@ -64,6 +64,21 @@
   LIBMTP_error_number_t err;
   int i;
 
+  int opt;
+  extern int optind;
+  extern char *optarg;
+
+  while ((opt = getopt(argc, argv, "d")) != -1 ) {
+    switch (opt) {
+    case 'd':
+      LIBMTP_Set_Debug(LIBMTP_DEBUG_PTP | LIBMTP_DEBUG_DATA);
+      break;
+    }
+  }
+
+  argc -= optind;
+  argv += optind;
+
   LIBMTP_Init();
 
   fprintf(stdout, "libmtp version: " LIBMTP_VERSION_STRING "\n\n");
@@ -83,12 +98,12 @@
   case LIBMTP_ERROR_NONE:
     {
       int i;
-      
+
       fprintf(stdout, "   Found %d device(s):\n", numrawdevices);
       for (i = 0; i < numrawdevices; i++) {
 	if (rawdevices[i].device_entry.vendor != NULL ||
 	    rawdevices[i].device_entry.product != NULL) {
-	  fprintf(stdout, "   %s: %s (%04x:%04x) @ bus %d, dev %d\n", 
+	  fprintf(stdout, "   %s: %s (%04x:%04x) @ bus %d, dev %d\n",
 		  rawdevices[i].device_entry.vendor,
 		  rawdevices[i].device_entry.product,
 		  rawdevices[i].device_entry.vendor_id,
@@ -96,7 +111,7 @@
 		  rawdevices[i].bus_location,
 		  rawdevices[i].devnum);
 	} else {
-	  fprintf(stdout, "   %04x:%04x @ bus %d, dev %d\n", 
+	  fprintf(stdout, "   %04x:%04x @ bus %d, dev %d\n",
 		  rawdevices[i].device_entry.vendor_id,
 		  rawdevices[i].device_entry.product_id,
 		  rawdevices[i].bus_location,
@@ -115,7 +130,7 @@
   fprintf(stdout, "Attempting to connect device(s)\n");
   for (i = 0; i < numrawdevices; i++) {
     LIBMTP_mtpdevice_t *device;
-    LIBMTP_file_t *files;
+    LIBMTP_devicestorage_t *storage;
     char *friendlyname;
     char *syncpartner;
     char *sectime;
@@ -126,7 +141,7 @@
     uint8_t currbattlevel;
     int ret;
 
-    device = LIBMTP_Open_Raw_Device(&rawdevices[i]);
+    device = LIBMTP_Open_Raw_Device_Uncached(&rawdevices[i]);
     if (device == NULL) {
       fprintf(stderr, "Unable to open raw device %d\n", i);
       continue;
@@ -135,7 +150,7 @@
     LIBMTP_Dump_Errorstack(device);
     LIBMTP_Clear_Errorstack(device);
     LIBMTP_Dump_Device_Info(device);
-    
+
     printf("MTP-specific device properties:\n");
     // The friendly name
     friendlyname = LIBMTP_Get_Friendlyname(device);
@@ -152,22 +167,22 @@
       fprintf(stdout, "   Synchronization partner: %s\n", syncpartner);
       free(syncpartner);
     }
-    
+
     // Some battery info
     ret = LIBMTP_Get_Batterylevel(device, &maxbattlevel, &currbattlevel);
     if (ret == 0) {
-      fprintf(stdout, "   Battery level %d of %d (%d%%)\n",currbattlevel, maxbattlevel, 
+      fprintf(stdout, "   Battery level %d of %d (%d%%)\n",currbattlevel, maxbattlevel,
 	      (int) ((float) currbattlevel/ (float) maxbattlevel * 100.0));
     } else {
-      // Silently ignore. Some devices does not support getting the 
+      // Silently ignore. Some devices does not support getting the
       // battery level.
       LIBMTP_Clear_Errorstack(device);
     }
-    
+
     ret = LIBMTP_Get_Supported_Filetypes(device, &filetypes, &filetypes_len);
     if (ret == 0) {
       uint16_t i;
-      
+
       printf("libmtp supported (playable) filetypes:\n");
       for (i = 0; i < filetypes_len; i++) {
 	fprintf(stdout, "   %s\n", LIBMTP_Get_Filetype_Description(filetypes[i]));
@@ -176,7 +191,7 @@
       LIBMTP_Dump_Errorstack(device);
       LIBMTP_Clear_Errorstack(device);
     }
-    
+
     // Secure time XML fragment
     ret = LIBMTP_Get_Secure_Time(device, &sectime);
     if (ret == 0 && sectime != NULL) {
@@ -186,44 +201,60 @@
       // Silently ignore - there may be devices not supporting secure time.
       LIBMTP_Clear_Errorstack(device);
     }
-    
+
     // Device certificate XML fragment
-    ret = LIBMTP_Get_Device_Certificate(device, &devcert);
-    if (ret == 0 && devcert != NULL) {
-      fprintf(stdout, "\nDevice Certificate:\n%s\n", devcert);
-      free(devcert);
-    } else {
-      fprintf(stdout, "Unable to acquire device certificate, perhaps this device "
-	      "does not support this\n");
-      LIBMTP_Dump_Errorstack(device);
-      LIBMTP_Clear_Errorstack(device);
+    if (rawdevices[i].device_entry.vendor_id == 0x041e) {
+      /*
+       * This code is currently disabled except for vendors we
+       * know does support it: all devices say that
+       * they support getting a device certificate but a lot of
+       * them obviously doesn't, instead they crash when you try
+       * to obtain it.
+       */
+      ret = LIBMTP_Get_Device_Certificate(device, &devcert);
+      if (ret == 0 && devcert != NULL) {
+	fprintf(stdout, "\nDevice Certificate:\n%s\n", devcert);
+	free(devcert);
+      } else {
+	fprintf(stdout, "Unable to acquire device certificate, perhaps this device "
+		"does not support this\n");
+	LIBMTP_Dump_Errorstack(device);
+	LIBMTP_Clear_Errorstack(device);
+      }
     }
 
-    // Try to get Media player device info XML file...
-    files = LIBMTP_Get_Filelisting_With_Callback(device, NULL, NULL);
-    if (files != NULL) {
-      LIBMTP_file_t *file, *tmp;
-      file = files;
-      while (file != NULL) {
-	if (!strcmp(file->filename, "WMPInfo.xml") ||
-	    !strcmp(file->filename, "WMPinfo.xml") ||
-	    !strcmp(file->filename, "default-capabilities.xml")) {
+    /* Try to get Media player device info XML file... */
+    /* Loop over storages */
+    for (storage = device->storage; storage != 0; storage = storage->next) {
+      LIBMTP_file_t *files;
+
+      /* Get file listing for the root directory, no other dirs */
+      files = LIBMTP_Get_Files_And_Folders(device,
+					   storage->id,
+					   LIBMTP_FILES_AND_FOLDERS_ROOT);
+
+      if (files != NULL) {
+	LIBMTP_file_t *file, *tmp;
+	file = files;
+	while (file != NULL) {
+	  if (!strcmp(file->filename, "WMPInfo.xml") ||
+	      !strcmp(file->filename, "WMPinfo.xml") ||
+	      !strcmp(file->filename, "default-capabilities.xml")) {
 	    if (file->item_id != 0) {
 	      /* Dump this file */
 	      FILE *xmltmp = tmpfile();
 	      int tmpfiledescriptor = fileno(xmltmp);
-	      
+
 	      if (tmpfiledescriptor != -1) {
 		int ret = LIBMTP_Get_Track_To_File_Descriptor(device,
 							      file->item_id,
 							      tmpfiledescriptor,
 							      NULL,
-							      NULL,
-                                  NULL);
+							      NULL);
 		if (ret == 0) {
 		  uint8_t *buf = NULL;
 		  uint32_t readbytes;
-		  
+
 		  buf = malloc(XML_BUFSIZE);
 		  if (buf == NULL) {
 		    printf("Could not allocate %08x bytes...\n", XML_BUFSIZE);
@@ -232,10 +263,10 @@
 		    free(rawdevices);
 		    return 1;
 		  }
-		  
+
 		  lseek(tmpfiledescriptor, 0, SEEK_SET);
 		  readbytes = read(tmpfiledescriptor, (void*) buf, XML_BUFSIZE);
-		  
+
 		  if (readbytes >= 2 && readbytes < XML_BUFSIZE) {
 		    fprintf(stdout, "\n%s file contents:\n", file->filename);
 		    dump_xml_fragment(buf, readbytes);
@@ -252,10 +283,11 @@
 		fclose(xmltmp);
 	      }
 	    }
+	  }
+	  tmp = file;
+	  file = file->next;
+	  LIBMTP_destroy_file_t(tmp);
 	}
-	tmp = file;
-	file = file->next;
-	LIBMTP_destroy_file_t(tmp);
       }
     }
     LIBMTP_Release_Device(device);
@@ -264,6 +296,6 @@
   free(rawdevices);
 
   printf("OK.\n");
-  
-  return 0; 
+
+  return 0;
 }
diff --git a/examples/files.c b/examples/files.c
index 9ccf3d7..6af3b7b 100644
--- a/examples/files.c
+++ b/examples/files.c
@@ -1,8 +1,8 @@
-/** 
+/**
  * \file files.c
  * Example program that lists all files on a device.
  *
- * Copyright (C) 2005-2007 Linus Walleij <triad@df.lth.se>
+ * Copyright (C) 2005-2012 Linus Walleij <triad@df.lth.se>
  * Copyright (C) 2007 Ted Bullock <tbullock@canada.com>
  *
  * This library is free software; you can redistribute it and/or
@@ -37,7 +37,7 @@
     printf("   File size %llu (0x%016I64X) bytes\n", file->filesize, file->filesize);
 #else
     printf("   File size %llu (0x%016llX) bytes\n",
-	   (long long unsigned int) file->filesize, 
+	   (long long unsigned int) file->filesize,
 	   (long long unsigned int) file->filesize);
 #endif
   }
@@ -46,16 +46,48 @@
   printf("   Filetype: %s\n", LIBMTP_Get_Filetype_Description(file->filetype));
 }
 
-int main (int argc, char **argv)
+static void
+dump_files(LIBMTP_mtpdevice_t *device, uint32_t storageid, int leaf)
 {
-  LIBMTP_mtpdevice_t *device_list, *iter;
   LIBMTP_file_t *files;
 
+  /* Get file listing. */
+  files = LIBMTP_Get_Files_And_Folders(device,
+				       storageid,
+				       leaf);
+  if (files == NULL) {
+    LIBMTP_Dump_Errorstack(device);
+    LIBMTP_Clear_Errorstack(device);
+  } else {
+    LIBMTP_file_t *file, *tmp;
+    file = files;
+    while (file != NULL) {
+      /* Please don't print these */
+      if (file->filetype == LIBMTP_FILETYPE_FOLDER) {
+	dump_files(device, storageid, file->item_id);
+      } else {
+	dump_fileinfo(file);
+      }
+      tmp = file;
+      file = file->next;
+      LIBMTP_destroy_file_t(tmp);
+    }
+  }
+}
+
+int main(int argc, char **argv)
+{
+  LIBMTP_raw_device_t *rawdevices;
+  int numrawdevices;
+  LIBMTP_error_number_t err;
+  int i;
+
   fprintf(stdout, "libmtp version: " LIBMTP_VERSION_STRING "\n\n");
 
   LIBMTP_Init();
 
-  switch(LIBMTP_Get_Connected_Devices(&device_list))
+  err = LIBMTP_Detect_Raw_Devices(&rawdevices, &numrawdevices);
+  switch(err)
   {
   case LIBMTP_ERROR_NO_DEVICE_ATTACHED:
     fprintf(stdout, "mtp-files: No Devices have been found\n");
@@ -66,55 +98,54 @@
   case LIBMTP_ERROR_MEMORY_ALLOCATION:
     fprintf(stderr, "mtp-files: Memory Allocation Error. Exit\n");
     return 1;
- 
+
   /* Unknown general errors - This should never execute */
   case LIBMTP_ERROR_GENERAL:
   default:
     fprintf(stderr, "mtp-files: Unknown error, please report "
                     "this to the libmtp developers\n");
-  return 1;
+    return 1;
 
   /* Successfully connected at least one device, so continue */
   case LIBMTP_ERROR_NONE:
     fprintf(stdout, "mtp-files: Successfully connected\n");
     fflush(stdout);
+    break;
   }
-  
+
   /* iterate through connected MTP devices */
-  for(iter = device_list; iter != NULL; iter = iter->next)
-  {
-  	
+  for (i = 0; i < numrawdevices; i++) {
+    LIBMTP_mtpdevice_t *device;
+    LIBMTP_devicestorage_t *storage;
     char *friendlyname;
-    
+
+    device = LIBMTP_Open_Raw_Device_Uncached(&rawdevices[i]);
+    if (device == NULL) {
+      fprintf(stderr, "Unable to open raw device %d\n", i);
+      continue;
+    }
+
     /* Echo the friendly name so we know which device we are working with */
-    friendlyname = LIBMTP_Get_Friendlyname(iter);
+    friendlyname = LIBMTP_Get_Friendlyname(device);
     if (friendlyname == NULL) {
       printf("Listing File Information on Device with name: (NULL)\n");
     } else {
       printf("Listing File Information on Device with name: %s\n", friendlyname);
       free(friendlyname);
     }
-  
-	  /* Get track listing. */
-	  files = LIBMTP_Get_Filelisting_With_Callback(iter, NULL, NULL);
-	  if (files == NULL) {
-	    printf("No files.\n");
-	    LIBMTP_Dump_Errorstack(iter);
-	    LIBMTP_Clear_Errorstack(iter);
-	  } else {
-	    LIBMTP_file_t *file, *tmp;
-	    file = files;
-	    while (file != NULL) {
-	      dump_fileinfo(file);
-	      tmp = file;
-	      file = file->next;
-	      LIBMTP_destroy_file_t(tmp);
-      }
-	  }
+
+    LIBMTP_Dump_Errorstack(device);
+    LIBMTP_Clear_Errorstack(device);
+
+    /* Loop over storages */
+    for (storage = device->storage; storage != 0; storage = storage->next) {
+      dump_files(device, storage->id, LIBMTP_FILES_AND_FOLDERS_ROOT);
+    }
+    LIBMTP_Release_Device(device);
   }
-    
-  LIBMTP_Release_Device_List(device_list);
+
+  free(rawdevices);
+
   printf("OK.\n");
   exit (0);
 }
-
diff --git a/examples/filetree.c b/examples/filetree.c
new file mode 100644
index 0000000..06a63f2
--- /dev/null
+++ b/examples/filetree.c
@@ -0,0 +1,162 @@
+/**
+ * \file filetree.c
+ * List all files and folders of all storages recursively
+ *
+ * Copyright (C) 2011 Linus Walleij <triad@df.lth.se>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+#include "common.h"
+#include "util.h"
+#include <unistd.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <errno.h>
+
+/* Clever prototype to be able to recurse */
+void recursive_file_tree(LIBMTP_mtpdevice_t *,
+			 LIBMTP_devicestorage_t *,
+			 uint32_t,
+			 int);
+
+void recursive_file_tree(LIBMTP_mtpdevice_t *device,
+			 LIBMTP_devicestorage_t *storage,
+			 uint32_t leaf,
+			 int depth)
+{
+  LIBMTP_file_t *files;
+  LIBMTP_file_t *file;
+
+  files = LIBMTP_Get_Files_And_Folders(device,
+				      storage->id,
+				      leaf);
+  if (files == NULL) {
+    return;
+  }
+
+  /* Iterate over the filelisting */
+  file = files;
+  while (file != NULL) {
+    int i;
+    LIBMTP_file_t *oldfile;
+
+    /* Indent */
+    for (i = 0; i < depth; i++) {
+      printf(" ");
+    }
+    printf("%u %s\n", file->item_id, file->filename);
+    if (file->filetype == LIBMTP_FILETYPE_FOLDER) {
+      recursive_file_tree(device, storage, file->item_id, depth+2);
+    }
+
+    oldfile = file;
+    file = file->next;
+    LIBMTP_destroy_file_t(oldfile);
+  }
+}
+
+int main (int argc, char **argv)
+{
+  LIBMTP_raw_device_t * rawdevices;
+  int numrawdevices;
+  LIBMTP_error_number_t err;
+  int i;
+
+  int opt;
+  extern int optind;
+  extern char *optarg;
+
+  while ((opt = getopt(argc, argv, "d")) != -1 ) {
+    switch (opt) {
+    case 'd':
+      LIBMTP_Set_Debug(LIBMTP_DEBUG_PTP | LIBMTP_DEBUG_DATA);
+      break;
+    }
+  }
+
+  argc -= optind;
+  argv += optind;
+
+  LIBMTP_Init();
+
+  err = LIBMTP_Detect_Raw_Devices(&rawdevices, &numrawdevices);
+  switch(err) {
+  case LIBMTP_ERROR_NO_DEVICE_ATTACHED:
+    fprintf(stdout, "   No raw devices found.\n");
+    return 0;
+  case LIBMTP_ERROR_CONNECTING:
+    fprintf(stderr, "Detect: There has been an error connecting. Exiting\n");
+    return 1;
+  case LIBMTP_ERROR_MEMORY_ALLOCATION:
+    fprintf(stderr, "Detect: Encountered a Memory Allocation Error. Exiting\n");
+    return 1;
+  case LIBMTP_ERROR_NONE:
+    break;
+  case LIBMTP_ERROR_GENERAL:
+  default:
+    fprintf(stderr, "Unknown connection error.\n");
+    return 1;
+  }
+
+  /* Iterate over connected MTP devices */
+  fprintf(stdout, "Attempting to connect device(s)\n");
+  for (i = 0; i < numrawdevices; i++) {
+    LIBMTP_mtpdevice_t *device;
+    LIBMTP_devicestorage_t *storage;
+    char *friendlyname;
+    int ret;
+
+    device = LIBMTP_Open_Raw_Device_Uncached(&rawdevices[i]);
+    if (device == NULL) {
+      fprintf(stderr, "Unable to open raw device %d\n", i);
+      continue;
+    }
+
+    LIBMTP_Dump_Errorstack(device);
+    LIBMTP_Clear_Errorstack(device);
+
+    friendlyname = LIBMTP_Get_Friendlyname(device);
+    if (friendlyname == NULL) {
+      printf("Device: (NULL)\n");
+    } else {
+      printf("Device: %s\n", friendlyname);
+      free(friendlyname);
+    }
+
+    /* Get all storages for this device */
+    ret = LIBMTP_Get_Storage(device, LIBMTP_STORAGE_SORTBY_NOTSORTED);
+    if (ret != 0) {
+      perror("LIBMTP_Get_Storage()");
+      goto bailout;
+    }
+
+    /* Loop over storages */
+    for (storage = device->storage; storage != 0; storage = storage->next) {
+      fprintf(stdout, "Storage: %s\n", storage->StorageDescription);
+      recursive_file_tree(device, storage, LIBMTP_FILES_AND_FOLDERS_ROOT, 0);
+    }
+
+  bailout:
+    LIBMTP_Release_Device(device);
+  } /* End For Loop */
+
+  free(rawdevices);
+
+  printf("OK.\n");
+
+  return 0;
+}
diff --git a/examples/folders.c b/examples/folders.c
index ee63709..34ea9ce 100644
--- a/examples/folders.c
+++ b/examples/folders.c
@@ -1,8 +1,8 @@
-/** 
+/**
  * \file folders.c
  * Example program that lists all folders on a device.
  *
- * Copyright (C) 2005-2007 Linus Walleij <triad@df.lth.se>
+ * Copyright (C) 2005-2011 Linus Walleij <triad@df.lth.se>
  * Copyright (C) 2007 Ted Bullock <tbullock@canada.com>
  *
  * This library is free software; you can redistribute it and/or
@@ -41,16 +41,16 @@
 
 int main (int argc, char **argv)
 {
-  LIBMTP_mtpdevice_t *device, *iter;
-  LIBMTP_folder_t *folders;
+  LIBMTP_raw_device_t *rawdevices;
+  int numrawdevices;
+  int i;
 
   LIBMTP_Init();
-  fprintf(stdout, "Attempting to connect device(s)\n");
+  printf("Attempting to connect device(s)\n");
 
-  switch(LIBMTP_Get_Connected_Devices(&device))
-  {
+  switch (LIBMTP_Detect_Raw_Devices(&rawdevices, &numrawdevices)) {
   case LIBMTP_ERROR_NO_DEVICE_ATTACHED:
-    fprintf(stdout, "mtp-folders: No Devices have been found\n");
+    printf("mtp-folders: no devices found\n");
     return 0;
   case LIBMTP_ERROR_CONNECTING:
     fprintf(stderr, "mtp-folders: There has been an error connecting. Exit\n");
@@ -58,51 +58,73 @@
   case LIBMTP_ERROR_MEMORY_ALLOCATION:
     fprintf(stderr, "mtp-folders: Memory Allocation Error. Exit\n");
     return 1;
- 
+
   /* Unknown general errors - This should never execute */
   case LIBMTP_ERROR_GENERAL:
   default:
     fprintf(stderr, "mtp-folders: Unknown error, please report "
                     "this to the libmtp developers\n");
-  return 1;
+    return 1;
 
   /* Successfully connected at least one device, so continue */
   case LIBMTP_ERROR_NONE:
-    fprintf(stdout, "mtp-folders: Successfully connected\n");
-    fflush(stdout);
+    printf("mtp-folders: Successfully connected\n");
   }
-  
+
   /* iterate through connected MTP devices */
-  for(iter = device; iter != NULL; iter = iter->next)
-  {
-  	char *friendlyname;
+  for (i = 0; i < numrawdevices; i++) {
+    LIBMTP_mtpdevice_t *device;
+    LIBMTP_devicestorage_t *storage;
+    char *friendlyname;
+    int ret;
+
+    device = LIBMTP_Open_Raw_Device(&rawdevices[i]);
+    if (device == NULL) {
+      fprintf(stderr, "Unable to open raw device %d\n", i);
+      continue;
+    }
+
     /* Echo the friendly name so we know which device we are working with */
-    friendlyname = LIBMTP_Get_Friendlyname(iter);
+    friendlyname = LIBMTP_Get_Friendlyname(device);
     if (friendlyname == NULL) {
       printf("Friendly name: (NULL)\n");
     } else {
       printf("Friendly name: %s\n", friendlyname);
       free(friendlyname);
     }
-    
-    LIBMTP_Dump_Errorstack(iter);
-    LIBMTP_Clear_Errorstack(iter);    /* Get folder listing */
 
-    folders = LIBMTP_Get_Folder_List(iter);
-    
-    if (folders == NULL) {
-      fprintf(stdout, "No folders found\n");
-      LIBMTP_Dump_Errorstack(iter);
-      LIBMTP_Clear_Errorstack(iter);
-    } else {
-      dump_folder_list(folders,0);
+    LIBMTP_Dump_Errorstack(device);
+    LIBMTP_Clear_Errorstack(device);
+
+    /* Get all storages for this device */
+    ret = LIBMTP_Get_Storage(device, LIBMTP_STORAGE_SORTBY_NOTSORTED);
+    if (ret != 0) {
+      perror("LIBMTP_Get_Storage()\n");
+      LIBMTP_Dump_Errorstack(device);
+      LIBMTP_Clear_Errorstack(device);
+      continue;
     }
 
-    LIBMTP_destroy_folder_t(folders);
+    /* Loop over storages, dump folder for each one */
+    for (storage = device->storage; storage != 0; storage = storage->next) {
+      LIBMTP_folder_t *folders;
+
+      printf("Storage: %s\n", storage->StorageDescription);
+      folders = LIBMTP_Get_Folder_List_For_Storage(device, storage->id);
+
+      if (folders == NULL) {
+	fprintf(stdout, "No folders found\n");
+	LIBMTP_Dump_Errorstack(device);
+	LIBMTP_Clear_Errorstack(device);
+      } else {
+	dump_folder_list(folders,0);
+      }
+      LIBMTP_destroy_folder_t(folders);
+    }
+    LIBMTP_Release_Device(device);
   }
 
-  
-  LIBMTP_Release_Device_List(device);
+  free(rawdevices);
   printf("OK.\n");
 
   return 0;
diff --git a/examples/getfile.c b/examples/getfile.c
index 7df2453..4562f87 100644
--- a/examples/getfile.c
+++ b/examples/getfile.c
@@ -20,14 +20,12 @@
  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
  */
-#include "common.h"
-#include "pathutils.h"
 #include <stdlib.h>
 #include <limits.h>
 
-void getfile_function(char *,char *);
-void getfile_command(int, char **);
-void getfile_usage(void);
+#include "common.h"
+#include "pathutils.h"
+#include "connect.h"
 
 extern LIBMTP_folder_t *folders;
 extern LIBMTP_file_t *files;
@@ -38,7 +36,7 @@
   fprintf(stderr, "getfile <fileid/trackid> <filename>\n");
 }
 
-void
+int
 getfile_function(char * from_path,char * to_path)
 {
   int id = parse_path (from_path,files,folders);
@@ -48,31 +46,34 @@
       printf("\nError getting file from MTP device.\n");
       LIBMTP_Dump_Errorstack(device);
       LIBMTP_Clear_Errorstack(device);
+      return 1;
     }
   }
+  return 0;
 }
 
 
-void getfile_command(int argc, char **argv)
+int getfile_command(int argc, char **argv)
 {
   uint32_t id;
   char *endptr;
   char *file;
+  int ret = 0;
 
   // We need file ID and filename
   if ( argc != 3 ) {
     getfile_usage();
-    return;
+    return 0;
   }
 
   // Sanity check song ID
   id = strtoul(argv[1], &endptr, 10);
   if ( *endptr != 0 ) {
     fprintf(stderr, "illegal value %s\n", argv[1]);
-    return;
+    return 1;
   } else if ( ! id ) {
     fprintf(stderr, "bad file/track id %u\n", id);
-    return;
+    return 1;
  }
 
   // Filename, e.g. "foo.mp3"
@@ -82,10 +83,10 @@
   // This function will also work just as well for tracks.
   if (LIBMTP_Get_File_To_File(device, id, file, progress, NULL) != 0 ) {
     printf("\nError getting file from MTP device.\n");
+    ret = 1;
   }
   // Terminate progress bar.
   printf("\n");
-  
-  return;
-}
 
+  return ret;
+}
diff --git a/examples/hotplug.c b/examples/hotplug.c
deleted file mode 100644
index c2f36c4..0000000
--- a/examples/hotplug.c
+++ /dev/null
@@ -1,213 +0,0 @@
-/** 
- * \file hotplug.c
- * Example program to create hotplug scripts.
- *
- * Copyright (C) 2005-2007 Linus Walleij <triad@df.lth.se>
- * Copyright (C) 2006-2008 Marcus Meissner <marcus@jet.franken.de>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-#include "common.h"
-#include <unistd.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-
-static void usage(void)
-{
-  fprintf(stderr, "usage: hotplug [-u -H -i -a\"ACTION\"]\n");
-  fprintf(stderr, "       -u:  use udev syntax\n");
-  fprintf(stderr, "       -H:  use hal syntax\n");
-  fprintf(stderr, "       -i:  use usb.ids simple list syntax\n");
-  fprintf(stderr, "       -a\"ACTION\": perform udev action ACTION on attachment\n");
-  exit(1);
-}
-
-enum style {
-  style_usbmap,
-  style_udev,
-  style_hal,
-  style_usbids
-};
-
-int main (int argc, char **argv)
-{
-  LIBMTP_device_entry_t *entries;
-  int numentries;
-  int i;
-  int ret;
-  enum style style = style_usbmap;
-  int opt;
-  extern int optind;
-  extern char *optarg;
-  char *udev_action = NULL;
-  char default_udev_action[] = "SYMLINK+=\"libmtp-%k\", MODE=\"666\"";
-  char *action; // To hold the action actually used.
-  uint16_t last_vendor = 0x0000U;  
-
-  while ( (opt = getopt(argc, argv, "uUiHa:")) != -1 ) {
-    switch (opt) {
-    case 'a':
-      udev_action = strdup(optarg);
-    case 'u':
-      style = style_udev;
-      break;
-    case 'H':
-      style = style_hal;
-      break;
-    case 'i':
-      style = style_usbids;
-      break;
-    default:
-      usage();
-    }
-  }
-
-  if (udev_action != NULL) {
-    action = udev_action;
-  } else {
-    action = default_udev_action;
-  }
-
-  LIBMTP_Init();
-  ret = LIBMTP_Get_Supported_Devices_List(&entries, &numentries);
-  if (ret == 0) {
-    switch (style) {
-    case style_udev:
-      printf("# UDEV-style hotplug map for libmtp\n");
-      printf("# Put this file in /etc/udev/rules.d\n\n");
-      printf("ACTION!=\"add\", GOTO=\"libmtp_rules_end\"\n");
-      printf("ENV{MAJOR}!=\"?*\", GOTO=\"libmtp_rules_end\"\n");
-      printf("SUBSYSTEM==\"usb\", GOTO=\"libmtp_usb_rules\"\n"
-	     "# The following thing will be deprecated when older kernels are phased out.\n"
-             "SUBSYSTEM==\"usb_device\", GOTO=\"libmtp_usb_device_rules\"\n"
-	     "GOTO=\"libmtp_rules_end\"\n\n"
-	     "LABEL=\"libmtp_usb_rules\"\n\n");
-      break;
-    case style_usbmap:
-      printf("# This usermap will call the script \"libmtp.sh\" whenever a known MTP device is attached.\n\n");
-      break;
-    case style_hal:
-      printf("<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?> <!-- -*- SGML -*- -->\n");
-      printf("<!-- This file was generated by %s - - fdi -->\n", argv[0]);
-      printf("<deviceinfo version=\"0.2\">\n");
-      printf("  <device>\n");
-      printf("    <match key=\"info.subsystem\" string=\"usb\">\n");
-      break;
-    case style_usbids:
-      printf("# usb.ids style device list from libmtp\n");
-      printf("# Compare: http://www.linux-usb.org/usb.ids\n");
-      break;
-    }
-
-    for (i = 0; i < numentries; i++) {
-      LIBMTP_device_entry_t * entry = &entries[i];
-
-      switch (style) {
-      case style_udev: 
-	{
-          printf("# %s %s\n", entry->vendor, entry->product);
-	  // Old style directly SYSFS named.
-	  // printf("SYSFS{idVendor}==\"%04x\", SYSFS{idProduct}==\"%04x\", %s\n", entry->vendor_id, entry->product_id, action);
-	  // Newer style
-	  printf("ATTR{idVendor}==\"%04x\", ATTR{idProduct}==\"%04x\", %s\n", entry->vendor_id, entry->product_id, action);
-	  break;
-        }
-      case style_usbmap:
-          printf("# %s %s\n", entry->vendor, entry->product);
-          printf("libmtp.sh    0x0003  0x%04x  0x%04x  0x0000  0x0000  0x00    0x00    0x00    0x00    0x00    0x00    0x00000000\n", entry->vendor_id, entry->product_id);
-          break;
-        case style_hal:
-          printf("      <!-- %s %s -->\n", entry->vendor, entry->product);
-          printf("      <match key=\"usb.vendor_id\" int=\"0x%04x\">\n", entry->vendor_id);
-          printf("        <match key=\"usb.product_id\" int=\"0x%04x\">\n", entry->product_id);
-          /* FIXME: If hal >=0.5.10 can be depended upon, the matches below with contains_not can instead use addset */
-          printf("          <match key=\"info.capabilities\" contains_not=\"portable_audio_player\">\n");
-          printf("            <append key=\"info.capabilities\" type=\"strlist\">portable_audio_player</append>\n");
-          printf("          </match>\n");
-          printf("          <merge key=\"info.vendor\" type=\"string\">%s</merge>\n", entry->vendor);
-          printf("          <merge key=\"info.product\" type=\"string\">%s</merge>\n", entry->product);
-          printf("          <merge key=\"info.category\" type=\"string\">portable_audio_player</merge>\n");
-          printf("          <merge key=\"portable_audio_player.access_method\" type=\"string\">user</merge>\n");
-          printf("          <match key=\"portable_audio_player.access_method.protocols\" contains_not=\"mtp\">\n");
-          printf("            <append key=\"portable_audio_player.access_method.protocols\" type=\"strlist\">mtp</append>\n");
-          printf("          </match>\n");
-          printf("          <append key=\"portable_audio_player.access_method.drivers\" type=\"strlist\">libmtp</append>\n");
-          /* FIXME: needs true list of formats ... But all of them can do MP3 and WMA */
-          printf("          <match key=\"portable_audio_player.output_formats\" contains_not=\"audio/mpeg\">\n");
-          printf("            <append key=\"portable_audio_player.output_formats\" type=\"strlist\">audio/mpeg</append>\n");
-          printf("          </match>\n");
-          printf("          <match key=\"portable_audio_player.output_formats\" contains_not=\"audio/x-ms-wma\">\n");
-          printf("            <append key=\"portable_audio_player.output_formats\" type=\"strlist\">audio/x-ms-wma</append>\n");
-          printf("          </match>\n");
-	  /* Special hack to support the OGG format - irivers, TrekStor and NormSoft (Palm) can always play these files! */
-	  if (entry->vendor_id == 0x4102 || // iriver
-	      entry->vendor_id == 0x066f || // TrekStor
-	      entry->vendor_id == 0x1703) { // NormSoft, Inc.
-	    printf("          <match key=\"portable_audio_player.output_formats\" contains_not=\"application/ogg\">\n");
-	    printf("            <append key=\"portable_audio_player.output_formats\" type=\"strlist\">application/ogg</append>\n");
-	    printf("          </match>\n");
-	  }
-          printf("          <merge key=\"portable_audio_player.libmtp.protocol\" type=\"string\">mtp</merge>\n");
-          printf("        </match>\n");
-          printf("      </match>\n");
-        break;
-        case style_usbids:
-          if (last_vendor != entry->vendor_id) {
-            printf("%04x\n", entry->vendor_id);
-          }
-          printf("\t%04x  %s %s\n", entry->product_id, entry->vendor, entry->product);
-        break;
-      }
-      last_vendor = entry->vendor_id;
-    }
-  } else {
-    printf("Error.\n");
-    exit(1);
-  }
-
-  // For backward comparibility with the #$!+@! ever changing
-  // udev rule style...
-  if (style == style_udev) {
-    printf("GOTO=\"libmtp_rules_end\"\n\n");
-    printf("LABEL=\"libmtp_usb_device_rules\"\n");
-    for (i = 0; i < numentries; i++) {
-      LIBMTP_device_entry_t * entry = &entries[i];
-
-      printf("# %s %s\n", entry->vendor, entry->product);
-      printf("ATTRS{idVendor}==\"%04x\", ATTRS{idProduct}==\"%04x\", %s\n", entry->vendor_id, entry->product_id, action); 
-    }
-    printf("GOTO=\"libmtp_rules_end\"\n\n");
-  }
-
-  // Then the footer.
-  switch (style) {
-  case style_usbmap:
-    break;
-  case style_udev:
-    printf("LABEL=\"libmtp_rules_end\"\n");
-    break;
-  case style_hal:
-    printf("    </match>\n");
-    printf("  </device>\n");
-    printf("</deviceinfo>\n");
-    break;
-  case style_usbids:
-    printf("\n");
-  }
-
-  exit (0);
-}
diff --git a/examples/newfolder.c b/examples/newfolder.c
index 884c2bc..70ea684 100644
--- a/examples/newfolder.c
+++ b/examples/newfolder.c
@@ -20,38 +20,39 @@
  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
  */
-#include "common.h"
-#include "pathutils.h"
 #include <stdlib.h>
 #include <libgen.h>
 
-void newfolder_function(char *);
-void newfolder_command(int,char **);
+#include "common.h"
+#include "pathutils.h"
+#include "connect.h"
 
 extern LIBMTP_folder_t *folders;
 extern LIBMTP_file_t *files;
 extern LIBMTP_mtpdevice_t *device;
 
-void newfolder_command (int argc, char **argv)
+int newfolder_command (int argc, char **argv)
 {
   uint32_t newid;
-  
+
   if(argc != 4) {
     printf("Usage: newfolder name <parent> <storage>\n");
     printf("  parent = parent folder or 0 to create the new folder in the root dir\n");
     printf("  storage = storage id or 0 to create the new folder on the primary storage\n");
-    return;
+    return 0;
   }
-  
+
   newid = LIBMTP_Create_Folder(device, argv[1], atol(argv[2]), atol(argv[3]));
   if (newid == 0) {
     printf("Folder creation failed.\n");
+    return 1;
   } else {
     printf("New folder created with ID: %d\n", newid);
   }
+  return 0;
 }
 
-void
+int
 newfolder_function(char * path)
 {
   printf("Creating new folder %s\n",path);
@@ -63,8 +64,10 @@
     printf("Folder creation failed.\n");
     LIBMTP_Dump_Errorstack(device);
     LIBMTP_Clear_Errorstack(device);
+    return 1;
   } else {
     printf("New folder created with ID: %d\n", newid);
   }
+  return 0;
 }
 
diff --git a/examples/newplaylist.c b/examples/newplaylist.c
index a5caf86..9f47ae5 100644
--- a/examples/newplaylist.c
+++ b/examples/newplaylist.c
@@ -28,7 +28,7 @@
 #include <errno.h>
 
 static void usage(void) {
-  printf("Usage: newplaylist -i <fileid/trackid> -n <playlistname>\n");
+  printf("Usage: newplaylist -i <fileid/trackid> -n <playlistname> -s <storage_id> -p <parent_id>\n");
   exit(0);
 }
 
@@ -42,10 +42,12 @@
   uint32_t *tmp = NULL;
   char *playlistname = NULL;
   char *rest;
+  uint32_t storageid = 0;
+  uint32_t parentid = 0;
  
   fprintf(stdout, "libmtp version: " LIBMTP_VERSION_STRING "\n\n");
 
-  while ( (opt = getopt(argc, argv, "hn:i:")) != -1 ) {
+  while ( (opt = getopt(argc, argv, "hn:i:s:p:")) != -1 ) {
     switch (opt) {
     case 'h':
       usage();
@@ -61,6 +63,12 @@
     case 'n':
       playlistname = strdup(optarg);
       break;
+    case 's':
+      storageid = (uint32_t) strtoul(optarg, NULL, 0);
+	  break;
+    case 'p':
+      parentid = (uint32_t) strtoul(optarg, NULL, 0);
+	  break;
     default:
       usage();
     }
@@ -90,8 +98,8 @@
   playlist->name = playlistname;
   playlist->no_tracks = idcount;
   playlist->tracks = ids;
-  playlist->parent_id = 0;
-  playlist->storage_id = 0;
+  playlist->parent_id = parentid;
+  playlist->storage_id = storageid;
   int ret = LIBMTP_Create_New_Playlist(device,playlist);
   if (ret != 0) {
     printf("Couldn't create playlist object\n");
diff --git a/examples/sendfile.c b/examples/sendfile.c
index 3155622..cafade1 100644
--- a/examples/sendfile.c
+++ b/examples/sendfile.c
@@ -1,8 +1,8 @@
-/** 
+/**
  * \file sendfile.c
  * Example program to send an arbitrary file to a device.
  *
- * Copyright (C) 2005-2009 Linus Walleij <triad@df.lth.se>
+ * Copyright (C) 2005-2010 Linus Walleij <triad@df.lth.se>
  * Copyright (C) 2006 Chris A. Debenham <chris@adebenham.com>
  *
  * This library is free software; you can redistribute it and/or
@@ -32,15 +32,13 @@
 #include "common.h"
 #include "libmtp.h"
 #include "pathutils.h"
+#include "util.h"
+#include "connect.h"
 
 extern LIBMTP_folder_t *folders;
 extern LIBMTP_file_t *files;
 extern LIBMTP_mtpdevice_t *device;
 
-int sendfile_function(char *, char *);
-void sendfile_command(int, char **);
-void sendfile_usage(void);
-
 void sendfile_usage(void)
 {
   fprintf(stderr, "usage: sendfile <local filename> <remote filename>\n");
@@ -59,7 +57,7 @@
   if ( stat(from_path, &sb) == -1 ) {
     fprintf(stderr, "%s: ", from_path);
     perror("stat");
-    exit(1);
+    return 1;
   }
 
   filesize = sb.st_size;
@@ -69,7 +67,7 @@
     printf("Parent folder could not be found, skipping\n");
     return 0;
   }
-  
+
   genfile = LIBMTP_new_file_t();
   genfile->filesize = filesize;
   genfile->filename = strdup(filename);
@@ -84,19 +82,21 @@
     printf("Error sending file.\n");
     LIBMTP_Dump_Errorstack(device);
     LIBMTP_Clear_Errorstack(device);
+    ret = 1;
   } else {
     printf("New file ID: %d\n", genfile->item_id);
   }
 
   LIBMTP_destroy_file_t(genfile);
 
-  return 0;
+  return ret;
 }
 
-void sendfile_command (int argc, char **argv) {
+int sendfile_command (int argc, char **argv) {
   if (argc < 3) {
     sendfile_usage();
-    return;
+    return 0;
   }
-  sendfile_function(argv[1],argv[2]);
+  checklang();
+  return sendfile_function(argv[1],argv[2]);
 }
diff --git a/examples/sendtr.c b/examples/sendtr.c
index 212c088..a608d15 100644
--- a/examples/sendtr.c
+++ b/examples/sendtr.c
@@ -1,11 +1,11 @@
-/** 
+/**
  * \file sendtr.c
  * Example program to send a music track to a device.
  * This program is derived from the exact equivalent in libnjb.
- * based on Enrique Jorreto Ledesma's work on the original program by 
+ * based on Enrique Jorreto Ledesma's work on the original program by
  * Shaun Jackman and Linus Walleij.
  *
- * Copyright (C) 2003-2009 Linus Walleij <triad@df.lth.se>
+ * Copyright (C) 2003-2010 Linus Walleij <triad@df.lth.se>
  * Copyright (C) 2003-2005 Shaun Jackman
  * Copyright (C) 2003-2005 Enrique Jorrete Ledesma
  * Copyright (C) 2006 Chris A. Debenham <chris@adebenham.com>
@@ -28,9 +28,6 @@
  * Boston, MA 02111-1307, USA.
  */
 
-#include "config.h"
-#include "common.h"
-#include "util.h"
 #include <stdlib.h>
 #include <limits.h>
 #include <string.h>
@@ -41,6 +38,11 @@
 #ifdef HAVE_LANGINFO_H
 #include <langinfo.h>
 #endif
+
+#include "config.h"
+#include "common.h"
+#include "util.h"
+#include "connect.h"
 #include "libmtp.h"
 #include "pathutils.h"
 
@@ -48,10 +50,6 @@
 extern LIBMTP_file_t *files;
 extern LIBMTP_mtpdevice_t *device;
 
-int sendtrack_function (char *, char *, char *, char *, char *, char *, char *, char *, uint16_t, uint16_t, uint16_t, uint32_t);
-void sendtrack_command (int, char **);
-void sendtrack_usage (void);
-
 void sendtrack_usage (void)
 {
   fprintf(stderr, "usage: sendtr [ -D debuglvl ] [ -q ]\n");
@@ -64,7 +62,7 @@
 static char *prompt (const char *prompt, char *buffer, size_t bufsz, int required)
 {
   char *cp, *bp;
-  
+
   while (1) {
     fprintf(stdout, "%s> ", prompt);
     if ( fgets(buffer, bufsz, stdin) == NULL ) {
@@ -75,16 +73,16 @@
       }
       return NULL;
     }
-    
+
     cp = strrchr(buffer, '\n');
     if ( cp != NULL ) *cp = '\0';
-    
+
     bp = buffer;
     while ( bp != cp ) {
       if ( *bp != ' ' && *bp != '\t' ) return bp;
       bp++;
     }
-    
+
     if (! required) return bp;
   }
 }
@@ -92,11 +90,13 @@
 static int add_track_to_album(LIBMTP_album_t *albuminfo, LIBMTP_track_t *trackmeta)
 {
   LIBMTP_album_t *album;
+  LIBMTP_album_t *album_orig;
   LIBMTP_album_t *found_album = NULL;
   int ret;
 
   /* Look for the album */
   album = LIBMTP_Get_Album_List(device);
+  album_orig = album;
   while(album != NULL) {
     if ((album->name != NULL &&
 	album->artist != NULL &&
@@ -111,14 +111,26 @@
       album = album->next;
       found_album->next = NULL;
     } else {
-      LIBMTP_album_t *tmp;
-
-      tmp = album;
       album = album->next;
-      LIBMTP_destroy_album_t(tmp);
     }
   }
-  
+
+  if (found_album == NULL) {
+    printf("Could not find Album. Retrying with only Album name\n");
+    album = album_orig;
+    while(album != NULL) {
+      if ((album->name != NULL) &&
+          !strcmp(album->name, albuminfo->name) ){
+        /* Disconnect this album for later use */
+        found_album = album;
+        album = album->next;
+        found_album->next = NULL;
+      } else {
+        album = album->next;
+      }
+    }
+  }
+
   if (found_album != NULL) {
     uint32_t *tracks;
 
@@ -136,10 +148,9 @@
     tracks[found_album->no_tracks-1] = trackmeta->item_id;
     found_album->tracks = tracks;
     ret = LIBMTP_Update_Album(device, found_album);
-    LIBMTP_destroy_album_t(found_album);
   } else {
     uint32_t *trackid;
-    
+
     trackid = (uint32_t *)malloc(sizeof(uint32_t));
     *trackid = trackmeta->item_id;
     albuminfo->tracks = trackid;
@@ -149,7 +160,17 @@
     ret = LIBMTP_Create_New_Album(device, albuminfo);
     /* albuminfo will be destroyed later by caller */
   }
-  
+
+  /* Delete the earlier retrieved Album list */
+  album=album_orig;
+  while(album!=NULL){
+    LIBMTP_album_t *tmp;
+
+    tmp = album;
+    album = album->next;
+    LIBMTP_destroy_album_t(tmp);
+  }
+
   if (ret != 0) {
     printf("Error creating or updating album.\n");
     printf("(This could be due to that your device does not support albums.)\n");
@@ -161,10 +182,11 @@
   return ret;
 }
 
-int sendtrack_function(char * from_path, char * to_path, char *partist, char *palbumartist, char *ptitle, char *pgenre, char *palbum, char *pcomposer, uint16_t tracknum, uint16_t length, uint16_t year, uint32_t storageid)
+int sendtrack_function(char * from_path, char * to_path, char *partist, char *palbumartist, char *ptitle, char *pgenre, char *palbum, char *pcomposer, uint16_t tracknum, uint16_t length, uint16_t year, uint32_t storageid, uint16_t quiet)
 {
   char *filename, *parent;
   char artist[80], albumartist[80], title[80], genre[80], album[80], composer[80];
+  char *to_path_copy = NULL;
   char num[80];
   uint64_t filesize;
   uint32_t parent_id = 0;
@@ -173,204 +195,200 @@
   LIBMTP_album_t *albuminfo;
   int ret;
 
-  printf("Sending track %s to %s\n",from_path,to_path);
+  printf("Sending track %s to %s\n", from_path, to_path);
 
-  trackmeta = LIBMTP_new_track_t();
-  albuminfo = LIBMTP_new_album_t();
-
-  parent = dirname(strdup(to_path));
-  filename = basename(strdup(to_path));
+  to_path_copy = strdup(to_path);
+  parent = dirname(to_path_copy);
   parent_id = parse_path (parent,files,folders);
   if (parent_id == -1) {
+    free (to_path_copy);
     printf("Parent folder could not be found, skipping\n");
     return 1;
   }
+  strcpy (to_path_copy,to_path);
+  filename = basename(to_path_copy);
 
-  if ( stat(from_path, &sb) == -1 ) {
+  if (stat(from_path, &sb) == -1) {
     fprintf(stderr, "%s: ", from_path);
     perror("stat");
+    free (to_path_copy);
     return 1;
-  } else if (S_ISREG (sb.st_mode)) {
-    filesize = sb.st_size;
-    trackmeta->filetype = find_filetype (from_path);
-    if (!LIBMTP_FILETYPE_IS_TRACK(trackmeta->filetype)) {
-      printf("Not a valid track codec: \"%s\"\n", LIBMTP_Get_Filetype_Description(trackmeta->filetype));
-      return 1;
-    }
+  }
 
-    if (ptitle == NULL) {
-      ptitle = prompt("Title", title, 80, 0);
-    }
-    if (!strlen(ptitle))
-      ptitle = NULL;
-
-    if (palbum == NULL) {
-      palbum = prompt("Album", album, 80, 0);
-    }
-    if (!strlen(palbum))
-      palbum = NULL;
-
-    if (palbumartist == NULL) {
-      palbumartist = prompt("Album artist", albumartist, 80, 0);
-    }
-    if (partist == NULL) {
-      partist = prompt("Artist", artist, 80, 0);
-    }
-    if (!strlen(partist))
-      partist = NULL;
-
-    if (pcomposer == NULL) {
-      pcomposer = prompt("Writer or Composer", composer, 80, 0);
-    }
-    if (!strlen(pcomposer))
-      pcomposer = NULL;
-
-    if (pgenre == NULL) {
-      pgenre = prompt("Genre", genre, 80, 0);
-    }
-    if (!strlen(pgenre))
-      pgenre = NULL;
-
-    if (tracknum == 0) {
-      char *pnum;
-      if ( (pnum = prompt("Track number", num, 80, 0)) == NULL )
-      tracknum = 0;
-      if ( strlen(pnum) ) {
-        tracknum = strtoul(pnum, 0, 10);
-      } else {
-        tracknum = 0;
-      }
-    }
-
-    if (year == 0) {
-      char *pnum;
-      if ( (pnum = prompt("Year", num, 80, 0)) == NULL )
-        year = 0;
-      if ( strlen(pnum) ) {
-        year = strtoul(pnum, 0, 10);
-      } else {
-        year = 0;
-      }
-    }
-
-    if (length == 0) {
-      char *pnum;
-      if ( (pnum = prompt("Length", num, 80, 0)) == NULL )
-        length = 0;
-      if ( strlen(pnum) ) {
-        length = strtoul(pnum, 0, 10);
-      } else {
-        length = 0;
-      }
-    }
-    
-    printf("Sending track:\n");
-    printf("Codec:     %s\n", LIBMTP_Get_Filetype_Description(trackmeta->filetype));
-    if (ptitle) {
-      printf("Title:     %s\n", ptitle);
-      trackmeta->title = strdup(ptitle);
-    }
-    if (palbum) {
-      printf("Album:     %s\n", palbum);
-      trackmeta->album = strdup(palbum);
-      albuminfo->name = strdup(palbum);
-    }
-    if (palbumartist) {
-      printf("Album artist:    %s\n", palbumartist);
-      albuminfo->artist = strdup(palbumartist);
-    }
-    if (partist) {
-      printf("Artist:    %s\n", partist);
-      trackmeta->artist = strdup(partist);
-      if (palbumartist == NULL)
-      albuminfo->artist = strdup(partist);
-    }
-
-    if (pcomposer) {
-      printf("Writer or Composer:    %s\n", pcomposer);
-      trackmeta->composer = strdup(pcomposer);
-      albuminfo->composer = strdup(pcomposer);
-    }
-    if (pgenre) {
-      printf("Genre:     %s\n", pgenre);
-      trackmeta->genre = strdup(pgenre);
-      albuminfo->genre = strdup(pgenre);
-    }
-    if (year > 0) {
-      char tmp[80];
-      printf("Year:      %d\n", year);
-      snprintf(tmp, sizeof(tmp)-1, "%4d0101T0000.0", year);
-      tmp[sizeof(tmp)-1] = '\0';
-      trackmeta->date = strdup(tmp);
-    }
-    if (tracknum > 0) {
-      printf("Track no:  %d\n", tracknum);
-      trackmeta->tracknumber = tracknum;
-    }
-    if (length > 0) {
-      printf("Length:    %d\n", length);
-      // Multiply by 1000 since this is in milliseconds
-      trackmeta->duration = length * 1000;
-    }
-    // We should always have this
-    if (filename != NULL) {
-      trackmeta->filename = strdup(filename);
-    }
-    trackmeta->filesize = filesize;
-    trackmeta->parent_id = parent_id;
-    {
-        int rc;
-        char *desc = NULL;
-        LIBMTP_devicestorage_t *pds = NULL;
-
-        if ( 0 != (rc=LIBMTP_Get_Storage(device, LIBMTP_STORAGE_SORTBY_NOTSORTED)) )
-        {
-            perror("LIBMTP_Get_Storage()");
-            exit(-1);
-        }
-        for (pds = device->storage; pds != NULL; pds = pds->next)
-        {
-            if (pds->id == storageid)
-            {
-                desc = strdup(pds->StorageDescription);
-                break;
-            }
-        }
-        if (NULL != desc)
-        {
-            printf("Storage ID: %s (%u)\n", desc, storageid);
-            free(desc);
-        }
-        else
-            printf("Storage ID: %u\n", storageid);
-        trackmeta->storage_id = storageid;
-    }
-      
-    printf("Sending track...\n");
-    ret = LIBMTP_Send_Track_From_File(device, from_path, trackmeta, progress, NULL);
-    printf("\n");
-    if (ret != 0) {
-      printf("Error sending track.\n");
-      LIBMTP_Dump_Errorstack(device);
-      LIBMTP_Clear_Errorstack(device);
-    } else {
-      printf("New track ID: %d\n", trackmeta->item_id);
-    }
-
-    /* Add here add to album call */
-    if (palbum)
-      ret = add_track_to_album(albuminfo, trackmeta);
-
-    LIBMTP_destroy_album_t(albuminfo);
-    LIBMTP_destroy_track_t(trackmeta);
-
+  if (!S_ISREG(sb.st_mode)) {
+    free (to_path_copy);
     return 0;
   }
-  return 0;
+
+  filesize = sb.st_size;
+
+  trackmeta = LIBMTP_new_track_t();
+  trackmeta->filetype = find_filetype (from_path);
+  if (!LIBMTP_FILETYPE_IS_TRACK(trackmeta->filetype)) {
+    printf("Not a valid track codec: \"%s\"\n", LIBMTP_Get_Filetype_Description(trackmeta->filetype));
+    LIBMTP_destroy_track_t(trackmeta);
+    free (to_path_copy);
+    return 1;
+  }
+
+  if ((ptitle == NULL) && (quiet == 0)) {
+    if ( (ptitle = prompt("Title", title, 80, 0)) != NULL )
+      if (!strlen(ptitle)) ptitle = NULL;
+  }
+
+  if ((palbum == NULL) && (quiet == 0)) {
+    if ( (palbum = prompt("Album", album, 80, 0)) != NULL )
+      if (!strlen(palbum)) palbum = NULL;
+  }
+
+  if ((palbumartist == NULL) && (quiet == 0)) {
+    if ( (palbumartist = prompt("Album artist", albumartist, 80, 0)) != NULL )
+      if (!strlen(palbumartist)) palbumartist = NULL;
+  }
+
+  if ((partist == NULL) && (quiet == 0)) {
+    if ( (partist = prompt("Artist", artist, 80, 0)) != NULL )
+      if (!strlen(partist)) partist = NULL;
+  }
+
+  if ((pcomposer == NULL) && (quiet == 0)) {
+    if ( (pcomposer = prompt("Writer or Composer", composer, 80, 0)) != NULL )
+      if (!strlen(pcomposer)) pcomposer = NULL;
+  }
+
+  if ((pgenre == NULL) && (quiet == 0)) {
+    if ( (pgenre = prompt("Genre", genre, 80, 0)) != NULL )
+      if (!strlen(pgenre)) pgenre = NULL;
+  }
+
+  if ((tracknum == 0) && (quiet == 0)) {
+    char *pnum;
+    if ( (pnum = prompt("Track number", num, 80, 0)) == NULL )
+      tracknum = 0;
+    else
+      tracknum = strtoul(pnum, 0, 10);
+  }
+
+  if ((year == 0) && (quiet == 0)) {
+    char *pnum;
+    if ( (pnum = prompt("Year", num, 80, 0)) == NULL )
+      year = 0;
+    else
+      year = strtoul(pnum, 0, 10);
+  }
+
+  if ((length == 0) && (quiet == 0)) {
+    char *pnum;
+    if ( (pnum = prompt("Length", num, 80, 0)) == NULL )
+      length = 0;
+    else
+      length = strtoul(pnum, 0, 10);
+  }
+
+  printf("Sending track:\n");
+  printf("Codec:     %s\n", LIBMTP_Get_Filetype_Description(trackmeta->filetype));
+  if (ptitle) {
+    printf("Title:     %s\n", ptitle);
+    trackmeta->title = strdup(ptitle);
+  }
+
+  albuminfo = LIBMTP_new_album_t();
+
+  if (palbum) {
+    printf("Album:     %s\n", palbum);
+    trackmeta->album = strdup(palbum);
+    albuminfo->name = strdup(palbum);
+  }
+  if (palbumartist) {
+    printf("Album artist:    %s\n", palbumartist);
+    albuminfo->artist = strdup(palbumartist);
+  }
+  if (partist) {
+    printf("Artist:    %s\n", partist);
+    trackmeta->artist = strdup(partist);
+    if (palbumartist == NULL)
+      albuminfo->artist = strdup(partist);
+  }
+  if (pcomposer) {
+    printf("Writer or Composer:    %s\n", pcomposer);
+    trackmeta->composer = strdup(pcomposer);
+    albuminfo->composer = strdup(pcomposer);
+  }
+  if (pgenre) {
+    printf("Genre:     %s\n", pgenre);
+    trackmeta->genre = strdup(pgenre);
+    albuminfo->genre = strdup(pgenre);
+  }
+  if (year > 0) {
+    char tmp[80];
+    printf("Year:      %d\n", year);
+    snprintf(tmp, sizeof(tmp)-1, "%4d0101T0000.0", year);
+    tmp[sizeof(tmp)-1] = '\0';
+    trackmeta->date = strdup(tmp);
+  }
+  if (tracknum > 0) {
+    printf("Track no:  %d\n", tracknum);
+    trackmeta->tracknumber = tracknum;
+  }
+  if (length > 0) {
+    printf("Length:    %d\n", length);
+    // Multiply by 1000 since this is in milliseconds
+    trackmeta->duration = length * 1000;
+  }
+  // We should always have this
+  if (filename != NULL) {
+    trackmeta->filename = strdup(filename);
+  }
+  trackmeta->filesize = filesize;
+  trackmeta->parent_id = parent_id;
+  {
+    int rc;
+    char *desc = NULL;
+    LIBMTP_devicestorage_t *pds = NULL;
+
+    if (0 != (rc=LIBMTP_Get_Storage(device, LIBMTP_STORAGE_SORTBY_NOTSORTED))) {
+      perror("LIBMTP_Get_Storage()");
+      exit(-1);
+    }
+    for (pds = device->storage; pds != NULL; pds = pds->next) {
+      if (pds->id == storageid) {
+	desc = strdup(pds->StorageDescription);
+	break;
+      }
+    }
+    if (NULL != desc) {
+      printf("Storage ID: %s (%u)\n", desc, storageid);
+      free(desc);
+    } else
+      printf("Storage ID: %u\n", storageid);
+    trackmeta->storage_id = storageid;
+  }
+
+  printf("Sending track...\n");
+  ret = LIBMTP_Send_Track_From_File(device, from_path, trackmeta, progress, NULL);
+  printf("\n");
+  if (ret != 0) {
+    printf("Error sending track.\n");
+    LIBMTP_Dump_Errorstack(device);
+    LIBMTP_Clear_Errorstack(device);
+    ret = 1;
+  } else {
+    printf("New track ID: %d\n", trackmeta->item_id);
+  }
+
+  /* Add here add to album call */
+  if (palbum)
+    ret = add_track_to_album(albuminfo, trackmeta);
+
+  LIBMTP_destroy_album_t(albuminfo);
+  LIBMTP_destroy_track_t(trackmeta);
+  free (to_path_copy);
+
+  return ret;
 }
 
-void sendtrack_command (int argc, char **argv) {
-  int opt;
+int sendtrack_command (int argc, char **argv) {
+  int opt, ret;
   extern int optind;
   extern char *optarg;
   char *partist = NULL;
@@ -388,24 +406,31 @@
   while ( (opt = getopt(argc, argv, "qD:t:a:A:w:l:c:g:n:d:y:s:")) != -1 ) {
     switch (opt) {
     case 't':
+      free (ptitle);
       ptitle = strdup(optarg);
       break;
     case 'a':
+      free (partist);
       partist = strdup(optarg);
       break;
     case 'A':
+      free (palbumartist);
       palbumartist = strdup(optarg);
       break;
     case 'w':
+      free (pcomposer);
       pcomposer = strdup(optarg);
       break;
     case 'l':
+      free (palbum);
       palbum = strdup(optarg);
       break;
     case 'c':
+      free (pcodec);
       pcodec = strdup(optarg); // FIXME: DSM check for MP3, WAV or WMA
       break;
     case 'g':
+      free (pgenre);
       pgenre = strdup(optarg);
       break;
     case 'n':
@@ -429,15 +454,22 @@
   }
   argc -= optind;
   argv += optind;
-  
+
   if ( argc != 2 ) {
     printf("You need to pass a filename and destination.\n");
     sendtrack_usage();
-    return;
+    ret = 0;
+  } else {
+    checklang();
+    printf("%s,%s,%s,%s,%s,%s,%s,%s,%d%d,%d,%u,%d\n",argv[0],argv[1],partist,palbumartist,ptitle,pgenre,palbum,pcomposer,tracknum, length, year, storageid, quiet);
+    ret = sendtrack_function(argv[0],argv[1],partist,palbumartist,ptitle,pgenre,palbum,pcomposer, tracknum, length, year, storageid, quiet);
   }
-
-  checklang();
-  
-  printf("%s,%s,%s,%s,%s,%s,%s,%s,%d%d,%d,%u\n",argv[0],argv[1],partist,palbumartist,ptitle,pgenre,palbum,pcomposer,tracknum, length, year, storageid);
-  sendtrack_function(argv[0],argv[1],partist,palbumartist,ptitle,pgenre,palbum,pcomposer, tracknum, length, year, storageid);
+  free (ptitle);
+  free (partist);
+  free (palbumartist);
+  free (pcomposer);
+  free (palbum);
+  free (pcodec);
+  free (pgenre);
+  return ret;
 }
diff --git a/examples/thumb.c b/examples/thumb.c
index 2718a0c..3dc360e 100644
--- a/examples/thumb.c
+++ b/examples/thumb.c
@@ -47,7 +47,7 @@
   int fd;
   uint32_t id = 0;
   uint64_t filesize;
-  uint8_t *imagedata = NULL;
+  char *imagedata = NULL;
   char *path = NULL;
   char *rest;
   struct stat statbuff;
@@ -81,8 +81,8 @@
     perror("stat");
     exit(1);
   }
-  filesize = (uint64_t) statbuff.st_size;
-  imagedata = malloc(filesize * sizeof(uint16_t));
+  filesize = statbuff.st_size;
+  imagedata = malloc(filesize);
 
 #ifdef __WIN32__
   if ( (fd = open(path, O_RDONLY|O_BINARY) == -1) ) {
@@ -91,9 +91,9 @@
 #endif
     printf("Couldn't open image file %s (%s)\n",path,strerror(errno));
     return 1;
-  }
-  else {
-    read(fd, imagedata, filesize);
+  } else {
+    ret = read(fd, imagedata, filesize);
+    if (ret == -1) perror("read thumb data");
     close(fd);
   }
 
@@ -105,16 +105,9 @@
   }
   
   LIBMTP_filesampledata_t *thumb = LIBMTP_new_filesampledata_t();
-
-  int i;
-  thumb->data = malloc(sizeof(uint16_t) * filesize);
-  for (i = 0; i < filesize; i++) {
-    thumb->data[i] = imagedata[i];
-  }
-
+  thumb->data = imagedata;
   thumb->size = filesize;
   thumb->filetype = LIBMTP_FILETYPE_JPEG;
-  
   ret = LIBMTP_Send_Representative_Sample(device,id,thumb);
   if (ret != 0) {
     printf("Couldn't send thumbnail\n");
@@ -122,7 +115,6 @@
     LIBMTP_Clear_Errorstack(device);
   }
 
-  free(imagedata);
   LIBMTP_destroy_filesampledata_t(thumb);
 
   LIBMTP_Release_Device(device);
diff --git a/examples/tracks.c b/examples/tracks.c
index 262a8c8..d8d35b2 100644
--- a/examples/tracks.c
+++ b/examples/tracks.c
@@ -1,8 +1,8 @@
-/** 
+/**
  * \file tracks.c
  * Example program to list the tracks on a device.
  *
- * Copyright (C) 2005-2007 Linus Walleij <triad@df.lth.se>
+ * Copyright (C) 2005-2012 Linus Walleij <triad@df.lth.se>
  * Copyright (C) 2007 Ted Bullock <tbullock@canada.com>
  *
  * This library is free software; you can redistribute it and/or
@@ -79,15 +79,52 @@
   }
 }
 
+static void
+dump_tracks(LIBMTP_mtpdevice_t *device, uint32_t storageid, int leaf)
+{
+  LIBMTP_file_t *files;
+
+  /* Get track listing. */
+  files = LIBMTP_Get_Files_And_Folders(device,
+				       storageid,
+				       leaf);
+  if (files == NULL) {
+    LIBMTP_Dump_Errorstack(device);
+    LIBMTP_Clear_Errorstack(device);
+  } else {
+    LIBMTP_file_t *file, *tmp;
+
+    file = files;
+    while (file != NULL) {
+      /* Please don't print these */
+      if (file->filetype == LIBMTP_FILETYPE_FOLDER) {
+	dump_tracks(device, storageid, file->item_id);
+      } else if (LIBMTP_FILETYPE_IS_TRACK(file->filetype)) {
+	LIBMTP_track_t *track;
+
+	track = LIBMTP_Get_Trackmetadata(device, file->item_id);
+	dump_trackinfo(track);
+	LIBMTP_destroy_track_t(track);
+      }
+      tmp = file;
+      file = file->next;
+      LIBMTP_destroy_file_t(tmp);
+    }
+  }
+}
+
 int main (int argc, char **argv)
 {
-  LIBMTP_mtpdevice_t *device_list, *iter;
-  LIBMTP_track_t *tracks;
+  LIBMTP_raw_device_t *rawdevices;
+  int numrawdevices;
+  LIBMTP_error_number_t err;
+  int i;
 
   LIBMTP_Init();
   fprintf(stdout, "Attempting to connect device(s)\n");
 
-  switch(LIBMTP_Get_Connected_Devices(&device_list))
+  err = LIBMTP_Detect_Raw_Devices(&rawdevices, &numrawdevices);
+  switch(err)
   {
   case LIBMTP_ERROR_NO_DEVICE_ATTACHED:
     fprintf(stdout, "mtp-tracks: No Devices have been found\n");
@@ -98,7 +135,7 @@
   case LIBMTP_ERROR_MEMORY_ALLOCATION:
     fprintf(stderr, "mtp-tracks: Memory Allocation Error. Exit\n");
     return 1;
- 
+
   /* Unknown general errors - This should never execute */
   case LIBMTP_ERROR_GENERAL:
   default:
@@ -110,38 +147,41 @@
   case LIBMTP_ERROR_NONE:
     fprintf(stdout, "mtp-tracks: Successfully connected\n");
     fflush(stdout);
+    break;
   }
-  
-  /* iterate through connected MTP devices */
-  for(iter = device_list; iter != NULL; iter = iter->next)
-  {
-  	char *friendlyname;
+
+  /* Iterate through connected MTP devices */
+  for (i = 0; i < numrawdevices; i++) {
+    LIBMTP_mtpdevice_t *device;
+    LIBMTP_devicestorage_t *storage;
+    char *friendlyname;
+
+    device = LIBMTP_Open_Raw_Device_Uncached(&rawdevices[i]);
+    if (device == NULL) {
+      fprintf(stderr, "Unable to open raw device %d\n", i);
+      continue;
+    }
+
     /* Echo the friendly name so we know which device we are working with */
-    friendlyname = LIBMTP_Get_Friendlyname(iter);
+    friendlyname = LIBMTP_Get_Friendlyname(device);
     if (friendlyname == NULL) {
       printf("Friendly name: (NULL)\n");
     } else {
       printf("Friendly name: %s\n", friendlyname);
       free(friendlyname);
     }
-  
-	  // Get track listing.
-	  tracks = LIBMTP_Get_Tracklisting_With_Callback(iter, NULL, NULL);
-	  if (tracks == NULL) {
-	    printf("No tracks.\n");
-	  } else {
-	    LIBMTP_track_t *track, *tmp;
-	    track = tracks;
-	    while (track != NULL) {
-	      dump_trackinfo(track);
-	      tmp = track;
-	      track = track->next;
-	      LIBMTP_destroy_track_t(tmp);
-	    }
-	  }
+
+    LIBMTP_Dump_Errorstack(device);
+    LIBMTP_Clear_Errorstack(device);
+
+    /* Loop over storages */
+    for (storage = device->storage; storage != 0; storage = storage->next) {
+      dump_tracks(device, storage->id, LIBMTP_FILES_AND_FOLDERS_ROOT);
+    }
+
+    LIBMTP_Release_Device(device);
   }
-    
-  LIBMTP_Release_Device_List(device_list);
+
   printf("OK.\n");
   exit (0);
 }
diff --git a/examples/util.c b/examples/util.c
index f71f722..4563f7b 100644
--- a/examples/util.c
+++ b/examples/util.c
@@ -20,6 +20,7 @@
  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  * Boston, MA 02111-1307, USA.
  */
+#include "config.h"
 #include "util.h"
 #ifdef HAVE_LANGINFO_H
 #include <langinfo.h>
@@ -30,11 +31,12 @@
 #include <stdlib.h>
 #include <stdio.h>
 #include <string.h>
+#include <strings.h>
 
 void checklang(void)
 {
-  char *langsuff = NULL;
-  char *lang = getenv("LANG");
+  const char *langsuff = NULL;
+  const char *lang = getenv("LANG");
 
 #ifdef HAVE_LOCALE_H
   // Set the locale in accordance with environment
@@ -48,14 +50,17 @@
    * to see if we want to support UTF-8 unicode
    */
   if (lang != NULL) {
-    if (strlen(lang) > 5) {
-      langsuff = &lang[strlen(lang)-5];
+    const char *sep = strrchr(lang, '.');
+    if (sep != NULL) {
+      langsuff = sep + 1;
+    } else {
+      langsuff = lang;
     }
   }
 #endif
   if (langsuff == NULL) {
     printf("Could not determine language suffix for your system. Please check your setup!\n");
-  } else if (strcmp(langsuff, "UTF-8")) {
+  } else if (strcasecmp(langsuff, "UTF-8") && strcasecmp(langsuff, "UTF8")) {
     printf("Your system does not appear to have UTF-8 enabled ($LANG=\"%s\")\n", lang);
     printf("If you want to have support for diacritics and Unicode characters,\n");
     printf("please switch your locale to an UTF-8 locale, e.g. \"en_US.UTF-8\".\n");
diff --git a/hotplug.sh.in b/hotplug.sh.in
index 6a27552..14b1560 100755
--- a/hotplug.sh.in
+++ b/hotplug.sh.in
@@ -22,8 +22,8 @@
 		manid=`echo ${LINE} | awk '{ print $3 }'`
 		productid=`echo ${LINE} | awk '{ print $4 }'`
 		# Skip blank products...
-		if [ "x${script}" = "x$2" ]; then 
-		    if [ "x${manid}" = "x$3" ]; then 
+		if [ "x${script}" = "x$2" ]; then
+		    if [ "x${manid}" = "x$3" ]; then
 			if [ "x${productid}" = "x$4" ]; then
 			    echo "yes"
 			    return 0
@@ -115,14 +115,15 @@
     exit 1
 fi
 if [ "x${USER}" != "xroot" ];
+then
     echo "WARNING: this program should be run as root!"
 fi
 
 
 # This script locates the hotplug distribution on a certain host
-# and sets up userland hotplugging scripts according to rules. 
+# and sets up userland hotplugging scripts according to rules.
 # The in-parameters are the hotplug directory and the name of a
-# file of hotplug device entries and a script to be executed for 
+# file of hotplug device entries and a script to be executed for
 # these deviced.
 
 if test -d ${HOTPLUGPATH}
@@ -133,7 +134,7 @@
     exit 1
 fi
 
-if test -d ${HOTPLUGPATH}/usb 
+if test -d ${HOTPLUGPATH}/usb
 then
     echo "Has usb subdirectory."
 else
diff --git a/install-sh b/install-sh
deleted file mode 100755
index 6781b98..0000000
--- a/install-sh
+++ /dev/null
@@ -1,520 +0,0 @@
-#!/bin/sh
-# install - install a program, script, or datafile
-
-scriptversion=2009-04-28.21; # UTC
-
-# This originates from X11R5 (mit/util/scripts/install.sh), which was
-# later released in X11R6 (xc/config/util/install.sh) with the
-# following copyright and license.
-#
-# Copyright (C) 1994 X Consortium
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to
-# deal in the Software without restriction, including without limitation the
-# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-# sell copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
-# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
-# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
-# Except as contained in this notice, the name of the X Consortium shall not
-# be used in advertising or otherwise to promote the sale, use or other deal-
-# ings in this Software without prior written authorization from the X Consor-
-# tium.
-#
-#
-# FSF changes to this file are in the public domain.
-#
-# Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
-# when there is no Makefile.
-#
-# This script is compatible with the BSD install script, but was written
-# from scratch.
-
-nl='
-'
-IFS=" ""	$nl"
-
-# set DOITPROG to echo to test this script
-
-# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit=${DOITPROG-}
-if test -z "$doit"; then
-  doit_exec=exec
-else
-  doit_exec=$doit
-fi
-
-# Put in absolute file names if you don't have them in your path;
-# or use environment vars.
-
-chgrpprog=${CHGRPPROG-chgrp}
-chmodprog=${CHMODPROG-chmod}
-chownprog=${CHOWNPROG-chown}
-cmpprog=${CMPPROG-cmp}
-cpprog=${CPPROG-cp}
-mkdirprog=${MKDIRPROG-mkdir}
-mvprog=${MVPROG-mv}
-rmprog=${RMPROG-rm}
-stripprog=${STRIPPROG-strip}
-
-posix_glob='?'
-initialize_posix_glob='
-  test "$posix_glob" != "?" || {
-    if (set -f) 2>/dev/null; then
-      posix_glob=
-    else
-      posix_glob=:
-    fi
-  }
-'
-
-posix_mkdir=
-
-# Desired mode of installed file.
-mode=0755
-
-chgrpcmd=
-chmodcmd=$chmodprog
-chowncmd=
-mvcmd=$mvprog
-rmcmd="$rmprog -f"
-stripcmd=
-
-src=
-dst=
-dir_arg=
-dst_arg=
-
-copy_on_change=false
-no_target_directory=
-
-usage="\
-Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
-   or: $0 [OPTION]... SRCFILES... DIRECTORY
-   or: $0 [OPTION]... -t DIRECTORY SRCFILES...
-   or: $0 [OPTION]... -d DIRECTORIES...
-
-In the 1st form, copy SRCFILE to DSTFILE.
-In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
-In the 4th, create DIRECTORIES.
-
-Options:
-     --help     display this help and exit.
-     --version  display version info and exit.
-
-  -c            (ignored)
-  -C            install only if different (preserve the last data modification time)
-  -d            create directories instead of installing files.
-  -g GROUP      $chgrpprog installed files to GROUP.
-  -m MODE       $chmodprog installed files to MODE.
-  -o USER       $chownprog installed files to USER.
-  -s            $stripprog installed files.
-  -t DIRECTORY  install into DIRECTORY.
-  -T            report an error if DSTFILE is a directory.
-
-Environment variables override the default commands:
-  CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
-  RMPROG STRIPPROG
-"
-
-while test $# -ne 0; do
-  case $1 in
-    -c) ;;
-
-    -C) copy_on_change=true;;
-
-    -d) dir_arg=true;;
-
-    -g) chgrpcmd="$chgrpprog $2"
-	shift;;
-
-    --help) echo "$usage"; exit $?;;
-
-    -m) mode=$2
-	case $mode in
-	  *' '* | *'	'* | *'
-'*	  | *'*'* | *'?'* | *'['*)
-	    echo "$0: invalid mode: $mode" >&2
-	    exit 1;;
-	esac
-	shift;;
-
-    -o) chowncmd="$chownprog $2"
-	shift;;
-
-    -s) stripcmd=$stripprog;;
-
-    -t) dst_arg=$2
-	shift;;
-
-    -T) no_target_directory=true;;
-
-    --version) echo "$0 $scriptversion"; exit $?;;
-
-    --)	shift
-	break;;
-
-    -*)	echo "$0: invalid option: $1" >&2
-	exit 1;;
-
-    *)  break;;
-  esac
-  shift
-done
-
-if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
-  # When -d is used, all remaining arguments are directories to create.
-  # When -t is used, the destination is already specified.
-  # Otherwise, the last argument is the destination.  Remove it from $@.
-  for arg
-  do
-    if test -n "$dst_arg"; then
-      # $@ is not empty: it contains at least $arg.
-      set fnord "$@" "$dst_arg"
-      shift # fnord
-    fi
-    shift # arg
-    dst_arg=$arg
-  done
-fi
-
-if test $# -eq 0; then
-  if test -z "$dir_arg"; then
-    echo "$0: no input file specified." >&2
-    exit 1
-  fi
-  # It's OK to call `install-sh -d' without argument.
-  # This can happen when creating conditional directories.
-  exit 0
-fi
-
-if test -z "$dir_arg"; then
-  trap '(exit $?); exit' 1 2 13 15
-
-  # Set umask so as not to create temps with too-generous modes.
-  # However, 'strip' requires both read and write access to temps.
-  case $mode in
-    # Optimize common cases.
-    *644) cp_umask=133;;
-    *755) cp_umask=22;;
-
-    *[0-7])
-      if test -z "$stripcmd"; then
-	u_plus_rw=
-      else
-	u_plus_rw='% 200'
-      fi
-      cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
-    *)
-      if test -z "$stripcmd"; then
-	u_plus_rw=
-      else
-	u_plus_rw=,u+rw
-      fi
-      cp_umask=$mode$u_plus_rw;;
-  esac
-fi
-
-for src
-do
-  # Protect names starting with `-'.
-  case $src in
-    -*) src=./$src;;
-  esac
-
-  if test -n "$dir_arg"; then
-    dst=$src
-    dstdir=$dst
-    test -d "$dstdir"
-    dstdir_status=$?
-  else
-
-    # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
-    # might cause directories to be created, which would be especially bad
-    # if $src (and thus $dsttmp) contains '*'.
-    if test ! -f "$src" && test ! -d "$src"; then
-      echo "$0: $src does not exist." >&2
-      exit 1
-    fi
-
-    if test -z "$dst_arg"; then
-      echo "$0: no destination specified." >&2
-      exit 1
-    fi
-
-    dst=$dst_arg
-    # Protect names starting with `-'.
-    case $dst in
-      -*) dst=./$dst;;
-    esac
-
-    # If destination is a directory, append the input filename; won't work
-    # if double slashes aren't ignored.
-    if test -d "$dst"; then
-      if test -n "$no_target_directory"; then
-	echo "$0: $dst_arg: Is a directory" >&2
-	exit 1
-      fi
-      dstdir=$dst
-      dst=$dstdir/`basename "$src"`
-      dstdir_status=0
-    else
-      # Prefer dirname, but fall back on a substitute if dirname fails.
-      dstdir=`
-	(dirname "$dst") 2>/dev/null ||
-	expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-	     X"$dst" : 'X\(//\)[^/]' \| \
-	     X"$dst" : 'X\(//\)$' \| \
-	     X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
-	echo X"$dst" |
-	    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-		   s//\1/
-		   q
-		 }
-		 /^X\(\/\/\)[^/].*/{
-		   s//\1/
-		   q
-		 }
-		 /^X\(\/\/\)$/{
-		   s//\1/
-		   q
-		 }
-		 /^X\(\/\).*/{
-		   s//\1/
-		   q
-		 }
-		 s/.*/./; q'
-      `
-
-      test -d "$dstdir"
-      dstdir_status=$?
-    fi
-  fi
-
-  obsolete_mkdir_used=false
-
-  if test $dstdir_status != 0; then
-    case $posix_mkdir in
-      '')
-	# Create intermediate dirs using mode 755 as modified by the umask.
-	# This is like FreeBSD 'install' as of 1997-10-28.
-	umask=`umask`
-	case $stripcmd.$umask in
-	  # Optimize common cases.
-	  *[2367][2367]) mkdir_umask=$umask;;
-	  .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
-
-	  *[0-7])
-	    mkdir_umask=`expr $umask + 22 \
-	      - $umask % 100 % 40 + $umask % 20 \
-	      - $umask % 10 % 4 + $umask % 2
-	    `;;
-	  *) mkdir_umask=$umask,go-w;;
-	esac
-
-	# With -d, create the new directory with the user-specified mode.
-	# Otherwise, rely on $mkdir_umask.
-	if test -n "$dir_arg"; then
-	  mkdir_mode=-m$mode
-	else
-	  mkdir_mode=
-	fi
-
-	posix_mkdir=false
-	case $umask in
-	  *[123567][0-7][0-7])
-	    # POSIX mkdir -p sets u+wx bits regardless of umask, which
-	    # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
-	    ;;
-	  *)
-	    tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
-	    trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
-
-	    if (umask $mkdir_umask &&
-		exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
-	    then
-	      if test -z "$dir_arg" || {
-		   # Check for POSIX incompatibilities with -m.
-		   # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
-		   # other-writeable bit of parent directory when it shouldn't.
-		   # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
-		   ls_ld_tmpdir=`ls -ld "$tmpdir"`
-		   case $ls_ld_tmpdir in
-		     d????-?r-*) different_mode=700;;
-		     d????-?--*) different_mode=755;;
-		     *) false;;
-		   esac &&
-		   $mkdirprog -m$different_mode -p -- "$tmpdir" && {
-		     ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
-		     test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
-		   }
-		 }
-	      then posix_mkdir=:
-	      fi
-	      rmdir "$tmpdir/d" "$tmpdir"
-	    else
-	      # Remove any dirs left behind by ancient mkdir implementations.
-	      rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
-	    fi
-	    trap '' 0;;
-	esac;;
-    esac
-
-    if
-      $posix_mkdir && (
-	umask $mkdir_umask &&
-	$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
-      )
-    then :
-    else
-
-      # The umask is ridiculous, or mkdir does not conform to POSIX,
-      # or it failed possibly due to a race condition.  Create the
-      # directory the slow way, step by step, checking for races as we go.
-
-      case $dstdir in
-	/*) prefix='/';;
-	-*) prefix='./';;
-	*)  prefix='';;
-      esac
-
-      eval "$initialize_posix_glob"
-
-      oIFS=$IFS
-      IFS=/
-      $posix_glob set -f
-      set fnord $dstdir
-      shift
-      $posix_glob set +f
-      IFS=$oIFS
-
-      prefixes=
-
-      for d
-      do
-	test -z "$d" && continue
-
-	prefix=$prefix$d
-	if test -d "$prefix"; then
-	  prefixes=
-	else
-	  if $posix_mkdir; then
-	    (umask=$mkdir_umask &&
-	     $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
-	    # Don't fail if two instances are running concurrently.
-	    test -d "$prefix" || exit 1
-	  else
-	    case $prefix in
-	      *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
-	      *) qprefix=$prefix;;
-	    esac
-	    prefixes="$prefixes '$qprefix'"
-	  fi
-	fi
-	prefix=$prefix/
-      done
-
-      if test -n "$prefixes"; then
-	# Don't fail if two instances are running concurrently.
-	(umask $mkdir_umask &&
-	 eval "\$doit_exec \$mkdirprog $prefixes") ||
-	  test -d "$dstdir" || exit 1
-	obsolete_mkdir_used=true
-      fi
-    fi
-  fi
-
-  if test -n "$dir_arg"; then
-    { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
-    { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
-    { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
-      test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
-  else
-
-    # Make a couple of temp file names in the proper directory.
-    dsttmp=$dstdir/_inst.$$_
-    rmtmp=$dstdir/_rm.$$_
-
-    # Trap to clean up those temp files at exit.
-    trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
-
-    # Copy the file name to the temp name.
-    (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
-
-    # and set any options; do chmod last to preserve setuid bits.
-    #
-    # If any of these fail, we abort the whole thing.  If we want to
-    # ignore errors from any of these, just make sure not to ignore
-    # errors from the above "$doit $cpprog $src $dsttmp" command.
-    #
-    { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
-    { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
-    { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
-    { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
-
-    # If -C, don't bother to copy if it wouldn't change the file.
-    if $copy_on_change &&
-       old=`LC_ALL=C ls -dlL "$dst"	2>/dev/null` &&
-       new=`LC_ALL=C ls -dlL "$dsttmp"	2>/dev/null` &&
-
-       eval "$initialize_posix_glob" &&
-       $posix_glob set -f &&
-       set X $old && old=:$2:$4:$5:$6 &&
-       set X $new && new=:$2:$4:$5:$6 &&
-       $posix_glob set +f &&
-
-       test "$old" = "$new" &&
-       $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
-    then
-      rm -f "$dsttmp"
-    else
-      # Rename the file to the real destination.
-      $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
-
-      # The rename failed, perhaps because mv can't rename something else
-      # to itself, or perhaps because mv is so ancient that it does not
-      # support -f.
-      {
-	# Now remove or move aside any old file at destination location.
-	# We try this two ways since rm can't unlink itself on some
-	# systems and the destination file might be busy for other
-	# reasons.  In this case, the final cleanup might fail but the new
-	# file should still install successfully.
-	{
-	  test ! -f "$dst" ||
-	  $doit $rmcmd -f "$dst" 2>/dev/null ||
-	  { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
-	    { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
-	  } ||
-	  { echo "$0: cannot unlink or rename $dst" >&2
-	    (exit 1); exit 1
-	  }
-	} &&
-
-	# Now rename the file to the real destination.
-	$doit $mvcmd "$dsttmp" "$dst"
-      }
-    fi || exit 1
-
-    trap '' 0
-  fi
-done
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
-# time-stamp-end: "; # UTC"
-# End:
diff --git a/libmtp.pc b/libmtp.pc
deleted file mode 100644
index 9a2a6ba..0000000
--- a/libmtp.pc
+++ /dev/null
@@ -1,15 +0,0 @@
-# libmtp pkg-config source file
-
-prefix=/usr/local
-exec_prefix=${prefix}
-libdir=${exec_prefix}/lib
-includedir=${prefix}/include
-
-Name: libmtp
-Description: libmtp is a library for accessing Media Transfer Protocol devices
-Version: 1.0.1
-Requires: libusb
-Conflicts:
-Libs: -L${libdir} -lmtp
-Libs.private -lusb 
-Cflags: -I${includedir} 
diff --git a/libmtp.pc.in b/libmtp.pc.in
index cb7ad87..93c7bbf 100644
--- a/libmtp.pc.in
+++ b/libmtp.pc.in
@@ -8,8 +8,8 @@
 Name: libmtp
 Description: libmtp is a library for accessing Media Transfer Protocol devices
 Version: @VERSION@
-Requires: libusb
+Requires.private: @LIBUSB_REQUIRES@
 Conflicts:
 Libs: -L${libdir} -lmtp
-Libs.private @LIBS@
+Libs.private: @LIBS@
 Cflags: -I${includedir} @OSFLAGS@
diff --git a/libmtp.sh b/libmtp.sh
deleted file mode 100644
index b149413..0000000
--- a/libmtp.sh
+++ /dev/null
@@ -1,45 +0,0 @@
-#!/bin/sh
-# Lifts a plugged in MTP device to user space and
-# optionally runs a client program.
-# Written by Linus Walleij 2006, based on the "usbcam"
-# script by Nalin Dahyabhai.
-DEVICEOWNER=root
-DEVICEPERMS=666
-
-# Special quirk for SuSE systems using "resmgr"
-# (see http://rechner.lst.de/~okir/resmgr/)
-if [ -f /sbin/resmgr ]
-then
-    /sbin/resmgr "${ACTION}" "${DEVICE}" desktop usb
-    exit 0
-fi
-
-# This is for most other distributions
-if [ "${ACTION}" = "add" ] && [ -f "${DEVICE}" ]
-then
-    # New code, using lock files instead of copying /dev/console permissions
-    # This also works with non-gdm logins (e.g. on a virtual terminal)
-    # Idea and code from Nalin Dahyabhai <nalin@redhat.com>
-    if [ "x$DEVICEOWNER" = "xCONSOLE" ]
-    then
-	if [ -f /var/run/console/console.lock ]
-	then
-	    DEVICEOWNER=`cat /var/run/console/console.lock`
-	elif [ -f /var/run/console.lock ]
-	then
-	    DEVICEOWNER=`cat /var/run/console.lock`
-	elif [ -f /var/lock/console.lock ]
-	then
-	    DEVICEOWNER=`cat /var/lock/console.lock`
-	else
-	    DEVICEOWNER="nobody"
-	    DEVICEPERMS="666"
-	fi
-    fi
-    if [ -n "$DEVICEOWNER" ]
-    then
-        chmod 0000 "${DEVICE}"
-        chown "${DEVICEOWNER}" "${DEVICE}"
-        chmod "${DEVICEPERMS}" "${DEVICE}"
-    fi
-fi
diff --git a/libmtp.xcodeproj/project.pbxproj b/libmtp.xcodeproj/project.pbxproj
deleted file mode 100644
index bbb6787..0000000
--- a/libmtp.xcodeproj/project.pbxproj
+++ /dev/null
@@ -1,359 +0,0 @@
-// !$*UTF8*$!
-{
-	archiveVersion = 1;
-	classes = {
-	};
-	objectVersion = 45;
-	objects = {
-
-/* Begin PBXBuildFile section */
-		5AE8833E138DA9A800550A90 /* libusb-compat.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 5AE88311138DA93F00550A90 /* libusb-compat.dylib */; };
-		5AE8833F138DA9AA00550A90 /* libusb.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 5AE88316138DA94B00550A90 /* libusb.dylib */; };
-		B00305CF1277B07D009FA3E1 /* device-flags.h in Headers */ = {isa = PBXBuildFile; fileRef = B00305BF1277B07D009FA3E1 /* device-flags.h */; };
-		B00305D01277B07D009FA3E1 /* gphoto2-endian.h in Headers */ = {isa = PBXBuildFile; fileRef = B00305C01277B07D009FA3E1 /* gphoto2-endian.h */; };
-		B00305D11277B07D009FA3E1 /* libmtp.c in Sources */ = {isa = PBXBuildFile; fileRef = B00305C11277B07D009FA3E1 /* libmtp.c */; };
-		B00305D21277B07D009FA3E1 /* libmtp.h in Headers */ = {isa = PBXBuildFile; fileRef = B00305C21277B07D009FA3E1 /* libmtp.h */; };
-		B00305D31277B07D009FA3E1 /* libptp-stdint.h in Headers */ = {isa = PBXBuildFile; fileRef = B00305C31277B07D009FA3E1 /* libptp-stdint.h */; };
-		B00305D41277B07D009FA3E1 /* libusb-glue.c in Sources */ = {isa = PBXBuildFile; fileRef = B00305C41277B07D009FA3E1 /* libusb-glue.c */; };
-		B00305D51277B07D009FA3E1 /* libusb-glue.h in Headers */ = {isa = PBXBuildFile; fileRef = B00305C51277B07D009FA3E1 /* libusb-glue.h */; };
-		B00305D61277B07D009FA3E1 /* music-players.h in Headers */ = {isa = PBXBuildFile; fileRef = B00305C61277B07D009FA3E1 /* music-players.h */; };
-		B00305D71277B07D009FA3E1 /* playlist-spl.c in Sources */ = {isa = PBXBuildFile; fileRef = B00305C71277B07D009FA3E1 /* playlist-spl.c */; };
-		B00305D81277B07D009FA3E1 /* playlist-spl.h in Headers */ = {isa = PBXBuildFile; fileRef = B00305C81277B07D009FA3E1 /* playlist-spl.h */; };
-		B00305D91277B07D009FA3E1 /* ptp.c in Sources */ = {isa = PBXBuildFile; fileRef = B00305C91277B07D009FA3E1 /* ptp.c */; };
-		B00305DA1277B07D009FA3E1 /* ptp.h in Headers */ = {isa = PBXBuildFile; fileRef = B00305CA1277B07D009FA3E1 /* ptp.h */; };
-		B00305DB1277B07D009FA3E1 /* unicode.c in Sources */ = {isa = PBXBuildFile; fileRef = B00305CB1277B07D009FA3E1 /* unicode.c */; };
-		B00305DC1277B07D009FA3E1 /* unicode.h in Headers */ = {isa = PBXBuildFile; fileRef = B00305CC1277B07D009FA3E1 /* unicode.h */; };
-		B00305DD1277B07D009FA3E1 /* util.c in Sources */ = {isa = PBXBuildFile; fileRef = B00305CD1277B07D009FA3E1 /* util.c */; };
-		B00305DE1277B07D009FA3E1 /* util.h in Headers */ = {isa = PBXBuildFile; fileRef = B00305CE1277B07D009FA3E1 /* util.h */; };
-		B00306061277B3CD009FA3E1 /* libiconv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = B00306051277B3CD009FA3E1 /* libiconv.dylib */; };
-		D7D0FF8B1124E29800E01FE7 /* config.h in Headers */ = {isa = PBXBuildFile; fileRef = D7D0FF621124E29800E01FE7 /* config.h */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXContainerItemProxy section */
-		5AE88310138DA93F00550A90 /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = B00304D11277AFB4009FA3E1 /* libusb-compat.xcodeproj */;
-			proxyType = 2;
-			remoteGlobalIDString = D2AAC0630554660B00DB518D;
-			remoteInfo = "libusb-compat";
-		};
-		5AE88315138DA94B00550A90 /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = B00304C81277AFA9009FA3E1 /* libusb.xcodeproj */;
-			proxyType = 2;
-			remoteGlobalIDString = D2AAC0630554660B00DB518D;
-			remoteInfo = libusb;
-		};
-		5AE88317138DA95600550A90 /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = B00304C81277AFA9009FA3E1 /* libusb.xcodeproj */;
-			proxyType = 1;
-			remoteGlobalIDString = D2AAC0620554660B00DB518D;
-			remoteInfo = libusb;
-		};
-		5AE88319138DA95A00550A90 /* PBXContainerItemProxy */ = {
-			isa = PBXContainerItemProxy;
-			containerPortal = B00304D11277AFB4009FA3E1 /* libusb-compat.xcodeproj */;
-			proxyType = 1;
-			remoteGlobalIDString = D2AAC0620554660B00DB518D;
-			remoteInfo = "libusb-compat";
-		};
-/* End PBXContainerItemProxy section */
-
-/* Begin PBXFileReference section */
-		B00304C81277AFA9009FA3E1 /* libusb.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = libusb.xcodeproj; path = ../libusb/libusb.xcodeproj; sourceTree = SOURCE_ROOT; };
-		B00304D11277AFB4009FA3E1 /* libusb-compat.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = "libusb-compat.xcodeproj"; path = "../libusb-compat/libusb-compat.xcodeproj"; sourceTree = SOURCE_ROOT; };
-		B00305BF1277B07D009FA3E1 /* device-flags.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "device-flags.h"; path = "src/device-flags.h"; sourceTree = SOURCE_ROOT; };
-		B00305C01277B07D009FA3E1 /* gphoto2-endian.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "gphoto2-endian.h"; path = "src/gphoto2-endian.h"; sourceTree = SOURCE_ROOT; };
-		B00305C11277B07D009FA3E1 /* libmtp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = libmtp.c; path = src/libmtp.c; sourceTree = SOURCE_ROOT; };
-		B00305C21277B07D009FA3E1 /* libmtp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = libmtp.h; path = src/libmtp.h; sourceTree = SOURCE_ROOT; };
-		B00305C31277B07D009FA3E1 /* libptp-stdint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "libptp-stdint.h"; path = "src/libptp-stdint.h"; sourceTree = SOURCE_ROOT; };
-		B00305C41277B07D009FA3E1 /* libusb-glue.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "libusb-glue.c"; path = "src/libusb-glue.c"; sourceTree = SOURCE_ROOT; };
-		B00305C51277B07D009FA3E1 /* libusb-glue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "libusb-glue.h"; path = "src/libusb-glue.h"; sourceTree = SOURCE_ROOT; };
-		B00305C61277B07D009FA3E1 /* music-players.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "music-players.h"; path = "src/music-players.h"; sourceTree = SOURCE_ROOT; };
-		B00305C71277B07D009FA3E1 /* playlist-spl.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "playlist-spl.c"; path = "src/playlist-spl.c"; sourceTree = SOURCE_ROOT; };
-		B00305C81277B07D009FA3E1 /* playlist-spl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "playlist-spl.h"; path = "src/playlist-spl.h"; sourceTree = SOURCE_ROOT; };
-		B00305C91277B07D009FA3E1 /* ptp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ptp.c; path = src/ptp.c; sourceTree = SOURCE_ROOT; };
-		B00305CA1277B07D009FA3E1 /* ptp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ptp.h; path = src/ptp.h; sourceTree = SOURCE_ROOT; };
-		B00305CB1277B07D009FA3E1 /* unicode.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = unicode.c; path = src/unicode.c; sourceTree = SOURCE_ROOT; };
-		B00305CC1277B07D009FA3E1 /* unicode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = unicode.h; path = src/unicode.h; sourceTree = SOURCE_ROOT; };
-		B00305CD1277B07D009FA3E1 /* util.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = util.c; path = src/util.c; sourceTree = SOURCE_ROOT; };
-		B00305CE1277B07D009FA3E1 /* util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = util.h; path = src/util.h; sourceTree = SOURCE_ROOT; };
-		B00306051277B3CD009FA3E1 /* libiconv.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libiconv.dylib; path = usr/lib/libiconv.dylib; sourceTree = SDKROOT; };
-		D2AAC0630554660B00DB518D /* libmtp.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libmtp.dylib; sourceTree = BUILT_PRODUCTS_DIR; };
-		D71350461124D56600E2C1DA /* MacConfigExternalDebug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = MacConfigExternalDebug.xcconfig; sourceTree = "<group>"; };
-		D71350471124D56600E2C1DA /* MacConfigExternalRelease.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = MacConfigExternalRelease.xcconfig; sourceTree = "<group>"; };
-		D7D0FF621124E29800E01FE7 /* config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = "<group>"; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
-		D289988505E68E00004EDB86 /* Frameworks */ = {
-			isa = PBXFrameworksBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-				B00306061277B3CD009FA3E1 /* libiconv.dylib in Frameworks */,
-				5AE8833E138DA9A800550A90 /* libusb-compat.dylib in Frameworks */,
-				5AE8833F138DA9AA00550A90 /* libusb.dylib in Frameworks */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
-		08FB7794FE84155DC02AAC07 /* libmtp */ = {
-			isa = PBXGroup;
-			children = (
-				D71350461124D56600E2C1DA /* MacConfigExternalDebug.xcconfig */,
-				D71350471124D56600E2C1DA /* MacConfigExternalRelease.xcconfig */,
-				B00304D11277AFB4009FA3E1 /* libusb-compat.xcodeproj */,
-				B00304C81277AFA9009FA3E1 /* libusb.xcodeproj */,
-				08FB7795FE84155DC02AAC07 /* Source */,
-				1AB674ADFE9D54B511CA2CBB /* Products */,
-				B00306051277B3CD009FA3E1 /* libiconv.dylib */,
-			);
-			name = libmtp;
-			sourceTree = "<group>";
-		};
-		08FB7795FE84155DC02AAC07 /* Source */ = {
-			isa = PBXGroup;
-			children = (
-				D7D0FF621124E29800E01FE7 /* config.h */,
-				B00305BF1277B07D009FA3E1 /* device-flags.h */,
-				B00305C01277B07D009FA3E1 /* gphoto2-endian.h */,
-				B00305C11277B07D009FA3E1 /* libmtp.c */,
-				B00305C21277B07D009FA3E1 /* libmtp.h */,
-				B00305C31277B07D009FA3E1 /* libptp-stdint.h */,
-				B00305C41277B07D009FA3E1 /* libusb-glue.c */,
-				B00305C51277B07D009FA3E1 /* libusb-glue.h */,
-				B00305C61277B07D009FA3E1 /* music-players.h */,
-				B00305C71277B07D009FA3E1 /* playlist-spl.c */,
-				B00305C81277B07D009FA3E1 /* playlist-spl.h */,
-				B00305C91277B07D009FA3E1 /* ptp.c */,
-				B00305CA1277B07D009FA3E1 /* ptp.h */,
-				B00305CB1277B07D009FA3E1 /* unicode.c */,
-				B00305CC1277B07D009FA3E1 /* unicode.h */,
-				B00305CD1277B07D009FA3E1 /* util.c */,
-				B00305CE1277B07D009FA3E1 /* util.h */,
-			);
-			name = Source;
-			sourceTree = "<group>";
-		};
-		1AB674ADFE9D54B511CA2CBB /* Products */ = {
-			isa = PBXGroup;
-			children = (
-				D2AAC0630554660B00DB518D /* libmtp.dylib */,
-			);
-			name = Products;
-			sourceTree = "<group>";
-		};
-		5AE8830D138DA93F00550A90 /* Products */ = {
-			isa = PBXGroup;
-			children = (
-				5AE88311138DA93F00550A90 /* libusb-compat.dylib */,
-			);
-			name = Products;
-			sourceTree = "<group>";
-		};
-		5AE88312138DA94B00550A90 /* Products */ = {
-			isa = PBXGroup;
-			children = (
-				5AE88316138DA94B00550A90 /* libusb.dylib */,
-			);
-			name = Products;
-			sourceTree = "<group>";
-		};
-/* End PBXGroup section */
-
-/* Begin PBXHeadersBuildPhase section */
-		D2AAC0600554660B00DB518D /* Headers */ = {
-			isa = PBXHeadersBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-				D7D0FF8B1124E29800E01FE7 /* config.h in Headers */,
-				B00305CF1277B07D009FA3E1 /* device-flags.h in Headers */,
-				B00305D01277B07D009FA3E1 /* gphoto2-endian.h in Headers */,
-				B00305D21277B07D009FA3E1 /* libmtp.h in Headers */,
-				B00305D31277B07D009FA3E1 /* libptp-stdint.h in Headers */,
-				B00305D51277B07D009FA3E1 /* libusb-glue.h in Headers */,
-				B00305D61277B07D009FA3E1 /* music-players.h in Headers */,
-				B00305D81277B07D009FA3E1 /* playlist-spl.h in Headers */,
-				B00305DA1277B07D009FA3E1 /* ptp.h in Headers */,
-				B00305DC1277B07D009FA3E1 /* unicode.h in Headers */,
-				B00305DE1277B07D009FA3E1 /* util.h in Headers */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-/* End PBXHeadersBuildPhase section */
-
-/* Begin PBXNativeTarget section */
-		D2AAC0620554660B00DB518D /* libmtp */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = 1DEB914A08733D8E0010E9CD /* Build configuration list for PBXNativeTarget "libmtp" */;
-			buildPhases = (
-				D2AAC0600554660B00DB518D /* Headers */,
-				D2AAC0610554660B00DB518D /* Sources */,
-				D289988505E68E00004EDB86 /* Frameworks */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-				5AE88318138DA95600550A90 /* PBXTargetDependency */,
-				5AE8831A138DA95A00550A90 /* PBXTargetDependency */,
-			);
-			name = libmtp;
-			productName = libmtp;
-			productReference = D2AAC0630554660B00DB518D /* libmtp.dylib */;
-			productType = "com.apple.product-type.library.dynamic";
-		};
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
-		08FB7793FE84155DC02AAC07 /* Project object */ = {
-			isa = PBXProject;
-			buildConfigurationList = 1DEB914E08733D8E0010E9CD /* Build configuration list for PBXProject "libmtp" */;
-			compatibilityVersion = "Xcode 3.1";
-			developmentRegion = English;
-			hasScannedForEncodings = 1;
-			knownRegions = (
-				English,
-				Japanese,
-				French,
-				German,
-			);
-			mainGroup = 08FB7794FE84155DC02AAC07 /* libmtp */;
-			projectDirPath = "";
-			projectReferences = (
-				{
-					ProductGroup = 5AE8830D138DA93F00550A90 /* Products */;
-					ProjectRef = B00304D11277AFB4009FA3E1 /* libusb-compat.xcodeproj */;
-				},
-				{
-					ProductGroup = 5AE88312138DA94B00550A90 /* Products */;
-					ProjectRef = B00304C81277AFA9009FA3E1 /* libusb.xcodeproj */;
-				},
-			);
-			projectRoot = "";
-			targets = (
-				D2AAC0620554660B00DB518D /* libmtp */,
-			);
-		};
-/* End PBXProject section */
-
-/* Begin PBXReferenceProxy section */
-		5AE88311138DA93F00550A90 /* libusb-compat.dylib */ = {
-			isa = PBXReferenceProxy;
-			fileType = "compiled.mach-o.dylib";
-			path = "libusb-compat.dylib";
-			remoteRef = 5AE88310138DA93F00550A90 /* PBXContainerItemProxy */;
-			sourceTree = BUILT_PRODUCTS_DIR;
-		};
-		5AE88316138DA94B00550A90 /* libusb.dylib */ = {
-			isa = PBXReferenceProxy;
-			fileType = "compiled.mach-o.dylib";
-			path = libusb.dylib;
-			remoteRef = 5AE88315138DA94B00550A90 /* PBXContainerItemProxy */;
-			sourceTree = BUILT_PRODUCTS_DIR;
-		};
-/* End PBXReferenceProxy section */
-
-/* Begin PBXSourcesBuildPhase section */
-		D2AAC0610554660B00DB518D /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-				B00305D11277B07D009FA3E1 /* libmtp.c in Sources */,
-				B00305D41277B07D009FA3E1 /* libusb-glue.c in Sources */,
-				B00305D71277B07D009FA3E1 /* playlist-spl.c in Sources */,
-				B00305D91277B07D009FA3E1 /* ptp.c in Sources */,
-				B00305DB1277B07D009FA3E1 /* unicode.c in Sources */,
-				B00305DD1277B07D009FA3E1 /* util.c in Sources */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-/* End PBXSourcesBuildPhase section */
-
-/* Begin PBXTargetDependency section */
-		5AE88318138DA95600550A90 /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			name = libusb;
-			targetProxy = 5AE88317138DA95600550A90 /* PBXContainerItemProxy */;
-		};
-		5AE8831A138DA95A00550A90 /* PBXTargetDependency */ = {
-			isa = PBXTargetDependency;
-			name = "libusb-compat";
-			targetProxy = 5AE88319138DA95A00550A90 /* PBXContainerItemProxy */;
-		};
-/* End PBXTargetDependency section */
-
-/* Begin XCBuildConfiguration section */
-		1DEB914B08733D8E0010E9CD /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				EXECUTABLE_PREFIX = lib;
-				GCC_C_LANGUAGE_STANDARD = gnu99;
-				HEADER_SEARCH_PATHS = "../libusb-compat/libusb";
-				OTHER_CFLAGS = (
-					"$(inherited)",
-					"-DHAVE_CONFIG_H",
-					"-DUSE_DARWIN",
-				);
-				PRODUCT_NAME = mtp;
-			};
-			name = Debug;
-		};
-		1DEB914C08733D8E0010E9CD /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				EXECUTABLE_PREFIX = lib;
-				GCC_C_LANGUAGE_STANDARD = gnu99;
-				HEADER_SEARCH_PATHS = "../libusb-compat/libusb";
-				OTHER_CFLAGS = (
-					"$(inherited)",
-					"-DHAVE_CONFIG_H",
-					"-DUSE_DARWIN",
-				);
-				PRODUCT_NAME = mtp;
-			};
-			name = Release;
-		};
-		1DEB914F08733D8E0010E9CD /* Debug */ = {
-			isa = XCBuildConfiguration;
-			baseConfigurationReference = D71350461124D56600E2C1DA /* MacConfigExternalDebug.xcconfig */;
-			buildSettings = {
-				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
-			};
-			name = Debug;
-		};
-		1DEB915008733D8E0010E9CD /* Release */ = {
-			isa = XCBuildConfiguration;
-			baseConfigurationReference = D71350471124D56600E2C1DA /* MacConfigExternalRelease.xcconfig */;
-			buildSettings = {
-				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
-			};
-			name = Release;
-		};
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
-		1DEB914A08733D8E0010E9CD /* Build configuration list for PBXNativeTarget "libmtp" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				1DEB914B08733D8E0010E9CD /* Debug */,
-				1DEB914C08733D8E0010E9CD /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-			defaultConfigurationName = Release;
-		};
-		1DEB914E08733D8E0010E9CD /* Build configuration list for PBXProject "libmtp" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				1DEB914F08733D8E0010E9CD /* Debug */,
-				1DEB915008733D8E0010E9CD /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-			defaultConfigurationName = Release;
-		};
-/* End XCConfigurationList section */
-	};
-	rootObject = 08FB7793FE84155DC02AAC07 /* Project object */;
-}
diff --git a/logs/README.TXT b/logs/README.TXT
new file mode 100644
index 0000000..6d036cf
--- /dev/null
+++ b/logs/README.TXT
@@ -0,0 +1,3 @@
+This directory contains USB packet logs
+used for analyzing MTP traffic for interoperability
+and device behaviour characteristics.
\ No newline at end of file
diff --git a/logs/gigabeat1.html b/logs/gigabeat1.html
new file mode 100644
index 0000000..c5064cd
--- /dev/null
+++ b/logs/gigabeat1.html
@@ -0,0 +1,5950 @@
+<html><head>
+<meta http-equiv="Content-Type" content="text/html; CHARSET=UTF-8">
+<meta name="DESCRIPTION" content="HHD Software USB Monitor HTML file">
+<meta name="GENERATOR" content="HHD Software USB Monitor">
+<meta name="COPYRIGHT" content="HHD Software">
+<meta name="Author" content="HHD Software USB Monitor"><title>HHD Software USB Monitor HTML Export</title>
+
+<style>
+  .st0000ff { font-family: "Verdana"; font-style: normal; font-weight: 400; color: #000000 }
+  .st0100ff { font-family: "Verdana"; font-style: normal; font-weight: 700; color: #000000 }
+  .st0200ff { font-family: "Courier New"; font-style: normal; font-weight: 600; color: #000000 }
+</style></head><body>
+<!--StartFragment -->
+<pre><p class="st0000ff"><span class="st0100ff">000001: PnP Event: Surprise Removal (UP), 12.09.2006 21:05:16.0937500 +10.9375000
+</span>The USB device has just been disconnected from the system.</p>
+<p class="st0000ff"><span class="st0100ff">000002: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:16.1562500 +0.0625000
+</span>Pipe Handle: 0x898c9044
+Send 0xc bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 01 00 03 10 29 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>........)...</pre></td></tr></tbody></table>
+<p class="st0000ff"><span class="st0100ff">000003: Class-Specific Request (DOWN), 12.09.2006 21:05:16.1562500 +0.0
+</span>Destination: Inrterface, Index 0
+Reserved Bits: 161
+Request: 0x67
+Value: 0x0
+Get 0x24 bytes from the device</p>
+<p class="st0200ff"></p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 00 00 00 00 24 00 00 00 4C F5 6F 00 00 00 00 00
+ 67 A1 01 00 43 00 6F 00 75 00 6E 00 74 00 7B E1
+ 01 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....$...Lõo.....
+g¡..C.o.u.n.t.{á
+....</pre></td></tr></tbody></table>
+<p class="st0000ff"><span class="st0100ff">000004: Class-Specific Request (UP), 12.09.2006 21:05:16.6718750 +0.5156250
+</span>Destination: Inrterface, Index 0
+Reserved Bits: 161
+Request: 0x67
+Value: 0x0
+Get 0x24 bytes from the device</p>
+<p class="st0200ff"></p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 00 00 00 00 24 00 00 00 4C F5 6F 00 00 00 00 00
+ 67 A1 01 00 43 00 6F 00 75 00 6E 00 74 00 7B E1
+ 01 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....$...Lõo.....
+g¡..C.o.u.n.t.{á
+....</pre></td></tr></tbody></table>
+<p class="st0000ff"><span class="st0100ff">000005: Class-Specific Request (DOWN), 12.09.2006 21:05:16.6718750 +0.0
+</span>Destination: Inrterface, Index 0
+Reserved Bits: 33
+Request: 0x66
+Value: 0x0
+Send 0x0 bytes to the device</p>
+<p class="st0200ff"></p>
+<p class="st0000ff"><span class="st0100ff">000006: Class-Specific Request (UP), 12.09.2006 21:05:17.1875000 +0.5156250
+</span>Destination: Inrterface, Index 0
+Reserved Bits: 33
+Request: 0x66
+Value: 0x0
+Send 0x0 bytes to the device</p>
+<p class="st0200ff"></p>
+<p class="st0000ff"><span class="st0100ff">000007: Class-Specific Request (DOWN), 12.09.2006 21:05:18.1875000 +1.0
+</span>Destination: Inrterface, Index 0
+Reserved Bits: 161
+Request: 0x67
+Value: 0x0
+Get 0x24 bytes from the device</p>
+<p class="st0200ff"></p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 00 00 00 00 24 00 00 00 BC F4 6F 00 00 00 00 00
+ 67 A1 01 7C 00 00 00 00 01 99 04 88 00 00 00 00
+ A0 14 7E 88</pre></td>
+<td class="st0200ff" valign="top"><pre>....$...¼ôo.....
+g¡.|.....™.ˆ....
+&nbsp;.~ˆ</pre></td></tr></tbody></table>
+<p class="st0000ff"><span class="st0100ff">000008: Class-Specific Request (UP), 12.09.2006 21:05:18.2187500 +0.0312500
+</span>Destination: Inrterface, Index 0
+Reserved Bits: 161
+Request: 0x67
+Value: 0x0
+Get 0x24 bytes from the device</p>
+<p class="st0200ff"></p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 00 00 00 00 24 00 00 00 BC F4 6F 00 00 00 00 00
+ 67 A1 01 7C 00 00 00 00 01 99 04 88 00 00 00 00
+ A0 14 7E 88</pre></td>
+<td class="st0200ff" valign="top"><pre>....$...¼ôo.....
+g¡.|.....™.ˆ....
+&nbsp;.~ˆ</pre></td></tr></tbody></table>
+<p class="st0000ff"><span class="st0100ff">000009: PnP Event: Device Disconnected (UP), 12.09.2006 21:05:18.3437500 +0.1250000
+</span>The USB device has just been removed from the system, all drivers unloaded.</p>
+<p class="st0200ff"></p>
+<p class="st0000ff"><span class="st0100ff">000010: PnP Event: Query ID (UP), 12.09.2006 21:05:31.9062500 +13.5625000
+</span>Hardware IDs: USB\Vid_0930&amp;Pid_0011&amp;Rev_0100, USB\Vid_0930&amp;Pid_0011</p>
+<p class="st0200ff"></p>
+<p class="st0000ff"><span class="st0100ff">000011: PnP Event: Query ID (UP), 12.09.2006 21:05:31.9062500 +0.0
+</span>Compatible IDs: USB\MS_COMP_MTP, USB\Class_ff&amp;SubClass_00&amp;Prot_50, USB\Class_ff&amp;SubClass_00, USB\Class_ff</p>
+<p class="st0200ff"></p>
+<p class="st0000ff"><span class="st0100ff">000012: Get Descriptor Request (DOWN), 12.09.2006 21:05:31.9062500 +0.0
+</span>Descriptor Type: Device
+Descriptor Index: 0x0
+Transfer Buffer Size: 0x12 bytes
+</p>
+<p class="st0200ff"></p>
+<p class="st0000ff"><span class="st0100ff">000013: Control Transfer (UP), 12.09.2006 21:05:31.9062500 +0.0
+</span>Pipe Handle: 0x8909d798
+</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 12 01 00 02 00 00 00 40 30 09 11 00 00 01 01 02
+ 03 01</pre></td>
+<td class="st0200ff" valign="top"><pre>.......@0.......
+..</pre></td></tr></tbody></table>
+<p class="st0000ff">Setup Packet</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 80 06 00 01 00 00 12 00</pre></td>
+<td class="st0200ff" valign="top"><pre>€.......</pre></td></tr></tbody></table>
+<p class="st0000ff">Recipient: Device
+Request Type: Standard
+Direction: Device-&gt;Host
+Request: 0x6 (GET_CONFIGURATION)
+Value: 0x100
+Index: 0x0
+Length: 0x12</p>
+<p class="st0000ff"><span class="st0100ff">000014: Get Descriptor Request (DOWN), 12.09.2006 21:05:31.9062500 +0.0
+</span>Descriptor Type: Configuration
+Descriptor Index: 0x0
+Transfer Buffer Size: 0x9 bytes
+</p>
+<p class="st0200ff"></p>
+<p class="st0000ff"><span class="st0100ff">000015: Control Transfer (UP), 12.09.2006 21:05:31.9062500 +0.0
+</span>Pipe Handle: 0x8909d798
+</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 09 02 27 00 01 01 04 80 FA</pre></td>
+<td class="st0200ff" valign="top"><pre>..'....€ú</pre></td></tr></tbody></table>
+<p class="st0000ff">Setup Packet</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 80 06 00 02 00 00 09 00</pre></td>
+<td class="st0200ff" valign="top"><pre>€.......</pre></td></tr></tbody></table>
+<p class="st0000ff">Recipient: Device
+Request Type: Standard
+Direction: Device-&gt;Host
+Request: 0x6 (GET_CONFIGURATION)
+Value: 0x200
+Index: 0x0
+Length: 0x9</p>
+<p class="st0000ff"><span class="st0100ff">000016: Get Descriptor Request (DOWN), 12.09.2006 21:05:31.9062500 +0.0
+</span>Descriptor Type: Configuration
+Descriptor Index: 0x0
+Transfer Buffer Size: 0x27 bytes
+</p>
+<p class="st0200ff"></p>
+<p class="st0000ff"><span class="st0100ff">000017: Control Transfer (UP), 12.09.2006 21:05:31.9062500 +0.0
+</span>Pipe Handle: 0x8909d798
+</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 09 02 27 00 01 01 04 80 FA 09 04 00 00 03 FF 00
+ 50 05 07 05 81 02 00 02 00 07 05 02 02 00 02 00
+ 07 05 83 03 40 00 10</pre></td>
+<td class="st0200ff" valign="top"><pre>..'....€ú.....ÿ.
+P..............
+..ƒ.@..</pre></td></tr></tbody></table>
+<p class="st0000ff">Setup Packet</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 80 06 00 02 00 00 27 00</pre></td>
+<td class="st0200ff" valign="top"><pre>€.....'.</pre></td></tr></tbody></table>
+<p class="st0000ff">Recipient: Device
+Request Type: Standard
+Direction: Device-&gt;Host
+Request: 0x6 (GET_CONFIGURATION)
+Value: 0x200
+Index: 0x0
+Length: 0x27</p>
+<p class="st0000ff"><span class="st0100ff">000018: Select Configuration (DOWN), 12.09.2006 21:05:31.9062500 +0.0
+</span>Configuration Index: 1
+</p>
+<p class="st0000ff"><span class="st0100ff">000019: Select Configuration (UP), 12.09.2006 21:05:32.0625000 +0.1562500
+</span>Configuration Index: 1
+Configuration Handle: 0x897dba70</p>
+<p class="st0000ff"><span class="st0100ff">000020: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:32.5781250 +0.5156250
+</span>Pipe Handle: 0x898c8ba4
+Send 0x10 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 10 00 00 00 01 00 02 10 00 00 00 00 01 00 00 00
+</pre></td>
+<td class="st0200ff" valign="top"><pre>................
+</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000021: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:32.9531250 +0.3750000
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000022: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:32.9531250 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0xc bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 01 00 04 10 01 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>............</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000023: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:32.9687500 +0.0156250
+</span>Pipe Handle: 0x898c8b84
+Get 0x14 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 02 00 04 10 01 00 00 00 01 00 00 00
+ 01 00 01 00</pre></td>
+<td class="st0200ff" valign="top"><pre>................
+....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000024: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:32.9687500 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 01 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000025: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:32.9687500 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x10 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 10 00 00 00 01 00 05 10 02 00 00 00 01 00 01 00
+</pre></td>
+<td class="st0200ff" valign="top"><pre>................
+</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000026: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:32.9687500 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x4a bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 4A 00 00 00 02 00 05 10 02 00 00 00 03 00 02 00
+ 00 00 00 00 F4 3C 00 00 00 00 00 80 0D 3C 00 00
+ 00 00 FF FF FF FF 11 49 00 6E 00 74 00 65 00 72
+ 00 6E 00 61 00 6C 00 20 00 53 00 74 00 6F 00 72
+ 00 61 00 67 00 65 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>J...............
+....ô&lt;.....€.&lt;..
+..ÿÿÿÿ.I.n.t.e.r
+.n.a.l. .S.t.o.r
+.a.g.e....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000027: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:32.9687500 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 02 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000028: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.0781250 +7.1093750
+</span>Pipe Handle: 0x898c8ba4
+Send 0xc bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 01 00 01 10 03 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>............</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000029: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.0781250 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x159 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 59 01 00 00 02 00 01 10 03 00 00 00 64 00 06 00
+ 00 00 64 00 30 6D 00 69 00 63 00 72 00 6F 00 73
+ 00 6F 00 66 00 74 00 2E 00 63 00 6F 00 6D 00 3A
+ 00 20 00 31 00 2E 00 30 00 3B 00 20 00 6D 00 69
+ 00 63 00 72 00 6F 00 73 00 6F 00 66 00 74 00 2E
+ 00 63 00 6F 00 6D 00 2F 00 57 00 4D 00 44 00 52
+ 00 4D 00 50 00 44 00 3A 00 20 00 31 00 30 00 2E
+ 00 31 00 00 00 00 00 24 00 00 00 01 10 02 10 03
+ 10 04 10 05 10 06 10 07 10 08 10 09 10 0B 10 0C
+ 10 0D 10 14 10 15 10 16 10 02 98 01 98 03 98 04
+ 98 05 98 06 98 08 98 01 91 02 91 03 91 04 91 05
+ 91 06 91 07 91 08 91 09 91 0A 91 0B 91 0F 10 F1
+ 97 F2 97 02 00 00 00 02 40 03 40 02 00 00 00 01
+ D1 02 D1 00 00 00 00 05 00 00 00 09 30 08 30 01
+ B9 01 30 00 30 09 54 00 4F 00 53 00 48 00 49 00
+ 42 00 41 00 20 00 00 00 11 67 00 69 00 67 00 61
+ 00 62 00 65 00 61 00 74 00 20 00 20 00 20 00 20
+ 00 20 00 20 00 20 00 20 00 00 00 0E 25 00 4F 00
+ 55 00 54 00 5F 00 50 00 41 00 44 00 3A 00 31 00
+ 32 00 38 00 25 00 00 00 10 34 00 30 00 30 00 32
+ 00 46 00 39 00 44 00 31 00 36 00 34 00 31 00 32
+ 00 38 00 34 00 41 00 30 00</pre></td>
+<td class="st0200ff" valign="top"><pre>Y...........d...
+..d.0m.i.c.r.o.s
+.o.f.t...c.o.m.:
+. .1...0.;. .m.i
+.c.r.o.s.o.f.t..
+.c.o.m./.W.M.D.R
+.M.P.D.:. .1.0..
+.1.....$........
+................
+..........˜.˜.˜.
+˜.˜.˜.˜.‘.‘.‘.‘.
+‘.‘.‘.‘.‘.‘.‘..ñ
+—ò—.....@.@.....
+Ñ.Ñ.........0.0.
+¹.0.0.T.O.S.H.I.
+B.A. ....g.i.g.a
+.b.e.a.t. . . . 
+. . . . ....%.O.
+U.T._.P.A.D.:.1.
+2.8.%....4.0.0.2
+.F.9.D.1.6.4.1.2
+.8.4.A.0.</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000030: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.0781250 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 03 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000031: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.0781250 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x10 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 10 00 00 00 01 00 01 98 04 00 00 00 01 B9 00 00
+</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....¹..
+</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000032: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.0937500 +0.0156250
+</span>Pipe Handle: 0x898c8b84
+Get 0x32 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 32 00 00 00 02 00 01 98 04 00 00 00 11 00 00 00
+ 01 DC 02 DC 03 DC 04 DC 07 DC 08 DC 0B DC 41 DC
+ 4F DC 9A DC 46 DC 93 DE 94 DE 9A DE 44 DC 89 DC
+ 99 DE</pre></td>
+<td class="st0200ff" valign="top"><pre>2......˜........
+.Ü.Ü.Ü.Ü.Ü.Ü.ÜAÜ
+OܚÜFܓޔޚÞD܉Ü
+™Þ</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000033: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.0937500 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 04 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000034: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.0937500 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 05 00 00 00 01 DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....Ü..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000035: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.0937500 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x1a bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 1A 00 00 00 02 00 02 98 05 00 00 00 01 DC 06 00
+ 00 00 00 00 00 01 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....Ü..
+..........</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000036: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.0937500 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 05 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000037: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.0937500 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 06 00 00 00 02 DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....Ü..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000038: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.0937500 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x18 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 18 00 00 00 02 00 02 98 06 00 00 00 02 DC 04 00
+ 00 00 00 04 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....Ü..
+........</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000039: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.0937500 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 06 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000040: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.0937500 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 07 00 00 00 03 DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....Ü..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000041: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.0937500 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x1e bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 1E 00 00 00 02 00 02 98 07 00 00 00 03 DC 04 00
+ 00 00 00 40 00 00 00 02 02 00 00 00 01 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....Ü..
+...@..........</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000042: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.1093750 +0.0156250
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 07 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000043: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.1093750 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 08 00 00 00 04 DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....Ü..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000044: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.1093750 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x1e bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 1E 00 00 00 02 00 02 98 08 00 00 00 04 DC 08 00
+ 00 00 00 00 00 00 00 00 00 04 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....Ü..
+..............</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000045: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.1093750 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 08 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000046: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.1093750 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 09 00 00 00 07 DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....Ü..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000047: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.1093750 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x18 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 18 00 00 00 02 00 02 98 09 00 00 00 07 DC FF FF
+ 00 00 04 00 00 00 05 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....Üÿÿ
+........</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000048: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.1093750 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 09 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000049: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.1093750 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 0A 00 00 00 08 DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....Ü..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000050: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.1093750 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x18 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 18 00 00 00 02 00 02 98 0A 00 00 00 08 DC FF FF
+ 01 00 40 00 00 00 03 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....Üÿÿ
+..@.....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000051: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.1093750 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 0A 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000052: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.1093750 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 0B 00 00 00 0B DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....Ü..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000053: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.1250000 +0.0156250
+</span>Pipe Handle: 0x898c8b84
+Get 0x1a bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 1A 00 00 00 02 00 02 98 0B 00 00 00 0B DC 06 00
+ 00 00 00 00 00 40 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....Ü..
+.....@....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000054: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.1250000 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 0B 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000055: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.1250000 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 0C 00 00 00 41 DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜....AÜ..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000056: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.1250000 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x26 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 26 00 00 00 02 00 02 98 0C 00 00 00 41 DC 0A 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 04 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>&amp;......˜....AÜ..
+................
+......</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000057: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.1250000 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 0C 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000058: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.1250000 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 0D 00 00 00 4F DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜....OÜ..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000059: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.1250000 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x1b bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 1B 00 00 00 02 00 02 98 0D 00 00 00 4F DC 02 00
+ 01 00 10 00 00 00 02 02 00 00 01</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜....OÜ..
+...........</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000060: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.1250000 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 0D 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000061: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.1250000 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 0E 00 00 00 9A DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜....šÜ..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000062: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.1406250 +0.0156250
+</span>Pipe Handle: 0x898c8b84
+Get 0x17 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 17 00 00 00 02 00 02 98 0E 00 00 00 9A DC FF FF
+ 01 00 10 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜....šÜÿÿ
+.......</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000063: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.1406250 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 0E 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000064: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.1406250 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 0F 00 00 00 46 DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜....FÜ..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000065: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.1406250 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x17 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 17 00 00 00 02 00 02 98 0F 00 00 00 46 DC FF FF
+ 01 00 10 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜....FÜÿÿ
+.......</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000066: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.1406250 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 0F 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000067: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.1406250 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 10 00 00 00 93 DE 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜....“Þ..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000068: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.1406250 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x34 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 34 00 00 00 02 00 02 98 10 00 00 00 93 DE 06 00
+ 00 00 00 00 00 80 00 00 00 02 06 00 40 1F 00 00
+ 80 3E 00 00 22 56 00 00 00 7D 00 00 44 AC 00 00
+ 80 BB 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>4......˜....“Þ..
+.....€......@...
+€&gt;.."V...}..D¬..
+€»..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000069: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.1406250 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 10 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000070: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.1406250 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 11 00 00 00 94 DE 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜....”Þ..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000071: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.1406250 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x1e bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 1E 00 00 00 02 00 02 98 11 00 00 00 94 DE 04 00
+ 00 00 00 80 00 00 00 02 02 00 01 00 02 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜....”Þ..
+...€..........</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000072: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.1562500 +0.0156250
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 11 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000073: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.1562500 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 12 00 00 00 9A DE 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜....šÞ..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000074: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.1562500 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x26 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 26 00 00 00 02 00 02 98 12 00 00 00 9A DE 06 00
+ 00 00 00 00 00 80 00 00 00 01 88 13 00 00 B0 8F
+ 06 00 01 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>&amp;......˜....šÞ..
+.....€....ˆ...°
+......</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000075: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.1562500 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 12 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000076: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.1562500 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 13 00 00 00 44 DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜....DÜ..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000077: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.1562500 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x17 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 17 00 00 00 02 00 02 98 13 00 00 00 44 DC FF FF
+ 01 00 10 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜....DÜÿÿ
+.......</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000078: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.1562500 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 13 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000079: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.1718750 +0.0156250
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 14 00 00 00 89 DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜....‰Ü..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000080: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.1718750 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x1a bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 1A 00 00 00 02 00 02 98 14 00 00 00 89 DC 06 00
+ 01 00 00 00 00 80 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜....‰Ü..
+.....€....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000081: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.1718750 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 14 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000082: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.1718750 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 15 00 00 00 99 DE 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜....™Þ..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000083: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.1718750 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x28 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 28 00 00 00 02 00 02 98 15 00 00 00 99 DE 06 00
+ 00 00 00 00 00 20 00 00 00 02 03 00 60 01 00 00
+ 61 01 00 00 30 01 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>(......˜....™Þ..
+..... ......`...
+a...0...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000084: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:40.1718750 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 15 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000085: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:53.5156250 +13.3437500
+</span>Pipe Handle: 0x898c8ba4
+Send 0x18 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 18 00 00 00 01 00 07 10 16 00 00 00 01 00 01 00
+ 00 00 00 00 FF FF FF FF</pre></td>
+<td class="st0200ff" valign="top"><pre>................
+....ÿÿÿÿ</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000086: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:53.5468750 +0.0312500
+</span>Pipe Handle: 0x898c8b84
+Get 0x10 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 10 00 00 00 02 00 07 10 16 00 00 00 00 00 00 00
+</pre></td>
+<td class="st0200ff" valign="top"><pre>................
+</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000087: Bulk or Interrupt Transfer (UP), 12.09.2006 21:05:53.5468750 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 16 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000088: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:02.4531250 +8.9062500
+</span>Pipe Handle: 0x898c8ba4
+Send 0x10 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 10 00 00 00 01 00 01 98 17 00 00 00 00 30 00 00
+</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....0..
+</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000089: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:02.4531250 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x22 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 22 00 00 00 02 00 01 98 17 00 00 00 09 00 00 00
+ 01 DC 02 DC 03 DC 04 DC 07 DC 08 DC 0B DC 41 DC
+ 4F DC</pre></td>
+<td class="st0200ff" valign="top"><pre>"......˜........
+.Ü.Ü.Ü.Ü.Ü.Ü.ÜAÜ
+OÜ</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000090: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:02.4531250 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 17 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000091: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:02.4531250 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 18 00 00 00 07 DC 00 00
+ 00 30 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....Ü..
+.0..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000092: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:02.4531250 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x18 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 18 00 00 00 02 00 02 98 18 00 00 00 07 DC FF FF
+ 00 00 04 00 00 00 05 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....Üÿÿ
+........</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000093: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:02.4531250 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 18 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000094: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:02.4687500 +0.0156250
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 19 00 00 00 03 DC 00 00
+ 00 30 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....Ü..
+.0..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000095: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:02.4687500 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x1e bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 1E 00 00 00 02 00 02 98 19 00 00 00 03 DC 04 00
+ 00 00 00 40 00 00 00 02 02 00 00 00 01 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....Ü..
+...@..........</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000096: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:02.4843750 +0.0156250
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 19 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000097: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:02.4843750 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 1A 00 00 00 4F DC 00 00
+ 00 30 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜....OÜ..
+.0..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000098: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:02.4843750 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x1b bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 1B 00 00 00 02 00 02 98 1A 00 00 00 4F DC 02 00
+ 01 00 08 00 00 00 02 02 00 00 01</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜....OÜ..
+...........</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000099: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:02.4843750 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 1A 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000100: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:02.4843750 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x20 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 20 00 00 00 01 00 08 98 1B 00 00 00 01 00 01 00
+ FF FF FF FF 00 30 00 00 00 00 00 00 12 5E 00 00
+</pre></td>
+<td class="st0200ff" valign="top"><pre> ......˜........
+ÿÿÿÿ.0.......^..
+</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000101: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:02.4843750 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x46 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 46 00 00 00 02 00 08 98 1B 00 00 00 03 00 00 00
+ 00 00 00 00 07 DC FF FF 0D 4B 00 53 00 30 00 36
+ 00 30 00 33 00 30 00 36 00 2E 00 70 00 64 00 66
+ 00 00 00 00 00 00 00 03 DC 04 00 00 00 00 00 00
+ 00 4F DC 02 00 01</pre></td>
+<td class="st0200ff" valign="top"><pre>F......˜........
+.....Üÿÿ.K.S.0.6
+.0.3.0.6...p.d.f
+........Ü.......
+.OÜ...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000102: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:02.5625000 +0.0781250
+</span>Pipe Handle: 0x898c8b84
+Get 0x18 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 18 00 00 00 03 00 01 20 1B 00 00 00 01 00 01 00
+ 00 00 00 00 01 40 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ........
+.....@..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000103: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:02.5625000 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0xc bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 01 00 0D 10 1C 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>............</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000104: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:02.5781250 +0.0156250
+</span>Pipe Handle: 0x898c8ba4
+Send 0x200 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 1E 5E 00 00 02 00 0D 10 1C 00 00 00 25 50 44 46
+ 2D 31 2E 33 0A 25 C7 EC 8F A2 0A 35 20 30 20 6F
+ 62 6A 0A 3C 3C 2F 4C 65 6E 67 74 68 20 36 20 30
+ 20 52 2F 46 69 6C 74 65 72 20 2F 46 6C 61 74 65
+ 44 65 63 6F 64 65 3E 3E 0A 73 74 72 65 61 6D 0A
+ 78 9C DD 7D 6D B3 6C B9 4D EE F7 F3 2B FA E3 D9
+ A1 76 67 F9 DD E6 0B 95 99 13 42 42 48 C2 64 32
+ 05 15 6E 51 97 13 C2 00 67 B8 10 2E 50 97 5F 7F
+ 25 CB 96 E4 B5 BA 7B 7B 75 AF 13 AA 93 64 32 5B
+ 5A 6D F9 91 6C CB EF F2 BF 9D 96 B3 B1 A7 05 FF
+ DB FF F8 F8 DD BB EF 7F 95 4E FF F0 EF EF CC C9
+ 00 BB 98 C5 84 78 FA DD 3F 00 FD 8F EF 7C 28 E7
+ 52 E2 C9 64 0B 5F FC C9 3B 13 4E 31 B8 74 FA DD
+ DF BF FB 2D FC E4 BF E0 9F 9F C0 3F FF F4 AE 4A
+ 3D 7D F5 A3 DB 69 7E F9 2E 24 57 3F DB 12 E9 F3
+ 92 F3 29 3A B3 D0 67 1F A3 83 A4 C6 C3 C7 D3 77
+ EF 7C 4A 91 C9 4F F0 9D B2 01 78 FF F6 2E 9F 1D
+ FE A7 32 F4 DF 1F BF 3B 7D F1 35 68 55 4E F1 6C
+ 20 5F 7B FA FA B7 90 CE 9C 5E 41 C1 53 88 F0 5B
+ 7B 32 26 9F 53 39 7D FD DD BB F7 E6 E5 EB 7F 7A
+ F7 C3 AF DF FD 25 65 EE BC 0F 2A F3 4E 62 E6 0F
+ E6 E9 40 0D C8 00 F3 B4 63 9E 61 49 49 E5 D9 C9
+ 03 F2 0C 66 39 FB 54 F3 74 98 A7 29 E1 9C 3D 7C
+ FF FA 37 EF DE 7B 46 E1 62 49 A7 18 97 86 82 C8
+ 64 97 87 51 18 87 D9 A5 92 BA E6 3F E0 3C 6D 34
+ 59 E5 49 E4 01 79 BA EC CF 2E EA 3C BF E0 3C E1
+ D7 45 E5 49 E4 01 79 DA E0 CF 50 8F 55 9E 5F 62
+ 9E F0 DD 96 B3 CF D5 DA 1F 90 F3 5A 0C 16 4B 34
+ 67 EF 57 65 D0 5B 86 AA 0C AD 29 1D 51 1F 22 08
+ 0F 25 6C 2A C4 90 B5 AA FB 2D EB 23 AA 7F CF FA
+ 62 FD EF 59 AB 36 CF 0E 44 9A FD A3 59 AF 9B FB
+ 6B B1 E7 C5 9F 5E A5 1C 3E 8C 75 A4 7B AF 56 47
+</pre></td>
+<td class="st0200ff" valign="top"><pre>.^..........%PDF
+-1.3.%Ç쏢.5 0 o
+bj.&lt;&lt;/Length 6 0
+ R/Filter /Flate
+Decode&gt;&gt;.stream.
+xœÝ}m³l¹Mî÷ó+úãÙ
+¡vgùÝæ.•™.BBHÂd2
+..nQ—.Â.g¸..P—_
+%˖䵺{{u¯.ª“d2[
+Zmù‘lËïò¿–³±§.ÿ
+ÛÿøøÝ»ï•NÿðïïÌÉ
+.»˜Å„xúÝ?.ýï|(ç
+RâÉd._üÉ;.N1¸túÝ
+ß¿û-üä¿àŸŸÀ?ÿô®J
+=}õ£Ûi~ù.$W?Û.éó
+’ó):³Ðg.£ƒ¤ÆÃÇÓw
+ï|J‘ÉOð².xÿö.Ÿ.
+þ§2ôß.¿;}ñ5hUNñl
+ _{úú·Îœ^AÁSˆð[
+{2&amp;ŸS9}ýÝ»÷æåëz
+÷ïßý%eî¼.*óNbæ.
+æé@.È.ó´cžaIIåÙÉ
+.ò.f9ûTót˜§)áœ=|
+ÿú7ïÞ{FábI§.—†‚È
+d—‡Q.‡Ù¥’ºæ?à&lt;m4
+YåIä.yºìÏ.ê&lt;¿à&lt;á
+×EåIä.yÚàÏPUž_b
+žðݖ³ÏÕÚ.óZ..K4
+gïWeÐ[†ª.­).Q.".
+.%l*еªû-ë#ªÏú
+býïY«6Ï.Dšý£Y¯›û
+k±çş^¥.&gt;Œu¤{¯VG
+</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000105: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:02.6562500 +0.0781250
+</span>Pipe Handle: 0x898c8ba4
+Send 0x5c00 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> BA B7 3A A0 8E D8 78 4E BE 24 A9 24 D2 18 24 D3
+ 4A 1E 91 69 6B 0C 3A D3 2F C6 56 2F 99 56 F2 88
+ 4C 5B AB D7 99 4A B3 F7 76 C9 27 1F 4D AF E3 48
+ F6 16 89 99 7A 07 05 A5 BE 23 39 7C 0F 7E F8 8E
+ E4 F0 3D 2E 51 7F 47 72 F8 BE CA 1F FD 6F 27 39
+ FF B8 B8 AC E5 37 52 F0 95 C5 A8 EF 9D 64 7C 21
+ 05 AF E4 77 F2 31 A3 2E 58 92 21 A4 73 30 68 D3
+ 5F BF FF FA 25 82 73 F1 36 BE FF C7 17 EF DF FF
+ DF 97 57 68 31 01 3A F0 F7 9F 90 FE 7B F8 BF DA
+ B8 FE D7 D7 3F 79 E7 FC 19 F4 7E 05 57 17 2C 56
+ F8 5F BF FF D9 8B 81 86 96 E3 FB FF 78 31 F6 EC
+ 8B F5 EF BF 7B 09 28 11 04 FE DD 8B 03 8D 8A CD
+ 20 05 9B 61 4E E6 FD EF 5E 00 E9 79 59 2C CA 33
+ 2E 9E 61 A0 B0 90 AC AF 5E AC 03 11 EA C7 FF C9
+ 02 2A B6 7F 7F 81 16 E8 8B 31 44 FE 9F 97 D7 04
+ 92 52 89 EF FF E5 25 2C 0B FC ED 50 EA AB 49 CB
+ 39 FA 2E F6 97 2F 88 30 03 B2 9A EA BF 59 FA A8
+ 1A 7A D8 57 30 4F 53 EC 07 2F 0E 9D 6E F4 E0 5C
+ B5 EC F5 EF 3E 74 03 FC 6F 96 AB 4C 28 AA FC F1
+ CB AB CD E0 29 42 7C 1F D9 54 AF 2F E0 3A 0A A8
+ FC 17 2F 0E BA 8F EC 82 12 F3 BB FE 91 7F 65 39
+ E1 72 E1 2F 11 7B 02 00 D6 02 C6 AC 94 FF F6 42
+ 61 FC FD 25 CC 90 DA C1 5F AE E4 B7 FF 54 45 F0
+ DB 17 0F 9D 42 09 09 BE DB 80 06 33 68 B0 88 8D
+ F8 EB 9F BE FB FA 7B BF 7E FF A7 2F B5 23 CB AD
+ AA B5 FA A5 2C E4 6C 81 AA 95 C4 A8 7F FC 02 1F
+ 01 7F 7E FF 37 7F C3 7F FE 39 17 CD BA C6 7E 64
+ 61 97 B4 FD 17 E6 AD AA 84 7C F8 67 B6 E1 EF 3B
+ BF B3 18 F5 37 CC 94 BF FE EE E5 15 3A 51 77 36
+ 62 1B AE 1F 52 65 FE AB 7F 93 1C 54 61 7D D1 DA
+ D7 FF 7B 09 98 D2 59 30 AF 4D 19 4A 2A 60 49 51
+ BF 55 07 F0 11 9C F7 52 07 F0 50 58 34 D2 86 11
+ 36 3A 1F 9B 4D 1B 4D E4 FA EF 3A 84 87 32 EB 03
+ F7 9C 43 FF 7D A2 DF 3B 74 3A 6D D8 7E 8E 19 46
+ FB 3C CA FF 37 F8 97 81 EC 97 74 7A 85 EA 0F 78
+ 4B A4 99 05 4E 29 40 44 C4 8E F5 B5 40 2B 8D B1
+ 0E B5 8A 09 50 3F 84 05 BE F0 F4 97 8F 8F E7 0D
+ 88 05 C7 86 9D 2B 8D 2D 7E FD FE C7 DD BA 3F 7B
+ 49 D6 36 B7 82 DD BD 43 07 8A 9D BD 0C F9 DF D0
+ 23 C0 80 6E 29 E8 34 02 76 66 D8 33 A7 08 D6 89
+ C2 22 3D EE 86 6F 61 60 82 B3 21 30 4E 20 F8 3F
+ EF 35 E1 57 FD 0F F0 F3 C6 74 C7 0B BD 6A 54 AA
+ D8 59 55 1C 78 56 1B 20 57 74 B1 D9 9E 34 CB 41
+ FB 2F 77 AA 52 D5 58 50 1B EC 12 60 6C 0B BE B2
+ 8D B5 7E FD FE 47 2F E0 58 72 80 3E 18 0A 83 FF
+ FC A0 CB 05 E7 58 5D 19 B7 B7 5C A4 7E 71 B9 8C
+ F5 EB C1 6A E5 A0 FB 70 AD 5C C4 05 7E F1 12 23
+ B6 AD 5C CB C3 A0 9B 64 15 FC AC 0A 16 AA 0F 40
+ D1 E5 C1 AC B1 3C DE 90 03 35 C8 79 94 B3 D8 73
+ 4A A7 81 05 25 92 77 8A 59 60 E2 98 C2 E9 82 E4
+ 83 AA 07 0C F8 AD EB 55 FD 52 F5 F8 7E 75 DF DE
+ 58 FD FD 4F 5F 5E 0B 0C 7C AC C1 3F 43 88 43 F5
+ 69 33 AC C0 B6 A7 35 8E 80 9E AA FF F9 80 8F 29
+ E0 5B 12 CC 22 6C 5C D0 34 15 3A 37 CE 3F 81 6E
+ C1 AF BB CB 9F 42 3F 0A 5F 8B 57 C3 03 1A 02 E4
+ 94 00 67 FF AB F0 5F 91 FF A2 51 5D 59 9C 8C 1E
+ C2 8B 2F A5 57 38 51 F0 6D 47 6C 32 0C 4C 63 D0
+ 0E 8C 59 AB 86 32 29 87 6B AB B0 2C CC 31 8A F2
+ E7 66 02 57 82 61 46 AC A3 31 E8 75 A0 0C 51 1E
+ F4 91 D1 08 6B 0E 17 0C 2B A3 D3 D5 D6 64 0F B8
+ AC B0 E6 E4 AC 32 D7 AC B1 FA CF DA 09 2A 00 78
+ C1 0B A6 DB 27 67 5B 6E BB EC 73 C1 CE CC DA A3
+ D7 3A D1 55 FB 50 05 C0 F5 43 B0 C0 09 D2 D5 89
+ 91 81 79 E6 E2 EA 90 E3 7B F3 59 B1 09 85 E5 6D
+ 75 68 2A F3 2D 87 92 7D 7A F7 ED 94 A1 A1 79 52
+ 6D 11 43 33 2B 15 31 F4 B1 2E C5 C0 20 0F 26 62
+ 16 7B F3 44 1E E5 CB 3A C6 CB 69 70 29 98 8C 5C
+ 8A A7 01 E5 62 DE 27 FE 6B E1 BF FE 83 FF 62 EF
+ 48 7E 42 C6 77 B7 0D 91 40 57 37 B6 F0 5C 1D F6
+ A6 E6 76 91 8F 68 EF 03 14 5A 81 D1 6D 2E 4D 7B
+ 51 E5 9B 3E 3A 98 E8 45 33 CC EB 9D C7 D1 18 F4
+ 75 E7 94 4F 03 6B BE BD 59 07 4E C3 C2 27 03 5D
+ CC 79 89 75 74 54 32 76 54 CC 7A 70 40 91 6B 61
+ E2 20 DC 04 AD 32 BA FC 3D 2A CB A8 CD 07 18 A3
+ 8C 03 B9 01 AA AA B1 B3 22 DB C0 E3 BB 77 05 86
+ 35 36 0E 63 43 61 F5 36 37 D1 BC D6 A3 7E A8 68
+ E0 11 5C DE F4 3F 93 1D 9A 8B B6 2E 83 A8 6A 2A
+ AC 71 44 3E 29 87 7A 2F CD 71 30 B8 2C 79 5F 87
+ E6 62 32 6D 38 07 D5 26 D7 E5 B4 10 61 BC 28 9C
+ 39 58 0B 8C 24 AB A7 83 8A 02 13 30 14 93 01 57
+ 11 D6 94 9C 55 DE 8A 63 A1 44 F2 5C AF A8 8C E4
+ 40 4C 3A 6D ED B6 4F CC 85 32 DB 65 9C AD 8D 99
+ B5 4B AD 55 A2 6B D6 91 BE 0C F4 3F B9 90 A4 2F
+ B3 53 7D 99 CA 49 0C C8 2C 68 BE 19 AB 99 64 BE
+ E5 50 B2 B9 BE CC 05 DC 5C 28 83 9D 85 55 9C D8
+ F9 E0 BE 2C D4 39 AC 07 AC C6 0C 7D 59 B0 97 87
+ C7 9E 3D 5F E2 BF C4 1B FE 07 FF B5 EA CB 26 5D
+ 84 07 47 35 74 64 CC D9 E3 20 7A 1A F6 0F 9D 71
+ 97 7B F0 C9 E2 B6 8B AE BA E8 74 C3 5E FF E0 17
+ 8F E3 06 ED 1F 1C FC 15 DC 4E FF B0 CE 5C B3 F6
+ 34 25 B6 12 D7 EF D1 6E BB 84 6C 0B 6C 97 69 B6
+ 26 66 D6 2E 95 56 89 AE 9A 66 E5 1E A0 59 EC 75
+ 0F 92 95 98 8F 59 EC 0C 24 F7 0B AC 5D 0E C2 15
+ DB AA 0A 5B 5A 58 9F DF 41 18 CF 33 FF FF 51 07
+ 61 AD C5 35 34 6D 06 66 ED 71 11 9C 88 7D 04 73
+ EE 72 12 B8 34 42 53 18 AE C1 06 7A 0B 9A F9 EC
+ 68 09 76 09 30 B2 1A 9C 04 EE F2 C5 B4 D3 49 AC
+ 33 D7 AC 3D 2D 4A EC C4 D5 7C 65 BA 7D 62 2E 14
+ DB 2E F3 6C CD CC AC 5D 6A AD 12 5D 35 CF CA 51
+ 18 DC F2 DE E7 28 24 2B B1 20 B3 D8 2B 48 EE 17
+ 58 BB 1C 05 3A 03 AA 2E 6C 6A 61 7D 76 47 E1 8A
+ AC BA FE 4F 3A 0A 9B B1 B1 E4 99 E5 FF 37 CC B9
+ 64 9C FC 29 39 57 1C CE A4 A7 B0 65 A9 A5 09 A9
+ 6D 95 7C 81 B5 61 FC 27 E8 83 45 97 D5 6F 44 41
+ 98 E5 25 77 DA 68 FC 71 66 F2 5C 70 99 79 58 AC
+ 52 AC 26 B8 40 31 E6 78 03 DE 5C 4E 31 A0 F7 1A
+ F4 5E B1 36 0C D0 BB F8 82 75 46 FD C6 A5 15 3C
+ 66 EC D1 1B CD 69 46 BD 99 D5 05 E7 DA 80 AE C3
+ 9B C9 C9 2D 50 5B 52 D1 7A 6F 58 1B C6 7F C2 6F
+ 16 5C FF 57 79 17 BF 42 C7 8C 79 B5 DD 12 16 5C
+ EF D3 B5 59 58 24 D8 2D 60 CF 94 6E A0 9B CB 09
+ 17 E0 C2 A8 F6 8A B5 61 A0 DA D1 A1 1B 51 BF 09
+ 66 05 8F 19 3B F4 36 4B C2 C4 5A 6F 61 75 C1 60
+ D0 E4 6E C0 FB B8 59 9A B9 7B 05 11 3A 79 98 94
+ 46 5C B7 AA AE 52 36 1D 2E BA CA 70 D3 41 FE D9
+ B0 04 35 EB 20 D9 1B F2 C2 91 B0 DA F2 D4 D4 F2
+ 1B 27 92 CD B0 CB 8E 76 D6 41 26 DC 30 AD BD A3
+ 4D E8 77 D0 99 5B 18 69 58 61 ED 03 76 41 C1 F9
+ A1 8B 4A C3 70 D6 2A CF C9 D9 AA 25 AC DE C3 EF
+ 92 D3 C7 13 16 8A 7F A7 90 B5 41 07 D6 FC 38 6A
+ 93 08 59 50 2D CB 66 59 47 8D A3 A0 CE 83 05 4B
+ 3B C6 69 F1 B4 59 B6 91 CE 58 11 99 8C 25 F2 CD
+ D1 D5 A5 D2 11 4C AD 90 95 C9 1A E7 DB CF 32 00
+ 32 98 AD F3 EE EC DA 52 CA 87 9B 1B 8D 86 1B 30
+ 1F E7 92 76 9E F9 2F AB DA FE 7A 2B F1 CD A1 67
+ 39 C7 C1 E9 35 8E AC DF 5E DB 7B 7F C3 9D C6 D0
+ B6 A6 BA 64 8F 87 BA 52 5E B7 F9 DD 8B D7 9B 25
+ F2 4F 4A F4 0E B7 B4 99 CE 69 D6 1E 39 AB A5 23
+ C5 D9 23 65 BD 40 AD 59 3B E4 C8 46 22 1B EC F2
+ 5E EE FA 40 91 33 A1 C0 24 7E A9 E7 43 8D C7 03
+ AB 51 1D 25 C2 DB 00 6A BB 09 7E 9D 4F 7E 29 FD
+ D7 05 26 3C 77 1D 26 C2 F5 EF B0 00 38 67 0D 74
+ 76 51 EF 21 74 D6 41 87 89 5C 4E D8 47 47 0B 5E
+ A0 1D 5C 9D 3D 2A A4 50 C2 C4 CC 8D 20 2B E7 B1
+ FD 23 07 03 8B 10 07 68 B3 47 7F 04 9A 73 0B 9E
+ E8 D0 D8 1A EB 31 70 1E AA 8F 1F B0 CD 9E E4 51
+ D8 C0 F6 2E 8F D8 88 F5 28 B6 8C 97 5D 34 B8 D9
+ 33 3A 02 0E DC C7 D9 DB 01 5C 63 3D 08 0E 8F FF
+ 8D A5 1A 76 83 C3 33 AE 7E 6C 16 8D F5 20 38 3C
+ DA 34 60 8B FB B1 E1 71 E5 11 5A E5 3C 8A 2C A3
+ 13 D6 D0 D2 6E 68 11 8F 82 8E 8D A1 B1 1E 04 07
+ 03 73 3F DA 2D EF 07 97 A0 7F 18 5B 43 63 3D 08
+ CE DB F3 D8 18 CA 6E 6C 09 AD 3F 36 86 C6 7A 14
+ 5B C1 53 9A A1 40 3E FD 58 80 51 67 1D A0 52 4F
+ 0E 5A 14 56 E8 CF E2 D8 36 1A EB 41 AC B4 C2 76
+ 05 AB B9 0B 2B 1E 5C 4A 03 54 E2 3C 88 14 0A 1B
+ 58 57 90 DA FB 90 96 4C 23 36 05 95 58 8F 62 2D
+ D8 C9 5D C1 EA EE C2 5A A0 A4 D2 D8 92 1A EB 41
+ AC 09 46 1E 57 6B 80 BF 07 2B 74 A3 96 66 BF 8C
+ B5 B3 1E C4 9A 1D F6 81 57 B0 86 FB B0 C2 D8 2F
+ C7 11 2B B1 1E C5 5A B0 4B BC 82 35 DE 85 15 8F
+ 84 95 01 2A 71 1E 44 5A 70 75 ED 0A D0 74 1F 50
+ BC 8C E5 47 A4 C4 7A 0C 6A 58 1C 76 98 57 B0 E6
+ BB B0 5A 57 68 16 22 58 1B EB 41 AC ED A2 D3 65
+ AC E5 3E AC 78 5E 7C 6C 58 8D F5 28 D6 74 5E B5
+ 2B FB 58 8F 05 A3 07 47 07 D0 04 6A 63 3D 08 D5
+ FA 4D EF 6A 1F EB B1 3C 4E 06 87 33 5D 8D F3 20
+ 52 98 92 AC FB 56 FB 58 8F E5 7D 4C 67 33 36 AC
+ C6 7A 14 6B DA F4 AE F6 B1 1E CB 63 49 99 B1 61
+ 35 D6 83 58 71 C6 72 B5 06 8C 3D D6 B1 CB 5A 30
+ 76 C5 A3 FF 30 BE 33 7C E0 B3 1F 77 ED 0B 57 E1
+ CA B2 F5 8F F8 F3 2F E8 2A 56 F6 0A F5 5F 0D CB
+ D6 B4 62 51 A1 3A EB DD 89 4E 1F D3 4A 3D 74 4C
+ 9D FC 44 A4 C1 ED 91 BA 44 E8 2C AE 51 2C 2E 74
+ 12 D2 CA D7 DF 7E 6F B3 B6 71 9C F0 6F 31 A8 C1
+ E3 27 6A DB CA 05 5E DE F5 DD C2 3F EA 2B 82 BC
+ 34 C8 6B 89 7F CB 06 FC C1 55 03 BA 65 D1 3A 6A
+ 95 37 5A 38 9B 8C D6 11 D3 0E 06 3C 50 DA 51 16
+ A3 05 95 C1 62 72 73 F4 57 37 4C F6 D5 4B 8C E9
+ B2 C9 42 D4 4A 6A 9D 37 6A 38 07 A3 47 AD 64 88
+ 6B 93 1D 26 ED 20 93 D1 32 CF 1D 16 FB 29 5E 60
+ BB 68 31 6F 86 86 A4 55 DE 68 E1 D0 17 2A 1D 31
+ ED 68 B1 E3 A4 1D 66 B1 BA F8 34 98 EC 9B 6E 1F
+ BA A7 E8 92 B9 64 B2 2F AF 56 32 9F 86 96 A4 75
+ DE A8 E1 60 BE 3F 28 99 D6 ED F2 38 69 47 99 8C
+ 96 C4 EE 30 D9 5F 5F 75 65 C1 A6 41 C9 34 B4 A4
+ 51 0D E7 CB D0 92 30 ED 68 B2 E3 A4 1D 65 B2 BA
+ 50 B7 DF F7 7F 73 DD 60 18 B4 45 54 D4 1A 6F 94
+ 70 21 0C 0D 09 D3 AE 0C 76 98 B4 C3 0C 56 D7 0F
+ 8F B4 58 F4 43 3B D2 2A 6F B4 70 D1 0C ED 08 D3
+ 8E 16 3B 4E DA 51 16 A3 45 CD FD 16 FB D5 75 8B
+ 95 A1 19 69 95 37 5A B8 18 CB A0 63 59 37 CA E3
+ A4 1D 65 B1 BA D2 3A 18 8C BB 48 09 2A 40 17 FB
+ B1 FF FC B3 FE F1 15 C3 6C 5C B4 58 0A 43 3B D2
+ 2A 6F B4 00 38 51 EB 88 69 47 8B 1D 27 ED 30 8B
+ D5 F5 DF 3B 4C F6 47 2F 21 FA 8B 26 CB C6 68 25
+ B5 CE 1B 35 5C CA 43 43 C2 B4 A3 C9 8E 93 76 94
+ C9 68 19 7A DE 64 1F DE AE 65 39 66 AD A4 D6 79
+ A3 86 CB 6E 68 49 98 76 65 B2 C3 A4 1D 65 32 5A
+ 0F BF C3 64 D7 6B 59 B1 43 53 D2 3A 6F D4 70 B9
+ 0C 4D 09 D3 8E 26 3B 4E DA 61 26 2B 9B A9 D2 94
+ F3 FF C9 0B E0 BB 6C B1 3C B4 24 AD F2 46 0B 57
+ 82 1B 74 CC EB 76 79 9C B4 A3 2C 46 9B 03 83 C5
+ 7E 42 21 90 AC 6B 37 FC 53 56 75 EB E7 D7 BA 49
+ BF B8 A1 01 69 55 37 E8 61 82 B6 28 DD 6A DA C1
+ 52 07 4A 3B CA 52 B4 35 F1 A6 A5 BE E4 F6 F8 E7
+ D7 4D 55 82 52 6E D0 75 03 DF 2F 31 0E CA 61 94
+ B8 D1 54 87 49 3B CC 54 65 33 33 BA 64 AA 16 72
+ 02 9C D8 2F 87 53 EF DA 54 26 D8 41 39 A5 EB 06
+ BE 37 56 B7 98 9A 76 34 D5 71 D2 8E 32 55 DD 9A
+ 99 6F 7E 3F BE D6 1B D6 68 71 4A 35 AD E9 06 BC
+ 37 79 68 30 98 76 34 D4 71 D2 0E 32 54 DB 18 7A
+ D3 52 5F 71 F3 BB 5E A7 F0 72 B8 52 4E EB BA 81
+ EF AD 4B 83 72 71 DD FC 8E 93 76 94 A9 68 5F 6A
+ 30 55 0B D6 B5 84 C1 40 7D 0C F1 F5 B5 65 2F EF
+ EC D0 60 B4 AE 1B F8 DE 16 BD 7E 5C D3 8E A6 3A
+ 4E DA 61 A6 4A EB B9 CF 1F BD 60 88 45 8C C9 E6
+ D4 6C BA 35 BF 71 9F 64 30 54 2A 5A 35 AD E9 06
+ 3C CC 51 87 06 83 69 57 86 3A 4C DA 51 86 A2 4D
+ B9 23 2C E5 5D 1C 74 53 AA 6E D0 7B BF 0C ED 05
+ D3 8E 96 3A 4E DA 51 96 A2 4D C1 C1 52 D2 D2 A4
+ F5 FD 95 0C 47 AF 0D 13 C0 B5 69 DD B4 AA 1B F4
+ DE C7 A1 B9 60 DA 95 A5 0E 93 76 98 A5 B6 5B 41
+ 83 4F 6A 2E 7D C2 52 18 CA 54 EB 56 86 F6 32 A2
+ F7 C1 EA 4D 9B 9A 76 B4 D4 71 D2 8E B2 14 6D 88
+ EE 9F D7 5C EA 03 E5 9C B4 B1 30 59 F2 2D 8E 6E
+ 8F BA 68 F0 DC 34 1F 95 B6 21 C0 2F 42 FB 05 8C
+ 87 8C BD E7 68 74 5C 32 D6 7A 3C FF 6D EB C9 31
+ 0E E2 83 F4 51 11 16 93 43 1F 85 01 50 B7 56 DA
+ 73 6E 40 D0 BA 58 47 B2 1A 70 63 3D 18 64 27 C6
+ B3 BD 82 D4 6E F6 B7 27 EE 11 61 19 05 32 68 AE
+ 56 40 5F 98 CF 71 A9 C1 76 FC 82 31 02 67 CE DC
+ 2B 39 B5 A0 30 66 43 F4 77 0B 61 FB 89 9C 86 6F
+ A7 1C BC 23 63 47 39 76 EE F6 8F 08 69 97 8D B5
+ 90 B1 30 6F CB 61 73 5E 92 43 F8 3E CB 55 E3 E2
+ B0 ED AB 93 B0 BF 96 F5 44 3E 88 40 D1 82 5F E9
+ 3C C2 6F E4 27 C1 BF FF 21 3B 52 D9 03 15 E7 2A
+ 0E 57 B6 AC D8 A3 8C 33 D8 F9 10 5D FD 38 88 54
+ 46 09 76 35 94 FF 11 21 BA 40 9E 05 DF 08 FA DB
+ C7 62 74 8D 4E 69 A0 07 CC 52 BC B3 F2 2E B8 11
+ A9 BE 66 01 1F 6B 53 6E 01 ED CD 02 66 EA 24 74
+ 2C 05 08 8A AA DF 88 58 83 E4 7E 7C D7 C8 50 E8
+ 5B 4D 15 28 B2 07 49 24 02 7F 18 BD FA 86 F7 6B
+ 39 55 25 44 62 25 7B 6E 35 55 C7 A1 30 7E BC 70
+ D0 E4 09 95 C0 BE B9 B2 1C 9E B0 13 D8 9D AC D0
+ 9C CD 45 13 8B 82 8D A7 3F 18 B6 B3 D1 73 26 9D
+ 68 B0 E5 1B 5E B4 E5 54 95 10 89 44 16 86 2D 38
+ 14 46 B2 FD F3 A1 FE 76 FF 90 01 83 83 60 E8 98
+ 42 91 21 B0 5B 76 F5 40 7C E7 1C 1B 98 39 39 DB
+ 82 BE 4C 5F A5 62 88 72 ED 9B 31 76 D6 A3 51 97
+ EB 35 4B 85 6D F6 2E 95 C2 D6 03 6A 2A 6C 43 60
+ CE C7 22 42 2B 6C B3 77 A9 04 1B 05 E8 D3 D0 86
+ 90 7D 0F DD 38 57 C0 66 EF 51 45 0B DD AC 0A E7
+ A4 38 8F 0C FB 54 68 E1 58 A3 69 62 98 D0 EC 36
+ 91 A7 77 8D 51 1D AE 7D C5 01 2B B3 0E 06 9B 38
+ F4 A7 02 6B 2F 4C F0 65 6A 51 F0 70 4C BD 30 56
+ AF 61 CA EC 02 2F E0 5E B9 88 59 8C 6B 69 EA 65
+ 4C 9A 6F C4 42 F3 8D 63 07 55 60 32 F0 85 B8 FA
+ 64 E1 0F 7D CE B3 C8 E8 E7 4F F4 DB 0D 60 D4 7A
+ 09 58 46 58 57 F7 E2 4A 9F 80 59 B5 F3 FB F3 ED
+ AF E5 55 0C F9 FD 0F 2E 8E B8 70 AE E6 83 3B 59
+ 97 BB CF 87 71 1F 93 C6 BB 04 44 2A 9A E8 1E 9A
+ C8 48 DE 9B 52 D1 1B 1F 4D 62 E8 3E DF 47 AB BE
+ A5 45 A5 AA 84 48 24 B2 E5 56 53 75 1C 0A 63 ED
+ A9 F4 08 E1 F9 14 A8 23 84 CA 92 81 4D 05 D0 07
+ 14 15 5A 1F 6A 10 C1 C3 10 22 DB 10 85 52 B5 C1
+ 0B 49 E4 81 4D 05 C0 DF 10 1A A7 AA 84 48 AC 64
+ CF AD A6 EA 38 14 46 1A 21 3C 1F 6A 36 B6 B3 7E
+ 51 B0 3B 59 A1 39 EB AC 22 AC 53 B0 F1 F8 32 C3
+ 76 76 91 12 ED 44 83 2D DF 00 9A A4 AA 84 48 AC
+ 64 CF AD A6 EA 38 14 46 31 F6 73 A1 16 63 7B 57
+ 34 EC 46 12 34 EF 8C 22 AC D5 B0 BD 71 02 DB D3
+ 7A 57 93 48 44 87 CD DF 10 1A A7 AA 84 48 AC 64
+ CF AD A6 EA 38 14 46 65 EC A7 42 2D C6 8E FD B1
+ 26 02 D0 48 82 16 9D AA 30 D1 1A 0D 3B 1A 2B B0
+ E3 22 CD A7 13 1D 36 7F 43 68 9C AA 12 22 B1 92
+ 3D B7 9A AA E3 50 18 95 B1 9F 0A B5 9A 68 BC B1
+ 9E E3 31 62 0B 0E 86 97 A5 DE 66 F5 18 D1 92 A2
+ 31 55 CE A3 EF 72 E4 7A 43 D4 66 0E 25 D9 F6 4B
+ 62 68 91 4F B0 BF DF B3 3E B1 89 3A 32 B0 14 66
+ B5 32 6E 7C B6 27 1F 93 EF 25 68 23 93 9F 1A 09
+ B9 74 12 06 E5 BE 84 DC 49 4C CB 5F DB A4 FF 40
+ 89 07 AD 8E 9B 14 71 9C 1A 60 68 99 CC EC E2 B8
+ F5 D7 4F 7C A2 7D 95 8A A5 D0 3B 7F A2 25 73 44
+ 51 98 EE 69 45 AB 84 C1 74 47 CB 3C CA 78 36 9C
+ FD 60 BB 1B E3 DA F1 E8 67 7F E8 67 63 3E 63 9C
+ AE 21 5A F3 8D 1A 38 17 D5 4A D6 B4 83 E1 8E 93
+ 76 94 C9 A0 7F 35 76 B7 CD F0 54 9E 1B 02 1A E9
+ 05 91 99 05 C5 F5 2C 59 73 76 C4 D5 D9 CC 13 B5
+ 9C 3D 2B E2 78 3D DD DB 93 0A F0 7F 17 1E 91 C3
+ CB 28 01 7E 80 F7 08 D7 CB 28 93 E6 11 39 01 0A
+ 61 B1 77 CB E9 4B 27 4A CE FC 9B 26 4A 2F 96 23
+ 7A CD CB 09 18 B3 6F 78 02 40 38 3B CC 2C 89 38
+ 76 9D B0 76 98 27 18 98 62 D9 AC E1 30 67 8F 56
+ B8 CB 56 C6 D2 62 D6 8E 50 73 21 C6 40 11 D0 C4
+ CA CC DA 23 27 47 4F 5D 29 6F 36 09 6B 4F EB 5A
+ AD 52 2A 31 BC 6E 29 82 87 70 C0 D3 1B 2C 21 BB
+ 3A 76 C1 55 96 E8 6B 16 85 C6 2E 8D F3 E0 D8 05
+ 8A 01 6A 45 2C 99 5F 91 7A 74 EC B2 B6 81 E6 68
+ C8 EB 75 A4 1C 28 70 97 AB 4F 03 C2 74 D4 10 6D
+ CA 32 AE 23 E5 90 DA 0F 13 FD D0 E2 D6 D9 5D 9B
+ D5 7C C1 79 F2 2D 90 87 D6 9E 0D 56 7D 5C 8A 58
+ EE 8D E3 C5 03 58 D9 76 3B 70 00 AB A1 ED 8E E3
+ 25 03 55 85 ED 98 D7 08 71 D4 A2 B1 B9 E1 49 B5
+ 89 1D F3 0B A5 8C 41 E0 A2 DD 19 1E 70 5B 0E 3E
+ C2 78 34 6F 26 12 6F F4 15 78 C9 B7 66 6D 29 0E
+ 90 70 A0 8E C0 F4 E6 E4 F1 F9 04 8C D0 8A EF 65
+ 46 1C 83 B7 6C 1A FD F1 9D 0F 00 05 EC C1 BF E8
+ 5B D6 2C 82 19 94 CB 47 D9 D5 2E 18 A5 1B 47 E7
+ 5D 06 8E 47 93 64 42 24 24 E8 28 DA 77 46 D9 D3
+ AF 14 F9 38 15 C7 FB 42 8D 81 2E 17 46 F5 43 8D
+ 51 AC DE 5D E1 51 E3 10 8B 66 05 98 BA 87 90 94
+ F9 B1 F3 0E 3E AC BB B9 63 97 94 69 D3 C1 47 75
+ A4 E3 76 E4 00 C3 2F 66 7D E0 CF 9C 82 5E D4 83
+ 9E 48 1D 72 95 ED FB 6B 67 CC 67 B7 E5 7B 4D 95
+ 5D F9 6E AA CD 3B 55 97 DD B2 49 E8 83 6D AC EB
+ 22 C9 D1 7B AC 1E 57 03 AF AC ED 1B 7C 96 D0 E0
+ 66 4A 4D 00 15 07 26 86 77 F8 E6 2A 62 C1 80 AB
+ 19 72 73 75 42 00 5D 9F 09 CC 39 C8 33 5B 0C 64
+ 01 3A 42 C7 1F C7 A7 20 52 54 51 5E F8 AA CD BD
+ 2F B7 B2 42 D6 5B 2A 14 56 A8 71 1E F3 94 16 84
+ 39 3B E8 F1 CD E6 9E D0 1A FC AC A3 17 F0 0B 9A
+ C6 0E E8 1B EB 41 F8 BE 06 3F 78 AB 18 F8 92 D8
+ 5A 93 D9 2D 49 93 4C C4 D9 9C AA 57 19 46 12 21
+ AF EA D5 A3 D5 A9 18 8C 5A BC D2 C3 6E AB 13 FC
+ DC E7 FD 8F B5 B2 1A AA 40 BA 1E C7 16 48 71 67
+ 53 AE 2B C2 05 02 9F 8C 7A 38 77 36 68 A4 28 C2
+ CD 82 F5 38 B2 59 E0 D1 C6 B0 6A 16 82 7D 39 AB
+ AA 34 1B 53 52 1A 45 7D 7A 7E 68 13 C4 79 10 3A
+ 0C 89 F1 A2 98 6A 12 B4 93 08 B3 1E 55 02 57 5E
+ 67 BE D4 48 66 43 52 2A CD F0 49 44 3F AA 46 AC
+ 07 75 8B F5 2C 86 D6 ED AB 0B B5 8B 8E AA D9 60
+ 2F BC 9C DD 9E D8 9D 8D 64 29 15 4D 74 E2 9A 76
+ A8 4E 18 1E AD 5C D7 E9 46 79 B9 5A 52 AC DA 6C
+ 20 4C A5 5A AF 88 A2 D9 81 15 11 86 60 FD 39 B5
+ 4B 15 F1 42 61 D9 84 09 7B FD BB 37 78 A6 E8 67
+ 71 D0 9A 07 05 1B EB 41 0D 53 3D 7E 73 59 43 33
+ A3 21 15 D9 BD 21 37 45 43 07 E3 B2 38 BA F3 C6
+ 7A 54 C3 1A 60 E2 72 E5 34 7B 2A E7 B6 2C F7 04
+ 40 13 D7 22 9A B2 6B 39 54 D3 8B AE E5 66 59 BE
+ 0E FD C0 BD 81 3E 45 43 A9 AD AC E1 A1 B5 F5 62
+ C7 30 55 96 5D D3 6D AD DD 13 26 D4 E0 A4 0C E7
+ 8C 36 38 4F 21 4D 85 95 16 7F 6F 3C 4B 39 99 64
+ 61 EE 99 D1 A5 02 88 ED C9 24 F5 42 FB 87 EB 65
+ F8 0A FD 85 B1 C9 5E 78 B3 7C 52 3D 9C 04 51 98
+ 77 61 45 1B EE 8E D5 A7 F4 73 75 59 48 EB F7 8D
+ 28 F5 E5 0B 4C BB 32 20 E7 D0 4B F8 38 F3 05 ED
+ 16 E7 57 71 48 8F 9D F2 DA A5 3E 5F 63 70 DD 75
+ FD DA 3C BB 39 FD 34 74 BB F0 0B B3 5A 99 CB F2
+ ED 1E A7 1C 87 34 B0 CB CE 64 72 8D 47 C6 F0 F8
+ B0 92 1B 86 91 A6 C4 A8 82 B6 CF CA 59 0A 05 A6
+ 57 2C B0 BE 9B 7E BD 3D D3 5B 68 82 A7 3F 3C DC
+ 59 3B E5 50 E6 83 1C 8D 67 76 5A 7D 4B 41 7C 6A
+ CB CD 3E D9 B0 B2 EE C0 2A 30 A9 B9 70 88 FE EE
+ 29 55 DD 2C C0 D3 2E 69 33 13 61 CF 9C F0 F2 C4
+ F0 06 C9 F8 1E B9 FC F5 2F 77 D5 30 5E 7D 90 92
+ 10 16 D9 72 CA 70 92 88 0D 27 AC 1D 35 C3 80 A3
+ 33 6E C4 13 61 0E B6 A9 19 D3 72 B8 A6 8A 1C 8D
+ 67 B6 86 DD 54 50 D5 8C 69 31 5C 51 65 01 48 57
+ D4 43 6A 58 BD 7A 63 4C E4 A7 D0 65 E5 8D 1D DC
+ 6B ED 2F D5 C1 D0 CF 51 CD 64 F2 0B D6 4B 6E 9C
+ 0F 43 71 4C EE DD 49 22 5C 25 AD 9B 65 4A 4E AE
+ 2F 80 4D C9 E9 DE 46 E3 69 3E A9 B3 76 CA A1 CC
+ 07 39 1A CF 5E 47 76 49 C1 36 1C D9 67 A8 66 DD
+ 6B 0B 10 47 54 B3 62 CE E8 C7 C0 12 61 ED C7 92
+ 74 A3 EB B7 94 AE 57 B0 F5 78 66 AF 2F 53 85 2A
+ AC 1D 95 8C 13 49 19 88 9C 1D 95 AC FB 20 8D A7
+ F9 A0 5D 95 4C E4 70 25 13 39 F7 54 B2 5B 0A EE
+ A9 64 6B EB 5E 5B FC 3D A4 92 D1 2A C4 45 5F 16
+ 36 BE 0C 53 7F 26 5F 66 C1 DD 63 F7 01 A6 32 F5
+ ED C5 81 35 6F 3D 49 E4 53 6A AF 5A 0A 0B 9F 37
+ 9C 7C D6 0D 9F 9E C5 A7 E7 15 1E 1C 5B 40 E7 C2
+ AC 7D 72 5A E6 5A CE 80 67 B2 9A DD 56 70 BE 3D
+ 6E AC 3B B0 A2 DC B7 39 A0 9A B9 A5 2E 0F DB 58
+ D6 EB F5 30 A3 B6 DA 33 E9 0D 30 79 1C 6E B9 F0
+ D7 05 87 36 7B 50 C2 F8 B8 9C 33 6E 0F 86 98 6B
+ 04 78 83 25 5A 37 C1 88 73 E0 3D D4 DA 6A 4C B2
+ 3C 67 DB 11 20 63 76 CA D9 E6 97 9A A5 F5 78 AB
+ B7 F5 0E FB 18 B5 C8 62 71 E3 2F A8 15 A6 07 97
+ 20 72 3D 1A 67 71 51 A8 3C 72 17 D7 94 44 CF BD
+ AB D5 12 66 0D 50 75 A5 9D EC D2 2F 88 1C 17 60
+ 26 E5 F4 65 55 BB 40 D9 7B BF 5E 56 9D 95 D2 D7
+ 9D 95 18 BD EE 3C 5D D9 D9 01 C9 C2 04 3B A0 CE
+ 7A B0 78 F1 20 3C B4 EE 90 F8 2D 57 39 18 E4 B8
+ C1 AA 3A BE 6F 69 85 DD 12 EF C2 09 67 50 60 BA
+ D0 D7 45 83 26 C9 E1 EC 76 95 95 78 CB 25 B7 17
+ CC 84 B5 43 CC BA 7C 35 98 A1 C4 E7 CA 3B 3A 98
+ DC C6 61 4A 25 DB F7 C3 EA C6 F2 A8 73 B3 D0 71
+ B8 78 42 17 E7 77 9E 53 62 94 B2 25 C9 28 8F DA
+ 92 34 67 3B 60 9B BE 24 2B D8 7A C1 2A 6C F9 80
+ A7 E9 60 7C 89 DB 52 1A DC F4 2D 59 06 D7 AB AE
+ 60 3B 66 FB C6 E3 22 AA 86 36 7D 4F 56 A0 F5 9A
+ AC B0 1D B3 69 86 73 22 8D 6D 76 E7 58 B0 B1 9B
+ 17 6C C7 AC B3 43 87 EB C7 32 9D DD 1B 16 70 DC
+ 03 0B B8 83 B6 39 02 1E C5 D5 E0 66 B7 77 15 B8
+ D8 1E A3 53 E0 E2 01 8F D1 B5 E1 81 06 37 BB 4F
+ 2B E0 FA 81 00 C1 76 C8 81 80 5C 57 13 35 B4 DD
+ 0F 0E CA 38 5D 58 D1 DF FF D4 98 6C 08 E0 89 7D
+ BC 19 9D D5 8B 38 5F D4 6D 00 9F ED FB 9F EB 2B
+ E4 FB 7A 5C 3E 1A A7 B0 33 EB 58 EC D0 A0 E3 4D
+ EC 76 83 7D 73 EC AC 2C 05 2F 7F D4 13 BE 21 86
+ 76 A5 FC FA DB BE 90 20 D7 33 8C 94 20 C9 D3 BE
+ 6A 04 D1 FF 7C E8 B4 D8 82 2F AC C5 F3 62 AF 1D
+ FE 1B DE C5 96 2D 11 39 FB 27 81 9C C7 A7 C3 A6
+ 6E B3 6D DC 2F B0 A0 C5 BA 65 38 9A 21 AC BE 0D
+ 27 85 BD E5 8C C5 3F D9 04 5A 22 CD 1A B6 FC 6E
+ 6B B1 C2 A7 C7 59 5D CA E5 A9 EB F4 AA 20 EF 48
+ 32 6B 1E DE 66 91 47 B3 B4 98 FD 43 76 EB 40 4E
+ 3D 17 2F 6B 06 8D 75 D8 0C 15 C7 9A 3E FF 1E 46
+ EF B2 9C 25 AC 41 19 75 59 0C 7A 3D 5C FB A4 E8
+ 32 A8 BD 2F 4C 7E 6A 64 B4 A9 93 29 E1 79 9A 16
+ 6C 8F D2 F2 D7 76 41 F1 40 89 07 5D 18 6B 7D 32
+ AE F3 FA 6B 11 21 83 9D 88 73 68 97 54 B4 6A 8B
+ B5 5A B5 4A 8A 6A 4B 58 B4 6A 35 AD 36 D6 81 D2
+ 8E 32 14 8D 96 2F 1B 8A CE 32 94 C5 CD 18 2A 39
+ D4 C5 B4 4B 83 D0 38 1D EE 17 B6 A8 8C 36 A6 C0
+ 5F 3B 19 28 3C C4 A7 96 96 49 34 D4 71 D2 8E 7A
+ 13 CC 82 2D EA 70 2A 94 C9 1B AF D8 B4 C7 70 90
+ 7B AF 1F F2 64 F5 BA 73 AE 8D DB DB 70 4A 2D 66
+ 24 2E 54 19 21 A1 23 CF A7 D4 AE E8 10 91 E8 62
+ 0F 5E F1 46 12 AF 1F D6 6F 98 AA 1E 17 47 C2 0A
+ 51 6F 97 7B F5 0D E6 8F 92 0A 09 25 11 49 CE 0D
+ 53 31 0E 85 F1 62 3C B3 E7 53 62 7F 88 AD 80 EF
+ 75 9A 21 7E D5 5D 17 2F 03 0E C9 96 99 8B 97 98
+ 60 E6 6E 8E 00 F3 81 76 7E 14 0B EF 4C 61 5B 52
+ D9 5E 60 51 C2 4F 5B 59 53 1A B9 50 B6 00 CA 0A
+ C0 94 65 EA 11 1E 4E 34 B0 34 9E 63 C7 A3 06 6F
+ 32 E5 53 C4 6B C2 C3 61 B7 32 46 35 D2 A7 23 1C
+ 5F EC 93 BF 7E F8 12 6B 38 D8 34 9E 20 DA 55 82
+ 8F DD 7D 95 02 7D E3 2E EE EE AA 05 35 93 76 7B
+ 14 D6 98 69 97 46 65 BB 65 B5 84 9F B6 B2 F6 55
+ 2D 0D A0 AC 00 EC AA 5A 94 48 B3 06 3C DA C1 DF
+ 5B 9F 3C 1E 9F FB 1F AC 4E 7C A3 D7 61 08 1B 3F
+ 5C F2 75 18 64 70 6E 22 20 89 60 E0 D7 E6 29 97
+ 2F 0B CF 56 A7 98 EB 95 A6 01 98 4F F8 17 B3 3E
+ 29 56 CB F6 93 4A 78 81 C5 09 67 34 E2 44 78 0D
+ 6B 05 80 58 73 72 18 A2 B3 DD 32 0C 91 58 C7 55
+ A7 60 F1 C0 22 CA F7 B7 EA D3 85 43 0F D6 AB 1B
+ C8 FF 8C 13 65 50 C9 ED AF 4F FD A6 B9 2A 36 66
+ ED A9 4F 3D 91 AA 4F 17 2F B1 4F D7 27 5B 6F A4
+ 68 60 01 86 C3 25 0F F5 89 59 AA F2 F4 84 17 58
+ BB EA 13 27 E2 FA 24 00 76 D4 27 81 28 F5 89 21
+ 7E A6 FA 14 32 1F A1 39 A8 3E 4D BB 25 AA 33 9A
+ B5 27 34 C3 BA EE 69 D6 20 67 B6 1A 71 80 01 1B
+ 23 6E 80 0F AC 3C BB E0 A1 D2 70 F5 16 96 F7 78
+ 97 6D 4E 0E C5 2B D0 68 5A C0 82 CE DA 27 86 B2
+ 1E C4 68 34 B3 5E E0 96 7A 43 64 86 69 39 3D 22
+ C6 3A 98 C4 C1 3D 71 A2 F0 64 43 DC CA 55 4D 5F
+ 9F AE C0 FA BD 5C F8 AB BD 0C 63 F3 FB 3F 1D 66
+ 87 B3 35 8D 63 7F 38 BC FE 1B 86 70 20 3B 82 C9
+ A8 44 1C 7E 43 58 18 C1 67 72 E4 8E A1 01 DC 08
+ 07 BA 19 1B 85 B5 4F 0C 65 3D 88 D1 68 66 AB DA
+ 2D F5 76 34 C8 B5 69 07 96 EE B7 0E F1 AA 35 C0
+ 6F C4 53 C3 E5 66 5D 13 AF EA B9 5E 25 FE EB 5F
+ F9 AF FB 6A 98 84 BF 71 B9 35 7B 61 51 2C FE 29
+ DB 49 FC 9B 1E 31 57 C9 C1 60 70 93 55 63 01 75
+ 5C 1E F1 C4 42 C7 2C 1A 6B A7 1C CA 7C 90 A3 F1
+ CC D6 B1 5B 0A EE 89 84 B3 B6 EE 36 04 D1 81 EE
+ 8C C2 E4 E1 EE 5B B8 59 C7 64 CB 64 4F 1D 9B 6E
+ 4E DC EF 32 6B EC 77 55 24 5E 87 33 6B 4B 63 E3
+ EF 80 0C 85 49 74 31 40 50 74 B2 46 C4 1E EB 90
+ 48 5A 41 6D A9 3C 85 30 24 89 BE 87 4C 75 30 75
+ 93 6F 50 0D 24 55 25 44 62 25 7B 6E 35 55 C7 A1
+ 30 5E 5C DF 7A 3E 25 6A 18 CD CA 5A 82 D7 B0 1B
+ 49 D0 16 1F 15 E1 92 86 8D 4B 51 0C 7B A1 D0 92
+ 4D 22 C7 99 AC 00 F8 1B 42 E3 54 95 10 89 95 EC
+ B9 D5 54 1D 87 C2 48 B6 7F 3E D4 1C B3 34 2C 41
+ 87 5A ED 64 8D F0 09 84 51 84 D7 A1 56 C3 E2 24
+ D4 6A 58 AC 84 5A ED 44 8B FE 29 DF D2 A2 52 55
+ 42 24 56 32 48 A8 55 C1 A1 30 4A CC D2 E7 42 4D
+ 2F 51 D8 A4 61 2F 26 CB CF 17 63 44 10 11 9C 09
+ 91 0D 00 A5 6A D0 48 22 C3 5E C0 7F CB B7 AA 5F
+ 4F 55 09 91 48 16 6B B9 D5 54 1D 87 C2 D8 5E A2
+ 78 3A D4 64 6C E8 1D 03 BE 17 D5 60 A7 C0 24 2E
+ A7 01 11 83 22 02 A3 A9 A4 6F 2F 5C D4 54 2D BE
+ 32 49 EC F1 95 CD 02 03 44 FE 06 0A 4A 2A 22 58
+ 22 91 3D B7 9A AA E3 50 18 9B B1 9F 0E B5 D4 EC
+ 68 7B 10 E1 5A DA 8D A4 7A 10 ED A2 08 D3 9D 1A
+ 91 8B 95 3A 12 4A 90 12 6D 44 AF 23 FC 0D EB 01
+ A7 AA 84 48 AC 64 CF 0D 53 31 0E 85 51 D5 EC A7
+ 42 2D 35 3B CA 3B 3C 58 DA 31 AB 6A 11 F9 65 1C
+ 24 E4 D5 9C 4A 86 2C 75 24 F6 B6 54 25 06 46 83
+ A5 DD BF D5 7A D0 53 11 C1 12 89 EC B9 D5 54 1D
+ 87 C2 A8 6A F6 53 A1 96 0E 32 67 0E 85 8C 05 D5
+ 48 EA 4E 72 8A 8A 88 1C CF BD 92 21 49 57 93 C3
+ 22 1D 43 23 7A 57 C3 DF B0 3B E1 54 95 10 89 95
+ EC B9 D5 54 1D 87 C2 A8 3A C8 A7 42 8D C6 2E 91
+ E2 23 0B F2 12 97 81 53 82 6B 34 49 14 BA 67 28
+ 1C C2 23 12 08 AC E4 D1 75 29 29 8F BF C0 5D 7F
+ 2D 81 69 CE 83 39 0D 05 4B 68 28 57 7A D4 32 F9
+ C3 55 4E DA 49 1C 5E A3 E0 66 55 6B 55 54 AF 51
+ A8 C6 48 64 6B A8 94 AA 8F A6 82 D3 CD BB D6 1D
+ FE 86 B5 8A 53 55 62 78 8D 42 72 AB A9 D4 6B 14
+ A3 53 7A 3E D4 CA D8 DC 71 11 00 9B 15 D2 D6 95
+ 10 C1 DD 0C 91 8B C4 EC E7 CE A9 4A 94 8E AB 02
+ E0 6F 15 5A 4F 55 09 91 58 C9 9E 5B 85 DD 71 28
+ 8C DA D8 CF 84 5A 8C 2D 43 B2 0A A0 0F 85 2A B4
+ 3E 48 22 82 07 50 44 7A E5 4B 8D 7A A8 43 0D C9
+ 2A 00 FE 86 D0 38 55 25 44 62 25 7B 6E 35 55 C7
+ A1 30 2A 63 3F 15 EA F5 E1 96 A9 0B 5F EB 50 84
+ 8F 86 1C 68 F1 05 AE C5 9C 9C 3C 83 AA C4 5C 0E
+ 31 38 29 86 34 B8 1A E0 6F 72 D1 50 DD 6D EA 46
+ DA 5C 77 DA 75 47 4A 02 33 AC 6F 73 ED DA C1 B2
+ D6 D4 60 15 03 AE 4C 0B A6 A2 28 B3 24 D6 06 27
+ BC C0 5A DD 37 9A 05 60 D2 06 00 B1 E6 0C C3 10
+ 4D 68 86 11 88 C4 FA 1C 47 80 DA 95 2D 7D 13 57
+ 8E 9A AA A3 E8 B2 76 6F F9 9C A0 FC F5 CF 57 EF
+ DE D6 95 50 7C BC 53 9E F4 72 6E 91 A7 B4 9C 75
+ F2 C8 56 23 BA 7B 20 B2 3D CE 45 A9 FA 2A 54 95
+ C8 4F 7A 39 3C AF CC DF F0 62 31 A7 AA 84 48 24
+ B2 E5 56 53 75 1C 0A E3 E5 95 D0 A7 53 82 56 42
+ 91 65 D9 87 57 00 8D 24 68 6D 85 B5 11 EC 71 89
+ F4 49 60 F7 27 A2 48 22 FB F0 0A 80 BF 21 34 4E
+ 55 09 91 58 C9 9E 5B 4D D5 71 28 8C 6D 25 F4 E9
+ 50 B3 B1 4D 36 59 C1 EE 64 85 06 C4 A2 88 C5 28
+ D8 26 15 CB B0 4D 7F FC AC 4A E4 C7 CF 2A 00 F9
+ 86 01 56 39 15 12 4A 62 25 7B 6E 3E 2B 1C 0A A3
+ 18 FB B9 50 DF D3 CD 17 6B CE 36 0E 81 DC 99 B5
+ E7 14 AB 31 BE 9C 87 93 5C CC E1 23 35 F3 52 04
+ 0C 4B 19 22 6A BF 21 C5 61 A5 8D 83 98 CE DA A5
+ 13 27 EA 2F C6 08 67 C7 A1 20 13 92 3F E7 D1 36
+ CC DA 63 9C 9E 48 A9 C5 72 06 F3 4C 8E 12 54 41
+ 97 48 87 29 85 B5 C3 DE 4A 4E 8F 3F AF 58 E0 0A
+ 26 0F 65 E6 E2 CE 36 8F 78 60 6E 6D BD 62 ED 94
+ 43 99 0F 72 34 9E C9 61 DE 6D 05 E7 2B D4 C6 BA
+ 03 CB 5F 8C 25 72 C0 60 C6 B8 FA 14 2D 46 AF 49
+ 9B E8 35 3C 98 F1 E8 39 6E C4 48 6A 47 5D 96 70
+ DF 41 04 69 C8 30 80 CF 6E 68 DA F3 87 85 24 4D
+ 6F 91 CC 08 05 5B C2 BE F0 6C 0A 4B 4A E7 A5 08
+ 6B A7 1C CA 7C 90 A3 F1 4C D6 B3 1B DA ED F0 7E
+ 2B B3 5E F3 C4 87 9C 3F A0 48 9B 5E A2 B6 48 F0
+ AD 8B A3 E4 CF 51 B1 C4 B5 77 AF A1 1C F7 1D BD
+ 86 34 72 C5 9A F7 62 A6 5E D9 2D 23 9E D4 CE 6E
+ EE F0 62 4A 4E F7 62 4A CE 1D 5E EC B6 82 77 75
+ 8B DD 8B AD 7B CA E3 6A 58 73 5D 31 AC 4E B8 AC
+ 6A 58 5A 9F D7 BB 1A 73 EB B1 BA 26 FD 2D 7B 0E
+ 61 ED 70 63 92 A8 B7 74 E1 EC 70 64 C1 47 3C 97
+ A4 E1 E0 BA 5C DA EB C8 44 0E 3B 32 91 73 8F 23
+ BB A5 DF 8E 26 B9 B6 ED D5 91 D3 81 CE EC E2 DB
+ 0C D3 CE 6C A2 AA C9 12 40 F1 F4 AE 7B 71 74 41
+ 0D 86 03 CE 0E 9C 62 E9 9A 7E B1 65 45 2F 67 BA
+ B8 C6 9C BA 04 0B BF E8 12 F0 52 21 D2 3D 8F 46
+ 7F AC 63 A1 E1 17 ED 95 30 96 D0 69 C9 83 39 0D
+ 45 97 D0 51 AE F4 B8 B4 52 F0 87 AB AB CC 71 DB
+ 52 6C 9F 2D 1A 35 1B 87 66 94 14 21 07 BD 2A E9
+ FA 74 0E 53 B9 BE 28 52 98 E8 B3 45 FE 86 33 42
+ 4E 55 09 91 58 C9 9E 5B 4D 15 D5 FC D3 F4 A3 63
+ 3C C7 7D 2A D4 75 33 B3 15 81 20 EF 15 A1 73 7A
+ 45 E9 12 85 EE 19 0A 87 F0 88 04 02 2B 79 74 5D
+ 7A 45 E0 5F B4 8A C2 12 98 E6 3C 98 D3 50 B0 84
+ 86 72 A5 07 6D 66 FE C1 2A 37 14 1D 46 C4 19 B5
+ 6B 1C C6 EE 68 B1 49 68 9F 56 DA 39 3A 98 27 12
+ E8 81 6B C9 C3 2D 2B ED FA 2F 3A F6 2E 81 69 CE
+ 83 39 0D 05 4B 68 28 57 7A 8C 45 F7 07 A7 9C B8
+ 38 56 8D 9A 7D 23 C9 21 34 71 8D E8 B9 35 D2 C9
+ EA 63 47 DA 24 76 45 A8 D9 F3 B7 10 55 AA 10 07
+ 89 21 AA DC 6A AA E8 95 44 55 26 4F 88 5A 8C 5D
+ 6F 81 09 EC 46 12 B4 90 9D 22 92 D7 B0 03 BB 4E
+ 4C 15 D4 5A 61 23 3A 6C FE 56 5F 09 EB A9 2A 21
+ 12 2B D9 73 AB A9 8A F2 F5 8D 50 C6 7E 2A D4 83
+ 53 62 E4 DC EA 1A 87 5B 65 93 28 74 CF 50 38 CD
+ FD B1 04 02 2B 79 04 76 A0 CB F8 8B DE 2A BB 04
+ A6 39 0F E6 34 14 2C A1 8C 6E 5D 97 C9 1F AE 72
+ F7 2C 77 BB 6C CA D9 5A 3D 07 16 96 9E BB DE 16
+ E3 17 98 9B 2F EA 9E 83 66 ED 58 1A 96 44 0C 47
+ 58 3B 96 86 3D EE 89 D6 FB C7 22 87 59 3B D4 E2
+ 34 7C 77 45 58 7B DE 24 C7 BB 27 69 34 0F B3 F6
+ 98 87 13 89 5A CC DA CC FF 26 E6 EF 52 D6 D6 2C
+ 74 6B 48 B1 E6 ED AD EA 4C 7F 0D 5C B1 72 9A 9D
+ 78 BB 54 96 73 7D 93 55 E1 81 0E 43 21 DC 27 A6
+ E5 AD C4 0C 68 26 A7 EF B7 D5 9B AE 4E 1B D3 0E
+ 2C 7D F7 EC E0 F5 6E 5F A3 B5 FB E8 D7 EB DD 7A
+ F3 DE 9F F3 AD 08 DA 34 7D CF D9 DC B7 52 A4 9A
+ 71 69 E3 78 E5 21 F4 B5 D6 69 39 DC 24 85 95 EC
+ EC ED 5F 57 E8 19 B6 01 8F 8F 14 93 A3 B1 76 CA
+ A1 CC 07 39 1A CF 64 5D BB AD E0 0E 17 B8 B6 EE
+ 55 97 7C C4 5A 51 A8 31 C9 7C 8E 1C 42 6A AC 61
+ 37 2E CD 4B 35 3B E0 02 B1 F2 D8 DD 81 28 D6 3D
+ 1D 08 B7 78 C5 9A 77 68 1E 7F 8B 0F 60 6B 3C DE
+ B7 A8 21 F3 1E 4D E4 B0 47 13 39 F7 B8 B4 DB 0A
+ DE D3 43 76 97 B6 E9 34 0F 5C 91 AC 7E 2C 80 D9
+ 7C 9A BC 42 FC 59 AF AB AB CE 97 9D 88 F4 EB 3B
+ 9C 9A C8 E1 36 2F AC 79 A7 E6 BD 69 21 0D 04 4E
+ EA 21 0D E6 7D 9A 88 61 97 26 62 EE 71 69 37 D5
+ DB D1 28 D7 B6 BD 3A 8C 3A CE A5 01 1F 23 6D 7D
+ D6 CA A6 CE C0 E1 39 55 BF B8 D8 26 8C 78 2A B6
+ 93 F5 BC AC 5F D4 29 66 F0 E7 ED 1A 5A 27 DB 11
+ D9 9A 6A 91 93 AF 9D 68 67 69 E5 5B 5A 54 2A 22
+ 58 62 25 7B 6E 35 55 C7 A1 30 5E 8E 76 F7 74 4A
+ D0 65 A7 10 34 6C E8 C5 E5 E7 0B 4C 92 59 10 11
+ 9C 49 23 09 00 A5 6A D0 48 22 C3 5E A2 52 69 49
+ 56 A5 22 82 25 56 B2 E7 16 95 F9 34 C6 76 D9 E9
+ E9 50 8B B1 F1 95 2A 05 BB 91 04 CD DA A4 88 7E
+ A4 AB 91 4B 11 D8 B6 DF 73 AB 12 17 AB 61 F3 37
+ 84 C6 A9 2A 21 12 2B D9 73 AB A9 3A 0E 85 51 19
+ FB A9 50 F3 BD 02 05 BB 36 AD FE F3 DA E8 BA 20
+ 22 38 13 22 1B 00 4A D5 6F 39 54 89 0C BB 36 2D
+ AB 6E 40 48 AA 4A 88 C4 4A F6 DC 6A AA 8E 43 61
+ 94 7B 05 CF 85 5A 6A B6 8F 3D 16 42 2D ED 46 52
+ 3D F0 ED F0 2E 11 5E 6E 70 22 D9 5B 4C 4D 65 8B
+ 94 68 23 7A 1D E1 6F 58 0F 38 55 25 44 62 25 7B
+ 6E 35 55 54 B5 AE 11 AA 66 3F 15 6A 36 B6 CB 2E
+ 29 D8 9D AC D0 5C EE 39 12 B1 28 D8 30 F7 36 0C
+ DB E5 C5 73 26 9D 68 B0 E5 1B 40 93 54 95 10 89
+ 44 16 86 2D 38 14 46 31 F6 73 A1 7E 6C 6D 91 87
+ 7D C2 1A 56 CF 6A 33 52 06 C1 46 CB 40 B0 39 33
+ C4 46 74 F8 44 36 D5 28 D5 22 57 3E 95 41 B0 D1
+ CA 37 68 CE 92 AA 12 22 91 C8 C2 4D 5D 70 28 8C
+ 57 87 3D CF A5 84 34 A1 E8 F8 6A 3A 56 AB 46 52
+ 85 8B 6D 2F 87 08 8E 12 42 A4 E9 97 CC 31 D5 22
+ 3D 50 27 7A 65 E4 6F 58 E1 38 55 25 44 62 25 7B
+ 6E 35 55 C7 A1 30 AA 26 F4 54 A8 C5 D8 DE 15 0D
+ BB 91 04 CD 3B A3 08 6B 35 6C 6F 9C C0 F6 8B 8C
+ AD 3A D1 61 F3 37 84 C6 A9 2A 21 12 2B D9 73 AB
+ A9 5C 51 12 5D 59 19 FB A9 50 8B B1 DB ED 8D 0E
+ BB 5F E6 A8 D0 30 72 A4 10 D6 69 D8 D6 78 81 6D
+ 17 E5 14 1B D1 61 F3 37 84 C6 A9 2A 21 12 2B D9
+ 73 AB A9 3A 0E 85 51 19 FB A9 50 0F 7B 86 7C 43
+ 84 37 C5 1A 87 37 CD DA CD 0D A1 FB C5 0E E6 B4
+ 7B 1F 2C A1 5D 0A E1 3C F8 CE 08 6F 8A F5 5F F4
+ 4D B3 2E A1 D3 92 07 73 1A 8A 2E A1 A3 5C E9 31
+ EE 19 FE C1 29 F7 D8 4D 58 7E 1D 86 4F ED CB EB
+ 30 C2 E2 7B 9F D7 5E 43 BB 99 DB E6 79 B7 EF 6A
+ A4 01 6B 87 1B 98 C2 EA 8F 99 29 94 EA 79 33 B3
+ 7A 03 08 91 40 87 48 11 0B B2 A7 78 03 50 F1 F3
+ C5 07 80 EA 3B 15 AE FE 0C 7E 1D 6A 8B 29 F4 02
+ D0 BE 58 F9 1E 1F 4F F7 FA 35 36 7C 89 09 EF F1
+ 8E 70 97 BE 30 74 FF B3 6C 60 97 7A F9 FD EC DA
+ 2A D6 8F 5F CC D9 17 5F E4 6D 07 7A 0B C3 DB A8
+ 16 B0 BE FF 02 2E A1 BE 36 FA 0B 7E 33 E3 C3 F0
+ DA 68 8F 6C 0B 2E 17 7C 0D DE 0E FD FA 37 F3 0F
+ F9 29 0B F4 4A A4 4C 70 CC A3 6F B4 5A 0C 33 89
+ FE 46 31 3F F5 D1 57 F2 FE FC 05 D0 D7 6B 1F A2
+ AF 58 63 99 B3 86 D7 D6 F0 09 D7 49 EB C3 C7 68
+ 8E D9 B7 03 BD 0B F5 40 EF AB 2D CE E1 E6 91 62
+ 39 70 ED 18 EA FE D1 97 B3 00 5A B0 A7 00 7E 48
+ 9E F9 E0 E7 B2 7E 26 7F F2 3B 28 AF A6 29 D3 CA
+ 76 F6 AD 41 EF C0 21 E5 AC 1F 42 64 96 DC A3 7E
+ 48 19 2C 5C DC 09 A8 F1 31 AB 2E DF 88 02 5F F2
+ 7B 60 5F BE 44 7C AE 8B 2E 1C 43 85 C3 3E AC 17
+ CD EC F3 84 7D 35 5C 95 4C E3 1C 5C 30 4E E2 97
+ EF 2C 98 D9 D7 0C A5 96 A9 82 69 AC 63 0B 46 55
+ B2 F9 82 69 DA CC 3E 7F D8 B7 F4 F9 05 19 87 41
+ 4D 9C 5D BD 20 F3 D8 AB 38 F8 DC 5B BF CB F3 57
+ A3 C3 C4 C7 83 7E C0 0E E4 A7 2F D8 C1 E7 E2 D5
+ B6 26 B9 0D 6F AC 72 1B 5F 34 D7 13 B5 D7 C0 02
+ 5D 94 09 66 1F 59 64 13 60 04 9D 7A AE 44 6C D0
+ 58 0F 1A 01 2F 42 DC 63 04 3B 65 84 74 CB 08 B3
+ 8F 39 4A 57 C2 6F 74 4A 57 72 CC 1B 9D F8 8C 55
+ 8D 93 C3 2D 74 77 9F 19 86 3E B3 7A 21 76 45 B3
+ 6F 43 8A A6 FC E0 A7 68 7A D0 83 9F 19 DB 62 88
+ 86 DB AF 94 EE 76 E4 30 D9 43 0E 75 1D 63 FF 5A
+ 2E E5 71 D3 6C 5F C0 7C 65 8E FE C4 A8 32 C7 31
+ 4F 8C D6 47 EE 66 CD 31 59 15 D2 9C 39 CC DD E6
+ E8 8F 9A 8A 35 0E 79 D4 14 06 D4 20 2C A0 83 69
+ 63 C9 6D 8B 1E CA D0 7A 35 34 D4 AA D9 FB 55 E3
+ 87 45 45 37 62 3D AA 5C 39 9B F8 86 72 E6 82 72
+ D4 84 B5 72 6E A7 72 EC C4 F9 1D 48 71 E2 8D 35
+ 77 12 09 26 7D 06 27 4A 61 89 F4 B8 91 C3 E0 40
+ 26 0B 6B 4E 8E CB F5 FD 20 25 67 2D FA C1 4E 05
+ 46 51 BA 4B 91 57 F9 E4 AF EB BD 06 1E 29 1A 1E
+ 77 85 D1 CC D9 6F 4A 02 BB 1E BF F3 CD 49 2E 09
+ AE 65 52 12 47 D6 32 AD FC 5F BC E0 D2 61 76 E1
+ FD CF BB 7F 10 2B B0 8B B9 6D 8E A1 C6 5D 37 47
+ B8 DB 1C CD 9F 28 6B 1C E7 4F 2E 1B 83 35 17 63
+ B0 7D 6E 1B C3 5F 32 C6 E8 82 D0 18 F1 5E 63 70
+ 5F 23 D6 38 B2 AF B9 DC 30 E4 34 DD 7A CA 7A CD
+ 0C E1 52 13 D9 9A 21 ED 34 03 CF 86 64 06 D1 4F
+ 0B 1D 34 81 48 0B F8 55 3D 19 FA 81 4C 20 DE 9E
+ 4B 38 83 AF 86 69 4D 5F 61 54 09 13 35 0F E3 49
+ FD 10 F2 5B E7 DA DA E1 3A 35 EB EB AC 83 A7 7D
+ 50 12 CB 56 D3 0F 97 34 8D EB 32 0D 76 68 E8 55
+ 55 9B 2C 0C 28 F7 96 6A 3B DF A5 8B B5 1F F9 3A
+ 6A 62 48 1D 2C D4 DE FE 5E B0 52 F7 2B D6 F1 87
+ 3C AD E0 53 52 6E 51 05 6A A5 40 97 3D 05 CA 1A
+ AA 69 7C 63 1D 3D 8F 17 0D DF 9A C7 F7 22 5C 29
+ 87 45 B8 F7 ED 75 59 74 51 2B 48 8D 75 74 8D 95
+ 55 97 B7 6A 6C BA 59 63 95 BA DB E7 DA 67 47 84
+ 3C 6A 92 11 E1 38 6A 7A 60 94 02 DA A8 DA DA 1D
+ EF 87 F5 32 E2 ED 69 D0 97 97 86 C6 DE E8 C5 A8
+ 1E 2E EF 9E E1 A3 B2 44 31 74 92 57 59 82 58 0F
+ 5A 02 A0 25 3B 6B 8C DB 93 A0 2F 2F 0D A5 BB 31
+ A4 19 74 11 FE 6E 63 C8 D3 F1 6C 8C F1 09 FA BB
+ 8D 51 EA 1B 33 73 C6 B0 53 C6 B0 73 C6 08 77 1B
+ A3 AF 90 89 2D 8E 5B 21 9B B4 84 9B B2 84 9B B3
+ 44 BC DF 12 18 2C 71 9C 3F 36 D6 83 B6 00 A7 6B
+ A7 8D E1 A7 8C E1 E7 1C 46 BA DB 18 75 1B 70 74
+ 9D 8D F5 E8 AA E1 52 B7 5E E6 8C 11 A6 8C 11 E6
+ 8C 91 EF 9E 7C 77 E7 A9 26 DF 83 F3 BC 2D 06 63
+ AF D2 0C 39 52 80 17 35 F7 8E D3 17 C4 0A 0C 31
+ 69 EA DD A5 AC E4 CE 49 81 71 8D B1 83 94 51 EE
+ DC FD 21 18 3C 98 41 C8 28 76 4E 88 2D F5 C6 11
+ 4B 59 89 3D A4 63 D2 53 26 89 4A 2B 03 49 99 46
+ 09 4F 56 AF 2F 4D A3 BE BC B8 48 BF 9A 44 C9 12
+ F7 DE E1 36 57 3A DE FB 94 4A 77 E4 DE E7 65 C3
+ F0 0A FE 87 5B 13 EA 0F B2 C6 7B 63 AD C5 A9 2B
+ 5C F7 DA A0 ED 80 2B 13 A8 1D F0 07 37 BE B5 05
+ A4 C8 77 5A C0 DC 9A 4A 8B 05 76 8F D8 C5 0F F7
+ DD 1B E5 87 8F DB BD 99 DD FC 9F 5C CC B7 57 37
+ FF F5 33 DD DB 15 DE AA F7 71 01 A9 4B 3D 71 11
+ C0 84 A9 AD CC FF AA 23 1C EE E7 BC 1A 87 E3 B5
+ 57 53 D7 D9 2B 4A E9 8B 44 79 59 79 FA 21 F3 7E
+ D4 05 4A 82 6D F7 42 C5 F9 F6 61 58 6F CD 79 E8
+ 73 85 33 14 F5 9C 14 1E C6 08 47 0D E8 F0 D7 33
+ B7 BF 31 06 74 70 A3 B8 50 57 A1 D6 A3 A2 37 E4
+ A4 05 7D 16 24 C2 17 3C 6A 63 C6 B9 B5 4F C2 DA
+ 27 A7 9E 68 4A 83 9C C6 9A 93 D3 F5 52 C6 EE 7A
+ 8D 03 9C 37 AC BD CA FC 40 BD D6 26 3B EC DE 9A
+ 73 16 27 D9 58 2D BA E3 FB 6B DD 30 36 51 DB 12
+ 3B B0 F3 CB 2B B4 95 C5 95 AC BC 9A 34 8C 3F EB
+ 62 FE BB 8B 99 71 F3 AB 3D 79 54 7D 69 2F 0C DC
+ 53 65 2D 38 B3 38 88 B3 09 7D D0 6A 46 F3 86 10
+ 5B 5F F8 D6 42 5C 0D 6C BF 4F 0A 43 C1 37 E4 EA
+ D0 91 59 11 DA F4 E4 4B B2 2A 6F 91 D3 59 83 9C
+ 59 57 B3 55 0F 07 15 31 ED 54 6F B0 EB AD 72 7B
+ B8 C6 1A 18 08 B8 14 D7 41 53 C7 A7 05 E4 09 EA
+ 4B 4F 0B FC 2B FF 75 D7 4D 5E 29 39 39 49 D1 0D
+ B0 C7 3F B3 E9 95 98 5E 96 BB E4 74 38 18 A8 6F
+ F1 43 DD 82 81 D3 CE 8A A5 84 30 18 BF F3 79 F3
+ 4B AA 71 B5 DA A5 DA 68 56 5D B1 06 31 47 D4 AC
+ 80 0B 14 2E 47 9E 86 1E 58 B3 66 FD DE 5B 7A BE
+ 21 67 6D 63 64 2D 35 36 AD 92 23 AC DE 36 2F 37
+ 79 75 96 F5 8D 6C 71 1F 20 0D E7 11 1D 0E CB 93
+ 11 D6 28 F2 81 B1 9C 0B 09 CB A0 3E 42 DE 4E 6A
+ 4A DC 91 6F FA 62 F9 8C D1 D7 96 D1 AC 11 B5 AA
+ 5C 37 45 AA 5D 1F 5C CD B0 97 37 82 AE 6C 25 4C
+ 9B 9B 63 26 38 FC C3 D2 76 13 BE 19 21 9C 07 67
+ 02 C5 D4 15 99 45 5E 5F 97 E1 FE 1E 13 DF B4 C7
+ 00 75 DE C4 EB 9D A6 8B C7 45 85 35 BC FF 33 6F
+ 61 32 A7 49 A5 1B D8 D9 82 FB 18 CC 7A 70 C2 89
+ 17 56 F0 9D D8 C2 41 76 FE E8 C5 E0 3B E0 31 A8
+ 79 D1 37 17 CF 50 EF D9 DF 69 FA 6B CE A0 C0 F4
+ 84 C4 C3 9C A6 0C 1B DA AE 58 1A 37 8F 1B DA B7
+ E5 84 08 1E 75 DC 17 B7 F4 BC FB 28 86 7A 62 3C
+ 73 EF F0 46 9A EF 6F 13 5A 87 77 D2 1A 69 5D BD
+ 25 44 EF 01 36 A2 3F 17 D8 48 0A A0 D6 52 D1 73
+ 77 4D 62 7F 0A CF BA 64 D4 37 3C B3 CF A9 2A 21
+ 12 2B D9 73 AB A9 3A 0E 85 51 6E FB F5 C1 C4 13
+ AA 80 37 3D 88 15 E2 00 BB 91 04 2D 04 05 3B F8
+ 01 76 70 0A 76 70 0A 76 70 03 6C FE 86 D0 38 55
+ 25 FC 00 9B 73 AB A9 A2 82 1D 54 C8 CA 27 44 8D
+ C6 56 8B 1C D6 39 CF A5 69 F0 7F AE DE 2F F9 9E
+ 5C 1B F9 A7 1D F7 6A 71 41 C7 63 47 EC 5C C0 21
+ D9 D0 98 89 F5 49 B3 7C 3C 47 9C 61 AA 84 9D F5
+ ED 83 47 56 EA 8A B0 07 47 16 9A CF 93 13 C0 72
+ 50 E5 4F 86 F9 A2 E9 BA EE F1 51 7C 02 89 5D D4
+ 70 02 69 CE 43 C9 31 A6 EE A0 B4 10 F1 4F 1E 3A
+ 70 D5 B8 FD 52 A4 51 F9 C5 4A 73 23 82 9B 22 91
+ AD 99 52 AA D6 80 49 22 37 6E E8 8C D4 37 17 54
+ AA 4A 88 C4 4A F6 DC 6A AA 8E 43 61 BC E0 9F 9E
+ 4F 85 EA 9F 2A 4B 5A 7A 05 D0 5B 58 85 D6 DB 1E
+ 11 7E 80 DD DB 2C A5 72 0A B6 B4 F4 0A 80 BF 21
+ 34 4E 55 09 3F C0 E6 DC 6A AA A8 60 0F FE E9 F9
+ 50 6F FC 53 91 DE C6 2C C7 F9 27 68 AC 31 8F FE
+ 89 58 DA 3F 81 19 CE B1 0C FE 89 59 8F FA A7 8C
+ 63 B2 DF 87 7F E2 03 A3 E2 A0 86 03 A3 93 1E 4A
+ CE 9D B2 8B D2 62 94 8F 4A 61 68 E0 31 AA 86 15
+ D4 90 80 08 69 8E 41 0D 25 28 55 6F C4 55 A2 34
+ F0 EC D5 B7 A2 DD 42 19 5D 46 D1 EE A4 A6 EA 38
+ 14 C6 4B 3E EA E9 54 20 1F 85 2C D5 DA 11 00 B7
+ B2 A0 C6 07 44 F8 01 36 B7 DB 9A CA 29 D8 AA B5
+ 23 00 FE 56 B4 8F 28 A3 FF 28 DA B7 D4 54 51 C1
+ 1E 7D D4 D3 A1 5E FB 28 EF F3 E7 F0 51 D8 84 93
+ 1D 7C 54 63 0D 3E 2A 00 CB 8D 3E AA B3 1E F4 51
+ B4 91 F5 7B F0 51 72 BD 80 7D D4 9E EB 05 DD 47
+ A9 5B 0A DD 47 0D 62 C4 47 05 37 4C 92 82 55 93
+ A4 60 D4 24 89 08 6E 8E 44 B6 A6 4A A9 5A 23 26
+ 89 DC C0 83 57 93 A4 E0 95 5B 20 42 24 7A E5 4E
+ 28 55 C7 A1 30 5E F0 51 CF A7 42 F5 51 95 25 AD
+ BD 02 E8 AD AC 42 EB ED 8F 08 3F C0 EE ED 96 52
+ 39 05 5B 5A 7B 05 C0 DF BC F2 11 44 F8 01 36 E7
+ E6 D5 8C 49 63 24 1F F5 7C A8 D7 3E 2A 2C E1 73
+ F8 28 B9 88 23 8D B9 5F C4 51 2C D3 DE 52 53 09
+ 3B EB 31 1F E5 16 DA 53 FC 3D F8 28 3E 85 25 3E
+ 6A C7 29 2C F6 51 72 98 8B 7D 94 16 A3 7C 54 2E
+ 43 03 C7 70 10 DC B0 92 53 4D AE 12 D2 1C 2B D9
+ 9B 6A 4D D5 1B 71 2E 43 03 2F D2 6D D9 B8 28 B7
+ 40 04 4B 24 B2 E7 56 B2 C2 A1 30 5E F2 51 4F A7
+ 02 F9 A8 5C 86 D6 9E 17 D5 CA 10 1A B7 BF 4A F8
+ 01 36 B7 DB 9A CA 29 D8 AA B5 17 99 44 11 B4 9E
+ 8A 08 3F C0 E6 DC 4A 56 38 14 C6 E6 A3 9E 0E F5
+ C6 47 45 35 D7 3B 6E 2D 8A 8F 09 4A 5B 6E 27 FC
+ 14 27 39 7A 3A 4F 25 EB AC 47 3D 54 C1 66 BE DF
+ 43 CD EE E2 BD B5 BA 3D 2B E7 F6 1A D4 B4 94 37
+ E6 89 B3 72 DE 1A CB 4D CB 99 F0 B7 13 FD 80 C5
+ 47 E4 72 0D EC 13 EA 3D 2E 64 15 7A DF B0 B3 66
+ 80 D9 6C DB ED 2D 91 C3 2C DC 10 F4 DB C1 EA 02
+ 35 D4 96 1E 50 0E C8 85 49 BB 40 1D 04 62 51 44
+ 0F FF D6 48 0A 0D D7 52 51 D0 B8 26 B1 07 94 03
+ 28 59 7D 83 8A 23 A9 2A 21 12 2B D9 73 AB A9 3A
+ 0E 85 F1 42 47 F0 7C 2A D4 8E A0 B2 B2 B7 1A 76
+ 23 09 5A 76 5E 11 36 68 D8 D9 44 81 9D 29 7C 6B
+ 93 B8 14 0D 9B BF 21 34 4E 55 09 91 58 C9 9E 5B
+ 4D D5 71 28 8C D4 11 3C 1F EA 75 47 B0 58 8B 19
+ B8 3E 58 75 E1 81 8E 00 CA 34 B6 A6 DB C3 74 D1
+ 69 37 7F 52 61 BA 14 0B 43 60 E0 EC 59 25 EC AC
+ 6F 5B A8 AE E9 F1 A3 4D 06 3E 9A A1 BD C7 E0 CF
+ 4B 58 FB 8D 55 7B 4F 3E E8 F2 6B 24 95 51 A2 28
+ 99 8D B0 59 97 5F 32 45 CA 2F 19 65 ED 46 F4 F2
+ 4B BA 7D 70 AA 4A 88 C4 4A F6 DC 6A 2A AF 9A 5F
+ EA 91 71 2F B7 F7 A7 52 41 57 C1 83 CE 01 83 2B
+ C1 0B BF CE F2 C1 86 B7 3B FE 7D C1 DA A4 57 AA
+ D1 51 86 4E 89 38 FB FA 24 96 22 1C 6B F1 8C F2
+ BA 8A DA 14 B5 3F B7 31 89 1F 85 E1 9F 78 58 22
+ D8 FB 12 D9 8A 8D 52 35 9F 4D 12 D9 9F 5B D0 4A
+ BE 15 D5 0B 10 21 12 8B EA 3D 28 55 C7 A1 30 5E
+ A8 A2 CF A7 42 ED 92 2A 4B 9C 7B 05 D0 9D 6A 85
+ D6 DD 2D 11 EC 8A 89 6C 6E 9A 52 35 07 4E 12 D9
+ B9 57 00 FC AD A8 2E 81 08 91 58 54 57 42 A9 3A
+ 0E 85 91 BA A4 E7 43 BD EE 92 2C F4 0D DC 25 99
+ C3 BA A4 BA C6 6A 86 2E A9 B1 74 97 E4 96 48 01
+ 94 24 21 B3 1E E8 92 B8 B9 73 8F A4 9D C6 AA B5
+ 8B 37 AF E5 D0 BD 68 2D A1 EE 5F 89 60 DF 4B 64
+ F3 CB 94 CA 28 5B 8B 37 AF E5 90 74 EB E0 54 65
+ E8 1F 88 EC B9 D5 54 5E 35 BE EB 1D D2 F3 A9 F0
+ 19 3A A4 EC F1 50 D6 5D 1D D2 1B 55 0A 23 84 38
+ 75 63 4A CD 69 DA 8D A9 2B B3 9C E9 9E 89 FA A1
+ 41 72 BF 8E 26 B9 0F 17 D4 DE 68 81 AB C9 9B 66
+ 75 CC 57 EE 7D 4D 0A DE 76 C9 8C EF CA 9D 3A 0A
+ 01 AB F6 BD 17 DB 2B 6C 3D A6 D3 C8 4F 8D 04 17
+ D7 C9 E8 A0 58 C9 FB 7D 6A 69 F9 EB 36 1E FC 81
+ C2 6B 2D 7D FC 9C 6D 8B 30 A3 CF D9 FE E4 C5 40
+ 3D 29 C6 A8 DB 71 7C D3 EB E7 C3 B9 50 6D B7 BA
+ 17 A7 54 53 9A 6E C0 5B 6F 8A 56 AD A6 D5 76 3B
+ 50 DA 51 86 A2 C8 44 6F 19 4A 07 E5 B9 66 A9 BA
+ 23 20 BA 69 55 37 E8 AD C7 A0 9E A2 5B 4D 3B 58
+ EA 38 69 87 59 AA 46 75 79 CB 52 72 89 E8 97 C3
+ 19 FA C1 52 71 68 2E 5A D5 0D 7A 1B DC D0 5C 6A
+ DA D1 52 87 49 3B C8 52 18 4E 64 BA E5 FD F8 C5
+ E1 69 F5 E5 72 9D 8A 66 68 2F 5A D5 0D 7A 1B CA
+ A2 75 AB 69 07 4B 1D 27 ED 28 4B D1 AD EE B7 8C
+ 25 17 9A C7 3A B5 FB 99 92 F5 A9 67 7D 53 63 CF
+ 1A EF EA 68 A2 16 B3 63 8D 77 7D 7E 68 10 B3 63
+ 8D 77 BD C7 AF E5 EC 59 E3 5D EF C3 0D 72 EE 59
+ E3 4D F8 10 21 0C 83 5D B0 38 16 AA 23 63 4B 0F
+ A6 76 D6 41 C1 CF F1 0E 24 D6 4F DB AE 08 4F 07
+ 27 57 18 F1 45 53 3B 62 24 D6 63 B7 05 BC AD 71
+ 56 15 B6 D9 48 E1 82 2D FA 3E 5A 63 6C 8D F5 20
+ 36 47 C3 04 C1 26 81 BF 79 AC BF DF 80 78 6D 01
+ DC 84 32 A0 B0 18 F7 46 BB B9 01 EC 4A 34 DE 5F
+ B2 F4 2E E4 AA B8 76 57 4D BC 7F 82 97 44 C6 AA
+ 39 39 F1 84 CC 43 D3 5E 58 30 0B C4 C5 07 C0 97
+ 55 95 87 8C F2 90 11 4C 62 32 0C 5B 6B F8 AE FE
+ 1B 0C 29 42 0C 12 22 34 E5 83 69 3A 2B 9A 80 63
+ 5E 11 12 BD 41 83 4A 46 8D 01 89 18 0C FF A6 A3
+ ED 52 D6 1A 7D 6C 33 62 9E BE C2 07 9C F2 C7 D6
+ 8D B8 50 E7 F9 44 02 81 2B CD 71 51 44 68 BB 93
+ 8D A4 5D CD 96 CA 3B 22 AA 44 EF FA 0F 73 51 DF
+ EA 42 41 4F 55 09 91 58 C9 9E 5B 4D D5 71 28 8C
+ 3C 7D 7D 42 E4 C7 CF 5A BD 31 18 C8 01 43 D7 B9
+ F5 4D C9 9F 6D AE 8F BF D6 00 20 AF 74 8B 7C 8C
+ A8 F0 AB 4D 68 8D D7 1E 72 E2 2B 1D A7 71 FD F2
+ A9 4D 8B 3D 99 B0 B4 77 2C 6D 84 09 7C 27 6D 84
+ CA 69 7C C9 8A C8 7D 4D AA 91 B4 AE 57 53 F9 54
+ 2D 4D 12 1B F1 B1 2E C8 A8 6F 30 8B E0 54 8D 28
+ FC C3 22 B9 D5 54 1D 87 C6 58 EB 8F 9E EE 3D 9F
+ 02 75 A9 D3 C0 3C D4 5A D3 61 1B 1B 98 B4 06 86
+ 77 D6 2E 59 08 53 7A 26 8D 24 00 35 95 C9 04 AD
+ 4A 6C 04 FE D0 3B F5 2D 18 95 8A 08 96 88 24 E7
+ 86 A9 18 87 C2 48 4B 9D CF 87 BA 1A 1B ED 9F 6B
+ A1 F9 5E 47 3A 59 EB 41 4E 56 11 D1 55 A2 D5 11
+ 72 13 9E EA 08 39 10 4F 25 DA 89 56 47 E4 1B D4
+ 03 4E 55 09 91 58 C9 9E 5B 4D D5 71 68 8C 64 EC
+ E7 43 CD C6 0E 25 6A D8 9D AC D0 02 DE 0E 60 22
+ 15 0D 3B A4 45 60 87 06 80 24 6A 34 46 7D 03 68
+ 9C 8A 88 A2 61 73 6E 35 55 C7 A1 31 8A B1 9F 0B
+ 35 1B 5B 35 48 04 C0 0D 01 A1 71 13 A9 84 34 9F
+ 46 8A F7 E3 46 57 25 4A 83 44 00 F2 0D A0 71 AA
+ 46 68 EF C7 B9 D5 54 1D 87 C6 28 C6 7E 2E D4 6C
+ 6C 53 16 AF 60 77 92 BA 93 5C 54 BF 93 73 52 B0
+ 4D 4E 59 BA 9A 9C 8C 74 0C 8D E8 5D 0D 7F C3 EE
+ A4 A7 22 82 25 12 D9 72 AB A9 3A 0E 8D 51 8C FD
+ 5C A8 C5 D8 66 C9 1A B6 51 D5 02 88 45 88 A5 18
+ 0D 7B C9 56 60 2F 29 48 26 8D E8 B0 F9 1B 42 EB
+ A9 88 28 46 C3 EE B9 D5 54 1D 87 C6 A8 8C FD 54
+ A8 D1 D8 0E 7E 07 F3 CF D4 DE 50 75 20 85 49 B7
+ C0 68 D3 D7 55 21 21 16 4A DB 48 3A D4 D8 52 F9
+ 5A 88 4D A2 EF 43 6C 00 A6 BE 99 24 A9 88 60 89
+ 8D 2C 4D 48 11 1C 1A 63 35 F6 13 A2 AE EF 63 96
+ 05 7F 4C AF C6 7E F7 0E 1A 44 66 12 08 44 D3 5E
+ 3C 25 82 5F 84 AF A4 2D BE 7D CB B8 9A 41 AF 49
+ 56 89 B6 B7 33 53 F0 AD 03 FE 86 E1 F8 7A AA 4A
+ 88 44 22 5B 6E 35 55 C7 A1 31 D2 94 ED F9 50 4B
+ CD F6 CE EB 3A D2 48 AA 07 DE 46 45 98 A4 EB 88
+ A7 46 D2 52 2D 46 4A D4 F7 B7 1F A9 B4 F9 1B D6
+ 83 9E 8A 08 96 48 64 CB 8D 52 39 55 EB 1A A1 6A
+ F6 53 A1 56 35 BB 37 C8 56 47 88 6C D5 82 9A 48
+ 27 16 5D 47 5A D3 6A A9 BC 57 25 DA 1B 64 2B 6D
+ AF AB 45 4B 45 04 4B 6C 64 51 75 24 A9 5A A7 DD
+ C8 13 A2 16 63 73 1D 21 00 8D 24 68 AD D4 1A D1
+ 4B B4 91 54 DA 2D D5 62 24 13 AE 23 04 80 BF 59
+ A9 59 8D 60 89 44 B6 DC 28 95 53 86 D0 35 FB 09
+ 51 8B 1B B1 75 F8 CE 0D B2 91 D4 E8 F0 AD 75 21
+ 7C D4 0D D2 BA 24 0D D2 D2 59 A8 26 D1 71 0F 82
+ 4D 8B BF 61 A3 EB A9 88 60 89 44 B6 DC 28 55 C3
+ A1 31 2A 37 F2 54 A8 D5 68 A4 77 35 AD 87 26 B2
+ F5 DD E4 FC 1B D1 3B 86 06 BB 78 05 3B AB 5E 98
+ BB 9A 06 20 6B A4 45 77 F2 2C 91 C8 96 1B F5 EB
+ 56 19 42 77 90 4F 88 BA 8E B3 73 BD 8E D4 1F 19
+ B7 59 3D EE 6D 73 C0 B8 11 ED 52 0C 11 FD 49 F0
+ 46 D2 73 E1 2D 55 5B ED 22 89 7D B5 CB E6 6C D5
+ 37 DC C8 E4 54 95 10 89 95 EC B9 D5 54 1D 87 C2
+ 48 E3 EC E7 43 CD 93 1A 05 1B 07 FA FC 73 9C 02
+ B0 20 22 38 13 22 1B 00 4A A5 96 16 15 6C 1C E8
+ CB 37 23 EF C0 37 82 25 12 E9 FA A4 CD 08 0E 8D
+ 51 26 35 CF 85 5A 6A B6 B1 7D 95 A1 96 76 23 A9
+ 1E 18 7A 8E BB 11 7C DC B2 91 8B D4 91 A5 38 29
+ D1 46 F4 3A C2 DF B0 1E 70 2A 22 58 62 25 7B 6E
+ 98 8A 71 28 8C AA 66 3F 15 EA F5 63 E6 6F EF 53
+ C6 05 0F 78 E2 56 76 34 05 77 33 BE 7B 17 B2 A3
+ 07 AE 1A E7 A0 BD E8 76 A8 21 C1 10 C0 85 5D 9B
+ D1 0A 23 05 83 D5 18 87 30 B3 8F BD 68 A2 A0 CD
+ EE 45 0B 34 0E 5D CB D0 1A E7 88 17 46 14 B2 D9
+ 27 A8 15 32 5C 6F 8B 03 32 E2 1C F2 DE 87 82 36
+ FB 9E 74 5C 60 8C 41 81 54 3D 9E 12 61 DA 2D 50
+ C5 CD 9D 26 53 AF 34 85 7A 24 2B 61 AB 08 9B 67
+ A8 F6 06 A9 8F C6 B4 70 AD 04 B6 91 07 63 05 63
+ A6 ED 9B E4 DB 37 A1 E8 14 54 2C 06 7C 74 3B 34
+ 66 4F 71 31 AD D3 33 18 F4 FD 64 F0 3E 32 FC 1B
+ 4F 8E 6F 0E 65 E2 79 26 48 D0 FC 8C 83 1F 17 FC
+ E1 E1 A7 80 E9 04 61 82 1E 22 B4 D0 FB 1F AE 84
+ A7 AF 8F 1E 63 78 FA 16 9D FE 57 DB 67 20 FB FB
+ A3 7F CB 61 24 2F 3C 94 F8 33 39 3C D6 38 F2 F3
+ 2F 5E 22 18 45 07 9B DC 79 05 86 4F 46 64 E8 0F
+ E3 78 68 A7 B1 8E 3A B4 03 63 F3 FC E0 A9 9D 9C
+ 16 8A E9 A2 40 12 EB C1 93 31 91 4E A6 3D 72 6A
+ 07 1F 7D 48 E3 A9 9D C6 7A 14 5B F5 E2 C7 9C DA
+ 11 03 F2 D1 1A 36 A0 B0 18 F7 46 BB 7D A7 76 38
+ 37 39 B5 33 16 D7 EE BA C9 A7 76 86 BA 39 7B 6A
+ 27 C7 16 12 48 B1 5C 3E 27 75 6A A7 C9 95 C3 34
+ 8D A1 4F ED F4 DF F0 91 9C 26 44 68 CA 47 9F DA
+ C9 E0 F0 92 3E B5 53 6C 38 27 7D 6A A7 31 F4 A9
+ 1D FE 0D A3 6D 52 D6 1A 6D 4F ED E4 7A DB 87 CF
+ BE E4 7A 13 A8 9D 39 C9 21 CA 69 14 22 F8 A4 0A
+ 91 ED 14 0B A5 6A E7 5B 48 22 9F 7D C1 11 9A 7C
+ 4B 59 A5 AA 84 48 AC 64 CF 2D 39 85 43 61 94 53
+ 3B CF 87 FC 33 9C DA F1 D5 8D 7F DE 63 3B 3F 7D
+ 89 78 95 49 9D 45 BE B3 EF F0 06 4F 15 6B CF D7
+ 38 47 F5 1C D0 66 9C 7D A8 E7 F0 06 F7 B0 FC 88
+ 91 58 8F 79 67 8C F5 6C E2 43 3D 87 C7 D8 FD 65
+ E8 7A 3B EB 51 6C E9 98 6E 43 59 AF FB 76 B1 9E
+ B0 18 F4 46 B5 5D DD 86 E4 C6 DD C6 AA AC F6 56
+ CB DE 6B 0C D5 72 B2 D3 80 AC 4D D3 5D 58 61 C1
+ 29 10 3B EA 26 97 7D 79 A3 55 9F D1 7F D1 FB 03
+ 16 21 0C CA 46 F5 19 DE E2 02 5B 94 3E C3 E3 9D
+ E8 A2 3A A7 CE 50 7D 86 FC A6 83 ED 52 D6 0A 6D
+ FA 0C 6F 52 51 9E 17 48 F1 78 1E 87 D3 DD 17 36
+ A2 FB C9 46 92 0F 6D A9 C8 BB 36 89 DD F3 42 CE
+ 41 7D 2B 8B 4A 55 09 91 58 C9 9E 5B 4D D5 71 28
+ 8C DC 67 3C 21 F2 CF D0 67 64 57 1F 5B B8 B7 CF
+ F8 66 33 CD D8 76 19 22 90 DF 6C 97 09 CB 2F 2E
+ DC 00 92 19 1D 1E 30 3E B9 D8 0E 36 B6 19 9D C5
+ DB 88 7D 46 A7 66 73 F0 63 0F 3F 4E A5 CF E6 AC
+ 8D 34 9B DB D7 45 F1 4D 41 39 53 EF F0 94 A4 F7
+ EB 83 E8 8F 77 52 74 B8 BE 9E FF 77 BB 3A 29 05
+ B2 94 F3 0A 63 E5 3C 38 81 00 3D AD 06 36 DB 43
+ 09 B0 14 62 8B 47 CE C8 1A EB 51 68 05 27 C9 0A
+ DB EC 3A 90 60 E3 C9 81 60 1B 27 07 8F CD 57 15
+ B6 D9 85 20 87 CB 1E B6 0C 13 A0 CE F2 8B 5F 64
+ F5 F1 EE F5 15 1F EB 43 AC 1E 7A 91 40 BD FB 8F
+ A6 C1 95 E5 6C C3 08 AE B1 8E 06 97 30 EC 4B F5
+ 44 BF 7C 79 85 59 AC B1 66 FF 42 55 7F 4F 52 E1
+ 6D 9C 83 E1 46 CF AF 09 29 B8 DB B5 AA 83 DD B6
+ A9 71 4E BC CF FC 96 E3 4D B7 1D EB A3 37 F5 FF
+ AB DB 96 C5 24 F6 D2 37 3C B9 BC 93 3A DE 01 FE
+ CB 77 FF 1F 5F F9 43 C6 65 6E 64 73 74 72 65 61
+ 6D 0A 65 6E 64 6F 62 6A 0A 36 20 30 20 6F 62 6A
+ 0A 31 35 37 32 30 0A 65 6E 64 6F 62 6A 0A 34 20
+ 30 20 6F 62 6A 0A 3C 3C 2F 54 79 70 65 2F 50 61
+ 67 65 2F 4D 65 64 69 61 42 6F 78 20 5B 30 20 30
+ 20 35 39 35 2E 32 32 20 38 34 32 5D 0A 2F 52 6F
+ 74 61 74 65 20 39 30 2F 50 61 72 65 6E 74 20 33
+ 20 30 20 52 0A 2F 52 65 73 6F 75 72 63 65 73 3C
+ 3C 2F 50 72 6F 63 53 65 74 5B 2F 50 44 46 20 2F
+ 54 65 78 74 5D 0A 2F 45 78 74 47 53 74 61 74 65
+ 20 31 30 20 30 20 52 0A 2F 46 6F 6E 74 20 31 31
+ 20 30 20 52 0A 3E 3E 0A 2F 43 6F 6E 74 65 6E 74
+ 73 20 35 20 30 20 52 0A 3E 3E 0A 65 6E 64 6F 62
+ 6A 0A 33 20 30 20 6F 62 6A 0A 3C 3C 20 2F 54 79
+ 70 65 20 2F 50 61 67 65 73 20 2F 4B 69 64 73 20
+ 5B 0A 34 20 30 20 52 0A 5D 20 2F 43 6F 75 6E 74
+ 20 31 0A 2F 52 6F 74 61 74 65 20 39 30 3E 3E 0A
+ 65 6E 64 6F 62 6A 0A 31 20 30 20 6F 62 6A 0A 3C
+ 3C 2F 54 79 70 65 20 2F 43 61 74 61 6C 6F 67 20
+ 2F 50 61 67 65 73 20 33 20 30 20 52 0A 3E 3E 0A
+ 65 6E 64 6F 62 6A 0A 37 20 30 20 6F 62 6A 0A 3C
+ 3C 2F 54 79 70 65 2F 45 78 74 47 53 74 61 74 65
+ 0A 2F 4F 50 4D 20 31 3E 3E 65 6E 64 6F 62 6A 0A
+ 31 30 20 30 20 6F 62 6A 0A 3C 3C 2F 52 37 0A 37
+ 20 30 20 52 3E 3E 0A 65 6E 64 6F 62 6A 0A 31 31
+ 20 30 20 6F 62 6A 0A 3C 3C 2F 52 39 0A 39 20 30
+ 20 52 3E 3E 0A 65 6E 64 6F 62 6A 0A 31 32 20 30
+ 20 6F 62 6A 0A 3C 3C 2F 53 75 62 74 79 70 65 2F
+ 54 79 70 65 31 43 2F 46 69 6C 74 65 72 2F 46 6C
+ 61 74 65 44 65 63 6F 64 65 2F 4C 65 6E 67 74 68
+ 20 31 33 20 30 20 52 3E 3E 73 74 72 65 61 6D 0A
+ 78 9C 6D 58 09 58 53 D7 BA 3D 31 E4 9C 53 AB 58
+ 89 29 44 DB 84 6B 5B B5 CE 5A AD A0 75 9E 15 15
+ 10 91 41 45 D4 30 08 21 CC 24 21 09 09 09 E3 86
+ 00 09 21 24 40 98 67 65 90 49 10 67 71 AA D5 D6
+ 59 AB D7 7A 6B 67 3B D0 DE D7 7D B8 9B FB EE DB
+ 07 EF F0 DE BB F7 FB F8 F2 01 39 7B 9F 7F 58 7B
+ AD F5 6F 0E E1 34 8E E0 70 38 13 FC 22 A5 92 84
+ 79 BE 32 69 68 0C FB F7 5C 66 1A 87 79 6B 1C F3
+ 36 37 1D C5 8C FC 36 B2 81 F7 36 E1 55 C1 9D 08
+ 26 70 C1 04 A7 AA B7 A6 65 BA 30 DA C9 F0 6F 93
+ E0 E9 37 08 2E 87 D3 F9 F1 D3 F5 B2 58 45 7C 64
+ 78 44 A2 FB AC 3D BE 7B DF 9F 33 67 EE BF FE B3
+ C8 D3 D3 D3 FD 90 E2 1F DF B8 6F 90 24 44 86 C7
+ B8 CF C0 BF 24 4B A2 65 B1 52 49 4C E2 0A F7 F5
+ F8 E9 E8 E8 C8 C3 EE E1 D1 8A D8 88 04 F7 D0 23
+ 47 24 47 D8 65 FE A1 D1 92 28 F7 4D 91 D1 91 B1
+ B1 B2 64 F7 59 EB DF 77 5F BC 70 E1 A2 79 F8 63
+ F1 0A F7 9D 49 52 49 BC 6C AE 7B 64 4C 58 64 4C
+ 64 A2 C2 3D 34 E6 88 FB 2E A9 24 3C D4 5D 1A 7A
+ 44 C2 6E B0 41 1A 99 18 AF 70 5F B2 30 32 E6 9F
+ AB 77 46 4A 0F 25 25 B8 8F A5 EC BE 53 E6 E9 EE
+ E5 EE 2B 09 4F 8A 0E 8D FF F7 6F 08 82 58 E3 B5
+ 56 11 73 38 60 C7 3A A5 EC 48 E0 CE F5 B1 92 5D
+ 1B C2 BC 37 C6 6F 4A 88 F0 DD 9C 18 B9 7B 4B 92
+ DF D6 E4 A8 3D DB 52 A2 43 FD B7 4B 0F CD 71 9F
+ 37 7F C1 C2 45 8B 3F 58 B2 F4 C3 7D CB 3C 3C 43
+ 96 AF 26 88 79 C4 74 22 88 D8 45 6C 20 3C 89 F9
+ C4 3B 44 30 E1 4D 6C 24 96 13 0B 88 77 09 1F 62
+ 13 B1 90 78 8F D8 4C 2C 22 66 10 BB 89 99 84 1F
+ B1 95 F8 80 98 45 EC 21 B6 11 4B 88 F7 09 7F 62
+ 29 31 9B D8 4B 78 11 1F 12 73 88 00 62 07 B1 8E
+ 58 46 CC 25 76 12 EB 89 09 04 87 70 26 26 11 6F
+ 10 93 09 17 82 4F 4C 21 04 C4 9B 84 2B B1 92 70
+ 23 84 C4 54 62 0D 31 8D 70 27 D6 E2 56 13 4E 38
+ 84 53 9C 15 9C E3 E3 78 E3 1A B9 53 B8 03 DC BF
+ 3A 6D 75 BA CC 5B CE 6B 26 A7 93 35 14 87 52 53
+ 90 F6 A1 AF BE B6 F7 B5 DE F1 EF 8D 3F F3 FA 92
+ D7 CF 4E F0 9B D0 38 E1 2F 13 6D CE 93 9C 55 CE
+ D7 26 39 4D 3A 3C E9 2F 6F 1C 7D E3 C4 E4 4D 93
+ F5 2E EF B8 A4 F2 C7 F3 07 A6 BC 39 65 C5 94 55
+ 53 76 4E 09 9B A2 9E F2 47 C1 BB 02 E5 9B E3 DE
+ 5C F6 66 BB AB C8 75 99 EB 61 D7 AF DD FC DD C2
+ DD CA 85 53 A0 D1 99 81 C0 21 3F C1 FC E2 70 F9
+ 69 D8 95 1F CB 7C 06 D7 09 94 12 75 A2 4A 19 71
+ C4 4F E1 01 E8 2D E4 3A 4D 51 9B 98 91 52 E0 B6
+ CD F6 B8 90 76 A0 36 39 75 2F A3 54 0D 36 D2 A3
+ DE 14 BF 03 6C 54 AB D6 65 D2 72 0A 2F 6F 23 4F
+ C1 75 3C E7 91 30 E0 80 81 DD CC 1F 2A 39 23 FE
+ 0E C1 01 A3 CE 12 71 0F E5 33 37 DC 52 48 74 64
+ 34 6D 3B 9A 91 96 1A 9C 23 94 C3 20 07 15 9C 52
+ DA 68 35 DA 0A 4B C5 FD F0 35 1E B4 93 DD 73 AC
+ B1 A6 38 A0 16 82 78 A5 DE 3F 97 96 43 33 35 AA
+ 81 16 01 A4 60 23 A4 51 23 CF 99 C9 46 31 C3 CC
+ 29 3B 87 91 31 FE 02 34 4D 45 B6 96 A5 A7 66 E5
+ 66 64 1B C4 B3 51 13 A2 60 51 86 2D AB 14 94 08
+ 41 85 DD D4 9B 4F DB D1 21 35 55 9F 55 AE 35 2B
+ 21 89 72 DD 8C 7A BB B4 31 B0 2C 1C A8 84 40 95
+ E8 A5 94 AA E3 92 E4 6A 90 01 D2 F3 75 85 72 93
+ B2 40 09 E8 C4 94 94 84 A3 AD F1 3D 37 4F 5D 84
+ EF 9E 17 C3 F9 CC DC D2 D6 12 4B AD 51 88 DF 0F
+ EC CC D4 0B 9C CF 9F C1 0D CF B8 65 CC 74 41 91
+ D1 92 57 02 E8 C6 62 55 90 18 E5 51 C0 57 AB 0E
+ C8 A2 55 30 C2 4E 05 14 A8 AC A0 9D 86 C7 A9 53
+ 27 AB AD C7 00 3D 58 1B BD 55 8C 24 14 F0 D2 28
+ 03 D9 87 8E D8 A9 A0 C2 34 2B 18 A4 A1 82 FA 2E
+ E4 E2 DA FD D1 CA ED 9B 45 8F 29 43 7E 90 22 52
+ EB 97 8A DF E8 AD BB C3 F0 9A 38 75 0F B9 CC 74
+ B8 50 10 BC 31 3C C1 17 D0 0B B7 7F 0E A9 5F 2F
+ DC 7E D2 5E AA 0D B3 88 8B 92 CC B2 0A 45 15 10
+ D6 57 3B 6A 2E 6E 1C 58 16 14 90 12 7E 48 1C 18
+ 22 DB 0C 3E A2 D1 9B 8F E7 43 EE C9 AE B2 96 76
+ 51 43 AD A3 A1 F9 32 3D D6 2A 79 D5 C8 38 87 0B
+ BF 6A C4 6B 64 B6 00 A5 CB C9 F3 39 65 06 90 08
+ 54 5A 45 4C 38 E2 21 91 5B E8 E5 9D 5F 24 F4 82
+ 6A 21 A8 B4 9B 8F E5 35 E6 B9 39 D0 05 39 75 23
+ BB 42 F5 23 12 43 0E 5A E2 86 16 A1 3D 8B FF 90
+ 99 15 90 85 DB AA 76 50 3E 05 0A 33 A8 01 76 7B
+ 5D 47 3F 7C 1D CE 72 FB 1E B9 1F 0B AA 88 C4 15
+ E7 1F 04 8A 54 5D 64 2E CD AF CA 02 DA DC 34 B6
+ C5 A7 1D 94 7F 91 CA 72 70 08 F9 C1 06 37 38 03
+ 6E BB F1 A8 D2 FA 71 81 D0 F9 2F 13 81 63 C4 C9
+ C1 81 9C 3E A6 62 98 3B F2 21 F3 99 60 34 90 02
+ 1E 69 9A 8F 30 EC E0 31 07 B5 AE 50 6D 03 B7 69
+ C6 1B 83 B4 B4 F4 5E 11 06 69 30 85 E2 46 F3 51
+ 2A 93 CF 43 41 72 F2 69 66 69 1A 58 47 8F CE A6
+ C0 BB 6A B9 47 06 5E 97 E6 A0 56 15 28 6B C0 2F
+ 34 33 93 82 05 A3 03 3C 1B E9 3C B2 00 97 A3 03
+ F6 74 41 6B 87 DC E1 02 79 C3 30 73 78 39 A4 5C
+ F9 6D E5 B8 38 72 EA 59 A6 55 0B D6 B2 C8 07 6B
+ 35 1A 8F 6C 16 F7 12 F8 27 F2 11 B8 5D D5 71 BC
+ BD B5 F2 24 38 05 FA 14 5D D1 4D D2 86 58 EB B6
+ B2 B3 A5 55 96 DA 2A 9A DF 56 57 6D EF E8 9E 0A
+ 9D 16 0F A1 B5 22 4F F4 42 F0 12 F4 67 B6 AB 68
+ BE E4 52 42 C3 61 AF A9 60 4F F2 91 C3 89 51 8A
+ 43 FA AD 80 0E 52 17 B7 8A 61 B7 13 86 03 FF C3
+ 2A 53 B1 5D D4 47 42 EA 6A F0 E2 95 FE 21 F3 C4
+ 18 0C A0 99 99 DA CC 61 3E 84 D3 04 8A 02 5D 60
+ 46 AA 46 29 54 2B 23 D3 03 00 8D 44 24 AC 66 DE
+ E7 D9 D1 CF 54 36 1A CF AB 20 8B EF DA ED 57 00
+ 0D 45 24 72 8C BE CF 53 31 13 29 8C 60 5D 23 B3
+ B8 91 D3 F4 15 B4 7D C5 85 46 E6 A0 00 BD B9 70
+ 0E 12 A1 69 DF CE 80 2E D0 E5 87 FF 82 22 E8 BA
+ E0 7B 34 45 AC 91 09 9E 5D 9E 83 DE 46 BC 03 9B
+ D7 1C 09 AB ED 4A 16 CB CE A6 7E 86 2B FE FD C0
+ B5 DB 22 76 AF B3 CC D4 46 4E C3 73 98 F2 8C 0B
+ 5F EA 04 70 E6 59 5E 19 A5 C8 CD 01 D9 80 0E D7
+ 97 F4 8B 99 8F A9 CC FC 60 65 84 6E BB 52 98 4A
+ 99 F3 8A 80 19 D0 1D C5 BA 43 62 B4 90 92 B4 C6
+ 96 1C C6 91 53 F3 31 DA A6 A3 29 F7 97 C0 71 17
+ 3B 2B 07 8E 8B B7 53 90 E3 04 0C 86 34 9D 56 91
+ 12 AF 8B 01 B4 87 DF E7 70 12 E4 0D DE 7B 70 6E
+ 70 9F BF 78 0C C0 63 F0 B8 85 B1 B1 9B 05 B0 4C
+ 4E 9E CD 2D D7 83 04 A0 CB 4C 4B 57 A1 77 50 B2
+ 1B 9A 05 E3 B5 65 19 E5 63 8C 60 2B 6E CD 2F 00
+ 16 50 92 87 81 72 4C 4E 9D CA B1 A9 7F 46 7F 80
+ AE C8 CF 0D AD A3 C0 12 9D 6E 61 16 46 C8 65 07
+ B5 38 5F 6D 05 0F 68 E8 4F C1 59 30 F9 EA 97 F5
+ D5 67 30 24 47 C2 B4 55 3A F6 AD 2E 2C 28 3F E8
+ 73 E5 9F 64 18 AD 80 A9 A1 C0 15 4B 87 A3 D4 66
+ B1 15 74 16 E0 CD D3 E4 54 67 B6 2D CB 9E 5E A9
+ 2E 0E 07 3B 68 F4 15 35 2A 60 E4 3C B4 5A 4E F6
+ 02 9B BE 6B 1F 3D BA 83 E2 CB FF 13 28 DF A2 F0
+ AE 3B 31 2C 31 28 D5 7D 8C 47 15 F4 EC E2 60 FE
+ E3 8E 10 98 F3 D2 61 32 2F 99 CC 48 4E 4D 4B 01
+ E9 40 65 54 15 05 95 05 9A F7 01 4F E0 11 BD C3
+ 6F E3 0E C9 7C 80 C6 81 F9 CD 4B CF F8 5E D9 F6
+ 8D E4 27 00 79 E0 A7 FE AB 4F 68 45 C5 DA 0D 5B
+ A5 1E 40 E8 05 76 57 1E EC F4 1B 8C FE 0A 40 2E
+ 0D B7 7E 0B 5F 83 EF 5D 3A 9B 7C B8 4B D4 1A 65
+ 97 39 B6 D1 2C CD 4A CB 95 15 D0 A7 95 71 BE E2
+ 72 FF 19 4C 7A EE CA 57 15 33 6F 0B 8A F3 4C A0
+ 18 D0 C7 4D BA 7D E2 D1 08 8A 3F 08 F6 6A B5 DE
+ 19 B4 92 E2 AB 60 66 05 B9 26 4F 53 02 AE D3 70
+ 11 D5 76 B4 56 D7 83 C1 37 FE 1B E8 04 DF 83 6F
+ 6C 7C 31 7B 77 48 FC 9E 10 F1 43 2A 23 7F 4F 72
+ 84 C6 4F 29 84 B3 D7 08 9A 2F B6 F7 DF 1B 5C 8D
+ 68 C4 0D 5A B3 7E 9F 6F 7B B3 88 25 BD 4F 61 4C
+ 2B A4 DA 39 CC 5C E8 21 08 5E 7D 30 66 3B F0 05
+ 07 9B 62 2E 29 3A 0D C7 72 AE D2 F0 2A A9 BF A1
+ 6B 8A 6F 95 B6 EF AF DA 0B 02 C1 3E 85 24 72 DF
+ A1 D8 0D C0 13 9F 84 3B 4B 21 F5 FD FD CB 90 E8
+ 11 A1 47 70 AE A0 E4 D1 F1 8E AB E0 2A A8 95 95
+ 2E 61 B9 4F DD CE FC 77 3B E7 38 24 99 55 90 E4
+ C2 BF 8E 78 08 D0 6E F4 16 7A 17 ED 9F D7 BA F0
+ BC 8F 78 C8 EB C5 91 2F 71 F4 81 F0 2D E8 0E F7
+ FF 14 F3 85 DF 15 B1 D7 A7 CB DA E7 60 5C 3B F5
+ 83 7E 45 7B D4 F9 A0 96 79 00 BD 0E BC 35 9B 52
+ F6 A6 C7 2B E3 13 13 23 22 0E 28 FC C1 7E 70 A0
+ 22 A2 65 6F FF D1 5F 70 85 C1 70 E3 CB 9E 01 FA
+ 44 EF 60 F5 05 F0 77 DE ED 60 BE 60 59 E6 B7 61
+ 86 84 1C 57 7E F9 6F 90 23 00 EB D3 34 AB C7 E4
+ 34 1A 76 90 90 06 7F 3E 76 ED E2 8D CB 1D 2F C0
+ 4B F0 95 F4 91 DF 85 CD 9F 22 4E 3B 7A 1B D0 FC
+ 72 54 23 27 1F 1B 8A D3 31 21 0D 1F 13 F0 A3 5B
+ 4A CC DD CF 6F A4 46 9E 12 3D DA D3 BD 14 20 02
+ A0 F1 87 96 2D DF 17 10 E3 93 B6 04 D0 87 D3 30
+ AB 38 C3 E7 58 BB 66 B6 72 7E C5 47 F5 1A AB 9E
+ 93 20 4D 0E 39 5A 3A AB 6C BA 98 0A 51 59 9C 55
+ 57 0E E8 1A 47 45 4D 7B 48 FD AE 1D FE B1 FB E3
+ C4 71 21 FA F0 DC 15 B4 67 D4 53 74 93 04 EB B4
+ 69 EB 59 D9 2A B5 53 9E 46 6D 09 B8 4F C3 9B D0
+ 19 73 CA 39 2C FB D5 5D F0 34 9B D4 CF C3 30 95
+ 4D EA 25 3C 00 FB 04 F5 39 E5 B9 F5 E0 11 38 6F
+ E9 AD BD D2 DA 7E 15 7C 02 7A D4 9D B1 4D 87 FB
+ 96 34 CE C3 A9 3C 41 E5 72 F2 9E DE A2 03 EB E9
+ D1 8D 14 58 A6 D7 AD 36 BC 22 F7 8F 8C 2A 1B B8
+ 4B 33 C9 4E FC 97 0D 26 53 03 9C 76 6D DF BB B3
+ BD 03 11 95 A2 CE CB 4F 14 BD F2 30 1D B0 B7 FB
+ 7E 25 5C DA 29 7F 65 65 E2 99 EF E0 4A 81 8C 0C
+ 44 C4 C1 04 F4 0E A0 63 C9 20 10 5A 68 30 65 1A
+ 73 4A 40 39 0D 01 9C 4F 3D 05 76 4D A9 07 5D 03
+ 55 89 A4 E1 50 96 4A AB D6 28 65 FA 7D 98 89 E6
+ C3 78 92 AF 6C 2C 2A 6A 10 C1 69 24 3E 3B D5 AA
+ F2 45 74 1D C9 EF CD 86 EF F0 46 1B 71 B0 FF B4
+ 40 FF 32 40 4A A6 83 1C AB 2F FC F9 47 CE 83 67
+ 5C 13 33 55 60 33 16 E7 59 01 5D 57 9C 1A 22 46
+ 46 0A 04 1A 0C DB D3 70 F1 0C 76 6A B3 51 69 07
+ 97 68 98 44 B5 F6 9E 6E 28 2A CE D4 95 88 CA D4
+ 25 19 A5 80 AE B5 97 37 1E 4B AE 8C 0C 8D 49 DC
+ 10 24 FE 06 73 A7 7F 52 B8 C6 5B 2E 7C 55 E4 AB
+ FF 27 D7 3F 33 09 30 55 80 93 A0 D2 56 28 54 2B
+ 70 F8 EF E1 F0 1B 0B D9 E0 DF FA DF C1 BF FC FF
+ C1 E3 4A 7B 68 C7 E0 C6 56 7A 55 01 96 D1 3B 34
+ 8C 81 EF 51 4F 40 B9 CA BA 1C 53 80 50 57 9D 5A
+ C5 2C AA D4 54 BB 9C B9 06 3D 3F C3 30 85 B7 E0
+ 4D 01 7F 6E 16 7C 8B A7 25 73 72 D2 0D B9 B9 59
+ 40 98 01 74 F9 DA 42 8C 4A 73 52 52 41 DC B4 8F
+ 7C 03 D6 EF 6E 3D FC 45 B0 78 E8 68 5B 4A 79 02
+ 88 16 86 44 C9 02 22 A3 4B AB E5 A2 E4 BA F4 1A
+ CD 25 3A 95 E4 7B A1 85 A5 94 C9 52 90 6F C5 7C
+ 62 CB A9 C9 C0 1B 64 34 36 64 55 4C 7B F8 F1 D0
+ 67 A7 13 8E ED 6A 17 23 E2 63 59 99 AA 0E 34 08
+ BB 5A 1A FB 2F 35 47 2E AE 11 BD B2 60 D3 CE 73
+ EE 3E 83 3B 31 92 17 C1 1F 04 3D FD CD E5 27 00
+ 7D BA 2E 7C A3 18 05 51 60 B3 4E E3 93 F1 CA 83
+ ED B1 64 98 C1 A7 34 0C A6 FE 1C 7A 7E B9 77 68
+ C2 AE FD 22 78 89 CA 34 46 A6 C5 EB 77 A7 0A 63
+ F5 BC 54 AA 20 CF 08 0A 01 DD 6B D6 1F 14 8F 46
+ E1 BE 66 A4 FB E8 F1 FA 68 3B E5 53 A4 B3 E2 F5
+ 63 FE 80 F9 95 C5 F7 F0 30 D4 B0 F8 3E 39 32 D3
+ 21 90 18 53 2C 31 C7 D1 21 58 E4 76 B3 B4 D9 7A
+ AC A1 B5 DE D1 03 06 40 AF A6 23 AE 89 E6 3F EC
+ 96 78 D4 CF 9B C6 3F 89 9A E4 E4 7D BD 45 0B 36
+ BC AA BD 2E 6D 0D CB FA CD B8 F6 85 9A 52 B6 F6
+ 81 D4 C5 7C 98 8E AE F2 E0 52 72 34 98 79 2E E0
+ 3F 6C 2C 31 77 C1 C9 43 07 E7 05 26 87 86 CB 45
+ FB E3 22 32 E6 E4 8C B1 57 17 BC 5E 01 B9 55 70
+ 76 17 A7 15 73 98 FB 4B EE 48 20 FC 5D 80 CC 0A
+ B2 37 DB 9A 6D D5 DB D3 8B 12 C1 41 1A 7D 48 45
+ ED 8C 5D 8F 96 CD 84 24 DC F9 5D E3 D7 7D 83 A2
+ BE C1 6B 0D B7 C0 45 30 28 3F 11 DE 2C 2B 8B AD
+ DB 49 D7 90 7A 18 CE 4B 22 33 E4 0A 75 32 D0 81
+ 54 A3 C2 74 C0 BE DF 7C 00 23 6A 1F 96 D1 99 E8
+ E0 FB 0D 6B 2E 7A 8B 6F 6E FA 41 02 C7 81 E7 00
+ 4E 6E EB 6A A3 61 08 05 2E 5B 4B 87 0A 69 67 D8
+ 82 AD C0 84 56 CE 67 B8 25 66 4C 2E 33 30 B7 58
+ 72 8D 19 22 43 7A 46 BA 41 27 F1 3B 18 9C 9A A5
+ 35 64 18 40 26 C8 CE CB 31 E6 D0 E7 D0 79 72 59
+ F3 C1 CB 83 9D B5 67 8F 89 34 25 C9 F1 4A 5D 12
+ 10 86 A9 1A AE 8B E1 89 5F 28 BC 25 6E F4 F5 61
+ CE F7 78 CB F5 AC 4D 59 E0 C7 53 61 07 61 CD 2F
+ CD 2B 06 C2 DA B1 83 A5 A2 C0 7A 9D 76 13 CB 4A
+ 3A 3B B5 B5 50 6F 61 8B 09 A9 00 98 2C 88 4D 4C
+ 94 C9 AA 13 1B 9B 6A AA 9B 1A 13 6B 62 B0 7F 3A
+ A7 A9 4A 6E 63 76 54 C1 39 DD 2E B7 9F 43 F5 2F
+ AE FC 41 66 37 66 FF 64 32 2B 51 AB 55 E2 E4 F1
+ 08 60 0E B3 85 99 A3 C0 41 10 A2 3C 1A 13 11 AD
+ 08 05 7B C1 8A BE DD D0 C9 FB 8E E4 EC A1 3A 49
+ B1 A6 30 19 24 D0 7C D5 96 C0 FD EB 16 7B 5D 80
+ CE 81 A2 44 92 3F D8 8C 22 78 D5 64 9E C3 6A B3
+ 03 CC 35 59 0E 43 A7 AA 4B DF 85 65 84 7A F1 F8
+ D7 A7 7E 37 90 DB 6D F1 F4 A1 D0 3E 70 9E BE D0
+ D3 79 ED 64 8F 3C BC 4D D4 12 65 8B 2B F3 C6 C7
+ F4 D5 F8 34 D8 07 3B 1C 9C DF 87 E1 C5 61 2E 94
+ 40 24 C0 1E 04 DC 29 29 79 68 C2 BE A2 45 4E 3D
+ 34 94 68 FF 41 96 BA B4 95 EC 11 6E 71 50 6B 8A
+ 30 8C 6E D3 F0 10 BC 88 F6 FE A7 6F 58 8F FC EF
+ BB 20 FF 31 47 38 C4 08 CA D5 36 97 DB CF E0 A6
+ 67 AC A7 49 38 2D C8 24 F7 6B B1 7D 83 3F 50 FC
+ 87 68 B1 92 BC 96 6D D5 81 40 1A A5 51 40 96 A9
+ 56 6B 63 93 A2 D3 A4 80 3E 12 75 BC 47 CC 3F 09
+ 1F A3 19 6A EA 54 B6 4D 05 F6 D3 A8 90 FA E8 54
+ C0 DD 8E 13 65 0D 0D A2 DE 5E 9E 07 55 90 73 BA
+ B2 BD E4 8C 4D 38 C6 D9 CC 8F 3D 1C 68 C2 D9 99
+ 46 08 C1 68 36 05 3E D4 6A 3D D8 68 4F 3A 28 CF
+ 02 75 29 4B FA E6 F3 14 24 41 B5 A2 06 8D A3 6B
+ C9 0C B8 8A 37 7A 95 CC 40 AB 78 B5 64 2D E4 D4
+ 38 A0 13 D6 52 CC B8 AF 2C 20 85 37 A3 58 0D 5D
+ A3 49 5B 96 FD 6A AA F0 34 A6 8E C9 07 CE FB AE
+ AD F4 19 EB CA 4E CB A9 2F 5E D9 78 9C 34 B3 19
+ 4F 91 71 AC 0E 8A F1 14 99 6D D7 01 39 D0 E5 E8
+ B2 74 B3 90 D5 ED 3D 58 9C 61 CB B6 81 62 EC 1A
+ 4B 4C 6D 46 3C 47 06 A8 A8 CE 1C 93 AE FF 5D 38
+ 01 75 B9 E5 67 18 0D 46 7D 91 A2 48 5F 04 8A 80
+ A9 D4 DE 01 A7 C0 7B 6E 4D B7 8A 4C CD 46 FA 15
+ 49 79 DA 38 4F B1 16 8C 70 05 18 B0 79 16 40 1F
+ B3 68 82 C5 A3 C9 14 D8 9B 9D BD 9E D5 02 8D 9D
+ 4A C9 3B 9C 8F 75 AE 4D 08 BD 28 E8 8E 76 19 B3
+ F2 B3 F3 B3 8D D9 42 B3 CE 98 01 32 E9 F4 F4 8C
+ 34 91 5C 05 63 EC 64 88 31 DA 11 7A 06 CD 83 FE
+ 6E 4D 0D B7 3F B9 D6 DF 64 16 DA 0B 6C F9 58 B5
+ CD 76 74 50 4D 9E C8 2D C9 02 6A A0 4F 57 AB D3
+ B0 6B 77 76 63 3C A8 AC 7C 49 5A 8C DE 27 55 28
+ D5 B3 F3 39 36 94 23 0E CE 6F C3 F0 AF 7D 5C 06
+ 32 56 01 18 B6 96 3D B5 E0 E2 A8 E4 D4 A3 8C B2
+ 24 30 93 46 D8 CE 6E 36 48 52 A5 B1 C1 DB A3 D7
+ 80 0D 20 A8 36 76 40 D1 6A E8 60 8D DD DD 31 18
+ 7D CE C2 A8 5D 4E 3D CE C0 30 5A 47 A3 1B 14 5A
+ FB C4 13 AE 82 9C FB 6D B7 4E 88 6A 7B 8A FB C1
+ 43 56 44 D4 9D CC DF 70 83 36 E0 06 B5 30 A7 05
+ E0 6E 49 C9 13 76 4C EB 92 53 4F 5F AD 1D 3D 4C
+ 1D 48 4B 8E 53 67 98 EB 0C 22 5D 5B 6A 59 1C D6
+ EC A4 C4 D8 D0 6E E9 10 24 AE DE 81 93 59 AF 3F
+ D6 AD 5B B8 5B 2A EA B8 C1 62 00 4A A0 CA 48 D0
+ C6 2E 42 F1 6E CB 60 A2 B2 1F 00 50 2A 04 D5 25
+ A6 01 13 EE 55 88 8A EA C8 B2 6A 2B F7 98 E4 26
+ 79 91 62 21 0A 76 9B 05 6D 59 96 1C 0B B0 08 41
+ 95 D5 7C BC 00 3F B5 45 45 D5 E4 98 75 D5 01 70
+ 1A FA DE CD 2A 35 AB 8B B0 0C 98 4B AD F5 D8 B1
+ 1A DC BE 46 5A 5B 58 41 46 11 10 9A 40 61 71 59
+ 17 1E 8B 7E 72 AB E8 31 16 56 E2 57 BC A2 27 CE
+ 8F CF B8 0E DC DF 22 B2 24 CF 9A 87 07 9B 56 8B
+ 1A FB E2 38 0A EC 51 6B BC 32 71 87 B5 76 CA AB
+ 20 CD 02 2E D0 CC 77 B8 17 7B 95 12 DD 26 E5 D8
+ 54 3F C4 B8 D5 BA 74 7C B9 E9 4B F8 CE 13 57 FE
+ B7 CC CE 4F 04 4A 75 5A A6 0A D0 89 06 5B 9F 18
+ E2 53 7C 36 B3 49 55 9B D4 7E D0 E1 8D 9D D2 C3
+ 79 6B 83 BC 12 2B 53 6A 6A AB 2A AB 0B 72 0B 73
+ 4D E2 9C E2 5C 33 30 D1 0D AD D5 5D 83 0D 31 7B
+ 44 3B 29 34 7F 87 52 7F 50 42 F3 BF 4D 4A 51 47
+ 1E 9D EA D5 17 72 B5 AF BB EA EC 55 51 E1 DE 8A
+ E4 6E 70 1C 27 DF D6 49 A3 05 7F 14 80 E8 CC F4
+ E4 B4 04 B5 2C 3D 19 D0 11 B2 E3 BD E2 02 CC E6
+ DD ED 70 62 1F 3D 36 E8 8C 4C 74 70 46 76 B0 83
+ 55 A8 9C BC 90 5D A1 05 32 90 6A 88 4D 93 A2 99
+ A3 5C 37 34 07 7E 7D F4 AE 1E 0F FA 42 E0 B0 59
+ D8 C1 AA 24 CF C6 0E 56 0E 39 35 88 07 AB DE C5
+ 30 77 B4 DF CD 4E C2 78 66 E8 D8 E3 92 92 53 46
+ E1 BF 86 B6 37 86 B9 CC A2 11 57 81 35 D7 02 0A
+ 40 73 8E 55 0F 52 40 52 A2 D4 2F 00 6D 44 4B DD
+ 60 28 F5 4F A8 74 B0 C0 B4 6A FE 21 9D DA 57 D3
+ 7F 9B 83 5A C9 5E 9D DC A5 E1 2E AA BE EA BF A6
+ 3F 58 73 7E 03 48 10 02 B5 DA 20 CB CD 04 5A 30
+ 76 BD 30 E4 A0 F6 E6 A9 2D 0B 5F 22 35 34 BA 41
+ 5F E8 7D EB 46 99 F9 56 A1 D0 81 70 0F 47 1C F8
+ 98 BE 7D 96 F3 FC 19 F4 62 7F B8 0E 66 BA A0 D4
+ 68 66 6F 74 EA 8B 53 83 C5 A8 88 6D A5 6A 77 2E
+ 6E 65 BC 9D F2 CF 57 95 80 13 34 6C A3 40 BE D9
+ 62 32 D5 D5 F4 96 B7 01 BA AF 3A 02 1B 0F 29 05
+ 76 6B B5 BE AC 14 25 DA 29 DF 3C 55 39 B8 46 C3
+ 42 AA B9 F7 58 45 3F A0 2F 55 C4 7A 88 51 38 05
+ 7C F5 7A 1F 03 7E 48 66 A7 E2 F2 A5 F9 9A 0A 70
+ 42 08 0F 51 70 FC 91 2B AB 7C 02 E2 7C F6 88 14
+ 97 22 1B F6 80 10 20 53 7B 78 D1 F7 29 43 7E 80
+ 3C 52 EB A7 62 AF 9F 74 AD CC EB D7 39 9F 3E 83
+ 29 5F 72 E1 BC 91 95 82 CC FC 50 55 AC 7E 9F 46
+ 18 C3 3A 99 A2 BC 02 60 02 74 57 71 7A A8 78 B4
+ 8C 8A FE E2 E8 E7 D0 6D 18 8E 83 EF C0 49 AB BF
+ 9B B9 D3 27 3C 28 45 E4 EF 74 62 A0 FD EC A3 D3
+ 2B 91 33 E2 06 6F F7 DC 7B A0 A6 0E FB AA AB A0
+ 0A 06 7F C2 81 F9 9F 70 61 3E 3C 81 E7 E9 AD 50
+ 86 62 3F 81 B1 50 F6 09 92 C1 D8 AD D8 E3 1A 31
+ E9 42 FF EB 9C 13 D0 22 F0 82 B9 D7 F1 39 30 C2
+ C9 3F 0B A4 F1 71 D1 31 75 F1 4D 2D F5 75 4D 2D
+ 71 F5 52 3C 6E B4 A8 AB 46 DE AE E4 C0 2E 2C AF
+ 5B 48 A4 F8 EB 26 DE 2D 12 A7 A0 AE 1F 71 A9 E7
+ D4 FE 00 4B 7F 60 25 C0 43 E0 07 42 95 61 11 3E
+ BB 25 88 02 E8 35 80 38 C7 D0 6B 03 BB 3B 42 CE
+ 24 0C 81 33 A0 B7 BC BD 6D E8 42 27 1E 88 E0 44
+ 1A 86 2E 84 7F 40 AE A2 EC 38 C1 B3 93 88 87 24
+ 48 12 E2 BE 74 69 C8 EF F0 08 8C 38 09 B9 CF C5
+ 63 D4 CB 81 91 CF B9 B0 8F 9D EA B6 2C E4 A9 29
+ 6B 61 49 41 41 7E 85 A9 BC 00 B3 70 55 B1 2A 4A
+ CC 5E 24 1D D5 27 A6 A6 AB D2 D5 D9 A1 6C 7B 9B
+ EC D4 47 79 A9 16 70 8A 66 5E B2 A2 08 1E 30 35
+ F7 38 F0 EB E7 5C 46 06 DF 16 68 0A C3 7C 35 E9
+ 07 80 10 E9 49 F8 11 DC F0 E2 DB 13 0F C0 23 E1
+ CF CB 1F BE E3 B7 37 E9 70 98 28 2A 52 15 A5 DC
+ 50 95 E9 D6 F5 63 7B EB A7 80 7E 76 C9 77 D9 CA
+ FD F3 97 2D 16 A3 4D C8 87 97 C6 4C 65 77 65 46
+ AF B8 C0 3B 8F 25 77 5C F9 E7 E0 3C F8 47 C1 65
+ 50 93 53 9B 4E F3 AB AE 25 9D F0 DD 34 75 99 EF
+ B6 B5 B1 29 A6 DA 30 91 B4 42 69 62 2F 23 55 EA
+ E4 88 DE A4 CF 1E 3E AE EF 1E 10 0F 74 D7 0F 81
+ 9B E0 4C EA 40 4C 4B 4A B5 DC 1A E2 A0 F9 E7 3E
+ 1D A8 EB 38 3F F5 C9 F6 8B 0B 02 43 94 51 E1 22
+ 69 AC 2A 2E 69 97 3D CB AD FB EE C9 63 D7 01 7D
+ E3 64 88 57 B8 2A 3C 3E 5E 2C 95 CA 54 9B 13 C6
+ E4 A9 0A CE F8 98 59 89 DB D3 FF 90 CB 44 E3 31
+ E2 3D C6 27 84 44 37 47 7D 78 DB E1 71 B4 E2 21
+ 5C 31 4C A1 2D 1F 0B 90 81 84 06 F8 03 7B F7 CA
+ 7C FE 98 03 47 3E E3 C2 AD CC E7 02 18 40 96 81
+ 82 7C A3 A9 F3 85 5B BA 49 95 AC CB 4C C6 C5 91
+ 90 88 83 74 B9 39 20 17 E4 08 33 0B B2 CD AD 5D
+ 06 4D B7 08 52 61 E7 76 80 59 F4 9C 9D 6B 56 A6
+ 28 4D D5 52 51 54 4D A2 05 13 4F 8C 3A 2D 5E 32
+ 90 70 FF D9 9D 86 33 A7 C5 FD 27 AB 2E 81 07 E0
+ 8E BC 3F F0 74 48 9F 6F 0D 1A 5F C5 06 AB 6E 64
+ 9C FA 39 C7 BF 85 05 5F 71 19 DF 91 35 02 44 EA
+ 7C E4 EB 02 10 B1 CA 1B 91 00 4D 05 4B 1A 3E E8
+ 0D EC 0C 39 9F 70 0D 9B AD 37 9E 7F 8F B9 7A CA
+ BA 27 88 0A 49 36 48 BC C4 0D 70 0E 66 74 02 2E
+ AA A7 D1 21 74 42 F0 FC F4 7A 34 19 8D 3B B2 73
+ E3 07 7B BE 83 0B CE 98 1B 2B ED E2 AA B2 96 E2
+ 36 D6 54 FC 1D B7 E9 18 3D 50 3E 06 5A A4 18 D9
+ C4 E6 AF AF 62 EE DC E3 30 7B 30 27 8E 92 A4 37
+ 9A 59 AE EF BD 55 51 7A 01 08 A1 94 44 41 A3 DF
+ F2 6E 90 30 62 64 3A 6F 2C E6 11 E7 46 97 8B 0F
+ 36 DE 83 B2 4F FD 1E B8 F2 5F C0 5E 86 C2 AE FE
+ A7 73 6D 3D B7 A6 3E 5D 7F 65 26 E2 2C DF B2 70
+ 9B 23 E6 CF 0B 44 FC 17 88 F0 4C 8A DE 3C 75 F6
+ E3 CD 90 07 27 3C FC E4 D7 87 91 83 68 E2 57 22
+ C5 BB 82 BB 7B 6B C3 C1 6E 7A DB 81 03 DB 56 07
+ 0C FD E9 E3 EA 9E A1 01 D1 E0 43 BC D7 E2 A1 F0
+ FE 8B 53 87 4E 76 5F BF D5 1B B2 C9 57 76 C0 57
+ 22 CA CC 06 20 2B 9B 2D 1B D4 F5 32 4E 8D 9C E6
+ 6F A0 E1 25 F7 72 92 00 3A 95 5E 70 DC 1A FC ED
+ C1 55 F8 06 80 D3 68 E8 B9 00 BE 86 04 E8 F5 C5
+ 33 D0 34 E4 7C 67 39 24 2E F4 94 75 9F 13 1D 42
+ CB 10 D7 1D CD 8D A3 E1 65 38 22 00 29 59 E9 DA
+ 74 59 42 98 26 1C D0 AB 83 EF C3 D7 2F 95 5D A9
+ AA 17 97 57 D6 95 34 01 FA 4F 27 97 A2 8F D8 73
+ 87 26 9F E6 B0 9F 82 D3 A3 D9 81 AC 40 6A 21 17
+ E6 41 2E 07 BE C5 84 FC 3B 43 20 E4 F4 EF AC C1
+ 78 EB 7F 67 FA 9A 39 B7 5E 34 FC DE F2 0D 17 66
+ 43 0F 41 C9 CD F2 AE 8E 81 FE 8B 00 D8 AA 5A 07
+ 4B DB 41 37 E8 D4 B4 27 D6 44 B4 79 D7 EC 01 F4
+ 82 8D 3B 3C 0E 97 27 B5 D4 96 97 D7 DA 32 AC AA
+ 72 71 9A 2D B3 18 98 E9 D6 FE E6 C1 2B A7 FC B7
+ EC D7 F8 25 F8 89 64 DB E5 41 BA A0 DC 10 A1 65
+ 9B 40 9A 98 10 15 53 9D D4 DC 5A 53 DD DC 1C 5F
+ 87 27 83 94 4A C6 BF 12 FA 55 92 CD E3 BF 78 BD
+ D9 3C 61 C2 17 15 13 26 12 C4 FF 00 98 A4 51 E5
+ 0A 65 6E 64 73 74 72 65 61 6D 0A 65 6E 64 6F 62
+ 6A 0A 31 33 20 30 20 6F 62 6A 0A 36 32 38 38 0A
+ 65 6E 64 6F 62 6A 0A 39 20 30 20 6F 62 6A 0A 3C
+ 3C 2F 42 61 73 65 46 6F 6E 74 2F 4A 57 57 4D 52
+ 57 2B 54 69 6D 65 73 2D 52 6F 6D 61 6E 2F 46 6F
+ 6E 74 44 65 73 63 72 69 70 74 6F 72 20 38 20 30
+ 20 52 2F 54 79 70 65 2F 46 6F 6E 74 0A 2F 46 69
+ 72 73 74 43 68 61 72 20 33 32 2F 4C 61 73 74 43
+ 68 61 72 20 31 32 32 2F 57 69 64 74 68 73 5B 0A
+ 32 35 30 20 30 20 30 20 30 20 30 20 30 20 30 20
+ 30 20 30 20 30 20 30 20 35 36 34 20 30 20 33 33
+ 33 20 32 35 30 20 32 37 38 0A 35 30 30 20 35 30
+ 30 20 35 30 30 20 35 30 30 20 35 30 30 20 35 30
+ 30 20 35 30 30 20 35 30 30 20 35 30 30 20 35 30
+ 30 20 32 37 38 20 30 20 30 20 30 20 30 20 34 34
+ 34 0A 30 20 37 32 32 20 36 36 37 20 36 36 37 20
+ 37 32 32 20 36 31 31 20 35 35 36 20 37 32 32 20
+ 37 32 32 20 33 33 33 20 33 38 39 20 37 32 32 20
+ 36 31 31 20 38 38 39 20 37 32 32 20 37 32 32 0A
+ 35 35 36 20 30 20 36 36 37 20 35 35 36 20 36 31
+ 31 20 37 32 32 20 37 32 32 20 30 20 37 32 32 20
+ 37 32 32 20 30 20 30 20 32 37 38 20 30 20 30 20
+ 35 30 30 0A 30 20 34 34 34 20 35 30 30 20 34 34
+ 34 20 35 30 30 20 34 34 34 20 33 33 33 20 30 20
+ 35 30 30 20 32 37 38 20 30 20 35 30 30 20 32 37
+ 38 20 37 37 38 20 35 30 30 20 35 30 30 0A 35 30
+ 30 20 30 20 33 33 33 20 33 38 39 20 32 37 38 20
+ 35 30 30 20 35 30 30 20 37 32 32 20 30 20 35 30
+ 30 20 34 34 34 5D 0A 2F 45 6E 63 6F 64 69 6E 67
+ 2F 57 69 6E 41 6E 73 69 45 6E 63 6F 64 69 6E 67
+ 2F 53 75 62 74 79 70 65 2F 54 79 70 65 31 3E 3E
+ 0A 65 6E 64 6F 62 6A 0A 38 20 30 20 6F 62 6A 0A
+ 3C 3C 2F 54 79 70 65 2F 46 6F 6E 74 44 65 73 63
+ 72 69 70 74 6F 72 2F 46 6F 6E 74 4E 61 6D 65 2F
+ 4A 57 57 4D 52 57 2B 54 69 6D 65 73 2D 52 6F 6D
+ 61 6E 2F 46 6F 6E 74 42 42 6F 78 5B 2D 39 20 2D
+ 32 31 38 20 38 36 33 20 36 38 38 5D 2F 46 6C 61
+ 67 73 20 34 0A 2F 41 73 63 65 6E 74 20 36 38 38
+ 0A 2F 43 61 70 48 65 69 67 68 74 20 36 38 38 0A
+ 2F 44 65 73 63 65 6E 74 20 2D 32 31 38 0A 2F 49
+ 74 61 6C 69 63 41 6E 67 6C 65 20 30 0A 2F 53 74
+ 65 6D 56 20 31 32 39 0A 2F 4D 69 73 73 69 6E 67
+ 57 69 64 74 68 20 32 35 30 0A 2F 43 68 61 72 53
+ 65 74 28 2F 66 6F 75 72 2F 4C 2F 41 2F 79 2F 6E
+ 2F 63 2F 58 2F 66 69 76 65 2F 4D 2F 42 2F 7A 2F
+ 6F 2F 64 2F 59 2F 73 69 78 2F 4E 2F 43 2F 70 2F
+ 65 2F 62 61 63 6B 73 6C 61 73 68 2F 73 65 76 65
+ 6E 2F 4F 2F 44 2F 66 2F 65 69 67 68 74 2F 50 2F
+ 45 2F 72 2F 6E 69 6E 65 2F 46 2F 73 2F 68 2F 75
+ 6E 64 65 72 73 63 6F 72 65 2F 63 6F 6C 6F 6E 2F
+ 52 2F 47 2F 74 2F 69 2F 53 2F 48 2F 75 2F 54 2F
+ 49 2F 76 2F 6B 2F 55 2F 4A 2F 77 2F 6C 2F 61 2F
+ 56 2F 4B 2F 6D 2F 62 2F 71 75 65 73 74 69 6F 6E
+ 2F 70 6C 75 73 2F 73 70 61 63 65 2F 68 79 70 68
+ 65 6E 2F 70 65 72 69 6F 64 2F 73 6C 61 73 68 2F
+ 7A 65 72 6F 2F 6F 6E 65 2F 74 77 6F 2F 74 68 72
+ 65 65 29 2F 46 6F 6E 74 46 69 6C 65 33 20 31 32
+ 20 30 20 52 3E 3E 0A 65 6E 64 6F 62 6A 0A 32 20
+ 30 20 6F 62 6A 0A 3C 3C 2F 50 72 6F 64 75 63 65
+ 72 28 47 50 4C 20 47 68 6F 73 74 73 63 72 69 70
+ 74 20 38 2E 31 35 29 0A 2F 43 72 65 61 74 69 6F
+ 6E 44 61 74 65 28 44 3A 32 30 30 36 30 33 30 36
+ 32 30 32 35 33 37 29 0A 2F 4D 6F 64 44 61 74 65
+ 28 44 3A 32 30 30 36 30 33 30 36 32 30 32 35 33
+ 37 29 0A 2F 54 69 74 6C 65 28 50 72 6F 74 65 6C
+ 20 53 63 68 65 6D 61 74 69 63 29 0A 2F 43 72 65
+ 61 74 6F 72 28 50 53 63 72 69 70 74 35 2E 64 6C
+ 6C 20 56 65 72 73 69 6F 6E 20 35 2E 32 29 0A 2F
+ 41 75 74 68 6F 72 28 52 6F 62 20 42 72 6F 77 6E
+ 29 3E 3E 65 6E 64 6F 62 6A 0A 78 72 65 66 0A 30
+ 20 31 34 0A 30 30 30 30 30 30 30 30 30 30 20 36
+ 35 35 33 35 20 66 20 0A 30 30 30 30 30 31 36 30
+ 35 39 20 30 30 30 30 30 20 6E 20 0A 30 30 30 30
+ 30 32 33 34 39 30 20 30 30 30 30 30 20 6E 20 0A
+ 30 30 30 30 30 31 35 39 39 30 20 30 30 30 30 30
+ 20 6E 20 0A 30 30 30 30 30 31 35 38 32 36 20 30
+ 30 30 30 30 20 6E 20 0A 30 30 30 30 30 30 30 30
+ 31 35 20 30 30 30 30 30 20 6E 20 0A 30 30 30 30
+ 30 31 35 38 30 35 20 30 30 30 30 30 20 6E 20 0A
+ 30 30 30 30 30 31 36 31 30 37 20 30 30 30 30 30
+ 20 6E 20 0A 30 30 30 30 30 32 33 30 36 38 20 30
+ 30 30 30 30 20 6E 20 0A 30 30 30 30 30 32 32 36
+ 30 33 20 30 30 30 30 30 20 6E 20 0A 30 30 30 30
+ 30 31 36 31 34 38 20 30 30 30 30 30 20 6E 20 0A
+ 30 30 30 30 30 31 36 31 37 38 20 30 30 30 30 30
+ 20 6E 20 0A 30 30 30 30 30 31 36 32 30 38 20 30
+ 30 30 30 30 20 6E 20 0A 30 30 30 30 30 32 32 35
+ 38 32 20 30 30 30 30 30 20 6E 20 0A 74 72 61 69
+ 6C 65 72 0A 3C 3C 20 2F 53 69 7A 65 20 31 34 20
+ 2F 52 6F 6F 74 20 31 20 30 20 52 20 2F 49 6E 66
+ 6F 20 32 20 30 20 52 0A 2F 49 44 20 5B 28 AF CC
+ AE 2E FD DC 2F AB 73 5C 29 31 A8 CF FA 73 FB 29
+ 28 AF CC AE 2E FD DC 2F AB 73 5C 29 31 A8 CF FA
+</pre></td>
+<td class="st0200ff" valign="top"><pre>º·:&nbsp;ŽØxN¾$©$Ò.$Ó
+J.‘ik.:Ó/ÆV/™Vòˆ
+L[«×™J³÷vÉ'.M¯ãH
+ö.‰™z..¥¾#9|.~øŽ
+äð=.QGrø¾Ê.ýo'9
+ÿ¸¸¬å7Rð•Å¨ïd|!
+.¯äwò1£.X’!¤s0hÓ
+_¿ÿú%‚sñ6¾ÿÇ.ïßÿ
+ߗWh1.:ð÷Ÿþ{ø¿Ú
+¸þ××?yçü.ô~.W.,V
+ø_¿ÿً†–ãûÿx1öì
+‹õï¿{.(..þ݋.ŠÍ
+ .›aNæýï^.éyY,Ê3
+.ža&nbsp;°¬¯^¬..êÇÿÉ
+.*¶.è‹1DþŸ—×.
+’R‰ïÿå%,.üíPê«IË
+9ú.ö—/ˆ0.²šê¿Yú¨
+.zØW0OSì./.nôà\
+µìõï&gt;t.üo–«L(ªüñ
+Ë«Íà)B|.ÙT¯/à:.¨
+ü./.ºì‚.ó»þ‘e9
+árá/.{..Ö.Ƭ”ÿöB
+aüý%̐ÚÁ_®ä·ÿTEð
+Û..B..¾Û€.3h°ˆ
+ø럾ûú{¿~ÿ§/µ#Ë­
+ªµú¥,älª•Ä¨ü..
+.~ÿ7Ãþ9.ͺÆ~d
+a—´ý.æ­ª„|øg¶áï;
+¿³.õ7̔¿þîå.:Qw6
+b.®.Reþ«“.Ta}ÑÚ
+×ÿ{.˜ÒY0¯M.J*`IQ
+¿U.ð.œ÷R.ðPX4҆.
+6:.›M.Mäúï:„‡2ë.
+÷œCÿ}¢ß;t:mØ~Ž.F
+û&lt;Êÿ7ø—ì—tz…ê.x
+K¤™.N)@DĎõµ@+±
+.µŠ.P?„.¾ðô—ç.
+ˆ.dž+-~ýþÇݺ?{
+IÖ6·‚ݽC.Š½.ùßÐ
+#À€n)è4.vfØ3§.։
+Â"=î†oa`‚³!0N ø?
+ï5áWý.ðóÆtÇ.½jTª
+ØYU.xV. Wt±Ùž4ËA
+û/wªRÕXP.ì.`l.¾²
+µ~ýþG/àXr€&gt;..ƒÿ
+ü&nbsp;Ë.çX].··\¤~q¹Œ
+õëÁjå&nbsp;ûp­\Ä.~ñ.#
+¶­\ËÃ&nbsp;›d.ü¬..ª.@
+ÑåÁ¬±&lt;ސ.5Èy”³Øs
+J§.%’wŠY`â˜Âé‚ä
+ƒª..ø­ëUýRõø~ußÞ
+XýýO_^..|¬Á?CˆCõ
+i3¬À¶§5Ž€žªÿù€)
+à[.Ì"l\Ð4.:7Î?n
+Á¯»ËŸB?._‹WÃ...ä
+”.gÿ«ð_‘ÿ¢Q]YœŒ.
+‹/¥W8QðmGl2.LcÐ
+.ŒY«†2)‡k«°,Ì1Šò
+çf.W‚aF¬£1èu&nbsp;.Q.
+ô‘Ñ.k...+£ÓÕÖd.¸
+¬°æä¬2׬±úÏÚ.*.x
+Á.¦Û'g[n»ìsÁÎÌÚ£
+×:ÑUûP.ÀõC°À.ÒՉ
+‘yæâêã{óY±.…åm
+uh*ó-‡’}z÷픡¡yR
+m.C3+.1ô±.ÅÀ .&amp;b
+.{óD.åË:ÆËip)˜Œ\
+Š§.åbÞ'þká¿þƒÿbï
+H~BÆw·.‘@W7¶ð\.ö
+¦æv‘hï..ZÑm.M{
+Qå›&gt;:˜èE3ÌëÇÑ.ô
+uç”O.k¾½Y.NÃÂ'.]
+Ìy‰utT2vTÌzp@‘ka
+â Ü.­2ºü=*˨Í..£
+Œ.¹.ªª±³"ÛÀã»w.†
+56.cCaõ67Ѽ֣~¨h
+à.\Þô?“.š‹¶.ƒ¨j*
+¬qD&gt;)‡z/Íq0¸,y_‡
+æb2m8.Õ&amp;×å´.a¼(œ
+9X.Œ$«§ƒŠ..0.“.W
+.֔œUފc¡Dò\¯¨Œä
+@L:mí¶O̅2Ûeœ­™
+µK­U¢k֑¾.ô?¹¤/
+³S}™ÊI.È,h¾.«™d¾
+åP²¹¾Ì.Ü\(ƒ…UœØ
+ùà¾,Ô9¬.¬Æ.}Y°—‡
+Ǟ=_â¿Ä.þ.ÿµêË&amp;]
+„.G5tdÌÙã z.ö.q
+—{ðÉⶋ®ºètÃ^ÿà.
+ã.í..ü.ÜNÿ°Î\³ö
+4%¶.×ïÑn»„l.l—i¶
+&amp;fÖ.•V‰®šfå.&nbsp;Yìu
+.’•˜Yì.$÷.¬].Â.
+Ûª.[ZXŸßA.Ï3ÿÿQ.
+a­Å54m.fíq.œˆ}.s
+îr.¸4BS.®Á.z.šùì
+h.v.0².œ.îòÅ´ÓI¬
+3׬=-JìÄÕ|eº}b..
+Û.ólÍ̬]j­.]5ÏÊQ
+.ÜòÞç($+± ³Ø+Hî.
+X»..:.ª.lja}vGáŠ
+¬ºþO:.›±±ä™åÿ7̹
+dœü)9W.Τ§°e©¥.©
+m•|µaü'èƒE—ÕoDA
+˜å%wÚhüqfò\p™yX¬
+R¬&amp;¸@1æx.Þ\N1&nbsp;÷.
+ô^±6.лø‚uFýÆ¥.&lt;
+fìÑ.ÍiF½™Õ.çڀ®Ã
+›ÉÉ-P[RÑzoX.ÆÂo
+.\ÿWy.¿BnjyµÝ..\
+ïÓµYX$Ø-`ϔn&nbsp;›Ë.
+.à¨öŠµa&nbsp;ÚÑ¡.Q¿.
+f..;ô6KÂÄZoauÁ`
+ÐänÀû¸Yš¹{..:y˜”
+F\·ª®R6..ºÊpÓAþÙ
+°.5ë Ù.ò‘°ÚòÔÔò
+.'’Í°ËŽvÖA&amp;Ü0­½£
+MèwЙ[.iXaí.vAÁù
+¡‹JÃpÖ*ÏÉÙª%¬ÞÃï
+’ÓÇ..Š§µA.Öü8j
+“.YP-ËfYG£&nbsp;΃.K
+;Æiñ´Y¶‘ÎX.™Œ%òÍ
+ÑÕ¥Ò.L­•É.çÛÏ2.
+2˜­óîìÚRʇ›.†.0
+.ç’vžù/«Úþz+ñÍ¡g
+9ÇÁé5Ž¬ß^Û{ÝÆÐ
+¶¦ºd‡ºR^·ù݋כ%
+òOJô.·´™ÎiÖ.9«¥#
+ÅÙ#e½@­Y;äÈF".ìò
+^îú@‘3¡À$~©çCÇ.
+«Q.%ÂÛ.j».~O~)ý
+×.&amp;&lt;w.&amp;Âõï°.8g.t
+vQï!tÖA‡‰\NØGG.^
+&nbsp;.\=*¤PÂÄ̍ +ç±
+ý#..‹..h³G.šs.ž
+èÐØ.ë1p.ª.°ÍžäQ
+ØÀö.Øˆõ(¶Œ—]4¸Ù
+3:..ÜÇÙÛ.\c=..ÿ
+¥.vƒÃ3®~l.õ 8&lt;
+Ú4`‹û±áqå.Zå&lt;Š,£
+.ÖÐÒnh.‚Ž¡±...
+.s?Ú-ï.—&nbsp;.[Cc=.
+ÎÛóØ.Ênl.­?6†Æz.
+[ÁSš¡@&gt;ýX€Qg.&nbsp;RO
+.Z.VèÏâØ6.ëA¬´Âv
+.«¹.+.\J.Tâ&lt;ˆ...
+XWÚû–L#6.•Xb-
+ØÉ]ÁêîÂZ&nbsp;¤Òؒ.ëA
+¬.F.Wk€¿.+t£–f¿Œ
+µ³.Ě.öW°†û°ÂØ/
+Ç.+±.ÅZ°K¼‚5ޅ.
+„•.*q.DZpuí.Ðt.P
+¼ŒåG¤Äz.jX.v˜W°æ
+»°ZWh."X.ëA¬í¢Óe
+¬å&gt;¬x^|lXõ(Öt^µ
++ûX.£.G.Ð.jc=.Õ
+úMïj.ë±&lt;N.‡3]ó 
+R˜’¬ûVûXå}Lg36¬
+Æz.kÚô®ö±.ËcI™±a
+5փXqÆrµ.Œ=Ö±ËZ0
+vÅ£ÿ0¾3|à³.wí.Wá
+ʲõøó/è*Vö.õ_.Ë
+Ö´bQ¡:ë݉N.ÓJ=tL
+üD¤Á푺Dè,®Q,.t
+.ÒÊ×ß~o³¶qœðo1¨Á
+ã'jÛÊ.^ÞõÝÂ?ê+‚¼
+4Èk‰Ë.üÁU.ºeÑ:j
+•7Z8›ŒÖ.Ó..&lt;PÚQ.
+£.•ÁbrsôW7LöÕKŒé
+²ÉBÔJj7j8.£G­dˆ
+k“.&amp;í “Ñ2Ï..û)^`
+»h1o††¤UÞháÐ.*.1
+íh±ã¤.f±ºø4˜ì›n.
+º§è’¹d²/¯V2Ÿ†–¤u
+Þ¨á`¾?(™Öíò8iG™Œ
+–Äî0Ù__ueÁ¦AÉ4´¤
+Q.çËВ0íh²ã¤.e²º
+P·ß÷sÝ`.´ETÔ.o”
+p!...Ó®.v˜´Ã.V×.
+´XôC;Ò*o´pÑ.í.Ó
+Ž.;NÚQ.£EÍý.ûÕu‹
+•¡.i•7Z¸.Ë&nbsp;cY7Êã
+¤.e±ºÒ:.Œ»H.*@.û
+±ÿü³þñ.Ãl\´X.C;Ò
+*o´.8QëˆiG‹.'í0‹
+Õõß;LöG/!ú‹&amp;ËÆh%
+µÎ.5\ÊCC´£ÉŽ“v”
+Éh.zÞd.Þ®e9f­¤Öy
+£†ËnhI˜ve²Ã¤.e2Z
+.¿Ãd×kY±CSÒ:oÔp¹
+.M.ӎ&amp;;NÚa&amp;+›©Ò”
+óÿÉ.à»l±&lt;´$­òF.W
+‚.tÌëvyœ´£,F›.ƒÅ
+~B!¬k7üSVuëç׺I
+¿¸¡.iU7èa‚¶(ÝjÚÁ
+R.J;ÊR´5ñ¦¥¾äöøç
+×MU‚RnÐu.ß/1.Êa”
+¸ÑT‡I;ÌTe33ºdª.r
+.œØ/‡SïÚT&amp;ØA9¥ë.
+¾7V·˜šv4ÕqҎ2Uݚ
+™o~?¾Ö.ÖhqJ5­é.¼
+7yh0˜v4ÔqÒ.2TÛ.z
+ÓR_qó»^§ðr¸RN뺁
+ï­KƒrqÝüŽ“v”©h_j
+0U.Öµ„Á@}.ñõµe/ï
+ìÐ`´®.øÞ.½~\ӎ¦:
+NÚa¦Jë¹Ï.½`ˆEŒÉæ
+Ôlº5¿qŸd0T*Z5­é.
+&lt;ÌQ‡.ƒiW†:LÚQ†¢M
+¹#,å].tSªnÐ{¿.í.
+ӎ–:NÚQ–¢MÁÁRÒÒ¤
+õý•.G¯..ÀµiÝ´ª.ô
+ÞÇ¡¹`ڕ¥.“v˜¥¶[A
+ƒOj.}ÂR.ÊTëV†ö2¢
+÷ÁêM›šv´ÔqҎ².mˆ
+îŸ×\ê.圴±0Yò-Žn
+ºhðÜ4.•¶!À/Bû.Œ
+‡Œ½çht\2Öz&lt;ÿmëÉ1
+.âƒôQ..“C.….P·VÚ
+sn@кXG².pc=.d'Æ
+³½‚Ônö·'î.a..2h®
+V@_˜Ïq©Ávü‚1.gÎÜ
++9µ&nbsp;0fCôw.aû‰œ†o
+§.¼#cG9vîö.i—µ
+±0oËas^’Cø&gt;ËUãâ
+°í«“°¿–õD&gt;ˆ@т_é
+&lt;Âoä'Á¿ÿ!;RÙ..ç*
+.W¶¬Ø£Œ3Øù.]ý8ˆT
+F.v5”ÿ.!º@ž.ß.úÛ
+ÇbtNi&nbsp;.ÌR¼³ò.¸.
+©¾f..kSn.íÍ.fê$t
+,..ŠªßˆXƒä~|×ÈPè
+[M.(².I$..½ú†÷k
+9U%Db%{n5UÇ¡0~¼p
+Ðä.•À¾¹².ž°.؝¬Ð
+œÍE.‹‚§?.¶³Ñs&amp;
+h°å.^´åT•.‰D.†-8
+.F²ýó¡þvÿ.ƒƒ`è˜
+B‘!°[võ@|ç..˜99Û
+‚¾L_¥bˆrí›1vÖ£Q—
+ë5K…mö.•ÂÖ.j*lC`
+ÎÇ"B+l³w©...èÓІ
+}.Ý8WÀfïQE.ݬ.ç
+¤8.ûTháX£ib˜Ðì6
+‘§wQ.®}Å.+³..›8
+ô§.k/LðejQðpL½0V
+¯aÊì./à^¹ˆYŒkiêe
+LšoÄBóc.U`2ð…¸ú
+dá.}γÈèçOôÛ.`Ôz
+.XFXW÷âJŸ€Yµóûóí
+¯åU.ùý..Ž¸p®æƒ;Y
+—»Ï‡q.“Æ».D*šè.š
+ÈHޛRÑ..Mbè&gt;ßG«¾
+¥E¥ª„H$²åVSu..cí
+©ô.áù.¨#„Ê’M.Ð.
+..Z.j.ÁÃ."Û.…RµÁ
+.IäM.Àß..§ª„H¬d
+Ï­¦ê8.F.!&lt;.j6¶³~
+Q°;Y¡9ë¬"¬S°ñø2Ã
+vv‘.íDƒ-ß.š¤ª„H¬
+dÏ­¦ê8.F1ös¡.c{W
+4ìF.4ïŒ"¬Õ°½q.ÛÓ
+zW“HD‡Íß..§ª„H¬d
+Ï­¦ê8.Feì§B-Ǝý±
+&amp;.ÐH‚.ª0Ñ..;.+°
+ã"ͧ..6Chœª."±’
+=·šªãP.•±Ÿ.µšh¼±
+žã1b..†—¥Þfõ.ђ¢
+1UΣïräzCÔf.%ÙöK
+bh‘O°¿ß³&gt;±‰:2°.f
+µ2n|¶'.“ï%h#“Ÿ..
+¹t..径ÜILË_Û¤ÿ@
+‰.­Ž›.qœ.`h™Ììâ¸
+õ×O|¢}•Š¥Ð;¢%sD
+Q˜îiE«„ÁtGË&lt;Êx6œ
+ý`».ãÚñègègc&gt;cœ
+®!Zó.8.ÕJÖ´ƒáŽ“
+v”É&nbsp;5v·ÍðTž...é
+.‘™.Åõ,YsvÄÕÙÌ.µ
+œ=+âx=Ýۓ.ð..‘Ã
+Ë(.~€÷.×Ë(“æ.9..
+a±wËéK'JÎü›&amp;J/–#
+zÍË..³ox.@8;Ì,‰8
+v°v˜'.˜bÙ¬á0gV
+¸ËVÆÒb֎Ps!Æ@.ÐÄ
+ÊÌÚ#'GO])o6.kOëZ
+­R*1¼n)‚‡pÀÓ.,!»
+:vÁU–èk.…Æ.óàØ.
+Š.jE,™_‘zt첶æh
+Èëu¤.(p—«O.ÂtÔ.m
+Ê2®#åÚ..ýÐâÖÙ]›
+Õ|Áyò-‡Öž.V}\ŠX
+îãÅ.XÙv;p.«¡íŽã
+%.U…í˜×.qÔ¢±¹áIµ
+‰.ó.¥ŒAà¢Ý..p[.&gt;
+Âx4o&amp;.oô.xÉ·fm).
+p&nbsp;ŽÀôæäñù.ŒÐŠïe
+F.ƒ·l.ýñ...ìÁ¿è
+[Ö,‚.”ËGÙÕ..¥.Gç
+].ŽG“dB$$è(ÚwFÙÓ
+¯.ù8.ÇûB..FõC
+Q¬Þ]áQã.‹f.˜º‡”
+ù±ó.&gt;¬»¹c—”iÓÁGu
+¤ãvä.Ã/f}àϜ‚^ԃ
+žH.r•íûkgÌg·å{M•
+]ùnªÍ;U—ݲIèƒm¬ë
+"ÉÑ{¬.W.¯¬í.|–Ðà
+fJM...&amp;†wøæ*bÁ€«
+.rsuB.]Ÿ.Ì9È3[.d
+.:BÇ.ǧ RTQ^øªÍ½
+/·²BÖ[*.V¨q.ó”.„
+9;èñÍæžÐ.ü¬£.ð.š
+Æ.è.ëAø¾.?x«.ø’Ø
+Z“Ù-I“LÄٜªW.F.!
+¯êÕ£Õ©.ŒZ¼ÒÃn«.ü
+Üçýµ².ª@º.Ç.Hqg
+S®+Â..ŸŒz8w6h¤(Â
+͂õ8²YàÑÆ°j.‚}9«
+ª4.SR.E}z~h.Äy.:
+.‰ñ¢˜j.´“.³.U.W^
+g¾ÔHfCR*ÍðID?ªF¬
+.u‹õ,†Öí«.µ‹ŽªÙ`
+/¼œÝžØd).Mtâšv
+¨N..­\×éFy¹ZR¬Úl
+ L¥Z¯ˆ¢Ù..†`ý9µ
+K.ñBaل.{ý»7x¦èg
+qК...ëA.S=~sYC3
+£!.Ù½!7EC.ã²8ºóÆ
+zTÃ.`ârå4{*ç¶,÷.
+@.×"š²k9TӋ®åfY¾
+.ýÀ½&gt;EC©­¬á¡µõb
+Ç0U–]Óm­Ý.&amp;Ôà¤.ç
+Œ68O!M…•.o&lt;K9™d
+aî™Ñ¥.ˆíÉ$õBû‡ëe
+ø.ý…±É^x³|R=œ.Q˜
+waE.îŽÕ§ôsuYHë÷
+(õå.L»2 çÐKø8ó.í
+.çWqHòÚ¥&gt;_cpÝu
+ýÚ&lt;»9ý4t»ð.³Z™Ëò
+í.§.‡4°ËÎdrGÆðø
+°’.†‘¦Ä¨‚¶ÏÊY..¦
+W,°¾›~½=Ó[h‚§?&lt;Ü
+Y;åPæƒ.gvZ}KA|j
+ËÍ&gt;Ù°²îÀ*0©¹pˆþî
+)UÝ,ÀÓ.i3.aϜðòÄ
+ð.Éø.¹üõ/wÕ0^}’
+..ÙrÊp’ˆ.'¬.5À£
+3nÄ.a.¶©.Ór¸¦Š.
+g¶†ÝTPՌi1\Qe.HW
+ÔCjX½zcLä§Ðeå.Ü
+kí/ÕÁÐÏQÍdò.ÖKnœ
+.CqLîÝI"\%­›eJN®
+/€MÉéÞFãi&gt;©³vÊ¡Ì
+.9.Ï^GvIÁ6.Ùg¨fÝ
+k..GT³bÎèÇÀ.aíǒ
+t£ë·”®W°õxf¯/S…*
+¬.•Œ.I.ˆœ.•¬û §
+ù&nbsp;]•Läp%.9÷T²[.î
+©dkë^[ü=¤’Ñ*ÄE_.
+6¾.S&amp;_fÁÝc÷.¦2õ
+íŁ5o=IäSj¯Z..Ÿ7
+œ|Ö.ŸžÅ§ç...[@çÂ
+¬}rZæZ΀g²šÝVp¾=
+n¬;°¢Ü·9&nbsp;š¹¥..ÛX
+Öëõ0£¶Ú3é.0y.n¹ð
+×.‡6{PÂø¸œ3n.†˜k
+.xƒ%Z7Áˆsà=ÔÚjL²
+&lt;gÛ. cvÊÙ旚¥õx«
+·õ.û.µÈbqã/¨.¦.—
+ r=.gqQ¨&lt;r.הDϽ
+«Õ.f.Pu¥ìÒ/ˆ..`
+&amp;åôeU»@Ù{¿^V•Ò×
+•.½î&lt;]ÙÙ.ÉÂ.;&nbsp;Î
+z°xñ &lt;´îø-W9.ä¸
+Áª:¾oi…Ý.ïÂ.gP`º
+Ð×Eƒ&amp;Éáìv••xË%·.
+̄µC̺|5˜¡ÄçÊ;:˜
+ÜÆaJ%Û÷ÃêÆò¨s³Ðq
+¸xB.çwžSb”²%É(Ú
+’4g;`›¾$+ØzÁ*lù€
+§é`|‰ÛR.Üô-Y.׫®
+`;fûÆã"ª†6}OV&nbsp;õš
+¬°.³i†s"mvçX°±›
+.lǬ³C‡ëÇ2Ý..pÜ
+..¸ƒ¶9..ÅÕàf·w.¸
+Ø.£Sàâ.Ñµá.7»O
++àú.Ávȁ€\W.5´Ý
+..Ê8]XÑßÿԘl.à‰}
+¼.Õ‹8_Ôm.ŸíûŸë+
+äûz\&gt;.§°3ëXìÐ&nbsp;ãM
+ìvƒ}sì¬,./Ô.¾!†
+v¥üúÛ¾ ×3Œ” ÉÓ¾
+j.Ñÿ|è´Ø‚/¬Åób¯.
+þ.ÞŖ-.9û'œÇ§Ã¦
+n³mÜ/°&nbsp;źe8š!¬¾.
+'…½åŒÅ?Ù.Z"Í.¶ün
+k±Â§ÇY]Êå©ëôª ïH
+2k.Þf‘G³´˜ýCvë@N
+=./k.uØ..ǚ&gt;ÿ.F
+ﲜ%¬A.uY.z=\û¤è
+2¨½/L~jd´©“)áyš.
+lÒò×vAñ@‰.].k}2
+®óúk.!ƒˆsh—T´j‹
+µZµJŠjKX´j5­6ցÒ
+Ž2.–/.ŠÎ2”ÅÍ.*9
+ÔÅ´KƒÐ8.î.¶¨Œ6¦À
+_;.(&lt;ħ––I4ÔqҎz
+.̂-êp*”É.¯Ø´Çp
+{¯.òdõºs®ÛÛpJ-f
+$.T.!¡#ϧԮè.‘èb
+.^ñF.¯.Öo˜ª..GÂ.
+Qo—{õ.插..%.IÎ.
+S1.…ñb&lt;³çSbˆ­€ï
+uš!~Õ]./..ɖ™‹—˜
+`ænŽ.óv~..ïLa[R
+Ù^`QÂO[YS.¹P¶.Ê.
+À”eê..N4°4žcÇ£.o
+2åSÄkÂÃa·2F5Ò§#.
+_쓿~ø.k8Ø4ž ÚU‚
+Ý}•.}ã.îîª.5“v{
+.֘i—Fe»eµ„Ÿ¶²öU
+-.&nbsp;¬.ìªZ”H³.&lt;ÚÁß
+[Ÿ&lt;.Ÿû.¬N|£×a..?
+\òu.dpn" ‰`à×æ)—
+/.ÏV§˜ë•¦.˜Oø.³&gt;
+)VËö“JxÅ.g4âDx.
+k.€Xsr.¢³Ý2.‘XÇU
+§`ñÀ"Ê÷·êӅC.Ö«.
+ÈÿŒ.ePÉí¯Oý¦¹*6f
+í©O=‘ªO./±O×'[o¤
+h`.†Ã%.õ‰Yªòô„.X
+»ê.'âú$.vÔ'(õ‰!
+~¦ú.2.¡9¨&gt;M»%ª3š
+µ'4úîiÖ g¶.q€..
+#n€.¬&lt;»à¡Òpõ.–÷x
+—mN.Å+ÐhZÀ‚ÎÚ'†²
+.Äh4³^à–zCd†i9="
+Æ:˜ÄÁ=q¢ðdCÜÊUM_
+Ÿ®Àú½\ø«½.cóû?.f
+‡³5c8¼þ.†p ;‚É
+¨D.~CX.Ágr䎡.Ü.
+.º..…µO.e=ˆÑhf«Ú
+-õv4ȵi.–î·.ñª5À
+oÄSÃåf].¯ê¹^%þë_
+ù¯ûj˜„¿q¹5{aQ,þ)
+ÛIü›.1WÉÁ`p“Uc.u
+\.ñÄBÇ,.k§.Ê|£ñ
+ÌÖ±[.³¶î6.сî
+ŒÂäáî[¸YÇdËdO.›n
+NÜï2kìwU$^‡3kKcã
+ï€.…It1@Pt²FÄ.ë
+HZAm©&lt;…0$‰¾‡Lu0u
+“oP.$U%Db%{n5UÇ¡
+0^\ßz&gt;%j.ÍÊZ‚×°.
+IÐ...ᒆKQ.{¡Ð’
+M"Ǚ¬.ø.BãT•.‰•ì
+¹ÕT.‡ÂH¶&gt;Ô.³4,A
+‡Zídð.„Q„סVÃâ$
+ÔjX¬„ZíD‹þ)ßÒ¢RU
+B$V2H¨UÁ¡0JÌÒçBM
+/Qؤa/&amp;ËÏ.cD..œ.
+‘..¥jÐH"Ã^ÀË·ª_
+OU.‘H.k¹ÕT.‡ÂØ^¢
+x:Ôdlè..¾.Õ`§À$.
+§..ƒ".£©¤o/\ÔT-¾
+2Iìñ•Í..Dþ..J*"X
+"‘=·šªãP.›±Ÿ.µÔì
+h{.áZڍ¤z.í¢.ӝ.
+‘‹•:.J.mD¯#ü.ë.
+§ª„H¬dÏ.S1.…QÕì§
+B-5;Ê;&lt;XÚ1«j.ùe.
+$ä՜J†,u$ö¶T%.Fƒ
+¥Ý¿ÕzÐS.Á.‰ì¹ÕT.
+‡Â¨jöS¡–.2g.…Œ.Õ
+HêNrŠŠˆ.Ͻ’!IW“Ã
+".C#zWÃß°;áT•.‰•
+ì¹ÕT.‡Â¨:ȧBÆ.‘
+â#.ò.—S‚k4I.ºg(
+.Â#..¬äÑu))¿À]
+-i΃9..Kh(WzÔ2ù
+ÃUNÚI.^£àfUkUT¯Q
+¨ÆHdk¨”ª¦‚ÓÍ»Ö.
+þ†µŠSUbxBr«©Ôk.
+£Sz&gt;ÔÊØÜq..›.Ò֕
+.ÁÝ.‘‹ÄìçΩJ”Ž«.
+ào.ZOU.‘Xɞ[…Ýq(
+ŒÚØτZŒ-C².&nbsp;.…*´
+&gt;H"‚.PDzåKz¨C.É
+*.þ†Ð8U%Db%{n5UÇ
+¡0*c?.êõᖩ._ëP„
+†.hñ.®Åœœ&lt;ƒªÄ\.
+18)†4¸.àorÑPÝmêF
+Ú\wÚuGJ.3¬osíÚÁ²
+ÖÔ`..®L.¦¢(³$Ö.'
+¼ÀZÝ7š.`Ò..±æ.Ã.
+Mh†.ˆÄú.G€Ú•-}.W
+Žšª£è²voùœ&nbsp;üõÏWï
+Þ֕P|¼Sžôrn‘§´œu
+òÈV#º{ ²=ÎE©ú*T•
+ÈOz9&lt;¯Ìßðb1§ª„H$
+²åVSu..ãå•Ð§S‚VB
+‘eهW.$hm…µ.ìq‰
+ôI`÷'¢H"ûð.€¿!4N
+U.‘Xɞ[MÕq(Œm%ôé
+P³±M6YÁîd….Ä¢ˆÅ(
+Ø&amp;.Ë°Mü¬JäÇÏ*.ù
+†.V9..Jb%{n&gt;+..£
+.û¹PßÓÍ.kÎ6.Ü™µ
+ç.«1¾œ‡“\Ìá#5óR.
+.K."j¿!Åa¥ƒ˜ÎÚ¥
+.'ê/Æ.gÇ¡ .’?çÑ6
+ÌÚcœžH©År.óLŽ.TA
+—H‡)…µÃÞJN?¯Xà.
+&amp;.eæâÎ6x`nm½bí”
+C™.r4žÉaÞm.ç+Ôƺ
+.Ë_Œ%rÀ`Ƹú.-F¯I
+›è5&lt;˜ñè9nÄHjG]–p
+ßA.iÈ0€ÏnhÚó‡…$M
+o‘Ì..[¾ðl.KJç¥.
+k§.Ê|£ñLÖ³.Úíð~
++³^óćœ?&nbsp;H›^¢¶Hð
+­‹£äÏQ±Äµw¯¡.÷.½
+†4rŚ÷b¦^Ù-#žÔÎn
+îðbJN÷bJÎ.^춂wu
+‹Ý‹­{ÊãjXs]1¬N¸¬
+jXZŸ×».s뱺&amp;ý-{.
+aípc’¨·táìpdÁG&lt;—
+¤áàº\ÚëÈD.;2‘s#
+»¥ßŽ&amp;¹¶íՑӁÎìâÛ
+.ÓÎl¢ªÉ.@ñô®{qtA
+.†.Î.œbéš~±eE/gº
+¸Æœº..¿è.ðR!Ò=F
+¬c¡á.í•0–ÐiɃ9.
+E—ÐQ®ô¸´Rð‡««ÌqÛ
+RlŸ-.5.‡f”.!.½*é
+út.S¹¾(R˜è³Eþ†3B
+NU.‘Xɞ[M.ÕüÓô£c
+&lt;Ç}*Ôu3³. ï.¡sz
+Eé.…î..‡ðˆ..+yt]
+zEà_´ŠÂ.˜æ&lt;˜ÓP°„
+†r¥.mfþÁ*7..FÄ.µ
+k.Æîh±IhŸVÚ9:˜'.
+èkÉÃ-+íú/:ö.iÎ
+ƒ9..Kh(WzŒE÷.§œ¸
+8Vš}#É!4qè¹5ÒÉ
+êcGÚ$vE¨Ùó·.Uª..
+‰!ªÜjªè•DU&amp;OˆZŒ]
+o.ìF.´"’×°.»N
+L.ÔZa#:lþV_.ë©*!
+.+Ùs«©ŠòõPÆ~*ԃ
+SbäÜê.‡[e“(tÏP8Í
+ý±..+y.v&nbsp;Ëø‹Þ*».
+¦9.æ4.,¡Œn]—É.®r
+÷,w»lÊÙZ=..–ž»Þ.
+ã.˜›/ꞃfíX.–D.G
+X;–†=î‰ÖûÇ"‡Y;Ôâ
+4|wEX{Þ$Ç»'i4.³ö
+˜‡.‰ZÌÚÌÿ&amp;æïRÖÖ,
+tkH±æí­êL.\±rš
+x»T–s}“Uá.C!Ü'¦
+å­Ä.h&amp;§ï·Õ›®N.Ó.
+,}÷ìàõn_£µûè×ëÝz
+óޟó­.Ú4}ÏÙÜ·R¤š
+qiãxå!ôµÖi9Ü$…•ì
+ìí_Wè.¶..“£±vÊ
+¡Ì.9.Ïd]»­à..¸¶î
+U—|ÄZQ¨1É|Ž.Bj¬a
+7.ÍK5;à.±òØ݁(Ö=
+..·xŚwh.‹.`k&lt;Þ
+·¨!ó.Mä°G.9÷¸´Û.
+ÞÓCv—¶é4.\‘¬~,€Ù
+|š¼BüY¯««Î—ˆôë;
+œšÈá6/¬y§æ½i!..N
+ê!.æ}šˆa—&amp;bîqi7Õ
+ÛÑ(׶½:Œ:Î¥..#m}
+ÖʦÎÀá9U¿¸Ø&amp;Œx*¶
+“õ¼¬_Ô)fðçí.Z'Û.
+ٚj‘“¯hgiå[ZT*"
+Xb%{n5UÇ¡0^Žv÷tJ
+Ðe§.4lèÅåç.L’Y..
+œI#..¥jÐH"Ã^¢RiI
+V¥"‚%V²ç.•ù4ÆvÙé
+éP‹±ñ•*.»‘.ÍÚ¤ˆ~
+¤«‘K.ضßs«..«aó7
+„Æ©*!.+Ùs«©:.…Q.
+û©Pó½..»6­þóÚèº 
+"8."..JÕo9T‰.»6-
+«n@HªJˆÄJöÜjªŽCa
+”{.υZj¶=.B-íFR
+=ðíð..^np"Ù[LMe‹
+”h#z.áoX.8U%Db%{
+n5UTµ®.ªf?.j6¶Ë.
+)؝¬Ð\î9.±(Ø0÷6.
+ÛåÅs&amp;h°å.@“T•.‰
+D.†-8.F1ös¡~lm‘‡
+}Â.VÏj3R.ÁFË@°93
+ÄFtøD6Õ(Õ"W&gt;•A°Ñ
+Ê7hΒª."‘ÈÂM]p(Œ
+W‡=Ï¥„4¡èøj:V«FR
+…‹m/‡.Ž.B¤é—Ì1Õ"
+=P'zeäoXá8U%Db%{
+n5UÇ¡0ª&amp;ôT¨ÅØÞ..
+»‘.Í;£.k5loœÀö‹Œ
+­:Ñaó7„Æ©*!.+Ùs«
+©\Q.]Y.û©P‹±Ûí.
+»_æ¨Ð0r¤.ÖiØÖxm
+.å..Ñaó7„Æ©*!.+Ù
+s«©:.…Q.û©P.{†|C
+„7Å.‡7ÍÚÍ.¡ûÅ.æ´
+{.,¡].á&lt;øÎ.oŠõ_ô
+M³.¡Ó’.s.Š.¡£\é1
+î.þÁ)÷ØMX~.†OíËë
+0Ââ{Ÿ×^C»™Ûæy·ïj
+¤.k‡.˜Âꏙ)”êy3³
+z..‘@‡H..²§x.Pñó
+Å.€ê;.®þ.~.j‹)ô.
+оXù..O÷ú56|‰.ïñ
+Žp—¾0tÿ³l`—zùýìÚ
+*֏_ÌÙ._äm.z.ÃÛ¨
+.°¾ÿ..¡¾6ú.~3ãÃð
+Úhl...|.Þ.ýú7ó.
+ù).ôJ¤LpÌ£o´Z.3‰
+þF1?õÑWòþü.Ð×k.¢
+¯Xc™³†×Öð.×IëÃÇh
+ŽÙ·.½.õ@ï«-Îáæ‘b
+9pí.êþї³.Z°§.~H
+žùàç²~&amp;ò;(¯¦)ÓÊ
+vö­AïÀ!å¬.Bd–Ü£~
+H.,\Ü.¨ñ1«.߈._ò
+{`_¾D|®‹..C…Ã&gt;¬.
+Íìó„}5\•Lã.\0Nâ—
+ï,˜Ù×.¥–©‚i¬c.FU
+²ù‚iÚÌ&gt;Ø·ôù..‡A
+Mœ]½ óØ«8øÜ[¿ËóW
+£ÃÄǃ~À.ä§/ØÁçâÕ
+¶&amp;¹.o¬r._4×.µ×À.
+]”.f.Yd.`.z®DlÐ
+X.../BÜc.;e„tË.³
+9JWÂotJWrÌ.øŒU
+“Ã-twŸ.†&gt;³z!vE³
+oCŠ¦üà§hzЃŸ.Ûbˆ
+†Û¯”îvä0ÙC.u.cÿZ
+.åqÓl_À|eŽþĨ2Ç1
+OŒÖGîfÍ1Y.Ҝ9ÌÝæ
+菚Š5.yÔ..Ô ,&nbsp;ƒi
+cÉm‹.ÊÐz54ÔªÙûUã
+‡EE7b=ª\9›ø†ræ‚r
+Ԅµrn§rìÄù.Hqâ5
+w..&amp;}.'Ja‰ô¸‘Ãà@
+&amp;.kNŽËõý %g-úÁN.
+FQºK‘Wùä¯ë½..)..
+w…ÑÌÙoJ.».¿óÍI..
+®eR.GÖ2­ü_¼àÒavá
+ýÏ».+°‹¹mŽ¡Æ]7G
+¸Û.͟(k.çO..ƒ5.c
+°}n.Ã_2Æè‚Ð.ñ^cp
+_#Ö8²¯¹Ü0ä4ÝzÊzÍ
+.áR.ٚ!í4.φd.ÑO
+..4H.øU=.úL ޞ
+K8ƒ¯†iM_aT..5.ãI
+ý.ò[çÚÚá:5ë묃§}
+P.ËVÓ.—4ë2.vhèU
+U›,.(÷–j;ߥ‹µ.ù:
+jbH.,ÔÞþ^°R÷+Öñ‡
+&lt;­àSRnQ.j¥@—=.Ê.
+ªi|c.=..ߚÇ÷"\)
+‡E¸÷íuYtQ+Hut•
+U—·jlºYc•ºÛçÚgG„
+&lt;j’.á8jz`”.Ú¨ÚÚ.
+ï‡õ2âíiЗ—†ÆÞèŨ
+..ïžá£²D1t’WY‚X.
+Z.&nbsp;%;kŒÛ“&nbsp;//.¥»1
+¤.t.þncÈÓñlŒñ.ú»
+Qê.3sÆ°SÆ°sÆ.w.
+£¯‰-Ž[!›´„›²„›³
+D¼ß..,qœ?6փ¶.§k
+§á§Œáç.FºÛ.u.pt
+õèªáR·^æŒ.¦Œ.æ
+Œ‘ïž|wç©&amp;߃ó¼-.c
+¯Ò.9R€.5÷ŽÓ.Ä..1
+iêÝ¥¬äÎIq±ƒ”Qî
+Üý!.&lt;˜AÈ(vNˆ-õÆ.
+KY‰=¤cÒS&amp;‰J+.I™F
+.OV¯/M£¾¼¸H¿šDÉ.
+÷Þá6W:Þû”JwäÞçeÃ
+ð.þ‡[.ê.²Æ{c­Å©+
+\÷Ú&nbsp;í€+.¨.ð.7¾µ.
+¤ÈwZÀܚJ‹.vØÅ.÷
+Ý.减۽™ÝüŸ\Ì·W7
+ÿõ3ÝÛ.Þª÷q.©K=q.
+À„©­Ìÿª#.îç¼.‡ãµ
+WS×Ù+Jé‹DyYyú!ó~
+Ô.J‚m÷BÅùöaXoÍyè
+s…3.õœ..Æ.G.èð×3
+·¿1.tp£¸PW¡Ö£¢7ä
+¤.}.$Â.&lt;jcƹµOÂÚ
+'§žhJƒœÆš“ÓõRÆîz
+.œ7¬½Êü@½Ö&amp;;ìޚ
+s.'ÙX-ºãûkÝ06QÛ.
+;°óË+´•Å•¬¼š4Œ?ë
+bþ»‹™qó«=yT}i/.Ü
+Se-8³8ˆ³.}ÐjFó†.
+[_øÖB\.l¿O.CÁ7äê
+БY.ÚôäK²*o‘ÓYƒœ
+YW³U...1íTo°ë­r{
+¸Æ...¸.×ASǧ.ä.ê
+KO.ü+ÿu×M^)99IÑ.
+°Ç?³é•˜^–»ät8.¨o
+ñC݂ÓΊ¥„0.¿óyó
+KªqµÚ¥ÚhV]±.1GÔ¬
+€...Gž†.X³fýÞ[z¾
+!gmcd-56­’#¬Þ6/7
+yu–õlq. .ç...˓
+.Ö(ò±œ..Ë&nbsp;&gt;BÞNj
+JܑoúbùŒÑזѬ.µª
+\7Eª].\Í°—7‚®l%L
+››c&amp;8üÃÒv.¾.!œ.g
+.ÅÔ.™E^_—áþ..ß´Ç
+.uÞÄ띦‹ÇE…5¼ÿ3o
+a2§I¥.Øقû.Ìzp‰
+.VðØÂAvþèÅà;à1¨
+yÑ7.ÏPïÙßiúkÎ&nbsp;Àô
+„Äܦ..Ú®X.7.Ú·
+å„..uÜ.·ô¼û(†zb&lt;
+sïðFšïo.Z‡wÒ.i]½
+%Dï.6¢?.ØH.&nbsp;ÖRÑs
+wMb.ϺdÔ7&lt;³Ï©*!
+.+Ùs«©:.…QnûõÁÄ.
+ª€7=ˆ.â.»‘.-..;ø
+.vp.vp.vp.lþ†Ð8U
+%ü.›s«©¢‚.TÈÊ'D
+ÆV‹.Ö9Ï¥ið®Þ/ùž
+\.ù§.÷jqAÇcGì\À!
+ÙИ‰õI³|&lt;Gœaª„õ
+íƒGVꊰ.G.šÏ“.Àr
+PåO†ù¢éºîñQ|.‰]Ô
+p.iÎCÉ1¦î&nbsp;´.ñO.:
+pÕ¸ýR¤QùÅJs#‚›"‘
+­™RªÖ€I"7nèŒÔ7.T
+ªJˆÄJöÜjªŽCa¼àŸž
+O…êŸ*KZz.Ð[X…ÖÛ.
+.~€ÝÛ,¥r.¶´ô.€¿!
+4NU.?ÀæÜjª¨`.þéù
+PoüS‘ÞÆ,Çù'h¬1þ
+‰XÚ?.α.þ‰Yú§Œ
+c²ß‡â.£â&nbsp;†.£“.J
+Ν²‹Òb”Jahà1ª†.
+Ԑ€.iŽA.%(UoÄU¢4
+ðìÕ·¢ÝB.]FÑê8
+.ÆK&gt;êéT .…,ÕÚ..·
+²&nbsp;Æ.Dø.6·ÛšÊ)تµ
+#.þV´(£ÿ(Ú·ÔTQÁ
+.}ÔÓ¡^û(ïóçðQ؄“
+.|Tc.&gt;*.ˍ&gt;ª³.ôQ
+´‘õ{ðQr½€}Ԟë.ÝG
+©[.ÝG.bÄG.7L’‚U“
+¤`Ô$‰.nŽD¶¦J©Z#&amp;
+‰ÜÀƒW“¤à•[ B$zåN
+(UÇ¡0^ðQϧBõQ•%­
+½.è­¬Bëí.?Àîí–R
+9.[Z{.Àß¼ò.Dø.6ç
+æՌIc$.õ|¨×&gt;*,ás
+ø(¹ˆ#¹_ÄQ,ÓÞRS.
+;ë1.å.ÚSü=ø(&gt;…%&gt;
+jÇ),öQr˜‹}”.£|T.
+C.Çp.Ü°’SM®.Ò.+Ù
+›jMÕ.q.C./ÒmÙ¸(·
+@.K$²çV²Â¡0^òQO§
+.ù¨\†Öž.ÕÊ..·¿Jø
+.6·ÛšÊ)تµ.™D.´ž
+Š.?ÀæÜJV8.Æ棞.õ
+ÆGE5×;n-Š.J[n'ü
+.'9z:O%ë¬G=TÁf¾ß
+CÍîâ½µº=+çö.Ô´”7
+扳rÞ.ËM˙ð·.ý€Å
+Gär.ì.ê=.d.zß°³f
+€ÙlÛí-‘Ã,Ü.ôÛÁê.
+5Ԗ.P.ȅI»@..bQD
+.ÿÖH..×RQи&amp;±.”.
+(Y}ƒŠ#©*!.+Ùs«©:
+.…ñBGð|*Ԏ&nbsp;²²·.v
+#.Zv^.6hØÙD)|k
+“¸..›¿!4NU.‘Xɞ[
+MÕq(ŒÔ.&lt;.êuG°X‹.
+¸&gt;Xu၎.Ê4¶¦ÛÃtÑ
+i7Raº..C`àìY%ì¬
+o[¨®éñ£M.&gt;š¡½ÇàÏ
+KXûU{O&gt;èòk$•Q¢(
+™°Y—_2EÊ/.eíFôò
+Kº}pªJˆÄJöÜj*¯š_
+ê‘q/·÷§RAWÁƒÎ.ƒ+
+Á.¿ÎòÁ†·;þ}ÁÚ¤Wª
+ÑQ†N‰8ûú$–".kñŒò
+ºŠÚ.µ?·1‰.…áŸxX"
+Øû.يR5ŸM.ٟ[ÐJ
+¾.Õ..!.‹ê=(UÇ¡0^
+¨¢Ï§Bí’*Kœ{.Нj…
+ÖÝ-.슉lnšR5.N.Ù
+¹W.ü­¨..‘XTWB©:
+.…‘º¤çC½î’,ô.Ü%™
+ú¤ºÆj†.©±t—ä–H.
+”$!³.蒸¹s¤Æªµ
+‹7¯åнh-¡î_‰`ßKd
+ó˔Ê([‹7¯åtëàTe
+è.ˆì¹ÕT^5¾ë.Òó©ð
+.:¤ìñPÖ].Ò.U.#„8
+ucJÍiڍ©+³œéž‰ú¡
+Ar¿Ž&amp;¹..ÔÞh«É›f
+uÌWî}M.ÞvɌïʝ:.
+.«ö½.Û+l=¦ÓÈO..
+×Éè&nbsp;XÉû}jiùë6.ü
+Âk-}üœm‹0£ÏÙþäÅ@
+=)ƨÛq|ÓëçùPm·º
+.§TSšnÀ[oŠV­¦Õv;
+PÚQ†¢ÈDo.J.å¹f©º
+# ºiU7è­Ç&nbsp;ž¢[M;X
+ê8i‡YªFuyËRr‰è—Ã
+.úÁRqh.ZÕ.z.ÜÐ\j
+ÚÑR‡I;ÈR.NdºåýøÅ
+áiõårŠfh/ZÕ.z.Ê
+¢u«i.K.'í(Kѭ
+%.šÇ:µû™’õ©g}ScÏ
+.ïêh¢.³cw}~h.³c
+w½Ç¯åìYã]ïÃ.rîY
+ãMø.!.ƒ]°8.ª#cK.
+¦vÖAÁÏñ.$ÖOÛ®.O.
+'W.ñES;b$Öc·.¼­q
+V.¶ÙHá‚-ú&gt;Zclõ 
+6GÃ.Á&amp;¿y¬¿ß€xm.
+܄2&nbsp;°.÷F»¹.ìJ4Þ_
+²ô.䪸vWM¼‚—Dƪ
+99ñ„ÌCÓ^X0.ÄÅ.À—
+U•‡Œò.Lb2.[kø®þ
+..)B.."4åƒi:+š€c
+^..½AƒJF.‰..ÿ¦£
+íRÖ.}l3bž¾Â.œòÇÖ
+¸PçùD.+ÍqQDh»“
+¤]͖Ê;"ªDïú.sQß
+êBAOU.‘Xɞ[MÕq(Œ
+&lt;}}BäÇÏZ½1.È.C×¹
+õMɟm®¿Ö. ¯t‹|Œ
+¨ð«Mh×.râ+.§qýò
+©M‹=™°´w,m„.|'m„
+Êi|ɊÈ}Mª‘´®WSùT
+-M..ñ±.Ȩo0‹àT(
+üÃ"¹ÕT.‡ÆX돞î=Ÿ
+.u©ÓÀ&lt;ÔZÓa..˜´.†
+wÖ.Y.Sz&amp;$.5•É.­
+Jl.þÐ;õ-.•Š.–ˆ$ç
+†©.‡ÂHKÏ‡º..íŸk
+¡ù^G:YëANV.ÑU¢Õ.
+r.žê.9.O%ډVGä.Ô
+.NU.‘Xɞ[MÕqhŒdì
+çCÍÆ.%j؝¬Ð.Þ.`"
+..;¤E`‡.€$j4F}.h
+œŠˆ¢asn5UÇ¡1Š±Ÿ.
+5.[5H.À..¡q.©„4Ÿ
+FŠ÷ãFW%JƒD.ò.&nbsp;qª
+FhïǹÕT.‡Æ(Æ~.Ôl
+lS.¯`w’º“\T¿“sR°
+MNYºšœŒt.è].Ãî
+¤§"‚%.Ùr«©:.QŒý
+\¨ÅØfÉ.¶QÕ.ˆEˆ¥.
+.{ÉV`/)H&amp;è°ù.Bë
+©ˆ(FÃî¹ÕT.‡Æ¨ŒýT
+¨ÑØ.~.óÏÔÞPu …I·
+ÀhÓ×U!!.JÛH:ÔØRù
+ZˆM¢ïCl.¦¾™$©ˆ`‰
+,MH...c5ö.¢®ïc–
+.L¯Æ~÷..Df..DÓ^
+&lt;%‚_„¯¤-¾}˸šA¯I
+V‰¶·3Sð­.þ†áøzªJ
+ˆD"[n5UÇ¡1ҔíùPK
+ÍöÎë:ÒHª.ÞFE˜¤ëˆ
+§FÒR-FJÔ÷·.©´ù.Ö
+ƒžŠ.–HdˍR9Uë.¡j
+öS¡V5»7ÈVGˆlՂšH
+'.]GZÓj©¼W%Ú.d+m
+¯«EKE.KldQu$©Z§Ý
+È.¢.cs.!.$h­Ô.Ñ
+K´‘TÚ-Õb$.®#.€¿Y
+©Y`‰D¶Ü(•S†Ð5û.
+Q‹.±uøÎ.²‘Ôèð­u!
+|Ô.Òº$.ÒÒY¨&amp;Ñq.‚
+M‹¿a£ë©ˆ`‰D¶Ü(UÃ
+¡1*7òT¨Õh¤w5­‡&amp;²
+õÝäü.Ñ;†.»x.;«^˜
+»š. k¤Ewò,‘È–.õë
+V.BwOˆºŽ³s½ŽÔ..
+·Y=îmsÀ¸.íR..ýIð
+FÒsá-U[í"‰}µËælÕ
+7ÜÈäT•.‰•ì¹ÕT.‡Â
+HãìçC͓....úüsœ.
+° "8."..J¥–..l.è
+Ë7#ïÀ7‚%.éú¤Í..
+Q&amp;5υZj¶±}•¡–v#©
+..zŽ».|ܲ‘‹Ô‘¥8)
+ÑFô:Âß°.p*"Xb%{n
+˜Šq(Œªf?.êõcæoïS
+Æ..xâVv4.w3¾{.²£
+.®.ç&nbsp;½èv¨!Á.À…]›
+Ñ.#.ƒÕ.‡0³½h¢&nbsp;Í
+îE.4.]ËÐ.çˆ.F.²Ù
+'¨.2\o‹.2â.òއ‚6
+ûžt\`ŒAT=ž.aÚ-P
+Å͝&amp;S¯4…z$+a«.›g
+¨ö.©Æ´p­.¶‘.c.c
+¦í›äÛ7¡è.T,.|t;4
+fOq1­Ó3.ôýdð&gt;2ü.
+OŽo.eây&amp;HÐüŒƒ..ü
+áᧀé.a‚."´Ðû.®„
+§¯.cxú.þWÛg ûû
+£Ëa$/&lt;”ø39&lt;Ö8òó
+/^".E.›Üy.†OFdè.
+ãxh§±Ž:´.cóü੝œ
+.Šé¢@.ëÁ“1‘N¦=rj
+..}H㩝Æz.[õâǜÚ
+..òÑ.6&nbsp;°.÷F»}§v8
+79µ3.×îºÉ§v†º9{j
+'Ç..H±\&gt;'uj§É•Ã4
+¡Oíôßð‘œ&amp;DhÊGŸÚ
+Éàð’&gt;µSl8'}j§1ô©
+.þ.£mRÖ.mOíäzۇÏ
+¾äz.¨9É!Êi."ø¤.
+‘í..¥jç[H"Ÿ}Á.š|
+KY¥ª„H¬dÏ-9…Ca”S
+;χü3œÚñՍÞc;?}
+‰x•IE¾³ïð.O.kÏ×
+8Gõ.Ðfœ}¨çð.÷°üˆ
+‘XygŒõlâC=‡ÇØýe
+èz;ëQlé˜nCY¯ûv±ž
+°.ôFµ]݆äÆÝƪ¬öV
+ËÞk.Õr²Ó€¬MÓ]XaÁ
+).;ê&amp;—}y£UŸÑÑû.
+.!.ÊFõ.Þâ.[”&gt;Ãã
+è¢:§ÎP}†ü¦ƒíRÖ.m
+ú.oRQž.Hñx.‡ÓÝ.6
+¢ûÉF’.m©È»6‰ÝóBÎ
+A}+‹JU.‘Xɞ[MÕq(
+ŒÜg&lt;!òÏÐgdW.[¸·Ï
+øf3ÍØv."ßl—.Ë/.
+Ü.’...0&gt;¹Ø.6¶.Å
+ۈ}F§fsðc.?N¥Ïæ¬
+4›Û×EñMA9Sïð”¤÷
+ëƒèwRt¸¾žÿw»:).
+²”ó.cå&lt;8.=­.6ÛC
+.°.b‹GÎÈ.ëQh.'É.
+Ûì:`ãɁ`.'.ÍW.
+¶Ù… ‡Ë.¶..&nbsp;Îò‹_d
+õñîõ..ëC¬.z‘@½û
+¦Á•ålÃ.®±Ž.—0ìKõ
+D¿|y…Y¬±fÿBUORá
+mœƒáFϯ.)¸ÛµªƒÝ¶
+©qN¼Ïü–ãM·.ë£7õÿ
+«Û–Å$öÒ7&lt;¹¼“:Þ.þ
+Ëwÿ._ùCÆendstrea
+m.endobj.6 0 obj
+.15720.endobj.4 
+0 obj.&lt;&lt;/Type/Pa
+ge/MediaBox [0 0
+ 595.22 842]./Ro
+tate 90/Parent 3
+ 0 R./Resources&lt;
+&lt;/ProcSet[/PDF /
+Text]./ExtGState
+ 10 0 R./Font 11
+ 0 R.&gt;&gt;./Content
+s 5 0 R.&gt;&gt;.endob
+j.3 0 obj.&lt;&lt; /Ty
+pe /Pages /Kids 
+[.4 0 R.] /Count
+ 1./Rotate 90&gt;&gt;.
+endobj.1 0 obj.&lt;
+&lt;/Type /Catalog 
+/Pages 3 0 R.&gt;&gt;.
+endobj.7 0 obj.&lt;
+&lt;/Type/ExtGState
+./OPM 1&gt;&gt;endobj.
+10 0 obj.&lt;&lt;/R7.7
+ 0 R&gt;&gt;.endobj.11
+ 0 obj.&lt;&lt;/R9.9 0
+ R&gt;&gt;.endobj.12 0
+ obj.&lt;&lt;/Subtype/
+Type1C/Filter/Fl
+ateDecode/Length
+ 13 0 R&gt;&gt;stream.
+xœmX.XS׺=1äœS«X
+‰)Dۄk[µÎZ­&nbsp;už..
+.‘AEÔ0.!Ì$!...ã†
+..!$@˜geI.gqªÕÖ
+Y«×zkg;ÐÞ×}¸›ûîÛ
+.ïðÞ»÷ûøò.9{ŸX{
+­õo.á4Žàp8.ü"¥’„
+y¾2ih.û÷\f.‡yk.ó
+67.Ōü6²÷6áUÁ.
+&amp;pÁ.§ª·¦eº0ÚÉðo“
+àé7..‡ÓùñÓõ²XE|d
+xD¢û¬=¾{ߟ3gî¿þ³
+ÈÓÓÓýâ.߸o$D†Ç
+¸ÏÀ¿$K¢e±RILâ.÷õ
+øéèèÈÃîáъ؈.÷Ð#
+G$GØeþ¡Ñ’(÷M‘Ñ‘±
+±²d÷Yëßw_¼pá¢yøc
+ñ.÷IRI¼l®{dLXdL
+d¢Â=4æˆû.©$&lt;Ô].z
+DÂn°A.™.¯p_²02æŸ
+«wFJ.%%¸¥ì¾Sæéî
+åî+.OŠ.ÿ÷o.‚Xãµ
+V.s8`Ç:¥ìHàÎõ±’]
+.¼7ÆoJˆðݜ.¹{K’
+ßÖä¨=ÛR¢Cý·K.ÍqŸ
+7ÁÂE‹?X²ôÃ}Ë&lt;&lt;C
+–¯&amp;ˆyÄt"ˆØEl &lt;‰ù
+Ä;D0áMl$–..ˆw..b
+.±xØL,"f.»‰™„.
+±•ø€˜Eì!¶.Kˆ÷.b
+)1›ØKx...sˆ.b.±Ž
+XFÌ%v.ë‰..‡p&amp;&amp;.o
+.“..‚OL!.ě„+±’p
+#„ÄTb.1p'ÖâV.N8
+„Sœ.œããxã.¹S¸.Ü¿
+:muºÌ[Îk&amp;§“5.‡RS
+ö¡¯¾¶÷µÞñï?óú’
+×ÏNð›Ð8á/.mÜUÎ
+×&amp;9M:&lt;é/o.}ãÄäM“
+õ.︤òÇó.¦¼9eŔU
+SvN.›¢žòGÁ».å›ãÞ
+\öf»«Èu™ëaׯÝüÝÂ
+ÝʅS&nbsp;љÀ!?Áüâpù
+iؕ.Ë|.×.”.u¢J.q
+ÄOá.è-ä:MQ›˜‘Rà¶
+Íö¸v&nbsp;69u/£T.6Ò£
+Þ.¿.lT«ÖeÒr./o#O
+Áu&lt;ç‘0à€ÝÌ.*9#þ
+.Á.£Î.q.å37ÜRHtd
+4m;š‘–.œ#”à ..œR
+Úh5Ú.KÅýð5.´“Ýs¬
+±¦8&nbsp;.‚x¥Þ?—–C35ª
+..¤`#¤Q#ϙÉF1ÃÌ
+);‡‘1þ.4ME¶–¥§få
+fd.ijQ.¢`Q†-«.”.
+A…ÝԛOÛÑ!5UŸU®5+
+!‰r݌z»´1°,.¨„@•
+襔ªã’äj.Òóu…r“
+²@.èĔ”„£­ñ=7O]„
+ïž.ÃùÌÜÒÖ.K­Qˆß.
+ìÌÔ.œÏŸÁ.ϸeÌtA‘
+ђW.èÆbU.åQÀW«.
+È¢U0ÂN..¨¬&nbsp;†Ç©S
+'«­Ç.=X.½UŒ$.ðÒ(
+.هŽØ©&nbsp;Â4+.¤¡‚ú.
+äâÚýÑÊí›E)C~"R
+뗊ßè­»Ãðš8u.¹Ìt
+¸P.¼1&lt;Á.Ð.·.©_/
+Ü~Ò^ª.³ˆ‹’̲.E..
+ÖW;j.n.X...~H..
+"Û.&gt;¢Ñ›çCîÉ®²–v
+QC­£¡ù2=Ö*yÕÈ8‡.
+¿jÄkd¶.¥ËÉó9e..
+TZEL8â!‘[èå_$ô‚
+j!¨´›å5æ¹9Ð.9u#
+»Bõ#.C.Zâ†.¡=‹ÿ
+™.…ÛªvP&gt;..3¨.v{
+]G?|.Îrû.¹..ªˆÄ.
+ç..ŠT]d.ͯÊ.ÚÜ4¶
+ŧ.”‘Êrp.ùÁ.78.
+n»ñ¨ÒúqÐù/.cÄÉ
+Áœ&gt;¦b˜;ò!ó™`4.
+.iš0ìà1.µ®Pm.·i
+Æ.ƒ´´ô^..i0…âFóQ
+*“ÏCAròifi.XGÎ¦
+À»j¹G.^—æ&nbsp;V.(kÀ/
+43“‚.£.&lt;.é&lt;².—£.
+ötAk‡Üá.yÃ0sx9¤\
+ùmå¸8rêY¦U.Ö²È.k
+5.l.÷.ø'ò.¸]Õq¼
+½µò$8.ú.]ÑM҆Xë¶
+²³¥U–Ú*šßVWmïèž.
+..¡µ"OôBð.ôg¶«h
+¾äRBÃa¯©`Oò‘ÉQŠ
+Cú­€.R.·Ša·.†.ÿÃ
+*S±]ÔGBêjðâ•þ!óÄ
+..&nbsp;™™ÚÌa&gt;„Ó.Š.]`
+FªF)T+#Ó..D$¬fÞ
+çÙÑÏT6.Ï« ‹ïÚíW.
+.E$rŒ¾ÏS1.)Œ`]#³
+¸‘Óô.´}ŅFæ&nbsp;.½¹p
+..¡iß΀.Ðå‡ÿ‚"èº
+à{4E¬‘.ž]žƒÞF¼.›
+×..«íJ.ËΦ~†+þýÀ
+µÛ"v¯³ÌÔFNÃs˜òŒ.
+_ê.pæY^.¥ÈÍ.ـ.×
+—ô‹™©Ìü`e„n»R˜J
+™óŠ€.Ð.źCb´’´Æ
+–.ƑSó1Ú¦£)÷—Àq.
+;+.Ž‹·Sã..†4V‘
+.¯‹.´‡ßçp.ä.Þ{pn
+pŸ¿x.Àc𸅱±›.°L
+NžÍ-׃.&nbsp;ËLKW¡wP²
+.š.ãµe.åcŒ`+nÍ/.
+.P’‡rLNÊ±©F€
+®ÈÏ.­£À.na.FÈe.
+µ8_m..hèOÁY0ùê—õ
+Õg0$G´U:ö­.,(?è
+såŸd.­€©¡À.K‡£Ôf
+±.t.àÍÓäTg¶-˞^©
+...;hô.5*`ä&lt;´ZNö
+.›¾k.=ºƒâËÿ.(ߢð
+®;1,1(Õ}ŒG.ôìâ`þ
+ãŽ.˜óÒa2/™ÌHNMK.
+é@eT..•.š÷.Oà.½Ã
+oã.É|€ÆùÍKÏø^Ùö
+ä'.yà§þ«OhEÅÚ.[
+¥.@è.vW.ìô.Œþ.@.
+.·~._ƒï]:›|¸KÔ.e
+—9¶Ñ,ÍJ˕.Ч•q¾â
+rÿ.LzîÊW.3o.ŠóL&nbsp;
+.ÐÇMº}âÑ.Š?.öjµÞ
+.´’â«`f.¹&amp;OS.®Óp
+.Õv´V׃Á7þ.è.߃o
+l|1{wHüž.ñC*#Or
+„ÆO)„³×.š/¶÷ß.\
+hÄ.Z³~Ÿo{³ˆ%½OaL
++¤Ú9Ì\è!.^}0f;ð.
+.›b.):.Çr®Òð*©¿¡
+kŠo•¶ï¯Ú..Á&gt;…$rß
+¡Ø.À.Ÿ„;K!õýýːè
+.¡Gp®&nbsp;äÑñŽ«à*¨••
+.a¹OÝÎüw;ç8$™Uä
+¿Žx.Ðnô.z.íŸ×ºð
+¼xÈëő/qôð-è.÷
+ÿ.ó…ß.±×§ËÚç`\;õ
+ƒ~E{Ôù&nbsp;–y.½.¼5›R
+ö¦Ç+ã..#".(üÁ~p&nbsp;
+"¢eoÿÑ_p…Ápã˞.ú
+Dï`õ.ðwÞí`¾`Yæ·a
+†„.W~ùo#.ëÓ4«Çä
+4.v.&gt;víâË./À
+Kð•ô‘ß…ÍŸ"N;z.Ðü
+rT#'..ŠÓ1!...ð£[
+JÌÝÏo¤Fž.=ÚÓ½. .
+&nbsp;ñ‡–-ß..㓶.ЇÓ0
+«8ÃçX»f¶r~ÅGõ.«ž
+“ M.9Z:«lº˜.QYœU
+W.è.GEM{Hý®.þ±ûã
+Äq!úðÜ.´gÔSt“.ë´
+iëYÙ*µSžFm.¸OÛÐ
+.sÊ9,ûÕ]ð4›ÔÏÃ0•
+Mê%&lt;.û.õ9å¹õà.8o
+é­½ÒÚ~.|.zԝ±M‡û
+–4Îé&lt;AåròžÞ¢.ëé
+э.X¦×­6¼"÷Œ*.¸
+K3ÉNü—.&amp;S.œvmß»³
+½..•¢ÎËO.½ò0.°·û
+~%\Ú)eeâ™ïàJŒ.
+DÄÁ.ô.&nbsp;cÉ .Zh0e.
+sJ@9..œO=.vM©.].
+U‰¤áP–J«Ö(eú}˜‰æ
+Ãx’¯l,*j.Ái$&gt;;Õª
+òEt.Éï͆ïðF.q°ÿ´
+@ÿ2@J¦ƒ.«/üùG΃g
+\.3U`3.çY.]Wœ."F
+F....ÛÓpñ.vj³Qi.
+—h˜Dµöžn(*ÎԕˆÊÔ
+%.¥€®µ—7.K®Œ.IÜ
+.$þ.s§R¸Æ[.|Uä«
+ÿ'×?3.0U€“&nbsp;ÒV(T+
+pøïáð..ÙàßúßÁ¿üÿ
+ÁãJ{hÇàÆVzU.–Ñ;4
+ŒïQO@¹Êº.S€PWZ
+Å,ªÔT»œ¹.=?Ã0…·à
+M.n.|‹§%srÒ.¹¹Y
+@˜.tùÚBŒJsRRAÜ´
+|.Öïn=üE°xèh[Jy.
+ˆ.†DÉ."£K«å¢äºô.
+Í%:•ä{¡…¥”ÉRoÅ|
+bË©ÉÀ.d46dUL{øñÐ
+g§.Žíj.#âcY™ª.4.
+»Z.û/5G.®.½²`ÓÎs
+î&gt;ƒ;1’.Á..=ýÍå'.
+}º.|£..Q`³Nã“ñʃ
+í±d˜Á§4.¦þ.z~¹wh
+®ý"x‰Ê4F¦Åëw§.c
+õ¼Tª Ï...ÝkÖ..F
+á¾f¤ûèñúh;åS¤³âõ
+cþ€ù•Å÷ð0Ô°ø&gt;92Ó
+!.S,1ÇÑ!Xäv³´Ùz
+¬¡µÞÑ..@¯¦#®‰æ?ì
+–xÔϛÆ?‰šää}½E.6
+¼ª½.m.Ëú͸ö…šR¶ö
+ÔÅ|˜Ž®òàRr4˜y.à
+?l,1wÁÉC.ç.&amp;‡†ËE
+ûã"2æ䌱W.¼^.¹Up
+v.§.s˜ûKîH ü]€Ì.
+²7ۚmÕÛӋ.ÁA.}HE
+íŒ]–Í„$Üù]ã×}ƒ¢
+¾Ák.·ÀE0(?.Þ,+‹­
+ÛIאz.ÎK"3ä.u2Ё
+T£ÂtÀ¾ß|.#j.–Ñ™è
+àû.k.z‹onúA.ǁç.
+Nnëj£a...[K‡.igØ
+‚­À„VÎg¸%fL.30·X
+r."CzFºA'ñ;.œš¥
+5d.@&amp;ÈÎË1æÐçÐyrY
+óÁ˃µg‰4%ÉñJ].
+.†©.®‹á‰_(¼%nôõa
+Î÷xËõ¬MYàÇSa.aÍ/
+Í+.ÂÚ±ƒ¥¢Àzv.ËJ
+:;µµPoa‹.©.˜,ˆML
+”ɪ..›jª›..kb°:
+§©JncvTÁ9Ý.·ŸCõ/
+®üAf7fÿd2+Q«Uâäñ
+.`.³…™£ÀA.¢&lt;...­
+..{ÁŠ¾ÝÐÉûŽäì¡:I
+±¦0.$Ð|ՖÀýë.{]€
+΁¢D’?،"xÕdžÃj³
+.Ì5Y.C§ªK߅e„zñø
+ק~7Ûmñô¡Ð&gt;pž¾Ð
+Óyíd&lt;¼MÔ.e‹+óÆÇ
+ôÕø4Ø.;.œß‡áÅa.”
+@$À..Ü))yh¾¢EN=
+4”hÿA–º´•ì.nqPkŠ
+0ŒnÓð.¼ˆöþ§oXüï
+» ÿ1G8Ä.ÊÕ6—ÛÏà¦
+g¬§I8-È$÷k±}ƒ?Pü
+‡h±’¼–mՁ@.¥Q@–©
+Vkc“¢Ó¤€&gt;.u¼GÌ?.
+.£.jêT¶M.öÓ¨úèT
+Àݎ.e..¢Þ^ž.Usº
+²½äŒM8ÆÙ̏=.hÂٙ
+F.Áh6.&gt;Ôj=ØhO:(Ï
+.u)Kúæó.$Aµ¢.£k
+É.¸Š7z•Ì@«xµd-äÔ
+8&nbsp;.ÖR̸¯, …7£X.]
+£I[–ýjªð4¦ŽÉ.Îû®
+­ô.ëÊNË©/^Ùxœ4³.
+O‘q¬.Šñ.™m×.9Ðåè
+²t³Õí=Xœa˶bì.
+KLmF&lt;G.¨¨Î.“®ÿ]8
+.u¹åg..F}‘¢H_.Š€
+©ÔÞ.§À{nM·ŠLÍFú.
+IyÚ8O±.Œp..°y.@.
+³h‚Å£É.؛½žÕ.
+JÉ;œu®M.½(èŽv.³
+ò³ó³ÙB³Î˜.2éôôŒ
+4‘\.cìdˆ1Ú.z.̓þ
+nM.·?¹Ößd.Ú.lùXµ
+ÍvtPMžÈ-É.j&nbsp;OW«Ó
+°kwvc&lt;¨¬|IZŒÞ'U(
+Õ³ó96”#.ÎoÃð¯}\.
+2V..¶–=µàâ¨äÔ£Œ²
+$0“FØÎn6HR¥±ÁÛ£×
+€. ¨6v@Ñjè`ÝÝ1.
+}Ψ]N=ÎÀ0ZG£..Z
+ûÄ.®‚œûm·Nˆj{ŠûÁ
+CVDԝÌßpƒ6à.µ0§.
+ànIÉ.vLë’SO_­.=L
+.HKŽSg˜ë."][jY.Ö
+ì¤ÄØÐné.$®Þ“Y¯?
+Ö­[¸[*ê¸Áb.J&nbsp;ÊHÐ
+Æ.BñnË`¢²..P*.Õ%
+¦..îUˆŠêȲj+÷˜ä&amp;
+y‘b!.v›.mY–..°.A
+•Õ|¼.?µEEÕä˜uÕ.p
+.úÞÍ*5«‹°.˜K­õر
+.ܾFZ[XAF..š@aqY
+..‹~r«è1.VâW¼¢'Î
+Ï¸.Üß"²$Ϛ‡.›V‹
+.ûâ8.ìQk¼2q‡µvÊ«
+ Í..ÐÌw¸.{•.Ý&amp;åØ
+T?ĸպt|¹éKøÎ.Wþ
+·ÌÎO.JuZ¦.Љ.[Ÿ.
+âS|6³IU›Ô~Ð፝ÒÃ
+ykƒ¼.+Sjj«*«.r.s
+Mâœâ\30Ñ.­Õ]ƒ.1{
+D;)4‡RPBó¿MJQG
+.êÕ.rµ¯»êìUQáފ
+änp.'ßÖI£..€èÌô
+ä´.µ,=.Ð.²ã½â.Ìæ
+Ýípb.=6èŒLtpFv°ƒ
+U¨œ¼]¡.2jˆM“¢™
+£\74.~}ô®..úBà°Y
+ØÁª$ÏÆ.V.95ˆ.«ÞÅ
+0w´ßÍNÂxfèØ㒒SF
+ῆ¶7†¹Ì¢.W5×..
+@sŽU.R@R¢Ô/.mDKÝ
+`(õO¨t°À´jþ!ÚWÓ
+›ƒZÉ^Ü¥á.ª¾ê¿¦
+?Xs~.H..µÚ ËÍ.Z0
+v½0ä&nbsp;öæ©-._"54ºA
+_è}ëF™ùV¡Ðp.G.ø
+˜¾}–óü.ôb¸.fº&nbsp;Ô
+hfotê‹SƒÅ¨ˆm¥jw.
+ne¼òÏW•€.4l£@¾Ù
+b2ÕÕô–·.º¯:...).
+vkµ¾¬.%Ú)ß&lt;U9¸FÃ
+Bª¹÷XE?&nbsp;/UÄzˆQ8.
+|õz..~Hf§âò¥ùš.p
+B..Qpü‘+«|.â|öˆ.
+—".ö€. S{xÑ÷)C~€
+&lt;Rë§b¯Ÿt­Ìë×9Ÿ&gt;ƒ
+)_rἑ•‚ÌüPU¬~ŸF
+.Ã:™¢¼.`.tWqz¨x´
+ŒŠþâèçÐm.ŽƒïÀI«¿
+›¹Ó'&lt;(Eäïtb&nbsp;ýì£Ó
++‘3â.o÷Ü{&nbsp;¦.ûª«&nbsp;
+..ùŸpa&gt;&lt;çé­P
+†b?±Pö.’ÁØ­Øã.1
+éBÿëœ.Ð"ð‚¹×ñ90Â
+É?.¤ñqÑ1uñM-õuM-
+qõR&lt;n´¨«FÞ®äÀ.,¯
+[H¤øë&amp;Þ-.§&nbsp;®.q©ç
+Ôþ.K`%ÀCà.B•a.&gt;
+»%ˆ.è5€8ÇÐk.»;BÎ
+$.3&nbsp;·¼½mèB'.ˆàD
+.†.„@®¢ì8Á³“ˆ‡$
+H.â¾tiÈïð.Œ8.¹ÏÅ
+cÔˁ‘Ϲ°ê¶,ä©)
+kaIAA~…©¼.³pU±*J
+Ì^$.Õ'¦¦«ÒÕÙ¡l{›
+ìÔGy©.pŠf^²¢..05
+÷8ðëç\F.ß.h.Ã|5é
+.€.éIø.ÜðâÛ..À#á
+ÏË.¾ã·7ép˜(*R.¥Ü
+P•éÖõc{맀~vÉwÙÊ
+ýó—-.£Mȇ—ÆLeweF
+¯¸À;%w\ùçà&lt;øGÁe
+P“S›Nó«®%ðÝ4u™ï
+¶µ±)¦Ú0‘´Bib/#Uê
+äˆÞ¤Ï.&gt;®ï...t×.
+›àLê@LKJµÜ.â&nbsp;ùç&gt;
+.¨ë8?õÉö‹..C”Qá"
+i¬*.i—=Ë­ûîÉc×.}
+ãdˆW¸*&lt;&gt;^,•ÊT›.Æ
+ä©.Îø˜Y‰ÛÓÿËDã1
+â=Æ'„D7G}xÛáq´â!
+\1L¡-..„.ø.{÷Ê
+|þ˜.G&gt;ã­Ìç..@–
+‚|£©ó…[ºI•¬ËLÆő
+ˆƒt¹9 .ä.3.²Í­]
+.M·.Raçv€YôœkV¦
+(MÕRQTM¢..OŒ:-^2
+pÿٝ†3§Åý'«..à
+Ž¼?ðtHŸo.._Å.«nd
+œú9Ç¿…._q.ߑ5.Dê
+|äë..±Ê.‘.M.K.&gt;è
+.ì.9Ÿp.›­7ž¹zÊ
+º'ˆ.I6H¼Ä.p.ft..
+ª§Ñ!tBðüôz4.;²s
+ã.{¾ƒ.Θ.+í⪲–â
+6ÖTü.·é.=P&gt;.Z¤.Ù
+Ä毯bîÜã0{0'Ž’¤7
+šY®ï½UQz..¡”DA£ß
+òn0bd:o,æ.çF—‹.
+6ރ²Oý.¸ò_À^†Â®þ
+§sm=·¦&gt;]e&amp;â,ß²p
+›#æÏ.Dü.ˆðLŠÞ&lt;uö
+ã͐.'&lt;üäׇ‘ƒhâW"
+Å»‚»{kÃÁnzہ.ÛV.
+.ýéãꞡ.ÑàC¼×â¡ð
+þ‹S‡Nv_¿Õ.²ÉWvÀW
+"ÊÌ. +›-.Ôõ2Nœæ
+o&nbsp;á%÷r’.:•^pÜ.üí
+ÁUø.€Óhè¹.¾†.èõÅ
+3Ð4ä|g9$.ô”uŸ..B
+Ë.×.͍£áe8".)YéÚ
+tYB˜&amp;.ЫƒïÃ×/•]©
+ª.—W֕4.úO'—¢Øs
+‡&amp;Ÿæ°Ÿ‚ӣف¬@j!.
+æA..¾Å„ü;C äôï¬Á
+xëgúš9·^4üÞò..f
+C.AÉÍò®Žþ‹.تZ.
+KÛA7èÔ´'ÖD´y×ì.ô
+‚;&lt;.—'µÔ–—×Ú2¬ª
+rqš-³.˜éÖþæÁ+§ü·
+ì×ø%ø‰dÛåAº&nbsp;Ü.¡e
+›@š˜..SÔÜZSÝÜ._
+‡'ƒ”JÆ¿.úU’Íã¿x½
+Ù&lt;aÂ...&amp;.Äÿ.˜¤Qå
+.endstream.endob
+j.13 0 obj.6288.
+endobj.9 0 obj.&lt;
+&lt;/BaseFont/JWWMR
+W+Times-Roman/Fo
+ntDescriptor 8 0
+ R/Type/Font./Fi
+rstChar 32/LastC
+har 122/Widths[.
+250 0 0 0 0 0 0 
+0 0 0 0 564 0 33
+3 250 278.500 50
+0 500 500 500 50
+0 500 500 500 50
+0 278 0 0 0 0 44
+4.0 722 667 667 
+722 611 556 722 
+722 333 389 722 
+611 889 722 722.
+556 0 667 556 61
+1 722 722 0 722 
+722 0 0 278 0 0 
+500.0 444 500 44
+4 500 444 333 0 
+500 278 0 500 27
+8 778 500 500.50
+0 0 333 389 278 
+500 500 722 0 50
+0 444]./Encoding
+/WinAnsiEncoding
+/Subtype/Type1&gt;&gt;
+.endobj.8 0 obj.
+&lt;&lt;/Type/FontDesc
+riptor/FontName/
+JWWMRW+Times-Rom
+an/FontBBox[-9 -
+218 863 688]/Fla
+gs 4./Ascent 688
+./CapHeight 688.
+/Descent -218./I
+talicAngle 0./St
+emV 129./Missing
+Width 250./CharS
+et(/four/L/A/y/n
+/c/X/five/M/B/z/
+o/d/Y/six/N/C/p/
+e/backslash/seve
+n/O/D/f/eight/P/
+E/r/nine/F/s/h/u
+nderscore/colon/
+R/G/t/i/S/H/u/T/
+I/v/k/U/J/w/l/a/
+V/K/m/b/question
+/plus/space/hyph
+en/period/slash/
+zero/one/two/thr
+ee)/FontFile3 12
+ 0 R&gt;&gt;.endobj.2 
+0 obj.&lt;&lt;/Produce
+r(GPL Ghostscrip
+t 8.15)./Creatio
+nDate(D:20060306
+202537)./ModDate
+(D:2006030620253
+7)./Title(Protel
+ Schematic)./Cre
+ator(PScript5.dl
+l Version 5.2)./
+Author(Rob Brown
+)&gt;&gt;endobj.xref.0
+ 14.0000000000 6
+5535 f .00000160
+59 00000 n .0000
+023490 00000 n .
+0000015990 00000
+ n .0000015826 0
+0000 n .00000000
+15 00000 n .0000
+015805 00000 n .
+0000016107 00000
+ n .0000023068 0
+0000 n .00000226
+03 00000 n .0000
+016148 00000 n .
+0000016178 00000
+ n .0000016208 0
+0000 n .00000225
+82 00000 n .trai
+ler.&lt;&lt; /Size 14 
+/Root 1 0 R /Inf
+o 2 0 R./ID [(¯Ì
+®.ýÜ/«s\)1¨Ïúsû)
+(¯Ì®.ýÜ/«s\)1¨Ïú
+</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000106: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:02.6562500 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x1e bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 73 FB 29 5D 0A 3E 3E 0A 73 74 61 72 74 78 72 65
+ 66 0A 32 33 36 37 38 0A 25 25 45 4F 46 0A</pre></td>
+<td class="st0200ff" valign="top"><pre>sû)].&gt;&gt;.startxre
+f.23678.%%EOF.</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000107: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.2812500 +0.6250000
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 1C 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000108: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.2812500 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x10 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 10 00 00 00 01 00 01 98 1D 00 00 00 09 30 00 00
+</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....0..
+</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000109: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.2968750 +0.0156250
+</span>Pipe Handle: 0x898c8b84
+Get 0x30 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 30 00 00 00 02 00 01 98 1D 00 00 00 10 00 00 00
+ 01 DC 02 DC 03 DC 04 DC 07 DC 08 DC 0B DC 41 DC
+ 4F DC 9A DC 46 DC 93 DE 94 DE 9A DE 44 DC 89 DC
+</pre></td>
+<td class="st0200ff" valign="top"><pre>0......˜........
+.Ü.Ü.Ü.Ü.Ü.Ü.ÜAÜ
+OܚÜFܓޔޚÞD܉Ü
+</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000110: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.2968750 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 1D 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000111: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.2968750 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 1E 00 00 00 02 DC 00 00
+ 09 30 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....Ü..
+.0..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000112: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.2968750 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x18 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 18 00 00 00 02 00 02 98 1E 00 00 00 02 DC 04 00
+ 00 00 00 04 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....Ü..
+........</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000113: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.2968750 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 1E 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000114: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.2968750 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 1F 00 00 00 4F DC 00 00
+ 09 30 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜....OÜ..
+.0..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000115: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.2968750 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x1b bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 1B 00 00 00 02 00 02 98 1F 00 00 00 4F DC 02 00
+ 01 00 10 00 00 00 02 02 00 00 01</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜....OÜ..
+...........</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000116: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.2968750 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 1F 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000117: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.2968750 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 20 00 00 00 41 DC 00 00
+ 09 30 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜ ...AÜ..
+.0..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000118: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.3125000 +0.0156250
+</span>Pipe Handle: 0x898c8b84
+Get 0x26 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 26 00 00 00 02 00 02 98 20 00 00 00 41 DC 0A 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 04 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>&amp;......˜ ...AÜ..
+................
+......</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000119: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.3125000 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 20 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......  ...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000120: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.3125000 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x10 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 10 00 00 00 01 00 01 98 21 00 00 00 08 30 00 00
+</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜!....0..
+</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000121: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.3125000 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x30 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 30 00 00 00 02 00 01 98 21 00 00 00 10 00 00 00
+ 01 DC 02 DC 03 DC 04 DC 07 DC 08 DC 0B DC 41 DC
+ 4F DC 9A DC 46 DC 93 DE 94 DE 9A DE 44 DC 89 DC
+</pre></td>
+<td class="st0200ff" valign="top"><pre>0......˜!.......
+.Ü.Ü.Ü.Ü.Ü.Ü.ÜAÜ
+OܚÜFܓޔޚÞD܉Ü
+</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000122: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.3125000 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 21 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... !...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000123: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.3125000 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 22 00 00 00 02 DC 00 00
+ 08 30 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜"....Ü..
+.0..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000124: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.3125000 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x18 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 18 00 00 00 02 00 02 98 22 00 00 00 02 DC 04 00
+ 00 00 00 04 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜"....Ü..
+........</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000125: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.3125000 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 22 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... "...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000126: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.3125000 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 23 00 00 00 4F DC 00 00
+ 08 30 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜#...OÜ..
+.0..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000127: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.3125000 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x1b bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 1B 00 00 00 02 00 02 98 23 00 00 00 4F DC 02 00
+ 01 00 10 00 00 00 02 02 00 00 01</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜#...OÜ..
+...........</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000128: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.3281250 +0.0156250
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 23 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... #...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000129: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.3281250 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 24 00 00 00 41 DC 00 00
+ 08 30 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜$...AÜ..
+.0..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000130: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.3281250 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x26 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 26 00 00 00 02 00 02 98 24 00 00 00 41 DC 0A 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 04 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>&amp;......˜$...AÜ..
+................
+......</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000131: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.3281250 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 24 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... $...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000132: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.3281250 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x10 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 10 00 00 00 01 00 01 98 25 00 00 00 01 B9 00 00
+</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜%....¹..
+</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000133: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.3281250 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x32 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 32 00 00 00 02 00 01 98 25 00 00 00 11 00 00 00
+ 01 DC 02 DC 03 DC 04 DC 07 DC 08 DC 0B DC 41 DC
+ 4F DC 9A DC 46 DC 93 DE 94 DE 9A DE 44 DC 89 DC
+ 99 DE</pre></td>
+<td class="st0200ff" valign="top"><pre>2......˜%.......
+.Ü.Ü.Ü.Ü.Ü.Ü.ÜAÜ
+OܚÜFܓޔޚÞD܉Ü
+™Þ</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000134: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.3281250 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 25 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... %...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000135: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.3281250 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 26 00 00 00 02 DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜&amp;....Ü..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000136: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.3281250 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x18 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 18 00 00 00 02 00 02 98 26 00 00 00 02 DC 04 00
+ 00 00 00 04 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜&amp;....Ü..
+........</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000137: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.3281250 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 26 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... &amp;...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000138: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.3281250 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 27 00 00 00 4F DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜'...OÜ..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000139: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.3281250 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x1b bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 1B 00 00 00 02 00 02 98 27 00 00 00 4F DC 02 00
+ 01 00 10 00 00 00 02 02 00 00 01</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜'...OÜ..
+...........</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000140: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.3437500 +0.0156250
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 27 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... '...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000141: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.3437500 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 28 00 00 00 41 DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜(...AÜ..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000142: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.3437500 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x26 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 26 00 00 00 02 00 02 98 28 00 00 00 41 DC 0A 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 04 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>&amp;......˜(...AÜ..
+................
+......</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000143: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.3437500 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 28 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... (...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000144: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.3437500 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x10 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 10 00 00 00 01 00 01 98 29 00 00 00 01 30 00 00
+</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜)....0..
+</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000145: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.3437500 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x26 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 26 00 00 00 02 00 01 98 29 00 00 00 0B 00 00 00
+ 01 DC 02 DC 03 DC 04 DC 05 DC 07 DC 08 DC 0B DC
+ 41 DC 4F DC 44 DC</pre></td>
+<td class="st0200ff" valign="top"><pre>&amp;......˜).......
+.Ü.Ü.Ü.Ü.Ü.Ü.Ü.Ü
+AÜOÜDÜ</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000146: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.3437500 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 29 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... )...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000147: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.3437500 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 2A 00 00 00 02 DC 00 00
+ 01 30 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜*....Ü..
+.0..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000148: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.3437500 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x18 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 18 00 00 00 02 00 02 98 2A 00 00 00 02 DC 04 00
+ 00 00 00 04 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜*....Ü..
+........</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000149: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.3437500 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 2A 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... *...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000150: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.3437500 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 2B 00 00 00 4F DC 00 00
+ 01 30 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜+...OÜ..
+.0..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000151: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.3437500 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x1b bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 1B 00 00 00 02 00 02 98 2B 00 00 00 4F DC 02 00
+ 01 00 08 00 00 00 02 02 00 00 01</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜+...OÜ..
+...........</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000152: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.3593750 +0.0156250
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 2B 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... +...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000153: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.3593750 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 2C 00 00 00 41 DC 00 00
+ 01 30 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜,...AÜ..
+.0..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000154: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.3593750 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x26 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 26 00 00 00 02 00 02 98 2C 00 00 00 41 DC 0A 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 04 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>&amp;......˜,...AÜ..
+................
+......</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000155: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.3593750 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 2C 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ,...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000156: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.3593750 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 2D 00 00 00 02 DC 00 00
+ 00 30 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜-....Ü..
+.0..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000157: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.3593750 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x18 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 18 00 00 00 02 00 02 98 2D 00 00 00 02 DC 04 00
+ 00 00 00 04 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜-....Ü..
+........</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000158: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.3593750 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 2D 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... -...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000159: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.3593750 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 2E 00 00 00 41 DC 00 00
+ 00 30 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜....AÜ..
+.0..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000160: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.3593750 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x26 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 26 00 00 00 02 00 02 98 2E 00 00 00 41 DC 0A 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 04 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>&amp;......˜....AÜ..
+................
+......</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000161: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.3593750 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 2E 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000162: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.3593750 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x20 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 20 00 00 00 01 00 05 98 2F 00 00 00 01 40 00 00
+ 00 00 00 00 FF FF FF FF 00 00 00 00 00 00 00 00
+</pre></td>
+<td class="st0200ff" valign="top"><pre> ......˜/....@..
+....ÿÿÿÿ........
+</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000163: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.3750000 +0.0156250
+</span>Pipe Handle: 0x898c8b84
+Get 0xb7 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> B7 00 00 00 02 00 05 98 2F 00 00 00 09 00 00 00
+ 01 40 00 00 01 DC 06 00 01 00 01 00 01 40 00 00
+ 02 DC 04 00 00 30 01 40 00 00 03 DC 04 00 00 00
+ 01 40 00 00 04 DC 08 00 12 5E 00 00 00 00 00 00
+ 01 40 00 00 07 DC FF FF 0D 4B 00 53 00 30 00 36
+ 00 30 00 33 00 30 00 36 00 2E 00 70 00 64 00 66
+ 00 00 00 01 40 00 00 08 DC FF FF 0F 32 00 30 00
+ 30 00 33 00 31 00 31 00 30 00 38 00 54 00 30 00
+ 39 00 32 00 33 00 34 00 30 00 01 40 00 00 0B DC
+ 06 00 00 00 00 00 01 40 00 00 41 DC 0A 00 00 00
+ 00 00 12 5E 00 00 F2 35 00 00 35 03 00 00 01 40
+ 00 00 4F DC 02 00 01</pre></td>
+<td class="st0200ff" valign="top"><pre>·......˜/.......
+.@...Ü.......@..
+.Ü...0.@...Ü....
+.@...Ü...^......
+.@...Üÿÿ.K.S.0.6
+.0.3.0.6...p.d.f
+....@...Üÿÿ.2.0.
+0.3.1.1.0.8.T.0.
+9.2.3.4.0..@...Ü
+.......@..AÜ....
+...^..ò5..5....@
+..OÜ...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000164: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.3906250 +0.0156250
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 2F 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... /...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000165: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.3906250 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x10 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 10 00 00 00 01 00 05 10 30 00 00 00 01 00 01 00
+</pre></td>
+<td class="st0200ff" valign="top"><pre>........0.......
+</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000166: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.3906250 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x4a bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 4A 00 00 00 02 00 05 10 30 00 00 00 03 00 02 00
+ 00 00 00 00 F4 3C 00 00 00 00 00 00 0D 3C 00 00
+ 00 00 FF FF FF FF 11 49 00 6E 00 74 00 65 00 72
+ 00 6E 00 61 00 6C 00 20 00 53 00 74 00 6F 00 72
+ 00 61 00 67 00 65 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>J.......0.......
+....ô&lt;.......&lt;..
+..ÿÿÿÿ.I.n.t.e.r
+.n.a.l. .S.t.o.r
+.a.g.e....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000167: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:03.3906250 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 30 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... 0...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000168: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:25.5625000 +22.1718750
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 0B 10 31 00 00 00 01 40 00 00
+ 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>........1....@..
+....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000169: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:25.6406250 +0.0781250
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 31 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... 1...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000170: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.5312500 +10.8906250
+</span>Pipe Handle: 0x898c8ba4
+Send 0x10 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 10 00 00 00 01 00 01 98 32 00 00 00 01 B9 00 00
+</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜2....¹..
+</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000171: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.5312500 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x32 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 32 00 00 00 02 00 01 98 32 00 00 00 11 00 00 00
+ 01 DC 02 DC 03 DC 04 DC 07 DC 08 DC 0B DC 41 DC
+ 4F DC 9A DC 46 DC 93 DE 94 DE 9A DE 44 DC 89 DC
+ 99 DE</pre></td>
+<td class="st0200ff" valign="top"><pre>2......˜2.......
+.Ü.Ü.Ü.Ü.Ü.Ü.ÜAÜ
+OܚÜFܓޔޚÞD܉Ü
+™Þ</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000172: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.5312500 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 32 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... 2...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000173: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.5312500 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 33 00 00 00 01 DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜3....Ü..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000174: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.5312500 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x1a bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 1A 00 00 00 02 00 02 98 33 00 00 00 01 DC 06 00
+ 00 00 00 00 00 01 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜3....Ü..
+..........</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000175: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.5312500 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 33 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... 3...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000176: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.5312500 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 34 00 00 00 02 DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜4....Ü..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000177: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.5312500 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x18 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 18 00 00 00 02 00 02 98 34 00 00 00 02 DC 04 00
+ 00 00 00 04 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜4....Ü..
+........</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000178: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.5468750 +0.0156250
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 34 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... 4...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000179: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.5468750 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 35 00 00 00 03 DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜5....Ü..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000180: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.5468750 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x1e bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 1E 00 00 00 02 00 02 98 35 00 00 00 03 DC 04 00
+ 00 00 00 40 00 00 00 02 02 00 00 00 01 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜5....Ü..
+...@..........</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000181: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.5468750 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 35 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... 5...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000182: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.5468750 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 36 00 00 00 04 DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜6....Ü..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000183: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.5468750 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x1e bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 1E 00 00 00 02 00 02 98 36 00 00 00 04 DC 08 00
+ 00 00 00 00 00 00 00 00 00 04 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜6....Ü..
+..............</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000184: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.5468750 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 36 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... 6...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000185: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.5468750 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 37 00 00 00 07 DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜7....Ü..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000186: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.5468750 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x18 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 18 00 00 00 02 00 02 98 37 00 00 00 07 DC FF FF
+ 00 00 04 00 00 00 05 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜7....Üÿÿ
+........</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000187: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.5468750 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 37 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... 7...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000188: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.5468750 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 38 00 00 00 08 DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜8....Ü..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000189: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.5625000 +0.0156250
+</span>Pipe Handle: 0x898c8b84
+Get 0x18 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 18 00 00 00 02 00 02 98 38 00 00 00 08 DC FF FF
+ 01 00 40 00 00 00 03 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜8....Üÿÿ
+..@.....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000190: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.5625000 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 38 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... 8...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000191: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.5625000 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 39 00 00 00 0B DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜9....Ü..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000192: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.5625000 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x1a bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 1A 00 00 00 02 00 02 98 39 00 00 00 0B DC 06 00
+ 00 00 00 00 00 40 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜9....Ü..
+.....@....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000193: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.5625000 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 39 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... 9...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000194: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.5625000 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 3A 00 00 00 41 DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜:...AÜ..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000195: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.5625000 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x26 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 26 00 00 00 02 00 02 98 3A 00 00 00 41 DC 0A 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 04 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>&amp;......˜:...AÜ..
+................
+......</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000196: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.5625000 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 3A 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... :...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000197: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.5625000 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 3B 00 00 00 4F DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜;...OÜ..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000198: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.5781250 +0.0156250
+</span>Pipe Handle: 0x898c8b84
+Get 0x1b bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 1B 00 00 00 02 00 02 98 3B 00 00 00 4F DC 02 00
+ 01 00 10 00 00 00 02 02 00 00 01</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜;...OÜ..
+...........</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000199: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.5781250 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 3B 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ;...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000200: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.5781250 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 3C 00 00 00 9A DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜&lt;...šÜ..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000201: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.5781250 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x17 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 17 00 00 00 02 00 02 98 3C 00 00 00 9A DC FF FF
+ 01 00 10 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜&lt;...šÜÿÿ
+.......</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000202: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.5781250 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 3C 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... &lt;...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000203: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.5781250 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 3D 00 00 00 46 DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜=...FÜ..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000204: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.5781250 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x17 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 17 00 00 00 02 00 02 98 3D 00 00 00 46 DC FF FF
+ 01 00 10 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜=...FÜÿÿ
+.......</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000205: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.5781250 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 3D 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... =...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000206: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.5781250 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 3E 00 00 00 93 DE 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜&gt;...“Þ..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000207: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.5781250 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x34 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 34 00 00 00 02 00 02 98 3E 00 00 00 93 DE 06 00
+ 00 00 00 00 00 80 00 00 00 02 06 00 40 1F 00 00
+ 80 3E 00 00 22 56 00 00 00 7D 00 00 44 AC 00 00
+ 80 BB 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>4......˜&gt;...“Þ..
+.....€......@...
+€&gt;.."V...}..D¬..
+€»..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000208: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.5937500 +0.0156250
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 3E 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... &gt;...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000209: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.5937500 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 3F 00 00 00 94 DE 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜?...”Þ..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000210: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.5937500 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x1e bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 1E 00 00 00 02 00 02 98 3F 00 00 00 94 DE 04 00
+ 00 00 00 80 00 00 00 02 02 00 01 00 02 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜?...”Þ..
+...€..........</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000211: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.5937500 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 3F 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ?...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000212: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.5937500 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 40 00 00 00 9A DE 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜@...šÞ..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000213: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.5937500 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x26 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 26 00 00 00 02 00 02 98 40 00 00 00 9A DE 06 00
+ 00 00 00 00 00 80 00 00 00 01 88 13 00 00 B0 8F
+ 06 00 01 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>&amp;......˜@...šÞ..
+.....€....ˆ...°
+......</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000214: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.5937500 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 40 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... @...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000215: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.5937500 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 41 00 00 00 44 DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜A...DÜ..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000216: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.5937500 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x17 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 17 00 00 00 02 00 02 98 41 00 00 00 44 DC FF FF
+ 01 00 10 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜A...DÜÿÿ
+.......</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000217: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.5937500 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 41 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... A...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000218: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.5937500 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 42 00 00 00 89 DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜B...‰Ü..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000219: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.6093750 +0.0156250
+</span>Pipe Handle: 0x898c8b84
+Get 0x1a bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 1A 00 00 00 02 00 02 98 42 00 00 00 89 DC 06 00
+ 01 00 00 00 00 80 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜B...‰Ü..
+.....€....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000220: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.6093750 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 42 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... B...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000221: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.6093750 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 43 00 00 00 99 DE 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜C...™Þ..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000222: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.6093750 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0x28 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 28 00 00 00 02 00 02 98 43 00 00 00 99 DE 06 00
+ 00 00 00 00 00 20 00 00 00 02 03 00 60 01 00 00
+ 61 01 00 00 30 01 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>(......˜C...™Þ..
+..... ......`...
+a...0...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000223: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.6093750 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 43 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... C...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000224: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.6093750 +0.0
+</span>Pipe Handle: 0x898c8ba4
+Send 0x10 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 10 00 00 00 01 00 05 10 44 00 00 00 01 00 01 00
+</pre></td>
+<td class="st0200ff" valign="top"><pre>........D.......
+</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000225: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.6250000 +0.0156250
+</span>Pipe Handle: 0x898c8b84
+Get 0x4a bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 4A 00 00 00 02 00 05 10 44 00 00 00 03 00 02 00
+ 00 00 00 00 F4 3C 00 00 00 00 00 80 0D 3C 00 00
+ 00 00 FF FF FF FF 11 49 00 6E 00 74 00 65 00 72
+ 00 6E 00 61 00 6C 00 20 00 53 00 74 00 6F 00 72
+ 00 61 00 67 00 65 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>J.......D.......
+....ô&lt;.....€.&lt;..
+..ÿÿÿÿ.I.n.t.e.r
+.n.a.l. .S.t.o.r
+.a.g.e....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000226: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:36.6250000 +0.0
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 44 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... D...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000227: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:55.1718750 +18.5468750
+</span>Pipe Handle: 0x898c8ba4
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 0F 10 45 00 00 00 01 00 01 00
+ 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>........E.......
+....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000228: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:57.0625000 +1.8906250
+</span>Pipe Handle: 0x898c8b84
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 45 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... E...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000229: PnP Event: Surprise Removal (UP), 12.09.2006 21:06:57.1875000 +0.1250000
+</span>The USB device has just been disconnected from the system.</p>
+<p class="st0200ff"></p>
+<p class="st0000ff"><span class="st0100ff">000230: Bulk or Interrupt Transfer (UP), 12.09.2006 21:06:57.2187500 +0.0312500
+</span>Pipe Handle: 0x898c8ba4
+Send 0xc bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 01 00 03 10 46 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>........F...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000231: Class-Specific Request (DOWN), 12.09.2006 21:06:57.2187500 +0.0
+</span>Destination: Inrterface, Index 0
+Reserved Bits: 161
+Request: 0x67
+Value: 0x0
+Get 0x24 bytes from the device</p>
+<p class="st0200ff"></p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 00 00 00 00 24 00 00 00 4C F5 73 00 00 00 00 00
+ 67 A1 01 00 44 00 72 00 69 00 76 00 65 00 72 00
+ 7B 00 37 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....$...Lõs.....
+g¡..D.r.i.v.e.r.
+{.7.</pre></td></tr></tbody></table>
+<p class="st0200ff"></p>
+<p class="st0000ff"><span class="st0100ff">000232: Class-Specific Request (UP), 12.09.2006 21:06:57.7343750 +0.5156250
+</span>Destination: Inrterface, Index 0
+Reserved Bits: 161
+Request: 0x67
+Value: 0x0
+Get 0x24 bytes from the device</p>
+<p class="st0200ff"></p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 00 00 00 00 24 00 00 00 4C F5 73 00 00 00 00 00
+ 67 A1 01 00 44 00 72 00 69 00 76 00 65 00 72 00
+ 7B 00 37 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....$...Lõs.....
+g¡..D.r.i.v.e.r.
+{.7.</pre></td></tr></tbody></table>
+<p class="st0200ff"></p>
+<p class="st0000ff"><span class="st0100ff">000233: Class-Specific Request (DOWN), 12.09.2006 21:06:57.7343750 +0.0
+</span>Destination: Inrterface, Index 0
+Reserved Bits: 33
+Request: 0x66
+Value: 0x0
+Send 0x0 bytes to the device</p>
+<p class="st0200ff"></p>
+<p class="st0000ff"><span class="st0100ff">000234: Class-Specific Request (UP), 12.09.2006 21:06:58.2500000 +0.5156250
+</span>Destination: Inrterface, Index 0
+Reserved Bits: 33
+Request: 0x66
+Value: 0x0
+Send 0x0 bytes to the device</p>
+<p class="st0200ff"></p>
+<p class="st0000ff"><span class="st0100ff">000235: Class-Specific Request (DOWN), 12.09.2006 21:06:59.2500000 +1.0
+</span>Destination: Inrterface, Index 0
+Reserved Bits: 161
+Request: 0x67
+Value: 0x0
+Get 0x24 bytes from the device</p>
+<p class="st0200ff"></p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 00 00 00 00 24 00 00 00 BC F4 73 00 00 00 00 00
+ 67 A1 01 7C 00 00 01 00 00 00 02 00 00 00 04 00
+ 04 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....$...¼ôs.....
+g¡.|............
+....</pre></td></tr></tbody></table>
+<p class="st0200ff"></p>
+<p class="st0000ff"><span class="st0100ff">000236: Class-Specific Request (UP), 12.09.2006 21:06:59.2812500 +0.0312500
+</span>Destination: Inrterface, Index 0
+Reserved Bits: 161
+Request: 0x67
+Value: 0x0
+Get 0x24 bytes from the device</p>
+<p class="st0200ff"></p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 00 00 00 00 24 00 00 00 BC F4 73 00 00 00 00 00
+ 67 A1 01 7C 00 00 01 00 00 00 02 00 00 00 04 00
+ 04 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....$...¼ôs.....
+g¡.|............
+....</pre></td></tr></tbody></table>
+<p class="st0200ff"></p>
+<p class="st0000ff"><span class="st0100ff">000237: PnP Event: Device Disconnected (UP), 12.09.2006 21:06:59.4062500 +0.1250000
+</span>The USB device has just been removed from the system, all drivers unloaded.</p>
+<p class="st0200ff"></p>
+<p class="st0000ff"><span class="st0100ff">000238: PnP Event: Query ID (UP), 12.09.2006 21:07:03.1250000 +3.7187500
+</span>Hardware IDs: USB\Vid_0930&amp;Pid_0011&amp;Rev_0100, USB\Vid_0930&amp;Pid_0011</p>
+<p class="st0200ff"></p>
+<p class="st0000ff"><span class="st0100ff">000239: PnP Event: Query ID (UP), 12.09.2006 21:07:03.1250000 +0.0
+</span>Compatible IDs: USB\MS_COMP_MTP, USB\Class_ff&amp;SubClass_00&amp;Prot_50, USB\Class_ff&amp;SubClass_00, USB\Class_ff</p>
+<p class="st0200ff"></p>
+<p class="st0000ff"><span class="st0100ff">000240: Get Descriptor Request (DOWN), 12.09.2006 21:07:03.1250000 +0.0
+</span>Descriptor Type: Device
+Descriptor Index: 0x0
+Transfer Buffer Size: 0x12 bytes
+</p>
+<p class="st0200ff"></p>
+<p class="st0000ff"><span class="st0100ff">000241: Control Transfer (UP), 12.09.2006 21:07:03.1250000 +0.0
+</span>Pipe Handle: 0x89a36260
+</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 12 01 00 02 00 00 00 40 30 09 11 00 00 01 01 02
+ 03 01</pre></td>
+<td class="st0200ff" valign="top"><pre>.......@0.......
+..</pre></td></tr></tbody></table>
+<p class="st0000ff">Setup Packet</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 80 06 00 01 00 00 12 00</pre></td>
+<td class="st0200ff" valign="top"><pre>€.......</pre></td></tr></tbody></table>
+<p class="st0000ff">Recipient: Device
+Request Type: Standard
+Direction: Device-&gt;Host
+Request: 0x6 (GET_CONFIGURATION)
+Value: 0x100
+Index: 0x0
+Length: 0x12</p>
+<p class="st0000ff"><span class="st0100ff">000242: Get Descriptor Request (DOWN), 12.09.2006 21:07:03.1250000 +0.0
+</span>Descriptor Type: Configuration
+Descriptor Index: 0x0
+Transfer Buffer Size: 0x9 bytes
+</p>
+<p class="st0200ff"></p>
+<p class="st0000ff"><span class="st0100ff">000243: Control Transfer (UP), 12.09.2006 21:07:03.1250000 +0.0
+</span>Pipe Handle: 0x89a36260
+</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 09 02 27 00 01 01 04 80 FA</pre></td>
+<td class="st0200ff" valign="top"><pre>..'....€ú</pre></td></tr></tbody></table>
+<p class="st0000ff">Setup Packet</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 80 06 00 02 00 00 09 00</pre></td>
+<td class="st0200ff" valign="top"><pre>€.......</pre></td></tr></tbody></table>
+<p class="st0000ff">Recipient: Device
+Request Type: Standard
+Direction: Device-&gt;Host
+Request: 0x6 (GET_CONFIGURATION)
+Value: 0x200
+Index: 0x0
+Length: 0x9</p>
+<p class="st0000ff"><span class="st0100ff">000244: Get Descriptor Request (DOWN), 12.09.2006 21:07:03.1250000 +0.0
+</span>Descriptor Type: Configuration
+Descriptor Index: 0x0
+Transfer Buffer Size: 0x27 bytes
+</p>
+<p class="st0200ff"></p>
+<p class="st0000ff"><span class="st0100ff">000245: Control Transfer (UP), 12.09.2006 21:07:03.1250000 +0.0
+</span>Pipe Handle: 0x89a36260
+</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 09 02 27 00 01 01 04 80 FA 09 04 00 00 03 FF 00
+ 50 05 07 05 81 02 00 02 00 07 05 02 02 00 02 00
+ 07 05 83 03 40 00 10</pre></td>
+<td class="st0200ff" valign="top"><pre>..'....€ú.....ÿ.
+P..............
+..ƒ.@..</pre></td></tr></tbody></table>
+<p class="st0000ff">Setup Packet</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 80 06 00 02 00 00 27 00</pre></td>
+<td class="st0200ff" valign="top"><pre>€.....'.</pre></td></tr></tbody></table>
+<p class="st0000ff">Recipient: Device
+Request Type: Standard
+Direction: Device-&gt;Host
+Request: 0x6 (GET_CONFIGURATION)
+Value: 0x200
+Index: 0x0
+Length: 0x27</p>
+<p class="st0000ff"><span class="st0100ff">000246: Select Configuration (DOWN), 12.09.2006 21:07:03.1250000 +0.0
+</span>Configuration Index: 1
+</p>
+<p class="st0000ff"><span class="st0100ff">000247: Select Configuration (UP), 12.09.2006 21:07:03.3125000 +0.1875000
+</span>Configuration Index: 1
+Configuration Handle: 0x88bc18d8</p>
+<p class="st0000ff"><span class="st0100ff">000248: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:03.8281250 +0.5156250
+</span>Pipe Handle: 0x897f5bfc (Endpoint Address: 0x2)
+Send 0x10 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 10 00 00 00 01 00 02 10 00 00 00 00 01 00 00 00
+</pre></td>
+<td class="st0200ff" valign="top"><pre>................
+</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000249: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.1250000 +8.2968750
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000250: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.1250000 +0.0
+</span>Pipe Handle: 0x897f5bfc (Endpoint Address: 0x2)
+Send 0xc bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 01 00 04 10 01 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>............</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000251: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.1250000 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0x14 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 02 00 04 10 01 00 00 00 01 00 00 00
+ 01 00 01 00</pre></td>
+<td class="st0200ff" valign="top"><pre>................
+....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000252: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.1250000 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 01 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000253: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.1250000 +0.0
+</span>Pipe Handle: 0x897f5bfc (Endpoint Address: 0x2)
+Send 0x10 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 10 00 00 00 01 00 05 10 02 00 00 00 01 00 01 00
+</pre></td>
+<td class="st0200ff" valign="top"><pre>................
+</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000254: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.1250000 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0x4a bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 4A 00 00 00 02 00 05 10 02 00 00 00 03 00 02 00
+ 00 00 00 00 F4 3C 00 00 00 00 00 80 0E 3C 00 00
+ 00 00 FF FF FF FF 11 49 00 6E 00 74 00 65 00 72
+ 00 6E 00 61 00 6C 00 20 00 53 00 74 00 6F 00 72
+ 00 61 00 67 00 65 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>J...............
+....ô&lt;.....€.&lt;..
+..ÿÿÿÿ.I.n.t.e.r
+.n.a.l. .S.t.o.r
+.a.g.e....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000255: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.1250000 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 02 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000256: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.1406250 +0.0156250
+</span>Pipe Handle: 0x897f5bfc (Endpoint Address: 0x2)
+Send 0xc bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 01 00 01 10 03 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>............</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000257: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.1406250 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0x159 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 59 01 00 00 02 00 01 10 03 00 00 00 64 00 06 00
+ 00 00 64 00 30 6D 00 69 00 63 00 72 00 6F 00 73
+ 00 6F 00 66 00 74 00 2E 00 63 00 6F 00 6D 00 3A
+ 00 20 00 31 00 2E 00 30 00 3B 00 20 00 6D 00 69
+ 00 63 00 72 00 6F 00 73 00 6F 00 66 00 74 00 2E
+ 00 63 00 6F 00 6D 00 2F 00 57 00 4D 00 44 00 52
+ 00 4D 00 50 00 44 00 3A 00 20 00 31 00 30 00 2E
+ 00 31 00 00 00 00 00 24 00 00 00 01 10 02 10 03
+ 10 04 10 05 10 06 10 07 10 08 10 09 10 0B 10 0C
+ 10 0D 10 14 10 15 10 16 10 02 98 01 98 03 98 04
+ 98 05 98 06 98 08 98 01 91 02 91 03 91 04 91 05
+ 91 06 91 07 91 08 91 09 91 0A 91 0B 91 0F 10 F1
+ 97 F2 97 02 00 00 00 02 40 03 40 02 00 00 00 01
+ D1 02 D1 00 00 00 00 05 00 00 00 09 30 08 30 01
+ B9 01 30 00 30 09 54 00 4F 00 53 00 48 00 49 00
+ 42 00 41 00 20 00 00 00 11 67 00 69 00 67 00 61
+ 00 62 00 65 00 61 00 74 00 20 00 20 00 20 00 20
+ 00 20 00 20 00 20 00 20 00 00 00 0E 25 00 4F 00
+ 55 00 54 00 5F 00 50 00 41 00 44 00 3A 00 31 00
+ 32 00 38 00 25 00 00 00 10 34 00 30 00 30 00 32
+ 00 46 00 39 00 44 00 31 00 36 00 34 00 31 00 32
+ 00 38 00 34 00 41 00 30 00</pre></td>
+<td class="st0200ff" valign="top"><pre>Y...........d...
+..d.0m.i.c.r.o.s
+.o.f.t...c.o.m.:
+. .1...0.;. .m.i
+.c.r.o.s.o.f.t..
+.c.o.m./.W.M.D.R
+.M.P.D.:. .1.0..
+.1.....$........
+................
+..........˜.˜.˜.
+˜.˜.˜.˜.‘.‘.‘.‘.
+‘.‘.‘.‘.‘.‘.‘..ñ
+—ò—.....@.@.....
+Ñ.Ñ.........0.0.
+¹.0.0.T.O.S.H.I.
+B.A. ....g.i.g.a
+.b.e.a.t. . . . 
+. . . . ....%.O.
+U.T._.P.A.D.:.1.
+2.8.%....4.0.0.2
+.F.9.D.1.6.4.1.2
+.8.4.A.0.</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000258: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.1562500 +0.0156250
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 03 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000259: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.1562500 +0.0
+</span>Pipe Handle: 0x897f5bfc (Endpoint Address: 0x2)
+Send 0x10 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 10 00 00 00 01 00 01 98 04 00 00 00 01 B9 00 00
+</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....¹..
+</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000260: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.1562500 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0x32 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 32 00 00 00 02 00 01 98 04 00 00 00 11 00 00 00
+ 01 DC 02 DC 03 DC 04 DC 07 DC 08 DC 0B DC 41 DC
+ 4F DC 9A DC 46 DC 93 DE 94 DE 9A DE 44 DC 89 DC
+ 99 DE</pre></td>
+<td class="st0200ff" valign="top"><pre>2......˜........
+.Ü.Ü.Ü.Ü.Ü.Ü.ÜAÜ
+OܚÜFܓޔޚÞD܉Ü
+™Þ</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000261: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.1562500 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 04 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000262: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.1562500 +0.0
+</span>Pipe Handle: 0x897f5bfc (Endpoint Address: 0x2)
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 05 00 00 00 01 DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....Ü..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000263: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.1562500 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0x1a bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 1A 00 00 00 02 00 02 98 05 00 00 00 01 DC 06 00
+ 00 00 00 00 00 01 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....Ü..
+..........</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000264: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.1562500 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 05 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000265: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.1562500 +0.0
+</span>Pipe Handle: 0x897f5bfc (Endpoint Address: 0x2)
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 06 00 00 00 02 DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....Ü..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000266: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.1562500 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0x18 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 18 00 00 00 02 00 02 98 06 00 00 00 02 DC 04 00
+ 00 00 00 04 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....Ü..
+........</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000267: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.1562500 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 06 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000268: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.1562500 +0.0
+</span>Pipe Handle: 0x897f5bfc (Endpoint Address: 0x2)
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 07 00 00 00 03 DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....Ü..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000269: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.1718750 +0.0156250
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0x1e bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 1E 00 00 00 02 00 02 98 07 00 00 00 03 DC 04 00
+ 00 00 00 40 00 00 00 02 02 00 00 00 01 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....Ü..
+...@..........</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000270: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.1718750 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 07 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000271: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.1718750 +0.0
+</span>Pipe Handle: 0x897f5bfc (Endpoint Address: 0x2)
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 08 00 00 00 04 DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....Ü..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000272: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.1718750 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0x1e bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 1E 00 00 00 02 00 02 98 08 00 00 00 04 DC 08 00
+ 00 00 00 00 00 00 00 00 00 04 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....Ü..
+..............</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000273: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.1718750 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 08 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000274: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.1718750 +0.0
+</span>Pipe Handle: 0x897f5bfc (Endpoint Address: 0x2)
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 09 00 00 00 07 DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....Ü..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000275: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.1718750 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0x18 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 18 00 00 00 02 00 02 98 09 00 00 00 07 DC FF FF
+ 00 00 04 00 00 00 05 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....Üÿÿ
+........</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000276: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.1718750 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 09 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000277: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.1718750 +0.0
+</span>Pipe Handle: 0x897f5bfc (Endpoint Address: 0x2)
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 0A 00 00 00 08 DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....Ü..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000278: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.1718750 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0x18 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 18 00 00 00 02 00 02 98 0A 00 00 00 08 DC FF FF
+ 01 00 40 00 00 00 03 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....Üÿÿ
+..@.....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000279: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.1875000 +0.0156250
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 0A 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000280: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.1875000 +0.0
+</span>Pipe Handle: 0x897f5bfc (Endpoint Address: 0x2)
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 0B 00 00 00 0B DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....Ü..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000281: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.1875000 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0x1a bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 1A 00 00 00 02 00 02 98 0B 00 00 00 0B DC 06 00
+ 00 00 00 00 00 40 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....Ü..
+.....@....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000282: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.1875000 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 0B 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000283: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.1875000 +0.0
+</span>Pipe Handle: 0x897f5bfc (Endpoint Address: 0x2)
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 0C 00 00 00 41 DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜....AÜ..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000284: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.1875000 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0x26 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 26 00 00 00 02 00 02 98 0C 00 00 00 41 DC 0A 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 04 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>&amp;......˜....AÜ..
+................
+......</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000285: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.1875000 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 0C 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000286: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.1875000 +0.0
+</span>Pipe Handle: 0x897f5bfc (Endpoint Address: 0x2)
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 0D 00 00 00 4F DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜....OÜ..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000287: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.1875000 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0x1b bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 1B 00 00 00 02 00 02 98 0D 00 00 00 4F DC 02 00
+ 01 00 10 00 00 00 02 02 00 00 01</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜....OÜ..
+...........</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000288: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.1875000 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 0D 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000289: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.2031250 +0.0156250
+</span>Pipe Handle: 0x897f5bfc (Endpoint Address: 0x2)
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 0E 00 00 00 9A DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜....šÜ..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000290: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.2031250 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0x17 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 17 00 00 00 02 00 02 98 0E 00 00 00 9A DC FF FF
+ 01 00 10 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜....šÜÿÿ
+.......</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000291: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.2031250 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 0E 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000292: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.2031250 +0.0
+</span>Pipe Handle: 0x897f5bfc (Endpoint Address: 0x2)
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 0F 00 00 00 46 DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜....FÜ..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000293: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.2031250 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0x17 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 17 00 00 00 02 00 02 98 0F 00 00 00 46 DC FF FF
+ 01 00 10 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜....FÜÿÿ
+.......</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000294: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.2031250 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 0F 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000295: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.2031250 +0.0
+</span>Pipe Handle: 0x897f5bfc (Endpoint Address: 0x2)
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 10 00 00 00 93 DE 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜....“Þ..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000296: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.2031250 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0x34 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 34 00 00 00 02 00 02 98 10 00 00 00 93 DE 06 00
+ 00 00 00 00 00 80 00 00 00 02 06 00 40 1F 00 00
+ 80 3E 00 00 22 56 00 00 00 7D 00 00 44 AC 00 00
+ 80 BB 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>4......˜....“Þ..
+.....€......@...
+€&gt;.."V...}..D¬..
+€»..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000297: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.2031250 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 10 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000298: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.2031250 +0.0
+</span>Pipe Handle: 0x897f5bfc (Endpoint Address: 0x2)
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 11 00 00 00 94 DE 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜....”Þ..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000299: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.2187500 +0.0156250
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0x1e bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 1E 00 00 00 02 00 02 98 11 00 00 00 94 DE 04 00
+ 00 00 00 80 00 00 00 02 02 00 01 00 02 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜....”Þ..
+...€..........</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000300: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.2187500 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 11 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000301: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.2187500 +0.0
+</span>Pipe Handle: 0x897f5bfc (Endpoint Address: 0x2)
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 12 00 00 00 9A DE 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜....šÞ..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000302: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.2187500 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0x26 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 26 00 00 00 02 00 02 98 12 00 00 00 9A DE 06 00
+ 00 00 00 00 00 80 00 00 00 01 88 13 00 00 B0 8F
+ 06 00 01 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>&amp;......˜....šÞ..
+.....€....ˆ...°
+......</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000303: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.2187500 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 12 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000304: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.2187500 +0.0
+</span>Pipe Handle: 0x897f5bfc (Endpoint Address: 0x2)
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 13 00 00 00 44 DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜....DÜ..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000305: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.2187500 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0x17 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 17 00 00 00 02 00 02 98 13 00 00 00 44 DC FF FF
+ 01 00 10 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜....DÜÿÿ
+.......</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000306: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.2187500 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 13 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000307: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.2343750 +0.0156250
+</span>Pipe Handle: 0x897f5bfc (Endpoint Address: 0x2)
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 14 00 00 00 89 DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜....‰Ü..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000308: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.2343750 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0x1a bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 1A 00 00 00 02 00 02 98 14 00 00 00 89 DC 06 00
+ 01 00 00 00 00 80 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜....‰Ü..
+.....€....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000309: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.2343750 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 14 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000310: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.2343750 +0.0
+</span>Pipe Handle: 0x897f5bfc (Endpoint Address: 0x2)
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 15 00 00 00 99 DE 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜....™Þ..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000311: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.2343750 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0x28 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 28 00 00 00 02 00 02 98 15 00 00 00 99 DE 06 00
+ 00 00 00 00 00 20 00 00 00 02 03 00 60 01 00 00
+ 61 01 00 00 30 01 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>(......˜....™Þ..
+..... ......`...
+a...0...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000312: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:12.2343750 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 15 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000313: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.6562500 +5.4218750
+</span>Pipe Handle: 0x897f5bfc (Endpoint Address: 0x2)
+Send 0x10 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 10 00 00 00 01 00 01 98 16 00 00 00 01 B9 00 00
+</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....¹..
+</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000314: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.6562500 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0x32 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 32 00 00 00 02 00 01 98 16 00 00 00 11 00 00 00
+ 01 DC 02 DC 03 DC 04 DC 07 DC 08 DC 0B DC 41 DC
+ 4F DC 9A DC 46 DC 93 DE 94 DE 9A DE 44 DC 89 DC
+ 99 DE</pre></td>
+<td class="st0200ff" valign="top"><pre>2......˜........
+.Ü.Ü.Ü.Ü.Ü.Ü.ÜAÜ
+OܚÜFܓޔޚÞD܉Ü
+™Þ</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000315: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.6562500 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 16 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000316: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.6562500 +0.0
+</span>Pipe Handle: 0x897f5bfc (Endpoint Address: 0x2)
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 17 00 00 00 01 DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....Ü..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000317: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.6562500 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0x1a bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 1A 00 00 00 02 00 02 98 17 00 00 00 01 DC 06 00
+ 00 00 00 00 00 01 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....Ü..
+..........</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000318: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.6562500 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 17 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000319: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.6562500 +0.0
+</span>Pipe Handle: 0x897f5bfc (Endpoint Address: 0x2)
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 18 00 00 00 02 DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....Ü..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000320: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.6718750 +0.0156250
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0x18 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 18 00 00 00 02 00 02 98 18 00 00 00 02 DC 04 00
+ 00 00 00 04 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....Ü..
+........</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000321: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.6718750 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 18 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000322: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.6718750 +0.0
+</span>Pipe Handle: 0x897f5bfc (Endpoint Address: 0x2)
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 19 00 00 00 03 DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....Ü..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000323: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.6718750 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0x1e bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 1E 00 00 00 02 00 02 98 19 00 00 00 03 DC 04 00
+ 00 00 00 40 00 00 00 02 02 00 00 00 01 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....Ü..
+...@..........</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000324: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.6718750 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 19 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000325: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.6718750 +0.0
+</span>Pipe Handle: 0x897f5bfc (Endpoint Address: 0x2)
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 1A 00 00 00 04 DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....Ü..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000326: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.6718750 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0x1e bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 1E 00 00 00 02 00 02 98 1A 00 00 00 04 DC 08 00
+ 00 00 00 00 00 00 00 00 00 04 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....Ü..
+..............</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000327: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.6718750 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 1A 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000328: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.6718750 +0.0
+</span>Pipe Handle: 0x897f5bfc (Endpoint Address: 0x2)
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 1B 00 00 00 07 DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....Ü..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000329: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.6718750 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0x18 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 18 00 00 00 02 00 02 98 1B 00 00 00 07 DC FF FF
+ 00 00 04 00 00 00 05 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....Üÿÿ
+........</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000330: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.6875000 +0.0156250
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 1B 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000331: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.6875000 +0.0
+</span>Pipe Handle: 0x897f5bfc (Endpoint Address: 0x2)
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 1C 00 00 00 08 DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....Ü..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000332: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.6875000 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0x18 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 18 00 00 00 02 00 02 98 1C 00 00 00 08 DC FF FF
+ 01 00 40 00 00 00 03 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....Üÿÿ
+..@.....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000333: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.6875000 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 1C 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000334: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.6875000 +0.0
+</span>Pipe Handle: 0x897f5bfc (Endpoint Address: 0x2)
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 1D 00 00 00 0B DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....Ü..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000335: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.6875000 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0x1a bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 1A 00 00 00 02 00 02 98 1D 00 00 00 0B DC 06 00
+ 00 00 00 00 00 40 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜.....Ü..
+.....@....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000336: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.6875000 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 1D 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000337: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.6875000 +0.0
+</span>Pipe Handle: 0x897f5bfc (Endpoint Address: 0x2)
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 1E 00 00 00 41 DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜....AÜ..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000338: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.6875000 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0x26 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 26 00 00 00 02 00 02 98 1E 00 00 00 41 DC 0A 00
+ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+ 00 04 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>&amp;......˜....AÜ..
+................
+......</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000339: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.6875000 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 1E 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000340: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.6875000 +0.0
+</span>Pipe Handle: 0x897f5bfc (Endpoint Address: 0x2)
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 1F 00 00 00 4F DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜....OÜ..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000341: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.7031250 +0.0156250
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0x1b bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 1B 00 00 00 02 00 02 98 1F 00 00 00 4F DC 02 00
+ 01 00 10 00 00 00 02 02 00 00 01</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜....OÜ..
+...........</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000342: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.7031250 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 1F 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... ....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000343: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.7031250 +0.0
+</span>Pipe Handle: 0x897f5bfc (Endpoint Address: 0x2)
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 20 00 00 00 9A DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜ ...šÜ..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000344: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.7031250 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0x17 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 17 00 00 00 02 00 02 98 20 00 00 00 9A DC FF FF
+ 01 00 10 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜ ...šÜÿÿ
+.......</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000345: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.7031250 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 20 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......  ...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000346: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.7031250 +0.0
+</span>Pipe Handle: 0x897f5bfc (Endpoint Address: 0x2)
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 21 00 00 00 46 DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜!...FÜ..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000347: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.7031250 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0x17 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 17 00 00 00 02 00 02 98 21 00 00 00 46 DC FF FF
+ 01 00 10 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜!...FÜÿÿ
+.......</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000348: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.7031250 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 21 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... !...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000349: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.7031250 +0.0
+</span>Pipe Handle: 0x897f5bfc (Endpoint Address: 0x2)
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 22 00 00 00 93 DE 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜"...“Þ..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000350: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.7187500 +0.0156250
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0x34 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 34 00 00 00 02 00 02 98 22 00 00 00 93 DE 06 00
+ 00 00 00 00 00 80 00 00 00 02 06 00 40 1F 00 00
+ 80 3E 00 00 22 56 00 00 00 7D 00 00 44 AC 00 00
+ 80 BB 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>4......˜"...“Þ..
+.....€......@...
+€&gt;.."V...}..D¬..
+€»..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000351: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.7187500 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 22 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... "...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000352: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.7187500 +0.0
+</span>Pipe Handle: 0x897f5bfc (Endpoint Address: 0x2)
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 23 00 00 00 94 DE 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜#...”Þ..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000353: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.7187500 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0x1e bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 1E 00 00 00 02 00 02 98 23 00 00 00 94 DE 04 00
+ 00 00 00 80 00 00 00 02 02 00 01 00 02 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜#...”Þ..
+...€..........</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000354: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.7187500 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 23 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... #...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000355: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.7187500 +0.0
+</span>Pipe Handle: 0x897f5bfc (Endpoint Address: 0x2)
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 24 00 00 00 9A DE 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜$...šÞ..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000356: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.7187500 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0x26 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 26 00 00 00 02 00 02 98 24 00 00 00 9A DE 06 00
+ 00 00 00 00 00 80 00 00 00 01 88 13 00 00 B0 8F
+ 06 00 01 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>&amp;......˜$...šÞ..
+.....€....ˆ...°
+......</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000357: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.7187500 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 24 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... $...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000358: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.7187500 +0.0
+</span>Pipe Handle: 0x897f5bfc (Endpoint Address: 0x2)
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 25 00 00 00 44 DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜%...DÜ..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000359: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.7187500 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0x17 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 17 00 00 00 02 00 02 98 25 00 00 00 44 DC FF FF
+ 01 00 10 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜%...DÜÿÿ
+.......</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000360: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.7343750 +0.0156250
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 25 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... %...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000361: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.7500000 +0.0156250
+</span>Pipe Handle: 0x897f5bfc (Endpoint Address: 0x2)
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 26 00 00 00 89 DC 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜&amp;...‰Ü..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000362: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.7500000 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0x1a bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 1A 00 00 00 02 00 02 98 26 00 00 00 89 DC 06 00
+ 01 00 00 00 00 80 00 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜&amp;...‰Ü..
+.....€....</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000363: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.7500000 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 26 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... &amp;...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000364: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.7500000 +0.0
+</span>Pipe Handle: 0x897f5bfc (Endpoint Address: 0x2)
+Send 0x14 bytes to the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 14 00 00 00 01 00 02 98 27 00 00 00 99 DE 00 00
+ 01 B9 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>.......˜'...™Þ..
+.¹..</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000365: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.7500000 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0x28 bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 28 00 00 00 02 00 02 98 27 00 00 00 99 DE 06 00
+ 00 00 00 00 00 20 00 00 00 02 03 00 60 01 00 00
+ 61 01 00 00 30 01 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>(......˜'...™Þ..
+..... ......`...
+a...0...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+<p class="st0000ff"><span class="st0100ff">000366: Bulk or Interrupt Transfer (UP), 12.09.2006 21:07:17.7500000 +0.0
+</span>Pipe Handle: 0x897f5bdc (Endpoint Address: 0x81)
+Get 0xc bytes from the device:</p>
+<table border="0" cellpadding="0" cellspacing="0" width="100%"><tbody><tr><td class="st0200ff" valign="top"><pre> 0C 00 00 00 03 00 01 20 27 00 00 00</pre></td>
+<td class="st0200ff" valign="top"><pre>....... '...</pre></td></tr></tbody></table>
+<p class="st0000ff"></p>
+</pre></body></html>
\ No newline at end of file
diff --git a/logs/lsusb-canon-canoscan.txt b/logs/lsusb-canon-canoscan.txt
new file mode 100644
index 0000000..31fb807
--- /dev/null
+++ b/logs/lsusb-canon-canoscan.txt
@@ -0,0 +1,80 @@
+Canon scanner that looks like a MTP device and disturbs MTP
+detection...
+
+Bus 001 Device 002: ID 04a9:220c Canon, Inc. CanoScan D1250U2
+Device Descriptor:
+  bLength                18
+  bDescriptorType         1
+  bcdUSB               2.00
+  bDeviceClass          255 Vendor Specific Class
+  bDeviceSubClass       255 Vendor Specific Subclass
+  bDeviceProtocol       255 Vendor Specific Protocol
+  bMaxPacketSize0        64
+  idVendor           0x04a9 Canon, Inc.
+  idProduct          0x220c CanoScan D1250U2
+  bcdDevice            2.00
+  iManufacturer           3 Canon
+  iProduct                4 CanoScan
+  iSerial                 0
+  bNumConfigurations      1
+  Configuration Descriptor:
+    bLength                 9
+    bDescriptorType         2
+    wTotalLength           39
+    bNumInterfaces          1
+    bConfigurationValue     1
+    iConfiguration          0
+    bmAttributes         0xc0
+      Self Powered
+    MaxPower               10mA
+    Interface Descriptor:
+      bLength                 9
+      bDescriptorType         4
+      bInterfaceNumber        0
+      bAlternateSetting       0
+      bNumEndpoints           3
+      bInterfaceClass       255 Vendor Specific Class
+      bInterfaceSubClass    255 Vendor Specific Subclass
+      bInterfaceProtocol    255 Vendor Specific Protocol
+      iInterface              0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x81  EP 1 IN
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x02  EP 2 OUT
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x83  EP 3 IN
+        bmAttributes            3
+          Transfer Type            Interrupt
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0001  1x 1 bytes
+        bInterval               8
+Device Qualifier (for other device speed):
+  bLength                10
+  bDescriptorType         6
+  bcdUSB               2.00
+  bDeviceClass          255 Vendor Specific Class
+  bDeviceSubClass       255 Vendor Specific Subclass
+  bDeviceProtocol       255 Vendor Specific Protocol
+  bMaxPacketSize0        64
+  bNumConfigurations      1
+Device Status:     0x0001
+  Self Powered
diff --git a/logs/mtp-detect-Archos-Diamond-S.txt b/logs/mtp-detect-Archos-Diamond-S.txt
new file mode 100644
index 0000000..881a05c
--- /dev/null
+++ b/logs/mtp-detect-Archos-Diamond-S.txt
@@ -0,0 +1,451 @@
+libmtp version: 1.1.12
+
+Listing raw device(s)
+   Found 1 device(s):
+   0e79:5305 @ bus 2, dev 5
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0e79
+   idProduct: 5305
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 5
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0e79
+         Product: (null)
+         Vendor id: 0x5305
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Archos
+   Model: Archos 50Diamond S
+   Device version: 1.0
+   Serial number: J580F1ZR5A272913
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: Unknown(1001)
+   1002: Unknown(1002)
+   1003: Unknown(1003)
+   1004: Unknown(1004)
+   1005: Unknown(1005)
+   1006: Unknown(1006)
+   1007: Unknown(1007)
+   1008: Unknown(1008)
+   1009: Unknown(1009)
+   100a: Unknown(100a)
+   100b: Unknown(100b)
+   100c: Unknown(100c)
+   100d: Unknown(100d)
+   1014: Unknown(1014)
+   1015: Unknown(1015)
+   1016: Unknown(1016)
+   1017: Unknown(1017)
+   101b: Unknown(101b)
+   9801: Unknown(9801)
+   9802: Unknown(9802)
+   9803: Unknown(9803)
+   9804: Unknown(9804)
+   9810: Unknown(9810)
+   95c1: Unknown(95c1)
+   95c2: Unknown(95c2)
+   95c3: Unknown(95c3)
+   95c4: Unknown(95c4)
+   95c5: Unknown(95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Stat
\ No newline at end of file
diff --git a/logs/mtp-detect-acer-cloud-mobile-s500.txt b/logs/mtp-detect-acer-cloud-mobile-s500.txt
new file mode 100644
index 0000000..5a7ab51
--- /dev/null
+++ b/logs/mtp-detect-acer-cloud-mobile-s500.txt
@@ -0,0 +1,460 @@
+libmtp version: 1.1.3
+
+Listing raw device(s)
+   Found 1 device(s):
+   0502:33aa @ bus 2, dev 8
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0502
+   idProduct: 33aa
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 8
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0502
+         Product: (null)
+         Vendor id: 0x33aa
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Acer
+   Model: S500
+   Device version: 1.0
+   Serial number: 23800200311
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 5597065216
+      FreeSpaceInBytes: 4549165056
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal Storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-acer-e350.txt b/logs/mtp-detect-acer-e350.txt
new file mode 100644
index 0000000..cc55315
--- /dev/null
+++ b/logs/mtp-detect-acer-e350.txt
@@ -0,0 +1,460 @@
+libmtp version: 1.1.4
+
+Listing raw device(s)
+   Found 1 device(s):
+   0502:33c3 @ bus 2, dev 6
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0502
+   idProduct: 33c3
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 6
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0502
+         Product: (null)
+         Vendor id: 0x33c3
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Acer
+   Model: E350
+   Device version: 1.0
+   Serial number: 75G6SW495HON897D
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 1713270784
+      FreeSpaceInBytes: 1695449088
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Mémoire de stockage USB
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000017
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x0000001b
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-acer-e380.txt b/logs/mtp-detect-acer-e380.txt
new file mode 100644
index 0000000..ea42c0d
--- /dev/null
+++ b/logs/mtp-detect-acer-e380.txt
@@ -0,0 +1,488 @@
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.
+Device 0 (VID=0502 and PID=35a8) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+libmtp version: 1.1.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   0502:35a8 @ bus 2, dev 14
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0502
+   idProduct: 35a8
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 14
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0502
+         Product: (null)
+         Vendor id: 0x35a8
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Acer
+   Model: E380
+   Device version: 1.0
+   Serial number: IF4P9LHIJJTGVK5P
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 2590908416
+      FreeSpaceInBytes: 1411674112
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Interní úložiště
+      VolumeIdentifier: (null)
+   StorageID: 0x00010001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 997982208
+      FreeSpaceInBytes: 848429056
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Karta SD
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000010
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000015
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: E380
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-acer-e39.txt b/logs/mtp-detect-acer-e39.txt
new file mode 100644
index 0000000..07e3cb1
--- /dev/null
+++ b/logs/mtp-detect-acer-e39.txt
@@ -0,0 +1,469 @@
+Listing raw device(s)
+Device 0 (VID=0502 and PID=3643) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+Found 1 device(s):
+0502:3643 @ bus 3, dev 2
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+Error 1: Get Storage information failed.
+Error 2: PTP Layer error 02fe: get_handles_recursively(): could not get object handles.
+Error 2: Error 02fe: PTP: Protocol error, data expected
+USB low-level info:
+Interface has a kernel driver attached.
+bcdUSB: 512
+bDeviceClass: 0
+bDeviceSubClass: 0
+bDeviceProtocol: 0
+idVendor: 0502
+idProduct: 3643
+IN endpoint maxpacket: 512 bytes
+OUT endpoint maxpacket: 512 bytes
+Raw device info:
+Bus location: 3
+Device number: 2
+Device entry info:
+Vendor: (null)
+Vendor id: 0x0502
+Product: (null)
+Vendor id: 0x3643
+Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+Interface description contains the string "MTP"
+Device recognized as MTP, no further probing.
+Device info:
+Manufacturer: Acer
+Model: E39
+Device version: 1.0
+Serial number: ZSSCQKPRSK5LIBN7
+Vendor extension ID: 0x00000006
+Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+Detected object size: 64 bits
+Extensions:
+microsoft.com: 1.0
+android.com: 1.0
+Supported operations:
+1001: get device info
+1002: Open session
+1003: Close session
+1004: Get storage IDs
+1005: Get storage info
+1006: Get number of objects
+1007: Get object handles
+1008: Get object info
+1009: Get object
+100a: Get thumbnail
+100b: Delete object
+100c: Send object info
+100d: Send object
+1014: Get device property description
+1015: Get device property value
+1016: Set device property value
+1017: Reset device property value
+101b: Get partial object
+9801: Get object properties supported
+9802: Get object property description
+9803: Get object property value
+9804: Set object property value
+9805: Get object property list
+9810: Get object references
+9811: Set object references
+95c1: Get Partial Object (64bit Offset)
+95c2: Send Partial Object
+95c3: Truncate Object
+95c4: Begin Edit Object
+95c5: End Edit Object
+Events supported:
+0x4002
+0x4003
+0x4004
+0x4005
+0x4007
+0x400c
+Device Properties Supported:
+0xd401: Synchronization Partner
+0xd402: Friendly Device Name
+0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+3000: Undefined Type
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+3001: Association/Directory
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+3004: Text
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+3005: HTML
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+3008: MS Wave
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc9b: Album Artist STRING data type READ ONLY
+dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc8c: Genre STRING data type READ ONLY
+dc96: Composer STRING data type READ ONLY
+3009: MP3
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc9b: Album Artist STRING data type READ ONLY
+dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc8c: Genre STRING data type READ ONLY
+dc96: Composer STRING data type READ ONLY
+300b: MPEG
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc48: Description STRING data type READ ONLY
+3801: JPEG
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc48: Description STRING data type READ ONLY
+3802: TIFF EP
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+3804: BMP
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc48: Description STRING data type READ ONLY
+3807: GIF
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc48: Description STRING data type READ ONLY
+3808: JFIF
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+380b: PNG
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc48: Description STRING data type READ ONLY
+380d: TIFF
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+b901: WMA
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc9b: Album Artist STRING data type READ ONLY
+dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc8c: Genre STRING data type READ ONLY
+dc96: Composer STRING data type READ ONLY
+b902: OGG
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc9b: Album Artist STRING data type READ ONLY
+dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc8c: Genre STRING data type READ ONLY
+dc96: Composer STRING data type READ ONLY
+b903: AAC
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc9b: Album Artist STRING data type READ ONLY
+dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc8c: Genre STRING data type READ ONLY
+dc96: Composer STRING data type READ ONLY
+b982: MP4
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+b983: MP2
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+b984: 3GP
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc48: Description STRING data type READ ONLY
+ba05: Abstract Audio Video Playlist
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+ba10: WPL Playlist
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+ba11: M3U Playlist
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+ba14: PLS Playlist
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+ba82: XMLDocument
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+b906: FLAC
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Special directories:
+Default music folder: 0xffffffff
+Default playlist folder: 0xffffffff
+Default picture folder: 0xffffffff
+Default video folder: 0xffffffff
+Default organizer folder: 0xffffffff
+Default zencast folder: 0xffffffff
+Default album folder: 0xffffffff
+Default text folder: 0xffffffff
+MTP-specific device properties:
+Friendly name: E39
+Synchronization partner: e39_emea_gen1
+libmtp supported (playable) filetypes:
+Folder
+Text file
+HTML file
+RIFF WAVE file
+ISO MPEG-1 Audio Layer 3
+MPEG video stream
+JPEG file
+BMP bitmap file
+GIF bitmap file
+JFIF file
+Portable Network Graphics
+TIFF bitmap file
+Microsoft Windows Media Audio
+Ogg container format
+Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+ISO MPEG-1 Audio Layer 2
+Abstract Playlist file
+XML file
+Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-acer-iconia-a1-810.txt b/logs/mtp-detect-acer-iconia-a1-810.txt
new file mode 100644
index 0000000..611d165
--- /dev/null
+++ b/logs/mtp-detect-acer-iconia-a1-810.txt
@@ -0,0 +1,476 @@
+Listing raw device(s)
+Device 0 (VID=0502 and PID=353c) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0502:353c @ bus 1, dev 28
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0502
+   idProduct: 353c
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 28
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0502
+         Product: (null)
+         Vendor id: 0x353c
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Acer
+   Model: A1-810
+   Device version: 1.0
+   Serial number: 31902291420
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 13585637376
+      FreeSpaceInBytes: 11605712896
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Interner Speicher
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: A1-810
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-acer-iconia-tab-a100-id2.txt b/logs/mtp-detect-acer-iconia-tab-a100-id2.txt
new file mode 100644
index 0000000..c184f27
--- /dev/null
+++ b/logs/mtp-detect-acer-iconia-tab-a100-id2.txt
@@ -0,0 +1,467 @@
+libmtp version: 1.0.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   0502:3349 @ bus 1, dev 9
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "dummy"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0502
+   idProduct: 3349
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 9
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0502
+         Product: (null)
+         Vendor id: 0x3349
+         Device flags: 0x00000000
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Acer
+   Model: Acer ICONIA TAB A100
+   Device version: 1.0
+   Serial number: 137........
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+         android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 31902400512
+      FreeSpaceInBytes: 31902334976
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD Card
+      VolumeIdentifier: (null)
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 5753618432
+      FreeSpaceInBytes: 4987346944
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal Storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-acer-iconia-tab-a100.txt b/logs/mtp-detect-acer-iconia-tab-a100.txt
new file mode 100644
index 0000000..38046e5
--- /dev/null
+++ b/logs/mtp-detect-acer-iconia-tab-a100.txt
@@ -0,0 +1,459 @@
+libmtp version: 1.1.0
+
+Listing raw device(s)
+   Found 1 device(s):
+   0502:3348 @ bus 2, dev 16
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0502
+   idProduct: 3348
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 16
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0502
+         Product: (null)
+         Vendor id: 0x3348
+         Device flags: 0x00000000
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Acer
+   Model: Acer ICONIA TAB A100
+   Device version: 1.0
+   Serial number: 13217644215
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+         android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 5753618432
+      FreeSpaceInBytes: 5015011328
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal Storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-acer-iconia-tab-a110.txt b/logs/mtp-detect-acer-iconia-tab-a110.txt
new file mode 100644
index 0000000..6c9d522
--- /dev/null
+++ b/logs/mtp-detect-acer-iconia-tab-a110.txt
@@ -0,0 +1,450 @@
+libmtp version: 1.1.4
+
+Listing raw device(s)
+   Found 1 device(s):
+   0502:33d8 @ bus 1, dev 5
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0502
+   idProduct: 33d8
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 5
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0502
+         Product: (null)
+         Vendor id: 0x33d8
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Acer
+   Model: A110
+   Device version: 1.0
+   Serial number: 23600758065
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-acer-iconia-tab-a200.txt b/logs/mtp-detect-acer-iconia-tab-a200.txt
new file mode 100644
index 0000000..0465e32
--- /dev/null
+++ b/logs/mtp-detect-acer-iconia-tab-a200.txt
@@ -0,0 +1,463 @@
+mtp-detect 
+libmtp version: 1.1.3
+
+Listing raw device(s)
+Device 0 (VID=0502 and PID=337d) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0502:337d @ bus 1, dev 18
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0502
+   idProduct: 337d
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 18
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0502
+         Product: (null)
+         Vendor id: 0x337d
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Acer
+   Model: Acer Iconia Tab A200
+   Device version: 1.0
+   Serial number: 20822270615
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 5582561280
+      FreeSpaceInBytes: 3334991872
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal Storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-acer-iconia-tab-a210.txt b/logs/mtp-detect-acer-iconia-tab-a210.txt
new file mode 100644
index 0000000..8e7e885
--- /dev/null
+++ b/logs/mtp-detect-acer-iconia-tab-a210.txt
@@ -0,0 +1,461 @@
+Error: Unable to open ~/.mtpz-data for reading.
+libmtp version: 1.1.5
+
+Listing raw device(s)
+   Found 1 device(s):
+   0502:33cb @ bus 5, dev 9
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0502
+   idProduct: 33cb
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 5
+      Device number: 9
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0502
+         Product: (null)
+         Vendor id: 0x33cb
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Acer
+   Model: Acer Iconia Tab A210
+   Device version: 1.0
+   Serial number: 24308317415
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 13319118848
+      FreeSpaceInBytes: 11304136704
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000002
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000007
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-acer-iconia-tab-a500-v1.txt b/logs/mtp-detect-acer-iconia-tab-a500-v1.txt
new file mode 100644
index 0000000..abcf027
--- /dev/null
+++ b/logs/mtp-detect-acer-iconia-tab-a500-v1.txt
@@ -0,0 +1,437 @@
+libmtp version: 1.0.2
+
+Listing raw device(s)
+   Found 1 device(s):
+   0502:3325 @ bus 1, dev 31
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0502
+   idProduct: 3325
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 31
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0502
+         Product: (null)
+         Vendor id: 0x3325
+         Device flags: 0x00000000
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Acer, Inc.
+   Model: Acer ICONIA TAB A500
+   Device version: 1.0
+   Serial number: 11625645815
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 29013311488
+      FreeSpaceInBytes: 27324674048
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Device Storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+OK.
diff --git a/logs/mtp-detect-acer-iconia-tab-a500-v2.txt b/logs/mtp-detect-acer-iconia-tab-a500-v2.txt
new file mode 100644
index 0000000..2e39bc6
--- /dev/null
+++ b/logs/mtp-detect-acer-iconia-tab-a500-v2.txt
@@ -0,0 +1,440 @@
+Device 0 (VID=0502 and PID=3341) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+Error 7: Found a bad handle, trying to ignore it.
+libmtp version: 1.0.2
+
+Listing raw device(s)
+   Found 1 device(s):
+   0502:3341 @ bus 1, dev 6
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "dummy"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0502
+   idProduct: 3341
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 6
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0502
+         Product: (null)
+         Vendor id: 0x3341
+         Device flags: 0x00000000
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Acer, Inc.
+   Model: Acer ICONIA TAB A500
+   Device version: 1.0
+   Serial number: 11333794915
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 28915937280
+      FreeSpaceInBytes: 26193416192
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Device Storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+OK.
diff --git a/logs/mtp-detect-acer-iconia-tab-a501.txt b/logs/mtp-detect-acer-iconia-tab-a501.txt
new file mode 100644
index 0000000..469bb1f
--- /dev/null
+++ b/logs/mtp-detect-acer-iconia-tab-a501.txt
@@ -0,0 +1,455 @@
+libmtp version: 1.0.2
+
+Listing raw device(s)
+   Found 1 device(s):
+   0502:3344 @ bus 1, dev 5
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0502
+   idProduct: 3344
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 5
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0502
+         Product: (null)
+         Vendor id: 0x3344
+         Device flags: 0x00000000
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Acer
+   Model: Acer ICONIA TAB A501
+   Device version: 1.0
+   Serial number: 14012263115
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 13428260864
+      FreeSpaceInBytes: 12991488000
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Interner Speicher
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-acer-iconia-tab-a510-id1.txt b/logs/mtp-detect-acer-iconia-tab-a510-id1.txt
new file mode 100644
index 0000000..cbfd3c3
--- /dev/null
+++ b/logs/mtp-detect-acer-iconia-tab-a510-id1.txt
@@ -0,0 +1,475 @@
+libmtp version: 1.1.3
+
+Listing raw device(s)
+Device 0 (VID=0502 and PID=3389) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0502:3389 @ bus 4, dev 14
+Attempting to connect device(s)
+ignoring usb_claim_interface = -6ignoring usb_claim_interface = -5PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
+LIBMTP libusb: Attempt to reset device
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0502
+   idProduct: 3389
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 4
+      Device number: 14
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0502
+         Product: (null)
+         Vendor id: 0x3389
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Acer
+   Model: Acer Iconia Tab A510
+   Device version: 1.0
+   Serial number: XXXXXXXXXXX
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 15923150848
+      FreeSpaceInBytes: 7634386944
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD-Karte
+      VolumeIdentifier: (null)
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 29434679296
+      FreeSpaceInBytes: 1158111232
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Interner Speicher
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000797
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
+
diff --git a/logs/mtp-detect-acer-iconia-tab-a510.txt b/logs/mtp-detect-acer-iconia-tab-a510.txt
new file mode 100644
index 0000000..6a7bb8e
--- /dev/null
+++ b/logs/mtp-detect-acer-iconia-tab-a510.txt
@@ -0,0 +1,462 @@
+Device 0 (VID=0502 and PID=338a) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+libmtp version: 1.1.3
+
+Listing raw device(s)
+   Found 1 device(s):
+   0502:338a @ bus 2, dev 8
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0502
+   idProduct: 338a
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 8
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0502
+         Product: (null)
+         Vendor id: 0x338a
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Acer
+   Model: Acer Iconia Tab A510
+   Device version: 1.0
+   Serial number: 22012034115
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 29434712064
+      FreeSpaceInBytes: 7478673408
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Внутренняя память
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-acer-iconia-tab-a700.txt b/logs/mtp-detect-acer-iconia-tab-a700.txt
new file mode 100644
index 0000000..944f779
--- /dev/null
+++ b/logs/mtp-detect-acer-iconia-tab-a700.txt
@@ -0,0 +1,471 @@
+Device 0 (VID=0502 and PID=3378) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+libmtp version: 1.1.3
+
+Listing raw device(s)
+   Found 1 device(s):
+   0502:3378 @ bus 5, dev 23
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0502
+   idProduct: 3378
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 5
+      Device number: 23
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0502
+         Product: (null)
+         Vendor id: 0x3378
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Acer
+   Model: Acer Iconia Tab A700
+   Device version: 1.0
+   Serial number: XXXXXXXXXXX
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 7952400384
+      FreeSpaceInBytes: 5053087744
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD Card
+      VolumeIdentifier: (null)
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 29434712064
+      FreeSpaceInBytes: 25950945280
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal Storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000020
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0x000004d6
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-acer-liquid-e700.txt b/logs/mtp-detect-acer-liquid-e700.txt
new file mode 100644
index 0000000..88fcccd
--- /dev/null
+++ b/logs/mtp-detect-acer-liquid-e700.txt
@@ -0,0 +1,508 @@
+
+---
+
+** [bugs:#1369] acer liquid e700 (triple sim)**
+
+**Status:** open
+**Group:** unknown release (please set)
+**Created:** Thu Jul 02, 2015 06:06 AM UTC by Anonymous
+**Last Updated:** Thu Jul 02, 2015 06:06 AM UTC
+**Owner:** nobody
+
+mtp-detect 
+libmtp version: 1.1.9
+
+Listing raw device(s)
+Device 0 (VID=0502 and PID=3644) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0502:3644 @ bus 3, dev 8
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0502
+   idProduct: 3644
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 3
+      Device number: 8
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0502
+         Product: (null)
+         Vendor id: 0x3644
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Acer
+   Model: E39
+   Device version: 1.0
+   Serial number: HQFYHEJZZD4LSGAM
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 13770539008
+      FreeSpaceInBytes: 2237558784
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Phone storage
+      VolumeIdentifier: (null)
+   StorageID: 0x00010001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 32078036992
+      FreeSpaceInBytes: 13891895296
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD card
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000e0c
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00001ddf
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: E39
+   Synchronization partner: e39_emea_gen1
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/bugs/1369/>
+
+
+
diff --git a/logs/mtp-detect-acer-liquid-z330.txt b/logs/mtp-detect-acer-liquid-z330.txt
new file mode 100644
index 0000000..eb6282f
--- /dev/null
+++ b/logs/mtp-detect-acer-liquid-z330.txt
@@ -0,0 +1,531 @@
+christophe@mymachine ~ $ sudo mtp-detect > result.txt
+Device 0 (VID=0502 and PID=37c3) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   0502:37c3 @ bus 2, dev 11
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0502
+   idProduct: 37c3
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 11
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0502
+         Product: (null)
+         Vendor id: 0x37c3
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Acer
+   Model: T01
+   Device version: 1.0
+   Serial number: 538114279423
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+   0xc801
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 3297959936
+      FreeSpaceInBytes: 1406889984
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Mémoire de stockage interne
+      VolumeIdentifier: (null)
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 8043626496
+      FreeSpaceInBytes: 6287839232
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Carte SD
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: T01
+   Synchronization partner: T01
+   Battery level 61 of 100 (61%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-acer-liquid-zest-plus.txt b/logs/mtp-detect-acer-liquid-zest-plus.txt
new file mode 100644
index 0000000..9a88dbd
--- /dev/null
+++ b/logs/mtp-detect-acer-liquid-zest-plus.txt
@@ -0,0 +1,519 @@
+libmtp version: 1.1.11

+

+Listing raw device(s)

+Device 0 (VID=0502 and PID=38bb) is UNKNOWN in libmtp v1.1.12.

+Please report this VID/PID and the device model to the libmtp development team

+   Found 1 device(s):

+   0502:38bb @ bus 2, dev 19

+Attempting to connect device(s)

+Android device detected, assigning default bug flags

+USB low-level info:

+   bcdUSB: 512

+   bDeviceClass: 0

+   bDeviceSubClass: 0

+   bDeviceProtocol: 0

+   idVendor: 0502

+   idProduct: 38bb

+   IN endpoint maxpacket: 512 bytes

+   OUT endpoint maxpacket: 512 bytes

+   Raw device info:

+      Bus location: 2

+      Device number: 19

+      Device entry info:

+         Vendor: (null)

+         Vendor id: 0x0502

+         Product: (null)

+         Vendor id: 0x38bb

+         Device flags: 0x18008106

+Configuration 0, interface 0, altsetting 0:

+   Interface description contains the string "MTP"

+   Device recognized as MTP, no further probing.

+Device info:

+   Manufacturer: Acer

+   Model: T08

+   Device version: 1.0

+   Serial number: HB705110AC62502D254

+   Vendor extension ID: 0x00000006

+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;

+   Detected object size: 64 bits

+   Extensions:

+        microsoft.com: 1.0

+        android.com: 1.0

+Supported operations:

+   1001: Unknown(1001)

+   1002: Unknown(1002)

+   1003: Unknown(1003)

+   1004: Unknown(1004)

+   1005: Unknown(1005)

+   1006: Unknown(1006)

+   1007: Unknown(1007)

+   1008: Unknown(1008)

+   1009: Unknown(1009)

+   100a: Unknown(100a)

+   100b: Unknown(100b)

+   100c: Unknown(100c)

+   100d: Unknown(100d)

+   1014: Unknown(1014)

+   1015: Unknown(1015)

+   1016: Unknown(1016)

+   1017: Unknown(1017)

+   101b: Unknown(101b)

+   9801: Unknown(9801)

+   9802: Unknown(9802)

+   9803: Unknown(9803)

+   9804: Unknown(9804)

+   9805: Unknown(9805)

+   9810: Unknown(9810)

+   9811: Unknown(9811)

+   95c1: Unknown(95c1)

+   95c2: Unknown(95c2)

+   95c3: Unknown(95c3)

+   95c4: Unknown(95c4)

+   95c5: Unknown(95c5)

+Events supported:

+   0x4002

+   0x4003

+   0x4004

+   0x4005

+   0x4006

+   0x4007

+   0x400c

+Device Properties Supported:

+   0xd401: Synchronization Partner

+   0xd402: Friendly Device Name

+   0x5003: Image Size

+   0x5001: Battery Level

+Playable File (Object) Types and Object Properties Supported:

+   3000: Undefined Type

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+   3001: Association/Directory

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+   3004: Text

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+   3005: HTML

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+   3008: MS Wave

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+      dc46: Artist STRING data type READ ONLY

+      dc9a: Album Name STRING data type READ ONLY

+      dc9b: Album Artist STRING data type READ ONLY

+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY

+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc8c: Genre STRING data type READ ONLY

+      dc96: Composer STRING data type READ ONLY

+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY

+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY

+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY

+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY

+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY

+   3009: MP3

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+      dc46: Artist STRING data type READ ONLY

+      dc9a: Album Name STRING data type READ ONLY

+      dc9b: Album Artist STRING data type READ ONLY

+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY

+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc8c: Genre STRING data type READ ONLY

+      dc96: Composer STRING data type READ ONLY

+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY

+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY

+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY

+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY

+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY

+   300b: MPEG

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+      dc46: Artist STRING data type READ ONLY

+      dc9a: Album Name STRING data type READ ONLY

+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc48: Description STRING data type READ ONLY

+   3801: JPEG

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+      dc48: Description STRING data type READ ONLY

+   3802: TIFF EP

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+   3804: BMP

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+      dc48: Description STRING data type READ ONLY

+   3807: GIF

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+      dc48: Description STRING data type READ ONLY

+   3808: JFIF

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+   380b: PNG

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+      dc48: Description STRING data type READ ONLY

+   380d: TIFF

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+   b901: WMA

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+      dc46: Artist STRING data type READ ONLY

+      dc9a: Album Name STRING data type READ ONLY

+      dc9b: Album Artist STRING data type READ ONLY

+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY

+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc8c: Genre STRING data type READ ONLY

+      dc96: Composer STRING data type READ ONLY

+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY

+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY

+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY

+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY

+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY

+   b902: OGG

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+      dc46: Artist STRING data type READ ONLY

+      dc9a: Album Name STRING data type READ ONLY

+      dc9b: Album Artist STRING data type READ ONLY

+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY

+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc8c: Genre STRING data type READ ONLY

+      dc96: Composer STRING data type READ ONLY

+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY

+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY

+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY

+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY

+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY

+   b903: AAC

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+      dc46: Artist STRING data type READ ONLY

+      dc9a: Album Name STRING data type READ ONLY

+      dc9b: Album Artist STRING data type READ ONLY

+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY

+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc8c: Genre STRING data type READ ONLY

+      dc96: Composer STRING data type READ ONLY

+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY

+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY

+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY

+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY

+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY

+   b982: MP4

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+   b983: MP2

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+   b984: 3GP

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+      dc46: Artist STRING data type READ ONLY

+      dc9a: Album Name STRING data type READ ONLY

+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc48: Description STRING data type READ ONLY

+   ba05: Abstract Audio Video Playlist

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+   ba10: WPL Playlist

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+   ba11: M3U Playlist

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+   ba14: PLS Playlist

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+   ba82: XMLDocument

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+   b906: FLAC

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+Storage Devices:

+   StorageID: 0x00010001

+      StorageType: 0x0004 removable RAM storage

+      FilesystemType: 0x0002 generic hierarchical

+      AccessCapability: 0x0000 read/write

+      MaxCapacity: 31395930112

+      FreeSpaceInBytes: 26439520256

+      FreeSpaceInObjects: 1073741824

+      StorageDescription: SD-Karte von SanDisk

+      VolumeIdentifier: (null)

+Special directories:

+   Default music folder: 0xffffffff

+   Default playlist folder: 0xffffffff

+   Default picture folder: 0xffffffff

+   Default video folder: 0xffffffff

+   Default organizer folder: 0xffffffff

+   Default zencast folder: 0xffffffff

+   Default album folder: 0xffffffff

+   Default text folder: 0xffffffff

+MTP-specific device properties:

+   Friendly name: Acer Liquid Zest Plus

+   Synchronization partner: Acer Liquid Zest Plus

+   Battery level 82 of 100 (81%)

+libmtp supported (playable) filetypes:

+   Folder

+   Text file

+   HTML file

+   RIFF WAVE file

+   ISO MPEG-1 Audio Layer 3

+   MPEG video stream

+   JPEG file

+   BMP bitmap file

+   GIF bitmap file

+   JFIF file

+   Portable Network Graphics

+   TIFF bitmap file

+   Microsoft Windows Media Audio

+   Ogg container format

+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3

+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)

+   ISO MPEG-1 Audio Layer 2

+   Abstract Playlist file

+   XML file

+   Free Lossless Audio Codec (FLAC)

diff --git a/logs/mtp-detect-acer-z150.txt b/logs/mtp-detect-acer-z150.txt
new file mode 100644
index 0000000..3e24d65
--- /dev/null
+++ b/logs/mtp-detect-acer-z150.txt
@@ -0,0 +1,484 @@
+libmtp version: 1.1.8
+
+Listing raw device(s)
+   Found 1 device(s):
+   0502:35e4 @ bus 1, dev 2
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0502
+   idProduct: 35e4
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 2
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0502
+         Product: (null)
+         Vendor id: 0x35e4
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Acer
+   Model: Z150
+   Device version: 1.0
+   Serial number: JFDENB8HOVRSU4TC
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 2504482816
+      FreeSpaceInBytes: 1462972416
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Phone storage
+      VolumeIdentifier: (null)
+   StorageID: 0x00010001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 15899418624
+      FreeSpaceInBytes: 2554753024
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD card
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Z150
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-acer-z200.txt b/logs/mtp-detect-acer-z200.txt
new file mode 100644
index 0000000..cb50ed0
--- /dev/null
+++ b/logs/mtp-detect-acer-z200.txt
@@ -0,0 +1,489 @@
+mtp-detect > mtp-detect.txt
+
+Device 0 (VID=0502 and PID=3683) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   0502:3683 @ bus 1, dev 73
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0502
+   idProduct: 3683
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 73
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0502
+         Product: (null)
+         Vendor id: 0x3683
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Acer
+   Model: Z200
+   Device version: 1.0
+   Serial number: SSDIT8VOI7MZCUKN
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 2406924288
+      FreeSpaceInBytes: 1247588352
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Interní úložiště
+      VolumeIdentifier: (null)
+   StorageID: 0x00010001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 2041151488
+      FreeSpaceInBytes: 0
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Karta SD
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Z200
+   Synchronization partner: z200_emea_cus1
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-acer-z220.txt b/logs/mtp-detect-acer-z220.txt
new file mode 100644
index 0000000..4c3c190
--- /dev/null
+++ b/logs/mtp-detect-acer-z220.txt
@@ -0,0 +1,447 @@
+Device 0 (VID=0502 and PID=374f) is UNKNOWN in libmtp v1.1.11.
+Please report this VID/PID and the device model to the libmtp development team
+libmtp version: 1.1.11
+
+Listing raw device(s)
+   Found 1 device(s):
+   0502:374f @ bus 4, dev 8
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0502
+   idProduct: 374f
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 4
+      Device number: 8
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0502
+         Product: (null)
+         Vendor id: 0x374f
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Acer
+   Model: Z220
+   Device version: 1.0
+   Serial number: 531003971414
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FOR
\ No newline at end of file
diff --git a/logs/mtp-detect-alcatel-6030a.txt b/logs/mtp-detect-alcatel-6030a.txt
new file mode 100644
index 0000000..febcd08
--- /dev/null
+++ b/logs/mtp-detect-alcatel-6030a.txt
@@ -0,0 +1,474 @@
+libmtp version: 1.1.6
+
+Listing raw device(s)
+Device 0 (VID=1bbb and PID=0168) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   1bbb:0168 @ bus 2, dev 26
+Attempting to connect device(s)
+ignoring libusb_claim_interface() = -6PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
+LIBMTP libusb: Attempt to reset device
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 1bbb
+   idProduct: 0168
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 26
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x1bbb
+         Product: (null)
+         Vendor id: 0x0168
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: TCT
+   Model: ALCATEL ONE TOUCH 6030A
+   Device version: 1.0
+   Serial number: 0123456789ABCDEF
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX -1, STEP 2 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX -1, STEP 2 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX -1, STEP 2 READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX -1, STEP 2 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX -1, STEP 2 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX -1, STEP 2 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX -1, STEP 2 READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 2510118912
+      FreeSpaceInBytes: 1813479424
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Almacenamiento interno
+      VolumeIdentifier: (null)
+   StorageID: 0x00010001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 8063508480
+      FreeSpaceInBytes: 7210295296
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Tarjeta SD
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x000002b8
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x000002bd
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: ALCATEL ONE TOUCH 6030A
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-alcatel-997d-2.txt b/logs/mtp-detect-alcatel-997d-2.txt
new file mode 100644
index 0000000..5fac4dc
--- /dev/null
+++ b/logs/mtp-detect-alcatel-997d-2.txt
@@ -0,0 +1,473 @@
+Device 0 (VID=1bbb and PID=0c02) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   1bbb:0c02 @ bus 2, dev 7
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 1bbb
+   idProduct: 0c02
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 7
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x1bbb
+         Product: (null)
+         Vendor id: 0x0c02
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: TCT
+   Model: ALCATEL ONE TOUCH 997D
+   Device version: 1.0
+   Serial number: 0123456789ABCDEF
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX 255, STEP 2 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX 255, STEP 2 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX 255, STEP 2 READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX 255, STEP 2 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX 255, STEP 2 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX 255, STEP 2 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX 255, STEP 2 READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 1096486912
+      FreeSpaceInBytes: 1024266240
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Phone storage
+      VolumeIdentifier: (null)
+   StorageID: 0x00010001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 15901655040
+      FreeSpaceInBytes: 752222208
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD Card
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00001481
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00001485
+   Default video folder: 0x00001591
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: ALCATEL ONE TOUCH 997D
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-alcatel-997d.txt b/logs/mtp-detect-alcatel-997d.txt
new file mode 100644
index 0000000..9396eb7
--- /dev/null
+++ b/logs/mtp-detect-alcatel-997d.txt
@@ -0,0 +1,452 @@
+libmtp version: 1.1.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   1bbb:2008 @ bus 1, dev 9
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 1bbb
+   idProduct: 2008
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 9
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x1bbb
+         Product: (null)
+         Vendor id: 0x2008
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: TCT
+   Model: ALCATEL ONE TOUCH 997D
+   Device version: 1.0
+   Serial number: 0123456789ABCDEF
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX 255, STEP 2 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX 255, STEP 2 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX 255, STEP 2 READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX 255, STEP 2 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX 255, STEP 2 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX 255, STEP 2 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX 255, STEP 2 READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: ALCATEL ONE TOUCH 997D
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-alcatel-one-touch-idol3.txt b/logs/mtp-detect-alcatel-one-touch-idol3.txt
new file mode 100644
index 0000000..aec04bd
--- /dev/null
+++ b/logs/mtp-detect-alcatel-one-touch-idol3.txt
@@ -0,0 +1,542 @@
+
+
+
+---
+
+** [bugs:#1401] new device - alcatel idol 3 (4.7")**
+
+**Status:** open
+**Group:** unknown release (please set)
+**Created:** Sun Aug 30, 2015 04:18 PM UTC by Anonymous
+**Last Updated:** Sun Aug 30, 2015 04:18 PM UTC
+**Owner:** nobody
+
+
+Just to report a new device to MTP.
+
+Hope it will help.
+
+
+mtp-detect 
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6
+
+Listing raw device(s)
+Device 0 (VID=1bbb and PID=af2b) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   1bbb:af2b @ bus 1, dev 7
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 1bbb
+   idProduct: af2b
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 7
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x1bbb
+         Product: (null)
+         Vendor id: 0xaf2b
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: TCL
+   Model: Onetouch Idol 3 (4.7)
+   Device version: 1.0
+   Serial number: 7094caad
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 5092114432
+      FreeSpaceInBytes: 1240104960
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Mémoire de stockage interne
+      VolumeIdentifier: (null)
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 63831015424
+      FreeSpaceInBytes: 57431293952
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Carte SD
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Battery level 74 of 100 (74%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/bugs/1401/>
+
+
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/>
\ No newline at end of file
diff --git a/logs/mtp-detect-alcatel-one-touch.txt b/logs/mtp-detect-alcatel-one-touch.txt
new file mode 100644
index 0000000..052a4a4
--- /dev/null
+++ b/logs/mtp-detect-alcatel-one-touch.txt
@@ -0,0 +1,465 @@
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6
+
+Listing raw device(s)
+Device 0 (VID=1bbb and PID=0168) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   1bbb:0168 @ bus 1, dev 7
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 1bbb
+   idProduct: 0168
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 7
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x1bbb
+         Product: (null)
+         Vendor id: 0x0168
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: TCT
+   Model: ALCATEL ONE TOUCH 4030X
+   Device version: 1.0
+   Serial number: JJMBAAAIZH5HAMM7
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX -1, STEP 2 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX -1, STEP 2 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX -1, STEP 2 READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX -1, STEP 2 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX -1, STEP 2 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX -1, STEP 2 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX -1, STEP 2 READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 2530680832
+      FreeSpaceInBytes: 328171520
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal Storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x0000dcca
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x0000d663
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: ALCATEL ONE TOUCH 4030X
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
diff --git a/logs/mtp-detect-alcatel-one-touch2.txt b/logs/mtp-detect-alcatel-one-touch2.txt
new file mode 100644
index 0000000..b798d1d
--- /dev/null
+++ b/logs/mtp-detect-alcatel-one-touch2.txt
@@ -0,0 +1,481 @@
+
+Listing raw device(s)
+   Found 1 device(s):
+   1bbb:f003 @ bus 3, dev 13
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 1bbb
+   idProduct: f003
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 3
+      Device number: 13
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x1bbb
+         Product: (null)
+         Vendor id: 0xf003
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: TCT
+   Model: ALCATEL ONE TOUCH 6034R
+   Device version: 1.0
+   Serial number: 5c502a93
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 15891169280
+      FreeSpaceInBytes: 2418229248
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD-Karte
+      VolumeIdentifier: (null)
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 2104778752
+      FreeSpaceInBytes: 1689403392
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Interner Speicher
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-amazon-fire-hd8.txt b/logs/mtp-detect-amazon-fire-hd8.txt
new file mode 100644
index 0000000..ec82cfe
--- /dev/null
+++ b/logs/mtp-detect-amazon-fire-hd8.txt
@@ -0,0 +1,895 @@
+stephen@stephen-Z97-HD3:~$ mtp-detect
+libmtp version: 1.1.9
+
+Listing raw device(s)
+Device 0 (VID=1949 and PID=0212) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   1949:0212 @ bus 3, dev 21
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 2: PTP Layer error 02ff: get_handles_recursively(): could not get object handles.
+Error 2: Error 02ff: PTP: I/O error
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 1949
+   idProduct: 0212
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 3
+      Device number: 21
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x1949
+         Product: (null)
+         Vendor id: 0x0212
+         Device flags: 0x18008106
+Device info:
+   Manufacturer: Amazon
+   Model: Fire
+   Device version: 1.0
+   Serial number: G090H907536504SP
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+   0x400c
+   0xc801
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+   3001: Association/Directory
+   3004: Text
+   3005: HTML
+   3008: MS Wave
+   3009: MP3
+   300b: MPEG
+   3801: JPEG
+   3802: TIFF EP
+   3804: BMP
+   3807: GIF
+   3808: JFIF
+   380b: PNG
+   380d: TIFF
+   b901: WMA
+   b902: OGG
+   b903: AAC
+   b982: MP4
+   b983: MP2
+   b984: 3GP
+   ba05: Abstract Audio Video Playlist
+   ba10: WPL Playlist
+   ba11: M3U Playlist
+   ba14: PLS Playlist
+   ba82: XMLDocument
+   b906: FLAC
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 13764251648
+      FreeSpaceInBytes: 9642545152
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 63831015424
+      FreeSpaceInBytes: 62790303744
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Storage device
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+ERROR: Could not close session!
+inep: usb_get_endpoint_status(): No such device
+outep: usb_get_endpoint_status(): No such device
+OK.
+stephen@stephen-Z97-HD3:~$
diff --git a/logs/mtp-detect-amazon-fire-phone.txt b/logs/mtp-detect-amazon-fire-phone.txt
new file mode 100644
index 0000000..a74e178
--- /dev/null
+++ b/logs/mtp-detect-amazon-fire-phone.txt
@@ -0,0 +1,475 @@
+Listing raw device(s)
+Device 0 (VID=1949 and PID=0800) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+Found 1 device(s):
+1949:0800 @ bus 2, dev 4
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+bcdUSB: 512
+bDeviceClass: 0
+bDeviceSubClass: 0
+bDeviceProtocol: 0
+idVendor: 1949
+idProduct: 0800
+IN endpoint maxpacket: 512 bytes
+OUT endpoint maxpacket: 512 bytes
+Raw device info:
+Bus location: 2
+Device number: 4
+Device entry info:
+Vendor: (null)
+Vendor id: 0x1949
+Product: (null)
+Vendor id: 0x0800
+Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+Interface description contains the string "MTP"
+Device recognized as MTP, no further probing.
+Device info:
+Manufacturer: Amazon
+Model: Fire
+Device version: 1.0
+Serial number: B0BE07014503046E
+Vendor extension ID: 0x00000006
+Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+Detected object size: 64 bits
+Extensions:
+microsoft.com: 1.0
+android.com: 1.0
+Supported operations:
+1001: get device info
+1002: Open session
+1003: Close session
+1004: Get storage IDs
+1005: Get storage info
+1006: Get number of objects
+1007: Get object handles
+1008: Get object info
+1009: Get object
+100a: Get thumbnail
+100b: Delete object
+100c: Send object info
+100d: Send object
+1014: Get device property description
+1015: Get device property value
+1016: Set device property value
+1017: Reset device property value
+101b: Get partial object
+9801: Get object properties supported
+9802: Get object property description
+9803: Get object property value
+9804: Set object property value
+9805: Get object property list
+9810: Get object references
+9811: Set object references
+95c1: Get Partial Object (64bit Offset)
+95c2: Send Partial Object
+95c3: Truncate Object
+95c4: Begin Edit Object
+95c5: End Edit Object
+Events supported:
+0x4002
+0x4003
+0x4004
+0x4005
+0xc801
+0x400c
+Device Properties Supported:
+0xd401: Synchronization Partner
+0xd402: Friendly Device Name
+0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+3000: Undefined Type
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+3001: Association/Directory
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+3004: Text
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+3005: HTML
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+3008: MS Wave
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc9b: Album Artist STRING data type READ ONLY
+dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc8c: Genre STRING data type READ ONLY
+dc96: Composer STRING data type READ ONLY
+3009: MP3
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc9b: Album Artist STRING data type READ ONLY
+dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc8c: Genre STRING data type READ ONLY
+dc96: Composer STRING data type READ ONLY
+300b: MPEG
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc48: Description STRING data type READ ONLY
+3801: JPEG
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc48: Description STRING data type READ ONLY
+3802: TIFF EP
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+3804: BMP
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc48: Description STRING data type READ ONLY
+3807: GIF
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc48: Description STRING data type READ ONLY
+3808: JFIF
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+380b: PNG
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc48: Description STRING data type READ ONLY
+380d: TIFF
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+b901: WMA
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc9b: Album Artist STRING data type READ ONLY
+dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc8c: Genre STRING data type READ ONLY
+dc96: Composer STRING data type READ ONLY
+b902: OGG
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc9b: Album Artist STRING data type READ ONLY
+dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc8c: Genre STRING data type READ ONLY
+dc96: Composer STRING data type READ ONLY
+b903: AAC
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc9b: Album Artist STRING data type READ ONLY
+dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc8c: Genre STRING data type READ ONLY
+dc96: Composer STRING data type READ ONLY
+b982: MP4
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+b983: MP2
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+b984: 3GP
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc48: Description STRING data type READ ONLY
+ba05: Abstract Audio Video Playlist
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+ba10: WPL Playlist
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+ba11: M3U Playlist
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+ba14: PLS Playlist
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+ba82: XMLDocument
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 1
+ dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+b906: FLAC
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+StorageID: 0x00010001
+StorageType: 0x0003 fixed RAM storage
+FilesystemType: 0x0002 generic hierarchical
+AccessCapability: 0x0000 read/write
+MaxCapacity: 26513166336
+FreeSpaceInBytes: 20460281856
+FreeSpaceInObjects: 1073741824
+StorageDescription: Internal storage
+VolumeIdentifier: (null)
+Special directories:
+Default music folder: 0x00000001
+Default playlist folder: 0xffffffff
+Default picture folder: 0x00000006
+Default video folder: 0xffffffff
+Default organizer folder: 0xffffffff
+Default zencast folder: 0xffffffff
+Default album folder: 0xffffffff
+Default text folder: 0xffffffff
+MTP-specific device properties:
+Friendly name: (NULL)
+Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+Folder
+Text file
+HTML file
+RIFF WAVE file
+ISO MPEG-1 Audio Layer 3
+MPEG video stream
+JPEG file
+BMP bitmap file
+GIF bitmap file
+JFIF file
+Portable Network Graphics
+TIFF bitmap file
+Microsoft Windows Media Audio
+Ogg container format
+Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+ISO MPEG-1 Audio Layer 2
+Abstract Playlist file
+XML file
+Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-amazon-kindle-fire-5.txt b/logs/mtp-detect-amazon-kindle-fire-5.txt
new file mode 100644
index 0000000..42830f7
--- /dev/null
+++ b/logs/mtp-detect-amazon-kindle-fire-5.txt
@@ -0,0 +1,543 @@
+...the one with 7" screen.
+
+
+---
+
+** [bugs:#1491] 5th generation Fire tablet: VID=1949 and PID=0222**
+
+**Status:** open
+**Group:** unknown release (please set)
+**Created:** Sun Dec 20, 2015 10:36 PM UTC by Anonymous
+**Last Updated:** Sun Dec 20, 2015 10:38 PM UTC
+**Owner:** nobody
+
+
+Here's mtp-detect for Amazon's newest Fire tablet (calls itself 5th generation):
+
+libmtp version: 1.1.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   1949:0222 @ bus 2, dev 8
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 1949
+   idProduct: 0222
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 8
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x1949
+         Product: (null)
+         Vendor id: 0x0222
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Amazon
+   Model: Fire
+   Device version: 1.0
+   Serial number: removed-by-me
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+   0x400c
+   0xc801
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 6030872576
+      FreeSpaceInBytes: 4981202944
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Battery level 92 of 100 (92%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/bugs/1491/>
+
+
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/>
\ No newline at end of file
diff --git a/logs/mtp-detect-amazon-kindle-fire-7.txt b/logs/mtp-detect-amazon-kindle-fire-7.txt
new file mode 100644
index 0000000..0f65b86
--- /dev/null
+++ b/logs/mtp-detect-amazon-kindle-fire-7.txt
@@ -0,0 +1,550 @@
+
+
+
+---
+
+** [bugs:#1448] New device: Amazon Kindle Fire 7 (5th gen)**
+
+**Status:** open
+**Group:** unknown release (please set)
+**Labels:** New device 
+**Created:** Fri Oct 09, 2015 08:13 PM UTC by Anonymous
+**Last Updated:** Fri Oct 09, 2015 08:13 PM UTC
+**Owner:** nobody
+
+
+New device: Amazon Kindle Fire 7
+Vendor ID: 1949
+Product ID: 0221
+
+Following mtp-detect output:
+
+Listing raw device(s)
+Device 0 (VID=1949 and PID=0221) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   1949:0221 @ bus 2, dev 35
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 1949
+   idProduct: 0221
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 35
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x1949
+         Product: (null)
+         Vendor id: 0x0221
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Amazon
+   Model: Fire
+   Device version: 1.0
+   Serial number: *striped*
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+   0x400c
+   0xc801
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 6045392896
+      FreeSpaceInBytes: 4841086976
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Interner Speicher
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000018
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000050
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Battery level 55 of 100 (55%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
+
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/bugs/1448/>
+
+
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/>
\ No newline at end of file
diff --git a/logs/mtp-detect-amazon-kindle-fire-hd.txt b/logs/mtp-detect-amazon-kindle-fire-hd.txt
new file mode 100644
index 0000000..3f84c18
--- /dev/null
+++ b/logs/mtp-detect-amazon-kindle-fire-hd.txt
@@ -0,0 +1,462 @@
+libmtp version: 1.1.4
+
+Listing raw device(s)
+Device 0 (VID=1949 and PID=0007) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   1949:0007 @ bus 2, dev 7
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 1949
+   idProduct: 0007
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 7
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x1949
+         Product: (null)
+         Vendor id: 0x0007
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Amazon
+   Model: Kindle
+   Device version: 1.0
+   Serial number:
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLYD025A0A023660HB0D025A0A023660HB0D025A0A023660HB0
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 13560729600
+      FreeSpaceInBytes: 12999454720
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000004
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-aquarius-ubuntu-touch.txt b/logs/mtp-detect-aquarius-ubuntu-touch.txt
new file mode 100644
index 0000000..3897984
--- /dev/null
+++ b/logs/mtp-detect-aquarius-ubuntu-touch.txt
@@ -0,0 +1,470 @@
+[greg@greg-venus ~]$ sudo mtp-detect
+[sudo] password for root: 
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.
+libmtp version: 1.1.8
+
+Listing raw device(s)
+Device 0 (VID=2a47 and PID=2008) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   2a47:2008 @ bus 1, dev 9
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+Error 1: Get Storage information failed.
+Error 2: PTP Layer error 02fe: get_handles_recursively(): could not get object handles.
+Error 2: Error 02fe: PTP: Protocol error, data expected
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 2a47
+   idProduct: 2008
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 9
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x2a47
+         Product: (null)
+         Vendor id: 0x2008
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: bq
+   Model: Aquaris E4.5 Ubuntu Edition
+   Device version: 1.0
+   Serial number: JU002220
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 32 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   1019: Move object
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4007
+   0xc801
+Device Properties Supported:
+   0xd402: Friendly Device Name
+   0xd401: Synchronization Partner
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   3800: Defined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   380e: TIFF_IT
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   380f: JP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   3810: JPX
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   JP2 file
+   JPX file
+   Ogg container format
+   ISO MPEG-1 Audio Layer 3
+   RIFF WAVE file
+   Microsoft Windows Media Audio
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Free Lossless Audio Codec (FLAC)
+   Abstract Album file
+   Abstract Playlist file
+OK.
+[greg@greg-venus ~]$ 
+
diff --git a/logs/mtp-detect-archos-101xs.txt b/logs/mtp-detect-archos-101xs.txt
new file mode 100644
index 0000000..3cad851
--- /dev/null
+++ b/logs/mtp-detect-archos-101xs.txt
@@ -0,0 +1,704 @@
+Error: Unable to open ~/.mtpz-data for reading.
+libmtp version: 1.1.5
+
+Listing raw device(s)
+   Found 1 device(s):
+   Archos: 101 XS (0e79:1548) @ bus 1, dev 3
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0e79
+   idProduct: 1548
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 3
+      Device entry info:
+         Vendor: Archos
+         Vendor id: 0x0e79
+         Product: 101 XS
+         Vendor id: 0x1548
+         Device flags: 0x08008106
+Device info:
+   Manufacturer: Archos
+   Model: ARCHOS 101G10
+   Device version: 1.0
+   Serial number: A101XS6KKUPGM6HD2KR8
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+   300a: MS AVI
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 3072000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 129, 40, 49, 50, 80, 352, 354, 355, 356, 41222, 17, 85, 353,  READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 10240, MAX 8192000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861292868, 878070084, 894847300, 1446268228, 1128477773, 844313677, 1667445869, 859189832, 861293911, 958804552, 844516695, 827739479, 1195724877, 844516695, 828601953, 1482049860, 1668702564, 808802372, 808810596, 1395937357, 875967064, 1145656920, 2021026148, 1684633208,  READ ONLY
+      dea1: Encoding Profile STRING data type READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  READ ONLY
+   b980: Undefined Video
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 3072000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 40, 49, 50, 80, 192, 352, 354, 129, 355, 356, 41222, 17, 85, 353,  READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 10240, MAX 5120000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 861293911, 958804552, 844516695, 827739479, 1195724877, 844516695, 828601953, 1482049860, 1668702564, 808802372, 808810596, 1395937357, 875967064, 1145656920, 2021026148, 1684633208,  READ ONLY
+      dea1: Encoding Profile STRING data type READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  READ ONLY
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 3072000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 129, 40, 49, 50, 80, 352, 354, 355, 356, 41222, 17, 85, 353,  READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 10240, MAX 10240000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 844516695, 861293911, 1482049860, 808802372, 808810596, 1395937357, 1145656920,  READ ONLY
+      dea1: Encoding Profile STRING data type READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  READ ONLY
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 3072000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 129, 40, 49, 50, 80, 352, 354, 355, 356, 41222, 17, 85, 353,  READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 10240, MAX 10240000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 861293911, 844516695, 827739479,  READ ONLY
+      dea1: Encoding Profile STRING data type READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 64000, MAX 3072000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 17,  READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1000, MAX 327680, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 3072000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 40, 49, 50, 80, 192, 352, 354, 129, 355, 356, 41222, 17, 85, 353,  READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 10240, MAX 10240000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 826757197, 843534413,  READ ONLY
+      dea1: Encoding Profile STRING data type READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353,  READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 3072000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 40, 49, 50, 80, 192, 352, 354, 129, 355, 356, 41222, 17, 85, 353,  READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 255,  READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 3072000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 40, 49, 50, 80, 129, 352, 354, 355, 356, 41222, 17, 85, 353,  READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 10240, MAX 5120000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1129726276, 826496577, 828601953, 875967064, 808810596, 808802372, 1668702564, 875967064,  READ ONLY
+      dea1: Encoding Profile STRING data type READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 3072000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 40, 49, 50, 80, 192, 352, 354, 129, 355, 356, 41222, 17, 85, 353,  READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 3072000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 40, 49, 50, 80, 192, 352, 354, 129, 355, 356, 41222, 17, 85, 353,  READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 10240, MAX 5120000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 861293911, 958804552, 844516695, 827739479, 1195724877, 844516695, 828601953, 1482049860, 1668702564, 808802372, 808810596, 1395937357, 875967064, 1145656920, 2021026148, 1684633208,  READ ONLY
+      dea1: Encoding Profile STRING data type READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 14854127616
+      FreeSpaceInBytes: 8003403476
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Mémoire de stockage interne
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x0000002d
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000017
+   Default video folder: 0x0000003a
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Audio Video Interleave
+   Undefined video file
+   Microsoft Advanced Systems Format
+   Microsoft Windows Media Video
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-archos-48.txt b/logs/mtp-detect-archos-48.txt
new file mode 100644
index 0000000..179124b
--- /dev/null
+++ b/logs/mtp-detect-archos-48.txt
@@ -0,0 +1,581 @@
+
+
+
+---
+
+** [bugs:#1410] unknown device - Archos 48 Internet Tablet 500GB**
+
+**Status:** open
+**Group:** 1.1.9
+**Created:** Fri Sep 11, 2015 05:29 PM UTC by Anonymous
+**Last Updated:** Fri Sep 11, 2015 05:29 PM UTC
+**Owner:** nobody
+
+
+I have an Archos 48 Internet Tablet, a device with a 500 GB hard drive I use as music player. This is the output of mtp-detect
+
+libmtp version: 1.1.9
+
+Listing raw device(s)
+Device 0 (VID=0e79 and PID=1421) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0e79:1421 @ bus 4, dev 14
+Attempting to connect device(s)
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 255
+   bDeviceProtocol: 255
+   idVendor: 0e79
+   idProduct: 1421
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 4
+      Device number: 14
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0e79
+         Product: (null)
+         Vendor id: 0x1421
+         Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: fe00                                   	..
+Microsoft device response to control message 1, CMD 0xfe:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Microsoft device response to control message 2, CMD 0xfe:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Device responds to control message 2 with some data.
+Device info:
+   Manufacturer: ARCHOS
+   Model: Archos 48
+   Device version: 2.0.45  
+   Serial number: JG661EBPEA3BLL
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 10.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        microsoft.com/WMDRMPD: 10.1
+        microsoft.com/WMPPD: 10.0
+Supported operations:
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   1001: get device info
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1010: Reset device
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100c: Send object info
+   100d: Send object
+   100b: Delete object
+   1019: Move object
+   101a: Copy object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9807: Get interdependent property description
+   9808: Send object property list
+   9810: Get object references
+   9811: Set object references
+   101b: Get partial object
+   9201: Report Added/Deleted Items
+Events supported:
+   0x4001
+   0x4004
+   0x4005
+   0x400a
+Device Properties Supported:
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc42: Sync ID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc07: Object File Name STRING data type GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX -1, STEP 1 READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1000, MAX 327680, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 85,  READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc42: Sync ID STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX -1, STEP 1 READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353,  READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc42: Sync ID STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX -1, STEP 1 READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 64000, MAX 3072000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 17,  READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc42: Sync ID STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX -1, STEP 1 READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 255,  READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc42: Sync ID STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+   300a: MS AVI
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX -1, STEP 1 READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 3072000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 17, 85, 353,  READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 10240, MAX 8192000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 1482049860, 808802372, 1395937357, 1145656920,  GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      de91: Total Bit Rate UINT32 data type range: MIN 10240, MAX 11264000, STEP 1 READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc42: Sync ID STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 1, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX -1, STEP 1 READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 3072000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 17, 85, 353,  READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 10240, MAX 10240000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 861293911,  GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      de91: Total Bit Rate UINT32 data type range: MIN 10240, MAX 13312000, STEP 1 READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc42: Sync ID STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 1, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX -1, STEP 1 READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 3072000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 17, 85, 353,  READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 10240, MAX 10240000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 861293911, 1482049860, 808802372, 1395937357, 1145656920,  GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      de91: Total Bit Rate UINT32 data type range: MIN 10240, MAX 13312000, STEP 1 READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc42: Sync ID STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 1, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 576, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX -1, STEP 1 READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 3072000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80,  READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 10240, MAX 10240000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 826757197, 843534413,  GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      de91: Total Bit Rate UINT32 data type range: MIN 10240, MAX 13312000, STEP 1 READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc42: Sync ID STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 1, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX -1, STEP 1 READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 3072000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 255,  READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 10240, MAX 5120000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1129726276, 826496577, 875967064,  GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      de91: Total Bit Rate UINT32 data type range: MIN 10240, MAX 8192000, STEP 1 READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc42: Sync ID STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 1, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc42: Sync ID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc42: Sync ID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc42: Sync ID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc42: Sync ID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc42: Sync ID STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 1, MAX 1024, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 1, MAX 1024, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 1, MAX -1, STEP 1 GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc42: Sync ID STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc42: Sync ID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 495526760448
+      FreeSpaceInBytes: 414964207616
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Internal Hard Drive
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x000000c6
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000f56
+   Default video folder: 0x00000f4b
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Archie
+   Synchronization partner: (NULL)
+   Battery level 1 of 3 (33%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   RIFF WAVE file
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Audio Video Interleave
+   Microsoft Windows Media Video
+   Microsoft Advanced Systems Format
+   MPEG video stream
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   JPEG file
+   JFIF file
+   BMP bitmap file
+   Portable Network Graphics
+   Abstract Album file
+   Abstract Playlist file
+   Folder
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#19700131 22:30:51Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>
+OK.
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/bugs/1410/>
+
+
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/>
\ No newline at end of file
diff --git a/logs/mtp-detect-archos-5-v1.txt b/logs/mtp-detect-archos-5-v1.txt
new file mode 100644
index 0000000..fe897c9
--- /dev/null
+++ b/logs/mtp-detect-archos-5-v1.txt
@@ -0,0 +1,693 @@
+~/usr/bin/mtp-detect
+libmtp version: 0.3.7-cvs
+
+Listing raw device(s)
+Found 1 device(s):
+Archos: 5 (MTP mode) - 1 (0e79:1331) @ bus 0, dev 29
+Attempting to connect device(s)
+USB low-level info:
+Using kernel interface "usbfs"
+bcdUSB: 512
+bDeviceClass: 0
+bDeviceSubClass: 0
+bDeviceProtocol: 0
+idVendor: 0e79
+idProduct: 1331
+IN endpoint maxpacket: 512 bytes
+OUT endpoint maxpacket: 512 bytes
+Raw device info:
+Bus location: 0
+Device number: 29
+Device entry info:
+Vendor: Archos
+Vendor id: 0x0e79
+Product: 5 (MTP mode) - 1
+Vendor id: 0x1331
+Device flags: 0x00000002
+Microsoft device descriptor 0xee:
+0000: 1203 4d00 5300 4600 5400 3100 3000 3000 ..M.S.F.T.1.0.0.
+0010: fe00 ..
+Microsoft device response to control message 1, CMD 0xfe:
+0000: 2800 0000 0001 0400 0100 0000 0000 0000 (...............
+0010: 0001 4d54 5000 0000 0000 0000 0000 0000 ..MTP...........
+0020: 0000 0000 0000 0000 ........
+Microsoft device response to control message 2, CMD 0xfe:
+0000: 2800 0000 0001 0400 0100 0000 0000 0000 (...............
+0010: 0001 4d54 5000 0000 0000 0000 0000 0000 ..MTP...........
+0020: 0000 0000 0000 0000 ........
+Device info:
+Manufacturer: ARCHOS
+Model: Archos 5
+Device version: 1.6.03
+Serial number: U7NK88G3T989P8
+Vendor extension ID: 0x00000006
+Vendor extension description: microsoft.com: 1.0;
+microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 10.0;
+Detected object size: 64 bits
+Supported operations:
+9101: Get secure time challenge
+9102: Get secure time response
+9103: Set license response
+9104: Get sync list
+9105: Send meter challenge query
+9106: Get meter challenge
+9107: Get meter response
+9108: Clean data store
+9109: Get license state
+1001: get device info
+1014: Get device property description
+1015: Get device property value
+1016: Set device property value
+1017: Reset device property value
+1002: Open session
+1003: Close session
+1004: Get storage IDs
+1005: Get storage info
+100f: Format storage
+1010: Reset device
+1006: Get number of objects
+1007: Get object handles
+1008: Get object info
+1009: Get object
+100c: Send object info
+100d: Send object
+100b: Delete object
+1019: Move object
+101a: Copy object
+9801: Get object properties supported
+9802: Get object property description
+9803: Get object property value
+9804: Set object property value
+9805: Get object property list
+9806: Set object property list
+9807: Get interdependent property description
+9808: Send object property list
+9810: Get object references
+9811: Set object references
+101b: Get partial object
+9201: Report Added/Deleted Items
+Events supported:
+0x4001
+0x4004
+0x4005
+0x400a
+Device Properties Supported:
+0xd101: Secure Time
+0xd102: Device Certificate
+0x5001: Battery Level
+0xd401: Synchronization Partner
+0xd402: Friendly Device Name
+Playable File (Object) Types and Object Properties Supported:
+3000: Undefined Type
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770,
+32771, READ ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+dc09: DateModified STRING data type DATETIME FORM READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc42: SyncID STRING data type GET/SET
+dc44: Name STRING data type GET/SET
+dc07: ObjectFileName STRING data type GET/SET
+3009: MP3
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770,
+32771, READ ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+dc09: DateModified STRING data type DATETIME FORM READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc89: Duration UINT32 data type range: MIN 1, MAX -1, STEP 1 READ
+ONLY
+dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+de94: NumberOfChannels UINT16 data type enumeration: 1, 2, GET/SET
+de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 1
+READ ONLY
+de9a: AudioBitRate UINT32 data type range: MIN 1000, MAX 327680,
+STEP 1 READ ONLY
+de99: AudioWAVECodec UINT32 data type enumeration: 85, READ ONLY
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc42: SyncID STRING data type GET/SET
+dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+dc44: Name STRING data type GET/SET
+dc07: ObjectFileName STRING data type GET/SET
+dc46: Artist STRING data type GET/SET
+dc9b: AlbumArtist STRING data type GET/SET
+dc9a: AlbumName STRING data type GET/SET
+dc8c: Genre STRING data type GET/SET
+dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+b901: WMA
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770,
+32771, READ ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+dc09: DateModified STRING data type DATETIME FORM READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc89: Duration UINT32 data type range: MIN 1, MAX -1, STEP 1 READ
+ONLY
+dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+de94: NumberOfChannels UINT16 data type enumeration: 1, 2, GET/SET
+de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 1
+READ ONLY
+de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 320000,
+STEP 1 READ ONLY
+de99: AudioWAVECodec UINT32 data type enumeration: 353, READ ONLY
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc42: SyncID STRING data type GET/SET
+dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+dc44: Name STRING data type GET/SET
+dc07: ObjectFileName STRING data type GET/SET
+dc46: Artist STRING data type GET/SET
+dc9b: AlbumArtist STRING data type GET/SET
+dc9a: AlbumName STRING data type GET/SET
+dc8c: Genre STRING data type GET/SET
+d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+3008: MS Wave
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770,
+32771, READ ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+dc09: DateModified STRING data type DATETIME FORM READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc89: Duration UINT32 data type range: MIN 1, MAX -1, STEP 1 READ
+ONLY
+dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+de94: NumberOfChannels UINT16 data type enumeration: 1, 2, GET/SET
+de93: SampleRate UINT32 data type range: MIN 8000, MAX 96000, STEP 1
+READ ONLY
+de9a: AudioBitRate UINT32 data type range: MIN 64000, MAX 3072000,
+STEP 1 READ ONLY
+de99: AudioWAVECodec UINT32 data type enumeration: 1, 17, READ
+ONLY
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc42: SyncID STRING data type GET/SET
+dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+dc44: Name STRING data type GET/SET
+dc07: ObjectFileName STRING data type GET/SET
+dc46: Artist STRING data type GET/SET
+dc9b: AlbumArtist STRING data type GET/SET
+dc9a: AlbumName STRING data type GET/SET
+dc8c: Genre STRING data type GET/SET
+dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+b903: AAC
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770,
+32771, READ ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+dc09: DateModified STRING data type DATETIME FORM READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc89: Duration UINT32 data type range: MIN 1, MAX -1, STEP 1 READ
+ONLY
+dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+de94: NumberOfChannels UINT16 data type enumeration: 1, 2, GET/SET
+de93: SampleRate UINT32 data type range: MIN 8000, MAX 96000, STEP 1
+READ ONLY
+de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000,
+STEP 1 READ ONLY
+de99: AudioWAVECodec UINT32 data type enumeration: 255, READ ONLY
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc42: SyncID STRING data type GET/SET
+dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+dc44: Name STRING data type GET/SET
+dc07: ObjectFileName STRING data type GET/SET
+dc46: Artist STRING data type GET/SET
+dc9b: AlbumArtist STRING data type GET/SET
+dc9a: AlbumName STRING data type GET/SET
+dc8c: Genre STRING data type GET/SET
+dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+300a: MS AVI
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770,
+32771, READ ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+dc09: DateModified STRING data type DATETIME FORM READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc87: Width UINT32 data type range: MIN 1, MAX 720, STEP 1 READ
+ONLY
+dc88: Height UINT32 data type range: MIN 1, MAX 576, STEP 1 READ
+ONLY
+dc89: Duration UINT32 data type range: MIN 1, MAX -1, STEP 1 READ
+ONLY
+dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+de94: NumberOfChannels UINT16 data type enumeration: 1, 2, GET/SET
+de93: SampleRate UINT32 data type range: MIN 8000, MAX 96000, STEP 1
+READ ONLY
+de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 3072000,
+STEP 1 READ ONLY
+de99: AudioWAVECodec UINT32 data type enumeration: 1, 17, 85, 353,
+READ ONLY
+de9c: VideoBitRate UINT32 data type range: MIN 10240, MAX 5120000,
+STEP 1 READ ONLY
+de9b: VideoFourCCCodec UINT32 data type enumeration: 1482049860,
+808802372, 1395937357, 1145656920, GET/SET
+dea1: EncodingProfile STRING data type GET/SET
+de91: TotalBitRate UINT32 data type range: MIN 10240, MAX 8192000,
+STEP 1 READ ONLY
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc42: SyncID STRING data type GET/SET
+dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+dc44: Name STRING data type GET/SET
+dc07: ObjectFileName STRING data type GET/SET
+dc8c: Genre STRING data type GET/SET
+de97: ScanDepth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6,
+7, GET/SET
+de9d: FramesPerThousandSeconds UINT32 data type range: MIN 1, MAX
+30000, STEP 1 GET/SET
+de9e: KeyFrameDistance UINT32 data type range: MIN 1, MAX -1, STEP 1
+GET/SET
+dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+b981: WMV
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770,
+32771, READ ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+dc09: DateModified STRING data type DATETIME FORM READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc87: Width UINT32 data type range: MIN 1, MAX 720, STEP 1 READ
+ONLY
+dc88: Height UINT32 data type range: MIN 1, MAX 576, STEP 1 READ
+ONLY
+dc89: Duration UINT32 data type range: MIN 1, MAX -1, STEP 1 READ
+ONLY
+dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+de94: NumberOfChannels UINT16 data type enumeration: 1, 2, GET/SET
+de93: SampleRate UINT32 data type range: MIN 8000, MAX 96000, STEP 1
+READ ONLY
+de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 3072000,
+STEP 1 READ ONLY
+de99: AudioWAVECodec UINT32 data type enumeration: 1, 17, 85, 353,
+READ ONLY
+de9c: VideoBitRate UINT32 data type range: MIN 10240, MAX 10240000,
+STEP 1 READ ONLY
+de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911,
+GET/SET
+dea1: EncodingProfile STRING data type GET/SET
+de91: TotalBitRate UINT32 data type range: MIN 10240, MAX 13312000,
+STEP 1 READ ONLY
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc42: SyncID STRING data type GET/SET
+dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+dc44: Name STRING data type GET/SET
+dc07: ObjectFileName STRING data type GET/SET
+dc8c: Genre STRING data type GET/SET
+d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+de97: ScanDepth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6,
+7, GET/SET
+de9d: FramesPerThousandSeconds UINT32 data type range: MIN 1, MAX
+30000, STEP 1 GET/SET
+de9e: KeyFrameDistance UINT32 data type range: MIN 1, MAX -1, STEP 1
+GET/SET
+dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+300c: ASF
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770,
+32771, READ ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+dc09: DateModified STRING data type DATETIME FORM READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc87: Width UINT32 data type range: MIN 1, MAX 720, STEP 1 READ
+ONLY
+dc88: Height UINT32 data type range: MIN 1, MAX 576, STEP 1 READ
+ONLY
+dc89: Duration UINT32 data type range: MIN 1, MAX -1, STEP 1 READ
+ONLY
+dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+de94: NumberOfChannels UINT16 data type enumeration: 1, 2, GET/SET
+de93: SampleRate UINT32 data type range: MIN 8000, MAX 96000, STEP 1
+READ ONLY
+de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 3072000,
+STEP 1 READ ONLY
+de99: AudioWAVECodec UINT32 data type enumeration: 1, 17, 85, 353,
+READ ONLY
+de9c: VideoBitRate UINT32 data type range: MIN 10240, MAX 10240000,
+STEP 1 READ ONLY
+de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911,
+1482049860, 808802372, 1395937357, 1145656920, GET/SET
+dea1: EncodingProfile STRING data type GET/SET
+de91: TotalBitRate UINT32 data type range: MIN 10240, MAX 13312000,
+STEP 1 READ ONLY
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc42: SyncID STRING data type GET/SET
+dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+dc44: Name STRING data type GET/SET
+dc07: ObjectFileName STRING data type GET/SET
+dc8c: Genre STRING data type GET/SET
+de97: ScanDepth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6,
+7, GET/SET
+de9d: FramesPerThousandSeconds UINT32 data type range: MIN 1, MAX
+30000, STEP 1 GET/SET
+de9e: KeyFrameDistance UINT32 data type range: MIN 1, MAX -1, STEP 1
+GET/SET
+dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+300b: MPEG
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770,
+32771, READ ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+dc09: DateModified STRING data type DATETIME FORM READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc87: Width UINT32 data type range: MIN 1, MAX 720, STEP 1 READ
+ONLY
+dc88: Height UINT32 data type range: MIN 1, MAX 576, STEP 1 READ
+ONLY
+dc89: Duration UINT32 data type range: MIN 1, MAX -1, STEP 1 READ
+ONLY
+dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+de94: NumberOfChannels UINT16 data type enumeration: 1, 2, GET/SET
+de93: SampleRate UINT32 data type range: MIN 8000, MAX 96000, STEP 1
+READ ONLY
+de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 3072000,
+STEP 1 READ ONLY
+de99: AudioWAVECodec UINT32 data type enumeration: 80, READ ONLY
+de9c: VideoBitRate UINT32 data type range: MIN 10240, MAX 10240000,
+STEP 1 READ ONLY
+de9b: VideoFourCCCodec UINT32 data type enumeration: 826757197,
+843534413, GET/SET
+dea1: EncodingProfile STRING data type GET/SET
+de91: TotalBitRate UINT32 data type range: MIN 10240, MAX 13312000,
+STEP 1 READ ONLY
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc42: SyncID STRING data type GET/SET
+dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+dc44: Name STRING data type GET/SET
+dc07: ObjectFileName STRING data type GET/SET
+dc8c: Genre STRING data type GET/SET
+de97: ScanDepth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6,
+7, GET/SET
+de9d: FramesPerThousandSeconds UINT32 data type range: MIN 1, MAX
+30000, STEP 1 GET/SET
+de9e: KeyFrameDistance UINT32 data type range: MIN 1, MAX -1, STEP 1
+GET/SET
+dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+b982: MP4
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770,
+32771, READ ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+dc09: DateModified STRING data type DATETIME FORM READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc87: Width UINT32 data type range: MIN 1, MAX 720, STEP 1 READ
+ONLY
+dc88: Height UINT32 data type range: MIN 1, MAX 576, STEP 1 READ
+ONLY
+dc89: Duration UINT32 data type range: MIN 1, MAX -1, STEP 1 READ
+ONLY
+dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+de94: NumberOfChannels UINT16 data type enumeration: 1, 2, GET/SET
+de93: SampleRate UINT32 data type range: MIN 8000, MAX 96000, STEP 1
+READ ONLY
+de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 3072000,
+STEP 1 READ ONLY
+de99: AudioWAVECodec UINT32 data type enumeration: 255, READ ONLY
+de9c: VideoBitRate UINT32 data type range: MIN 10240, MAX 5120000,
+STEP 1 READ ONLY
+de9b: VideoFourCCCodec UINT32 data type enumeration: 875967048,
+1129726276, 826496577, 875967064, GET/SET
+dea1: EncodingProfile STRING data type GET/SET
+de91: TotalBitRate UINT32 data type range: MIN 10240, MAX 8192000,
+STEP 1 READ ONLY
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc42: SyncID STRING data type GET/SET
+dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+dc44: Name STRING data type GET/SET
+dc07: ObjectFileName STRING data type GET/SET
+dc8c: Genre STRING data type GET/SET
+de97: ScanDepth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6,
+7, GET/SET
+de9d: FramesPerThousandSeconds UINT32 data type range: MIN 1, MAX
+30000, STEP 1 GET/SET
+de9e: KeyFrameDistance UINT32 data type range: MIN 1, MAX -1, STEP 1
+GET/SET
+dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+3801: JPEG
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770,
+32771, READ ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+dc09: DateModified STRING data type DATETIME FORM READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ
+ONLY
+dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ
+ONLY
+dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc42: SyncID STRING data type GET/SET
+dc44: Name STRING data type GET/SET
+dc07: ObjectFileName STRING data type GET/SET
+dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+3808: JFIF
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770,
+32771, READ ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+dc09: DateModified STRING data type DATETIME FORM READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ
+ONLY
+dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ
+ONLY
+dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc42: SyncID STRING data type GET/SET
+dc44: Name STRING data type GET/SET
+dc07: ObjectFileName STRING data type GET/SET
+dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+3804: BMP
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770,
+32771, READ ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+dc09: DateModified STRING data type DATETIME FORM READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ
+ONLY
+dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ
+ONLY
+dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc42: SyncID STRING data type GET/SET
+dc44: Name STRING data type GET/SET
+dc07: ObjectFileName STRING data type GET/SET
+dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+380b: PNG
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770,
+32771, READ ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+dc09: DateModified STRING data type DATETIME FORM READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ
+ONLY
+dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ
+ONLY
+dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc42: SyncID STRING data type GET/SET
+dc44: Name STRING data type GET/SET
+dc07: ObjectFileName STRING data type GET/SET
+dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+ba03: Abstract Audio Album
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770,
+32771, READ ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+dc09: DateModified STRING data type DATETIME FORM READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc42: SyncID STRING data type GET/SET
+dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+dc44: Name STRING data type GET/SET
+dc07: ObjectFileName STRING data type GET/SET
+dc46: Artist STRING data type GET/SET
+dc9b: AlbumArtist STRING data type GET/SET
+dc9a: AlbumName STRING data type GET/SET
+dc8c: Genre STRING data type GET/SET
+dc81: RepresentativeSampleFormat UINT16 data type enumeration:
+14337, GET/SET
+dc84: RepresentativeSampleWidth UINT32 data type range: MIN 1, MAX
+1024, STEP 1 READ ONLY
+dc83: RepresentativeSampleHeight UINT32 data type range: MIN 1, MAX
+1024, STEP 1 READ ONLY
+dc86: RepresentativeSampleData array of UINT8 data type byte array:
+GET/SET
+dc82: RepresentativeSampleSize UINT32 data type range: MIN 1, MAX
+-1, STEP 1 GET/SET
+d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+ba05: Abstract Audio Video Playlist
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770,
+32771, READ ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+dc09: DateModified STRING data type DATETIME FORM READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc42: SyncID STRING data type GET/SET
+dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+dc44: Name STRING data type GET/SET
+dc07: ObjectFileName STRING data type GET/SET
+dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+3001: Association/Directory
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770,
+32771, READ ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+dc09: DateModified STRING data type DATETIME FORM READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc42: SyncID STRING data type GET/SET
+dc44: Name STRING data type GET/SET
+dc07: ObjectFileName STRING data type GET/SET
+dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+Storage Devices:
+StorageID: 0x00010001
+StorageType: 0x0003 fixed RAM storage
+FilesystemType: 0x0002 generic hierarchical
+AccessCapability: 0x0000 read/write
+MaxCapacity: 59709652992
+FreeSpaceInBytes: 59337244672
+FreeSpaceInObjects: 4294967295
+StorageDescription: Internal Hard Drive
+VolumeIdentifier: (null)
+Special directories:
+Default music folder: 0x0000001d
+Default playlist folder: 0x00000066
+Default picture folder: 0x0000002b
+Default video folder: 0x00000068
+Default organizer folder: 0x00000000
+Default zencast folder: 0x00000000
+Default album folder: 0x00000000
+Default text folder: 0x00000000
+MTP-specific device properties:
+Friendly name: Archos 5
+Synchronization partner: (NULL)
+Battery level 3 of 3 (100%)
+libmtp supported (playable) filetypes:
+ISO MPEG-1 Audio Layer 3
+Microsoft Windows Media Audio
+RIFF WAVE file
+Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+Audio Video Interleave
+Microsoft Windows Media Video
+Microsoft Advanced Systems Format
+MPEG video stream
+MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+JPEG file
+JFIF file
+BMP bitmap file
+Portable Network Graphics
+Abstract Album file
+Abstract Playlist file
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20080428
+05:40:39Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID
+private="1">AAAAAAAAAAAAAAAAA</UNIQUEID><PUBLICKEY
+private="1">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</PUBLICKEY><KEYDATA>AAAAAAAAAAAAAAAAAAAAAA</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>AAAAAAAAAAAAAAAAAAAAAA</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.110.51</SECURITYVERSION><CERTIFICATE
+private="1">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</CERTIFICATE></FALLBACK><CERTIFICATE
+type="GROUP"><DATA><NAME>606H</NAME>
+<MANUFACTURER>Archos</MANUFACTURER>
+<MAKE>606H</MAKE>
+<DISTRIBUTOR>Archos</DISTRIBUTOR>
+<MODEL>606H</MODEL>
+<SECURITYLEVEL>2000</SECURITYLEVEL>
+<HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR>
+<HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR>
+<FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR>
+<FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>
+<FEATURES>
+<CLOCK>2</CLOCK>
+<SECURECLOCK>
+<URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL>
+<PUBLICKEY>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</PUBLICKEY>
+</SECURECLOCK>
+<METERING>1</METERING>
+<LICENSE_ACQ>1</LICENSE_ACQ>
+<LICENSE_SYNC>1</LICENSE_SYNC>
+<ENCRYPTION>1</ENCRYPTION>
+<SYMMETRIC_OPT>1</SYMMETRIC_OPT>
+<SUPPORT_REVOCATION>
+<GUID>{AAAAAAAAAAAAAAAAAAAA}</GUID>
+</SUPPORT_REVOCATION>
+</FEATURES>
+<LIMITS>
+<MAXCHAINDEPTH>2</MAXCHAINDEPTH>
+<MAXLICENSESIZE>10240</MAXLICENSESIZE>
+<MAXHEADERSIZE>5120</MAXHEADERSIZE>
+
+</LIMITS><PUBLICKEY>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>2455</AUTH_ID><PUBLICKEY>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>AAAAAAAAAAAAAAAAAAAAAAAAAAAAA</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>AAAAAAAAAAAAAAAAAAAAAAAAAAAAA</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+OK.
diff --git a/logs/mtp-detect-archos-5.txt b/logs/mtp-detect-archos-5.txt
new file mode 100644
index 0000000..fef58a1
--- /dev/null
+++ b/logs/mtp-detect-archos-5.txt
@@ -0,0 +1,12 @@
+Device 0 (VID=0e79 and PID=1333) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+usb_claim_interface(): Device or resource busy
+LIBMTP PANIC: Unable to initialize device
+Unable to open raw device 0
+libmtp version: 0.3.1
+
+Listing raw device(s)
+   Found 1 device(s):
+   0e79:1333 @ bus 0, dev 20
+Attempting to connect device(s)
+OK.
diff --git a/logs/mtp-detect-archos-50-diamond.txt b/logs/mtp-detect-archos-50-diamond.txt
new file mode 100644
index 0000000..1ce3be7
--- /dev/null
+++ b/logs/mtp-detect-archos-50-diamond.txt
@@ -0,0 +1,498 @@
+
+
+
+---
+
+** [bugs:#1352] ARCHOS 50 Diamond**
+
+**Status:** open
+**Group:** 1.1.9
+**Created:** Fri Jun 05, 2015 08:05 PM UTC by Anonymous
+**Last Updated:** Fri Jun 05, 2015 08:05 PM UTC
+**Owner:** nobody
+
+mtp-detect:
+
+Listing raw device(s)
+Device 0 (VID=0e79 and PID=3229) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0e79:3229 @ bus 1, dev 6
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0e79
+   idProduct: 3229
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 6
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0e79
+         Product: (null)
+         Vendor id: 0x3229
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: archos
+   Model: Archos 50 Diamond
+   Device version: 1.0
+   Serial number: D5729A1250801963
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 13244899328
+      FreeSpaceInBytes: 11075424256
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Mémoire de stockage interne
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/bugs/1352/>
+
+
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/>
\ No newline at end of file
diff --git a/logs/mtp-detect-archos-50-heliup-plus.txt b/logs/mtp-detect-archos-50-heliup-plus.txt
new file mode 100644
index 0000000..459d5a8
--- /dev/null
+++ b/logs/mtp-detect-archos-50-heliup-plus.txt
@@ -0,0 +1,525 @@
+libmtp version: 1.1.12
+
+Listing raw device(s)
+   Found 1 device(s):
+   0e79:522a @ bus 1, dev 28
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0e79
+   idProduct: 522a
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 28
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0e79
+         Product: (null)
+         Vendor id: 0x522a
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Archos
+   Model: Archos 50 Helium Plus
+   Device version: 1.0
+   Serial number: IJ5TBM79EAIVZSYL
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: Unknown(1001)
+   1002: Unknown(1002)
+   1003: Unknown(1003)
+   1004: Unknown(1004)
+   1005: Unknown(1005)
+   1006: Unknown(1006)
+   1007: Unknown(1007)
+   1008: Unknown(1008)
+   1009: Unknown(1009)
+   100a: Unknown(100a)
+   100b: Unknown(100b)
+   100c: Unknown(100c)
+   100d: Unknown(100d)
+   1014: Unknown(1014)
+   1015: Unknown(1015)
+   1016: Unknown(1016)
+   1017: Unknown(1017)
+   101b: Unknown(101b)
+   9801: Unknown(9801)
+   9802: Unknown(9802)
+   9803: Unknown(9803)
+   9804: Unknown(9804)
+   9810: Unknown(9810)
+   95c1: Unknown(95c1)
+   95c2: Unknown(95c2)
+   95c3: Unknown(95c3)
+   95c4: Unknown(95c4)
+   95c5: Unknown(95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 4594950144
+      FreeSpaceInBytes: 2070245376
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Stockage téléphone
+      VolumeIdentifier: (null)
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 31431753728
+      FreeSpaceInBytes: 31099518976
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Carte SD
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: Archos 50 Helium Plus
+   Battery level 87 of 100 (87%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-archos-50c.txt b/logs/mtp-detect-archos-50c.txt
new file mode 100644
index 0000000..78158da
--- /dev/null
+++ b/logs/mtp-detect-archos-50c.txt
@@ -0,0 +1,484 @@
+libmtp version: 1.1.8
+
+Listing raw device(s)
+   Found 1 device(s):
+   0e79:2008 @ bus 4, dev 23
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0e79
+   idProduct: 2008
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 4
+      Device number: 23
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0e79
+         Product: (null)
+         Vendor id: 0x2008
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Archos
+   Model: ARCHOS 50c Oxygen
+   Device version: 1.0
+   Serial number: K77T5HHM9D6PSGWS
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 4590567424
+      FreeSpaceInBytes: 4417585152
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Memoria telefono
+      VolumeIdentifier: (null)
+   StorageID: 0x00010001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 1975287808
+      FreeSpaceInBytes: 893681664
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Scheda SD
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x0000028d
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000291
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: ARCHOS 50c Oxygen
+   Synchronization partner: ARCHOS 50c Oxygen
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-archos-55-diamond-selfie.txt b/logs/mtp-detect-archos-55-diamond-selfie.txt
new file mode 100644
index 0000000..8628ba2
--- /dev/null
+++ b/logs/mtp-detect-archos-55-diamond-selfie.txt
@@ -0,0 +1,463 @@
+libmtp version: 1.1.12
+
+Listing raw device(s)
+   Found 1 device(s):
+   0e79:5465 @ bus 3, dev 3
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0e79
+   idProduct: 5465
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 3
+      Device number: 3
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0e79
+         Product: (null)
+         Vendor id: 0x5465
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Archos
+   Model: Archos 55 diamond Selfie
+   Device version: 1.0
+   Serial number: 2e8060c3
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: Unknown(1001)
+   1002: Unknown(1002)
+   1003: Unknown(1003)
+   1004: Unknown(1004)
+   1005: Unknown(1005)
+   1006: Unknown(1006)
+   1007: Unknown(1007)
+   1008: Unknown(1008)
+   1009: Unknown(1009)
+   100a: Unknown(100a)
+   100b: Unknown(100b)
+   100c: Unknown(100c)
+   100d: Unknown(100d)
+   1014: Unknown(1014)
+   1015: Unknown(1015)
+   1016: Unknown(1016)
+   1017: Unknown(1017)
+   101b: Unknown(101b)
+   9801: Unknown(9801)
+   9802: Unknown(9802)
+   9803: Unknown(9803)
+   9804: Unknown(9804)
+   9805: Unknown(9805)
+   9810: Unknown(9810)
+   9811: Unknown(9811)
+   95c1: Unknown(95c1)
+   95c2: Unknown(95c2)
+   95c3: Unknown(95c3)
+   95c4: Unknown(95c4)
+   95c5: Unknown(95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+
+diff -Nru libmtp-1.1.12.orig/src/music-players.h libmtp-1.1.12-1+1/src/music-players.h
+--- libmtp-1.1.12.orig/src/music-players.h	2016-08-11 17:16:04.000000000 +0200
++++ libmtp-1.1.12/src/music-players.h	2017-03-01 07:22:31.243810899 +0100
+@@ -1020,6 +1020,8 @@
+   /* https://sourceforge.net/p/libmtp/bugs/1587/ */
+   { "Archos", 0x0e79, "50d neon ", 0x5371, DEVICE_FLAGS_ANDROID_BUGS },
+ 
++  { "Archos", 0x0e79, "55 diamond Selfie", 0x5465, DEVICE_FLAGS_ANDROID_BUGS },
++
+   /*
+    * Dunlop (OEM of EGOMAN ltd?) reported by Nanomad
+    * This unit is falsely detected as USB mass storage in Linux
diff --git a/logs/mtp-detect-archos-70c.txt b/logs/mtp-detect-archos-70c.txt
new file mode 100644
index 0000000..c177b8f
--- /dev/null
+++ b/logs/mtp-detect-archos-70c.txt
@@ -0,0 +1,464 @@
+
+# mtp-detect 
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6
+
+Listing raw device(s)
+Device 0 (VID=0e79 and PID=14ef) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0e79:14ef @ bus 1, dev 5
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0e79
+   idProduct: 14ef
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 5
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0e79
+         Product: (null)
+         Vendor id: 0x14ef
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: archos
+   Model: ARCHOS 70b TITANIUM
+   Device version: 1.0
+   Serial number: 20130304000000b1
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32B
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 6791143424
+      FreeSpaceInBytes: 5942800284
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Interner Speicher
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
diff --git a/logs/mtp-detect-archos-70it2.txt b/logs/mtp-detect-archos-70it2.txt
new file mode 100644
index 0000000..eb4b374
--- /dev/null
+++ b/logs/mtp-detect-archos-70it2.txt
@@ -0,0 +1,707 @@
+libmtp version: 1.1.3
+
+Listing raw device(s)
+   Found 1 device(s):
+   0e79:1568 @ bus 1, dev 3
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0e79
+   idProduct: 1568
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 3
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0e79
+         Product: (null)
+         Vendor id: 0x1568
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Archos
+   Model: ARCHOS 70it2
+   Device version: 1.0
+   Serial number: 6KDFU5GJ71AC7E
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+   300a: MS AVI
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 3072000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 129, 40, 49, 50, 80, 352, 354, 355, 356, 41222, 17, 85, 353,  READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 10240, MAX 8192000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861292868, 878070084, 894847300, 1446268228, 1128477773, 844313677, 1667445869, 859189832, 861293911, 958804552, 844516695, 827739479, 1195724877, 844516695, 828601953, 1482049860, 1668702564, 808802372, 808810596, 1395937357, 875967064, 1145656920, 2021026148, 1684633208,  READ ONLY
+      dea1: Encoding Profile STRING data type READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  READ ONLY
+   b980: Undefined Video
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 3072000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 40, 49, 50, 80, 192, 352, 354, 129, 355, 356, 41222, 17, 85, 353,  READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 10240, MAX 5120000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 861293911, 958804552, 844516695, 827739479, 1195724877, 844516695, 828601953, 1482049860, 1668702564, 808802372, 808810596, 1395937357, 875967064, 1145656920, 2021026148, 1684633208,  READ ONLY
+      dea1: Encoding Profile STRING data type READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  READ ONLY
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 3072000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 129, 40, 49, 50, 80, 352, 354, 355, 356, 41222, 17, 85, 353,  READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 10240, MAX 10240000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 844516695, 861293911, 1482049860, 808802372, 808810596, 1395937357, 1145656920,  READ ONLY
+      dea1: Encoding Profile STRING data type READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  READ ONLY
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 3072000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 129, 40, 49, 50, 80, 352, 354, 355, 356, 41222, 17, 85, 353,  READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 10240, MAX 10240000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 861293911, 844516695, 827739479,  READ ONLY
+      dea1: Encoding Profile STRING data type READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 64000, MAX 3072000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 17,  READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1000, MAX 327680, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 3072000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 40, 49, 50, 80, 192, 352, 354, 129, 355, 356, 41222, 17, 85, 353,  READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 10240, MAX 10240000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 826757197, 843534413,  READ ONLY
+      dea1: Encoding Profile STRING data type READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353,  READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 3072000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 40, 49, 50, 80, 192, 352, 354, 129, 355, 356, 41222, 17, 85, 353,  READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 255,  READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 3072000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 40, 49, 50, 80, 129, 352, 354, 355, 356, 41222, 17, 85, 353,  READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 10240, MAX 5120000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1129726276, 826496577, 828601953, 875967064, 808810596, 808802372, 1668702564, 875967064,  READ ONLY
+      dea1: Encoding Profile STRING data type READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 3072000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 40, 49, 50, 80, 192, 352, 354, 129, 355, 356, 41222, 17, 85, 353,  READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 3072000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 40, 49, 50, 80, 192, 352, 354, 129, 355, 356, 41222, 17, 85, 353,  READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 10240, MAX 5120000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 861293911, 958804552, 844516695, 827739479, 1195724877, 844516695, 828601953, 1482049860, 1668702564, 808802372, 808810596, 1395937357, 875967064, 1145656920, 2021026148, 1684633208,  READ ONLY
+      dea1: Encoding Profile STRING data type READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 7139917824
+      FreeSpaceInBytes: 736870100
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal Storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x0000001f
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000009
+   Default video folder: 0x00000007
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Audio Video Interleave
+   Undefined video file
+   Microsoft Advanced Systems Format
+   Microsoft Windows Media Video
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-archos-80g9.txt b/logs/mtp-detect-archos-80g9.txt
new file mode 100644
index 0000000..ada238b
--- /dev/null
+++ b/logs/mtp-detect-archos-80g9.txt
@@ -0,0 +1,707 @@
+libmtp version: 1.1.2
+
+Listing raw device(s)
+   Found 1 device(s):
+   0e79:1518 @ bus 1, dev 53
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0e79
+   idProduct: 1518
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 53
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0e79
+         Product: (null)
+         Vendor id: 0x1518
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Archos
+   Model: ARCHOS 80G9
+   Device version: 1.0
+   Serial number: 6KG1KN5YCPR41M
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+   300a: MS AVI
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 3072000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 129, 40, 49, 50, 80, 352, 354, 355, 356, 41222, 17, 85, 353,  READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 10240, MAX 8192000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861292868, 878070084, 894847300, 1446268228, 1128477773, 844313677, 1667445869, 859189832, 861293911, 958804552, 844516695, 827739479, 1195724877, 844516695, 828601953, 1482049860, 1668702564, 808802372, 808810596, 1395937357, 875967064, 1145656920, 2021026148, 1684633208,  READ ONLY
+      dea1: Encoding Profile STRING data type READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  READ ONLY
+   b980: Undefined Video
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 3072000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 40, 49, 50, 80, 192, 352, 354, 129, 355, 356, 41222, 17, 85, 353,  READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 10240, MAX 5120000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 861293911, 958804552, 844516695, 827739479, 1195724877, 844516695, 828601953, 1482049860, 1668702564, 808802372, 808810596, 1395937357, 875967064, 1145656920, 2021026148, 1684633208,  READ ONLY
+      dea1: Encoding Profile STRING data type READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  READ ONLY
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 3072000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 129, 40, 49, 50, 80, 352, 354, 355, 356, 41222, 17, 85, 353,  READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 10240, MAX 10240000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 844516695, 861293911, 1482049860, 808802372, 808810596, 1395937357, 1145656920,  READ ONLY
+      dea1: Encoding Profile STRING data type READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  READ ONLY
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 3072000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 129, 40, 49, 50, 80, 352, 354, 355, 356, 41222, 17, 85, 353,  READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 10240, MAX 10240000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 861293911, 844516695, 827739479,  READ ONLY
+      dea1: Encoding Profile STRING data type READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 64000, MAX 3072000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 17,  READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1000, MAX 327680, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 3072000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 40, 49, 50, 80, 192, 352, 354, 129, 355, 356, 41222, 17, 85, 353,  READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 10240, MAX 10240000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 826757197, 843534413,  READ ONLY
+      dea1: Encoding Profile STRING data type READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353,  READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 3072000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 40, 49, 50, 80, 192, 352, 354, 129, 355, 356, 41222, 17, 85, 353,  READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 255,  READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 3072000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 40, 49, 50, 80, 129, 352, 354, 355, 356, 41222, 17, 85, 353,  READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 10240, MAX 5120000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1129726276, 826496577, 828601953, 875967064, 808810596, 808802372, 1668702564, 875967064,  READ ONLY
+      dea1: Encoding Profile STRING data type READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 3072000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 40, 49, 50, 80, 192, 352, 354, 129, 355, 356, 41222, 17, 85, 353,  READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 3072000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 40, 49, 50, 80, 192, 352, 354, 129, 355, 356, 41222, 17, 85, 353,  READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 10240, MAX 5120000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 861293911, 958804552, 844516695, 827739479, 1195724877, 844516695, 828601953, 1482049860, 1668702564, 808802372, 808810596, 1395937357, 875967064, 1145656920, 2021026148, 1684633208,  READ ONLY
+      dea1: Encoding Profile STRING data type READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 248085905408
+      FreeSpaceInBytes: 239550357504
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Interner Speicher
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000082
+   Default playlist folder: 0x000003c6
+   Default picture folder: 0x00000009
+   Default video folder: 0x000003c1
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Audio Video Interleave
+   Undefined video file
+   Microsoft Advanced Systems Format
+   Microsoft Windows Media Video
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+LIBMTP panic: unable to read in zero packet, response 0xfffffff8OK.
diff --git a/logs/mtp-detect-archos-97.txt b/logs/mtp-detect-archos-97.txt
new file mode 100644
index 0000000..1ae5f4e
--- /dev/null
+++ b/logs/mtp-detect-archos-97.txt
@@ -0,0 +1,451 @@
+Error: Unable to open ~/.mtpz-data for reading.
+libmtp version: 1.1.5
+
+Listing raw device(s)
+   Found 1 device(s):
+   0e79:149a @ bus 1, dev 5
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0e79
+   idProduct: 149a
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 5
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0e79
+         Product: (null)
+         Vendor id: 0x149a
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: archos
+   Model: ARCHOS 97 XENON
+   Device version: 1.0
+   Serial number: 35138467
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-archos-AC40DTI.txt b/logs/mtp-detect-archos-AC40DTI.txt
new file mode 100644
index 0000000..220f3ec
--- /dev/null
+++ b/logs/mtp-detect-archos-AC40DTI.txt
@@ -0,0 +1,593 @@
+
+
+
+---
+
+** [bugs:#1404] Device 0 (VID=0e79 and PID=5217) is UNKNOWN.**
+
+**Status:** open
+**Group:** unknown release (please set)
+**Created:** Mon Sep 07, 2015 08:18 AM UTC by patatetom
+**Last Updated:** Mon Sep 07, 2015 08:18 AM UTC
+**Owner:** nobody
+
+
+hi,
+
+**mtp-detect :**
+
+libmtp version: 1.1.9
+
+Listing raw device(s)
+Device 0 (VID=0e79 and PID=5217) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0e79:5217 @ bus 3, dev 9
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0e79
+   idProduct: 5217
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 3
+      Device number: 9
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0e79
+         Product: (null)
+         Vendor id: 0x5217
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Archos
+   Model: AC40DTI
+   Device version: 1.0
+   Serial number: xxxxxxxxxxxxxxxx
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 2555478016
+      FreeSpaceInBytes: 1075249152
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Mémoire de stockage interne
+      VolumeIdentifier: (null)
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 31940771840
+      FreeSpaceInBytes: 29377167360
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Carte SD
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0x00000281
+   Default picture folder: 0x0000000b
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
+**lsusb :**
+
+Bus 003 Device 009: ID 0e79:5217 Archos, Inc. 
+Device Descriptor:
+  bLength                18
+  bDescriptorType         1
+  bcdUSB               2.00
+  bDeviceClass            0 
+  bDeviceSubClass         0 
+  bDeviceProtocol         0 
+  bMaxPacketSize0        64
+  idVendor           0x0e79 Archos, Inc.
+  idProduct          0x5217 
+  bcdDevice           ff.ff
+  iManufacturer           2 Spreadtrum
+  iProduct                3 Spreadtrum
+  iSerial                 4 xxxxxxxxxxxxxxxx
+  bNumConfigurations      1
+  Configuration Descriptor:
+    bLength                 9
+    bDescriptorType         2
+    wTotalLength           39
+    bNumInterfaces          1
+    bConfigurationValue     1
+    iConfiguration          0 
+    bmAttributes         0xc0
+      Self Powered
+    MaxPower              500mA
+    Interface Descriptor:
+      bLength                 9
+      bDescriptorType         4
+      bInterfaceNumber        0
+      bAlternateSetting       0
+      bNumEndpoints           3
+      bInterfaceClass       255 Vendor Specific Class
+      bInterfaceSubClass    255 Vendor Specific Subclass
+      bInterfaceProtocol      0 
+      iInterface              8 MTP
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x82  EP 2 IN
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x02  EP 2 OUT
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+     bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x83  EP 3 IN
+        bmAttributes            3
+          Transfer Type            Interrupt
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x001c  1x 28 bytes
+        bInterval               6
+Device Qualifier (for other device speed):
+  bLength                10
+  bDescriptorType         6
+  bcdUSB               2.00
+  bDeviceClass            0 
+  bDeviceSubClass         0 
+  bDeviceProtocol         0 
+  bMaxPacketSize0        64
+  bNumConfigurations      1
+Device Status:     0x0001
+  Self Powered
+
+regards.
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/bugs/1404/>
+
+
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/>
\ No newline at end of file
diff --git a/logs/mtp-detect-archos-a504.txt b/logs/mtp-detect-archos-a504.txt
new file mode 100644
index 0000000..acc32c3
--- /dev/null
+++ b/logs/mtp-detect-archos-a504.txt
@@ -0,0 +1,561 @@
+libmtp version: 0.1.5
+
+Attempting to connect device(s)
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0e79
+   idProduct: 1307
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000002
+Device info:
+   Manufacturer: ARCHOS
+   Model: a504
+   Device version: 1.6.20  
+   Serial number: C5B8X71AC13UGG
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 10.0;
+Supported operations:
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   1001: get device info
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   100f: Format storage
+   1010: Reset device
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100c: Send object info
+   100d: Send object
+   100b: Delete object
+   1019: Move object
+   101a: Copy object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9807: Get interdependent property description
+   9808: Send object property list
+   9810: Get object references
+   9811: Set object references
+   101b: Get partial object
+   9201: Report Added/Deleted Items
+Events supported:
+   0x4001
+   0x4004
+   0x4005
+   0x400a
+Device Properties Supported:
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Device Friendly Name
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX -1, STEP 1 READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1000, MAX 327680, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX -1, STEP 1 READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 353,  READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+   3008: MS Wave
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX -1, STEP 1 READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 64000, MAX 3072000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 1, 17,  READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+   b903: AAC
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX -1, STEP 1 READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 255,  READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+   300a: MS AVI
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 576, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX -1, STEP 1 READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 3072000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 1, 17, 85, 353,  READ ONLY
+      de9c: VideoBitRate UINT32 data type range: MIN 10240, MAX 5120000, STEP 1 READ ONLY
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 1482049860, 808802372, 1395937357, 1145656920,  GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 10240, MAX 8192000, STEP 1 READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de97: ScanDepth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 1, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+   b981: WMV
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 576, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX -1, STEP 1 READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 3072000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 1, 17, 85, 353,  READ ONLY
+      de9c: VideoBitRate UINT32 data type range: MIN 10240, MAX 10240000, STEP 1 READ ONLY
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911,  GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 10240, MAX 13312000, STEP 1 READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      de97: ScanDepth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 1, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+   300c: ASF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 576, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX -1, STEP 1 READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 3072000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 1, 17, 85, 353,  READ ONLY
+      de9c: VideoBitRate UINT32 data type range: MIN 10240, MAX 10240000, STEP 1 READ ONLY
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911, 1482049860, 808802372, 1395937357, 1145656920,  GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 10240, MAX 13312000, STEP 1 READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de97: ScanDepth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 1, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+   300b: MPEG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 576, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX -1, STEP 1 READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 3072000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 80,  READ ONLY
+      de9c: VideoBitRate UINT32 data type range: MIN 10240, MAX 10240000, STEP 1 READ ONLY
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 826757197, 843534413,  GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 10240, MAX 13312000, STEP 1 READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de97: ScanDepth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 1, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+   b982: MP4
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 576, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX -1, STEP 1 READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 3072000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 255,  READ ONLY
+      de9c: VideoBitRate UINT32 data type range: MIN 10240, MAX 5120000, STEP 1 READ ONLY
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 875967048, 1129726276, 826496577, 875967064,  GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 10240, MAX 8192000, STEP 1 READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de97: ScanDepth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 1, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+   3801: JPEG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+   3808: JFIF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+   3804: BMP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+   380b: PNG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+   ba03: Abstract Audio Album
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  GET/SET
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 1, MAX 1024, STEP 1 READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 1, MAX 1024, STEP 1 READ ONLY
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 1, MAX -1, STEP 1 GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 79818866688
+      FreeSpaceInBytes: 67965894656
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Internal HardDisk
+      VolumeIdentifier: HKA540AMC8R3LL
+Special directories:
+   Default music folder: 0x00000004
+   Default playlist folder: 0x0000006a
+   Default picture folder: 0x00000014
+   Default video folder: 0x0000007c
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000118
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Battery level 0 of 3 (0%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   RIFF WAVE file
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Audio Video Interleave
+   Microsoft Windows Media Video
+   Microsoft Advanced Systems Format
+   MPEG video stream
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+   JPEG file
+   JFIF file
+   BMP bitmap file
+   Portable Network Graphics
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20060522 12:13:29Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">C5B8X71AC13UGG</UNIQUEID><PUBLICKEY private="1">efVfIxK3Munlf5HdwwNFJc3e1Wa2t0dyzhgNjXJ2KK8Jv1E0e/L4QQ==</PUBLICKEY><KEYDATA>VXUlmdHQSU+hy+q8cUn04bcfezw=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>3VHCHxifwOjtdNIMFeNItuMZqHGgjnhQxy9PXKw7s5xybRzIjPkTGQ==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>jyVXx/t+NOmMmdIRqYDTpRXF4/E=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.104.115</SECURITYVERSION><CERTIFICATE private="1">efVfIxK3Munlf5HdwwNFJc3e1Wa2t0dyzhgNjXJ2KK8Jv1E0e/L4QQIEaHPMNpKrP09P1Me4nkx7VPHPjxreU0o3RQK1hdL9mYjQi195ibK8BOJg</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>A504</NAME>

+    <MANUFACTURER>Archos</MANUFACTURER>

+    <MAKE>A504</MAKE>

+    <DISTRIBUTOR>Archos</DISTRIBUTOR>

+    <MODEL>A504</MODEL>

+    <SECURITYLEVEL>2000</SECURITYLEVEL>

+    <HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR>

+    <HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR>

+    <FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR>

+    <FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>

+    <FEATURES>

+        <CLOCK>2</CLOCK>

+        <SECURECLOCK>

+            <URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL>

+            <PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY>

+        </SECURECLOCK>

+        <METERING>1</METERING>

+        <LICENSE_ACQ>1</LICENSE_ACQ>

+        <LICENSE_SYNC>1</LICENSE_SYNC>

+        <ENCRYPTION>1</ENCRYPTION>

+        <SYMMETRIC_OPT>1</SYMMETRIC_OPT>

+    </FEATURES>

+    <LIMITS>

+        <MAXCHAINDEPTH>2</MAXCHAINDEPTH>

+        <MAXLICENSESIZE>10240</MAXLICENSESIZE>

+        <MAXHEADERSIZE>5120</MAXHEADERSIZE>

+    </LIMITS><PUBLICKEY>7KiDPsl9CZB/GYmnMNp4uy50pTCLEvjNZSrm2QajhPAQPli1ccLhNQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>/edeqZJclq5G6KuHDjMjcPU9NHeT9bbFYGCkBn1GQVhc9pKBWqZKaQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>983</AUTH_ID><PUBLICKEY>2KqzhyuwjFtjObyu99qx/Z9IYEbxvz+r4Cnui049xqxMHCdPDwYDJg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>fKmq5LLr+r7rGhA3M4hE8BV8+GLeV7K09RUbofEYTdJ9iI1D2Q7kIw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>l5TRtNPfdxdretk8bTlY1XGiaFmaevtJuwErqrwpXL82hScj6cjlDg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+
+Device description WMPInfo.xml file:
+<DeviceInfo>

+    <WMP DeviceID="{4287E9BD-3B39-4BFD-A5AD-FFDCB8B796C8}" RelationshipID="{6870ED09-423F-4172-94B4-FE3AF8069649}"/>

+</DeviceInfo>

+
+OK.
diff --git a/logs/mtp-detect-archos-c40.txt b/logs/mtp-detect-archos-c40.txt
new file mode 100644
index 0000000..d7e2f42
--- /dev/null
+++ b/logs/mtp-detect-archos-c40.txt
@@ -0,0 +1,480 @@
+ mtp-detect 
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.
+libmtp version: 1.1.8
+
+Listing raw device(s)
+Device 0 (VID=0e79 and PID=31ab) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0e79:31ab @ bus 2, dev 7
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0e79
+   idProduct: 31ab
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 7
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0e79
+         Product: (null)
+         Vendor id: 0x31ab
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: archos
+   Model: Archos 40c Titanium
+   Device version: 1.0
+   Serial number: HMNZK7KJ6SQWRW9D
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 2614231040
+      FreeSpaceInBytes: 1651290112
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Telefonspeicher
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: mtkac40cti
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
diff --git a/logs/mtp-detect-archos-g9-101.txt b/logs/mtp-detect-archos-g9-101.txt
new file mode 100644
index 0000000..5c9ed85
--- /dev/null
+++ b/logs/mtp-detect-archos-g9-101.txt
@@ -0,0 +1,720 @@
+Device 0 (VID=0e79 and PID=1528) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
+LIBMTP libusb: Attempt to reset device
+libmtp version: 1.1.1
+
+Listing raw device(s)
+   Found 1 device(s):
+   0e79:1528 @ bus 2, dev 4
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Using kernel interface "dummy"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0e79
+   idProduct: 1528
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 4
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0e79
+         Product: (null)
+         Vendor id: 0x1528
+         Device flags: 0x00008104
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Archos
+   Model: ARCHOS 101G9
+   Device version: 1.0
+   Serial number: <LEFT OUT DUE TO PRIVACY>
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+   300a: MS AVI
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 3072000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 129, 40, 49, 50, 80, 352, 354, 355, 356, 41222, 17, 85, 353,  READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 10240, MAX 8192000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861292868, 878070084, 894847300, 1446268228, 1128477773, 844313677, 1667445869, 859189832, 861293911, 958804552, 844516695, 827739479, 1195724877, 844516695, 828601953, 1482049860, 1668702564, 808802372, 808810596, 1395937357, 875967064, 1145656920, 2021026148, 1684633208,  READ ONLY
+      dea1: Encoding Profile STRING data type READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  READ ONLY
+   b980: Undefined Video
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 3072000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 40, 49, 50, 80, 192, 352, 354, 129, 355, 356, 41222, 17, 85, 353,  READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 10240, MAX 5120000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 861293911, 958804552, 844516695, 827739479, 1195724877, 844516695, 828601953, 1482049860, 1668702564, 808802372, 808810596, 1395937357, 875967064, 1145656920, 2021026148, 1684633208,  READ ONLY
+      dea1: Encoding Profile STRING data type READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  READ ONLY
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 3072000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 129, 40, 49, 50, 80, 352, 354, 355, 356, 41222, 17, 85, 353,  READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 10240, MAX 10240000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 844516695, 861293911, 1482049860, 808802372, 808810596, 1395937357, 1145656920,  READ ONLY
+      dea1: Encoding Profile STRING data type READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  READ ONLY
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 3072000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 129, 40, 49, 50, 80, 352, 354, 355, 356, 41222, 17, 85, 353,  READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 10240, MAX 10240000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 861293911, 844516695, 827739479,  READ ONLY
+      dea1: Encoding Profile STRING data type READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 64000, MAX 3072000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 17,  READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1000, MAX 327680, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 3072000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 40, 49, 50, 80, 192, 352, 354, 129, 355, 356, 41222, 17, 85, 353,  READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 10240, MAX 10240000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 826757197, 843534413,  READ ONLY
+      dea1: Encoding Profile STRING data type READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353,  READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 3072000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 40, 49, 50, 80, 192, 352, 354, 129, 355, 356, 41222, 17, 85, 353,  READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 255,  READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 3072000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 40, 49, 50, 80, 129, 352, 354, 355, 356, 41222, 17, 85, 353,  READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 10240, MAX 5120000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1129726276, 826496577, 828601953, 875967064, 808810596, 808802372, 1668702564, 875967064,  READ ONLY
+      dea1: Encoding Profile STRING data type READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 3072000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 40, 49, 50, 80, 192, 352, 354, 129, 355, 356, 41222, 17, 85, 353,  READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 8192, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 3072000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 40, 49, 50, 80, 192, 352, 354, 129, 355, 356, 41222, 17, 85, 353,  READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 10240, MAX 5120000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 861293911, 958804552, 844516695, 827739479, 1195724877, 844516695, 828601953, 1482049860, 1668702564, 808802372, 808810596, 1395937357, 875967064, 1145656920, 2021026148, 1684633208,  READ ONLY
+      dea1: Encoding Profile STRING data type READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc4f: Non Consumable UINT16 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 7083720704
+      FreeSpaceInBytes: 6697516756
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Interner Speicher
+      VolumeIdentifier: (null)
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 1028067328
+      FreeSpaceInBytes: 567169024
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD-Karte
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0x00000007
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Audio Video Interleave
+   Undefined video file
+   Microsoft Advanced Systems Format
+   Microsoft Windows Media Video
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-archos-neon.txt b/logs/mtp-detect-archos-neon.txt
new file mode 100644
index 0000000..f9a6903
--- /dev/null
+++ b/logs/mtp-detect-archos-neon.txt
@@ -0,0 +1,478 @@
+libmtp version: 1.1.3
+
+Listing raw device(s)
+Device 0 (VID=0e79 and PID=31f3) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0e79:31f3 @ bus 1, dev 6
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0e79
+   idProduct: 31f3
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 6
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0e79
+         Product: (null)
+         Vendor id: 0x31f3
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: archos
+   Model: AC45NE
+   Device version: 1.0
+   Serial number: PZIZJNEERKMRKVPJ
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 2673111040
+      FreeSpaceInBytes: 22593536
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Telefoongeheugen
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: AC45NE
+   Synchronization partner: mtkac45ne
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-archos-xs100.txt b/logs/mtp-detect-archos-xs100.txt
new file mode 100644
index 0000000..7b029f8
--- /dev/null
+++ b/logs/mtp-detect-archos-xs100.txt
@@ -0,0 +1,270 @@
+libmtp version: 0.1.5
+
+Attempting to connect device(s)
+Clearing stall on IN endpoint
+Clearing stall on OUT endpoint
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 255
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0e79
+   idProduct: 1207
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000002
+Device info:
+   Manufacturer: ARCHOS
+   Model: GminiXS100
+   Device version: 2.2.02    
+   Serial number: FLKMAUF5T26D
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.0; microsoft.com/WMPPD: 10.0;
+Supported operations:
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   1001: get device info
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   100f: Format storage
+   1010: Reset device
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100c: Send object info
+   100d: Send object
+   100b: Delete object
+   1019: Move object
+   101a: Copy object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9807: Get interdependent property description
+   9808: Send object property list
+   9810: Get object references
+   9811: Set object references
+Events supported:
+   0x4001
+   0x4004
+   0x4005
+   0x400a
+Device Properties Supported:
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT16 data type ANY 16BIT VALUE form GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 24000, 32000, 44100, 48000, 64000, 88200, 96000,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 32768, MAX 327680, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT16 data type ANY 16BIT VALUE form GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 44100, STEP 1 READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 192000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 353,  READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+   3008: MS Wave
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT16 data type ANY 16BIT VALUE form GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 64000, MAX 3072000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 1,  READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+   ba03: Abstract Audio Album
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 1, MAX 1024, STEP 1 READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 1, MAX 1024, STEP 1 READ ONLY
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+Storage Devices:
+   StorageID: 0x00100001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 4013948928
+      FreeSpaceInBytes: 957349888
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Internal HardDisk
+      VolumeIdentifier: 55P060EYB0F         
+Special directories:
+   Default music folder: 0x00010aea
+   Default playlist folder: 0x00013753
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Battery level 3 of 3 (100%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   RIFF WAVE file
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20070508 22:36:32Z#</VALUE><FLAG>DRM_CLK_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">FLKMAUF5T26D</UNIQUEID><PUBLICKEY private="1">C6T0O4YiV1Syf44QgH6rbWEvQIJnJmcWIh4cDOpRT25WFXx44tK3RA==</PUBLICKEY><KEYDATA>TWfNxwNlkYXcOTQbFLW3Rn9nIAM=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>v+i6rrtZWJNG43nTNc1GyQY+eD6z0XgqBJNGqWkFDYEp4lCaj+wAKA==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>VFN0PggxNcYVvLaq2xaV0v4wwm0=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.102.189</SECURITYVERSION><CERTIFICATE private="1">C6T0O4YiV1Syf44QgH6rbWEvQIJnJmcWIh4cDOpRT25WFXx44tK3RAIEZr3RRxksnJvewfLyatdCDaMVprlYPYMo/abttSM8WCb1bloyYI1Rpq97</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>GminiXS100</NAME>
+    <MANUFACTURER>Archos</MANUFACTURER>
+    <MAKE>GminiXS100</MAKE>
+    <DISTRIBUTOR>Archos</DISTRIBUTOR>
+    <MODEL>GminiXS100</MODEL>
+    <SECURITYLEVEL>2000</SECURITYLEVEL>
+    <HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR>
+    <HARDWARE_VER_MINOR>6</HARDWARE_VER_MINOR>
+    <FIRMWARE_VER_MAJOR>2</FIRMWARE_VER_MAJOR>
+    <FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>
+    <FEATURES>
+        <CLOCK>2</CLOCK>
+        <SECURECLOCK>
+            <URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL>
+            <PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY>
+        </SECURECLOCK>
+        <METERING>1</METERING>
+        <LICENSE_ACQ>0</LICENSE_ACQ>
+        <LICENSE_SYNC>1</LICENSE_SYNC>
+        <ENCRYPTION>1</ENCRYPTION>
+        <SYMMETRIC_OPT>1</SYMMETRIC_OPT>
+    </FEATURES>
+    <LIMITS>
+        <MAXCHAINDEPTH>2</MAXCHAINDEPTH>
+        <MAXLICENSESIZE>10240</MAXLICENSESIZE>
+        <MAXHEADERSIZE>5120</MAXHEADERSIZE>
+    </LIMITS><PUBLICKEY>5kaA1WqQfBLdeXSUTteJz8br+zQUWhRVzcnpnTtPSMooEZ2T8k0NCw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>TkIj0q4kQAcQJed6fhgjyPHqzBotfz9ttDERew6IsiViZxsyJ5s9Uw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>545</AUTH_ID><PUBLICKEY>9fhV2ah1sQS39/CSjL1zl9UashRlzQqFQfUdi3IHdxG0dP7Ut73VSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>Jq35cUiQ6fyyDy01ltFcRtSSKQ95wmjPs67dvh3zl9Un83XSBjS9Rw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>ZE56AqYNoyP38mdJVHUx7J6kWjGCP6n1KcB+6LwRxcDhdPPL2trRGA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+
+Device description WMPInfo.xml file:
+<DeviceInfo>
+    <WMP DeviceID="{DEE8BBA0-88E0-48A4-BFC1-925579726803}" RelationshipID="{00000000-0000-0000-0000-000000000000}"/>
+</DeviceInfo>
+
+OK.
diff --git a/logs/mtp-detect-asus-TF201-google.txt b/logs/mtp-detect-asus-TF201-google.txt
new file mode 100644
index 0000000..a96dcbe
--- /dev/null
+++ b/logs/mtp-detect-asus-TF201-google.txt
@@ -0,0 +1,469 @@
+libmtp version: 1.1.1
+
+Listing raw device(s)
+   Found 1 device(s):
+   18d1:4d00 @ bus 1, dev 5
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 18d1
+   idProduct: 4d00
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 5
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x18d1
+         Product: (null)
+         Vendor id: 0x4d00
+         Device flags: 0x00008104
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: asus
+   Model: Transformer Prime TF201
+   Device version: 1.0
+   Serial number: BCOKAS043344
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 31902400512
+      FreeSpaceInBytes: 8381825024
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: MicroSD
+      VolumeIdentifier: (null)
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 61009203200
+      FreeSpaceInBytes: 60251647900
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Interner Speicher
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0x0000025f
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-asus-TF201.txt b/logs/mtp-detect-asus-TF201.txt
new file mode 100644
index 0000000..e27de2a
--- /dev/null
+++ b/logs/mtp-detect-asus-TF201.txt
@@ -0,0 +1,462 @@
+Device 0 (VID=0b05 and PID=4d00) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+libmtp version: 1.1.1
+
+Listing raw device(s)
+   Found 1 device(s):
+   0b05:4d00 @ bus 2, dev 4
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Using kernel interface "dummy"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0b05
+   idProduct: 4d00
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 4
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0b05
+         Product: (null)
+         Vendor id: 0x4d00
+         Device flags: 0x00008104
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: asus
+   Model: Transformer Prime TF201
+   Device version: 1.0
+   Serial number: unknown
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 29710311424
+      FreeSpaceInBytes: 28024479644
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal Storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-asus-TF700.txt b/logs/mtp-detect-asus-TF700.txt
new file mode 100644
index 0000000..4c6a490
--- /dev/null
+++ b/logs/mtp-detect-asus-TF700.txt
@@ -0,0 +1,460 @@
+libmtp version: 1.1.3
+
+Listing raw device(s)
+   Found 1 device(s):
+   0b05:4c90 @ bus 1, dev 12
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0b05
+   idProduct: 4c90
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 12
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0b05
+         Product: (null)
+         Vendor id: 0x4c90
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: asus
+   Model: ASUS Transformer Pad TF700T
+   Device version: 1.0
+   Serial number: C6OKAS069237
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 60451074048
+      FreeSpaceInBytes: 59265273756
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal Storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-asus-a450cg.txt b/logs/mtp-detect-asus-a450cg.txt
new file mode 100644
index 0000000..478f7c3
--- /dev/null
+++ b/logs/mtp-detect-asus-a450cg.txt
@@ -0,0 +1,483 @@
+libmtp version: 1.1.8
+
+Listing raw device(s)
+   Found 1 device(s):
+   0b05:5a0f @ bus 4, dev 3
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0b05
+   idProduct: 5a0f
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 4
+      Device number: 3
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0b05
+         Product: (null)
+         Vendor id: 0x5a0f
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: asus
+   Model: ASUS_T00Q
+   Device version: 1.0
+   Serial number: E9AZCY034155
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 4876402688
+      FreeSpaceInBytes: 2785689600
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Внутренняя память
+      VolumeIdentifier: (null)
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 7942045696
+      FreeSpaceInBytes: 7050067968
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD-карта
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-asus-fonepad-7.txt b/logs/mtp-detect-asus-fonepad-7.txt
new file mode 100644
index 0000000..14f20bf
--- /dev/null
+++ b/logs/mtp-detect-asus-fonepad-7.txt
@@ -0,0 +1,477 @@
+Device 0 (VID=0b05 and PID=540f) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+libmtp version: 1.1.3
+
+Listing raw device(s)
+   Found 1 device(s):
+   0b05:540f @ bus 1, dev 3
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0b05
+   idProduct: 540f
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 3
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0b05
+         Product: (null)
+         Vendor id: 0x540f
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: asus
+   Model: K00Y
+   Device version: 1.0
+   Serial number: E4OKBC040590
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 12168327168
+      FreeSpaceInBytes: 10703888384
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-asus-fonepad-8.txt b/logs/mtp-detect-asus-fonepad-8.txt
new file mode 100644
index 0000000..ae880ff
--- /dev/null
+++ b/logs/mtp-detect-asus-fonepad-8.txt
@@ -0,0 +1,639 @@
+
+
+
+---
+
+** [bugs:#1548] Device Unknown ASUS FonePad 8 FE380CG**
+
+**Status:** open
+**Group:** 1.1.11
+**Labels:** New device 
+**Created:** Wed Apr 27, 2016 03:06 PM UTC by Anonymous
+**Last Updated:** Wed Apr 27, 2016 03:06 PM UTC
+**Owner:** nobody
+
+
+Hello, the device is unknown
+
+mtp-detetct:
+~~~~
+libmtp version: 1.1.11
+
+Listing raw device(s)
+Device 0 (VID=0b05 and PID=590f) is UNKNOWN in libmtp v1.1.11.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0b05:590f @ bus 1, dev 12
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 528
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0b05
+   idProduct: 590f
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 12
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0b05
+         Product: (null)
+         Vendor id: 0x590f
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: asus
+   Model: K016
+   Device version: 1.0
+   Serial number: ECNKCX217165
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 4587995136
+      FreeSpaceInBytes: 267374592
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Memoria interna
+      VolumeIdentifier: (null)
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 31902040064
+      FreeSpaceInBytes: 4960059392
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Scheda SD
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Battery level 90 of 100 (89%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+~~~~
+lsusb -v:
+
+~~~~
+Bus 001 Device 012: ID 0b05:590f ASUSTek Computer, Inc. 
+Device Descriptor:
+  bLength                18
+  bDescriptorType         1
+  bcdUSB               2.10
+  bDeviceClass            0 
+  bDeviceSubClass         0 
+  bDeviceProtocol         0 
+  bMaxPacketSize0        64
+  idVendor           0x0b05 ASUSTek Computer, Inc.
+  idProduct          0x590f 
+  bcdDevice           ff.ff
+  iManufacturer           2 Android
+  iProduct                3 Android
+  iSerial                 4 ECNKCX217165
+  bNumConfigurations      1
+  Configuration Descriptor:
+    bLength                 9
+    bDescriptorType         2
+    wTotalLength           44
+    bNumInterfaces          1
+    bConfigurationValue     1
+    iConfiguration          0 
+    bmAttributes         0x80
+      (Bus Powered)
+    MaxPower              500mA
+    Interface Descriptor:
+      bLength                 9
+      bDescriptorType         4
+      bInterfaceNumber        0
+      bAlternateSetting       0
+      bNumEndpoints           3
+      bInterfaceClass       255 Vendor Specific Class
+      bInterfaceSubClass    255 Vendor Specific Subclass
+      bInterfaceProtocol      0 
+      iInterface              5 MTP
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x82  EP 2 IN
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x02  EP 2 OUT
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x83  EP 3 IN
+        bmAttributes            3
+          Transfer Type            Interrupt
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x001c  1x 28 bytes
+        bInterval               6
+Binary Object Store Descriptor:
+  bLength                 5
+  bDescriptorType        15
+  wTotalLength           22
+  bNumDeviceCaps          2
+  USB 2.0 Extension Device Capability:
+    bLength                 7
+    bDescriptorType        16
+    bDevCapabilityType      2
+    bmAttributes   0x00000002
+      HIRD Link Power Management (LPM) Supported
+  SuperSpeed USB Device Capability:
+    bLength                10
+    bDescriptorType        16
+    bDevCapabilityType      3
+    bmAttributes         0x00
+    wSpeedsSupported   0x000f
+      Device can operate at Low Speed (1Mbps)
+      Device can operate at Full Speed (12Mbps)
+      Device can operate at High Speed (480Mbps)
+      Device can operate at SuperSpeed (5Gbps)
+    bFunctionalitySupport   1
+      Lowest fully-functional device speed is Full Speed (12Mbps)
+    bU1DevExitLat           1 micro seconds
+    bU2DevExitLat         500 micro seconds
+can't get debug descriptor: Resource temporarily unavailable
+Device Status:     0x0000
+  (Bus Powered)
+~~~~
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/bugs/1548/>
+
+
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/>
\ No newline at end of file
diff --git a/logs/mtp-detect-asus-k00e.txt b/logs/mtp-detect-asus-k00e.txt
new file mode 100644
index 0000000..cb86d53
--- /dev/null
+++ b/logs/mtp-detect-asus-k00e.txt
@@ -0,0 +1,474 @@
+libmtp version: 1.1.3
+
+Listing raw device(s)
+   Found 1 device(s):
+   Asus: Asus Fonepad Note 7 (MTP) (0b05:550f) @ bus 2, dev 10
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0b05
+   idProduct: 550f
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 10
+      Device entry info:
+         Vendor: Asus
+         Vendor id: 0x0b05
+         Product: Asus Fonepad Note 7 (MTP)
+         Vendor id: 0x550f
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: asus
+   Model: K00E
+   Device version: 1.0
+   Serial number: E1OKB6003022
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 4330651648
+      FreeSpaceInBytes: 2714050560
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Armazenamento interno
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x0000000b
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000005
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-asus-k00y.txt b/logs/mtp-detect-asus-k00y.txt
new file mode 100644
index 0000000..14f20bf
--- /dev/null
+++ b/logs/mtp-detect-asus-k00y.txt
@@ -0,0 +1,477 @@
+Device 0 (VID=0b05 and PID=540f) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+libmtp version: 1.1.3
+
+Listing raw device(s)
+   Found 1 device(s):
+   0b05:540f @ bus 1, dev 3
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0b05
+   idProduct: 540f
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 3
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0b05
+         Product: (null)
+         Vendor id: 0x540f
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: asus
+   Model: K00Y
+   Device version: 1.0
+   Serial number: E4OKBC040590
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 12168327168
+      FreeSpaceInBytes: 10703888384
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-asus-k010.txt b/logs/mtp-detect-asus-k010.txt
new file mode 100644
index 0000000..bf46ffb
--- /dev/null
+++ b/logs/mtp-detect-asus-k010.txt
@@ -0,0 +1,479 @@
+top ~ # mtp-detect
+
+Device 0 (VID=0b05 and PID=5500) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+libmtp version: 1.1.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   0b05:5500 @ bus 2, dev 14
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 528
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0b05
+   idProduct: 5500
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 14
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0b05
+         Product: (null)
+         Vendor id: 0x5500
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: asus
+   Model: K010
+   Device version: 1.0
+   Serial number: EBOKCY170820
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 11897024512
+      FreeSpaceInBytes: 9858211840
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Memoria interna
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
diff --git a/logs/mtp-detect-asus-me172v.txt b/logs/mtp-detect-asus-me172v.txt
new file mode 100644
index 0000000..ec355e7
--- /dev/null
+++ b/logs/mtp-detect-asus-me172v.txt
@@ -0,0 +1,463 @@
+Listing raw device(s)
+Device 0 (VID=0b05 and PID=5400) is a Asus ME172V MeMo Pad 7 (MTP).
+   Found 1 device(s):
+   Asus: ME172V MeMo Pad 7 (MTP) (0b05:5400) @ bus 5, dev 4
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0b05
+   idProduct: 5400
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 5
+      Device number: 4
+      Device entry info:
+         Vendor: Asus
+         Vendor id: 0x0b05
+         Product: ME172V MeMo Pad 7 (MTP)
+         Vendor id: 0x5400
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: asus
+   Model: ME172V
+   Device version: 1.0
+   Serial number: QTCYFV70F30607841
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 13819154432
+      FreeSpaceInBytes: 12749238172
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+inep: usb_get_endpoint_status(): Resource temporarily unavailable
+outep: usb_get_endpoint_status(): Resource temporarily unavailable
+usb_clear_halt() on IN endpoint: Broken pipe
+usb_clear_halt() on OUT endpoint: Broken pipe
+usb_clear_halt() on INTERRUPT endpoint: Broken pipe
+OK.
diff --git a/logs/mtp-detect-asus-me173x.txt b/logs/mtp-detect-asus-me173x.txt
new file mode 100644
index 0000000..0d960c2
--- /dev/null
+++ b/logs/mtp-detect-asus-me173x.txt
@@ -0,0 +1,478 @@
+Device 0 (VID=0b05 and PID=5410) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.5
+
+Listing raw device(s)
+   Found 1 device(s):
+   0b05:5410 @ bus 2, dev 14
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0b05
+   idProduct: 5410
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 14
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0b05
+         Product: (null)
+         Vendor id: 0x5410
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: asus
+   Model: ME173X
+   Device version: 1.0
+   Serial number: D7OKCY270740
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 12727844864
+      FreeSpaceInBytes: 3288629248
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Interner Speicher
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: ME173X
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-asus-me301t.txt b/logs/mtp-detect-asus-me301t.txt
new file mode 100644
index 0000000..7c287cc
--- /dev/null
+++ b/logs/mtp-detect-asus-me301t.txt
@@ -0,0 +1,85 @@
+mtp-detect:
+Listing raw device(s)
+Device 0 (VID=0b05 and PID=4cd0) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0b05:4cd0 @ bus 1, dev 6
+
+lsusb -v
+Bus 001 Device 006: ID 0b05:4cd0 ASUSTek Computer, Inc. 
+Device Descriptor:
+  bLength                18
+  bDescriptorType         1
+  bcdUSB               2.00
+  bDeviceClass            0 (Defined at Interface level)
+  bDeviceSubClass         0 
+  bDeviceProtocol         0 
+  bMaxPacketSize0        64
+  idVendor           0x0b05 ASUSTek Computer, Inc.
+  idProduct          0x4cd0 
+  bcdDevice            2.32
+  iManufacturer           1 asus
+  iProduct                2 ME301T
+  iSerial                 3 D4OKCT060248
+  bNumConfigurations      1
+  Configuration Descriptor:
+    bLength                 9
+    bDescriptorType         2
+    wTotalLength           39
+    bNumInterfaces          1
+    bConfigurationValue     1
+    iConfiguration          0 
+    bmAttributes         0x80
+      (Bus Powered)
+    MaxPower              500mA
+    Interface Descriptor:
+      bLength                 9
+      bDescriptorType         4
+      bInterfaceNumber        0
+      bAlternateSetting       0
+      bNumEndpoints           3
+      bInterfaceClass       255 Vendor Specific Class
+      bInterfaceSubClass    255 Vendor Specific Subclass
+      bInterfaceProtocol      0 
+      iInterface              4 MTP
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x81  EP 1 IN
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x02  EP 2 OUT
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x82  EP 2 IN
+        bmAttributes            3
+          Transfer Type            Interrupt
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x001c  1x 28 bytes
+        bInterval               6
+Device Qualifier (for other device speed):
+  bLength                10
+  bDescriptorType         6
+  bcdUSB               2.00
+  bDeviceClass            0 (Defined at Interface level)
+  bDeviceSubClass         0 
+  bDeviceProtocol         0 
+  bMaxPacketSize0        64
+  bNumConfigurations      1
+Device Status:     0x0000
+  (Bus Powered)
diff --git a/logs/mtp-detect-asus-memo-pad-fhd10.txt b/logs/mtp-detect-asus-memo-pad-fhd10.txt
new file mode 100644
index 0000000..9bbc975
--- /dev/null
+++ b/logs/mtp-detect-asus-memo-pad-fhd10.txt
@@ -0,0 +1,486 @@
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6
+
+Listing raw device(s)
+Device 0 (VID=0b05 and PID=4cc1) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0b05:4cc1 @ bus 4, dev 2
+Attempting to connect device(s)
+ignoring libusb_claim_interface() = -6PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
+LIBMTP libusb: Attempt to reset device
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0b05
+   idProduct: 4cc1
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 4
+      Device number: 2
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0b05
+         Product: (null)
+         Vendor id: 0x4cc1
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: asus
+   Model: ME302KL
+   Device version: 1.0
+   Serial number: DCOKCT160950
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 27172143104
+      FreeSpaceInBytes: 23539122176
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Interner Speicher
+      VolumeIdentifier: (null)
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 15453913088
+      FreeSpaceInBytes: 10465296384
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: MicroSD
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-asus-memo-pad.txt b/logs/mtp-detect-asus-memo-pad.txt
new file mode 100644
index 0000000..bfda1dd
--- /dev/null
+++ b/logs/mtp-detect-asus-memo-pad.txt
@@ -0,0 +1,473 @@
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   0b05:4cc0 @ bus 1, dev 14
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0b05
+   idProduct: 4cc0
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 14
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0b05
+         Product: (null)
+         Vendor id: 0x4cc0
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: asus
+   Model: ME302KL
+   Device version: 1.0
+   Serial number: D8OKCT022593
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 27172143104
+      FreeSpaceInBytes: 23823175680
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Внутренняя память
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-asus-memo-pad7.txt b/logs/mtp-detect-asus-memo-pad7.txt
new file mode 100644
index 0000000..5067e61
--- /dev/null
+++ b/logs/mtp-detect-asus-memo-pad7.txt
@@ -0,0 +1,570 @@
+### ASUS MeMO Pad 7 LTE
+### Model: K00R (ME572CL)
+
+# lsusb -v
+Bus 002 Device 008: ID 0b05:7772 ASUSTek Computer, Inc. 
+Device Descriptor:
+  bLength                18
+  bDescriptorType         1
+  bcdUSB               2.00
+  bDeviceClass            0 (Defined at Interface level)
+  bDeviceSubClass         0 
+  bDeviceProtocol         0 
+  bMaxPacketSize0        64
+  idVendor           0x0b05 ASUSTek Computer, Inc.
+  idProduct          0x7772 
+  bcdDevice            2.32
+  iManufacturer           1 asus
+  iProduct                2 Android
+  iSerial                 3 Exxxxxxxxxxx
+  bNumConfigurations      1
+  Configuration Descriptor:
+    bLength                 9
+    bDescriptorType         2
+    wTotalLength           44
+    bNumInterfaces          1
+    bConfigurationValue     1
+    iConfiguration          0 
+    bmAttributes         0x80
+      (Bus Powered)
+    MaxPower              500mA
+    Interface Descriptor:
+      bLength                 9
+      bDescriptorType         4
+      bInterfaceNumber        0
+      bAlternateSetting       0
+      bNumEndpoints           3
+      bInterfaceClass       255 Vendor Specific Class
+      bInterfaceSubClass    255 Vendor Specific Subclass
+      bInterfaceProtocol      0 
+      iInterface              4 MTP
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x82  EP 2 IN
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x02  EP 2 OUT
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x83  EP 3 IN
+        bmAttributes            3
+          Transfer Type            Interrupt
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x001c  1x 28 bytes
+        bInterval               6
+Device Qualifier (for other device speed):
+  bLength                10
+  bDescriptorType         6
+  bcdUSB               2.00
+  bDeviceClass            0 (Defined at Interface level)
+  bDeviceSubClass         0 
+  bDeviceProtocol         0 
+  bMaxPacketSize0        64
+  bNumConfigurations      1
+Device Status:     0x0000
+  (Bus Powered)
+
+# mtp-detect
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.
+
+libmtp version: 1.1.8
+
+Listing raw device(s)
+Device 0 (VID=0b05 and PID=7772) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0b05:7772 @ bus 2, dev 9
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0b05
+   idProduct: 7772
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 9
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0b05
+         Product: (null)
+         Vendor id: 0x7772
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: asus
+   Model: K00R
+   Device version: 1.0
+   Serial number: Exxxxxxxxxxx
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 11606888448
+      FreeSpaceInBytes: 9169235968
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: 内部ストレージ
+      VolumeIdentifier: (null)
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 32014073856
+      FreeSpaceInBytes: 25185058816
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SDカード
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-asus-memo-pad7_2.txt b/logs/mtp-detect-asus-memo-pad7_2.txt
new file mode 100644
index 0000000..9e3cfb7
--- /dev/null
+++ b/logs/mtp-detect-asus-memo-pad7_2.txt
@@ -0,0 +1,486 @@
+### Asus Memo Pad 7
+###
+### Model: K013(ME176CX)
+### ME176CX-1B037A
+### P/N: 90 90NK0135-M04050
+### AS ME176CX 1B/Z3745/16G/1G/W
+
+
+# dpkg -l | grep -i mtp
+ii  jmtpfs                0.5-2       amd64  FUSE based filesystem for accessing MTP devices
+ii  libmtp-common         1.1.8-1     all    Media Transfer Protocol (MTP) common files
+ii  libmtp-runtime        1.1.8-1+b1  amd64  Media Transfer Protocol (MTP) runtime tools
+ii  libmtp9:amd64         1.1.8-1+b1  amd64  Media Transfer Protocol (MTP) library
+ii  mtp-tools             1.1.8-1+b1  amd64  Media Transfer Protocol (MTP) library tools
+ii  mtpfs                 1.1-5       amd64  FUSE filesystem for Media Transfer Protocol devices
+
+
+# /etc/udev/rules.d/50-asus.rules
+ATTR{idVendor}=="0b05", ATTR{idProduct}=="5506", SYMLINK+="libmtp-%k", MODE="660", GROUP="audio", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1"
+
+
+# mtp-detect:
+libmtp version: 1.1.8
+
+Listing raw device(s)
+   Found 1 device(s):
+   0b05:5506 @ bus 1, dev 20
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 528
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0b05
+   idProduct: 5506
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 20
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0b05
+         Product: (null)
+         Vendor id: 0x5506
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: asus
+   Model: K013
+   Device version: 1.0
+   Serial number: E7O<>SNIPPED<>
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-asus-nexus-7.txt b/logs/mtp-detect-asus-nexus-7.txt
new file mode 100644
index 0000000..92c8c6d
--- /dev/null
+++ b/logs/mtp-detect-asus-nexus-7.txt
@@ -0,0 +1,460 @@
+libmtp version: 1.1.5
+
+Listing raw device(s)
+   Found 1 device(s):
+   Google Inc (for Asus): Nexus 7 (MTP) (18d1:4e41) @ bus 5, dev 9
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 18d1
+   idProduct: 4e41
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 5
+      Device number: 9
+      Device entry info:
+         Vendor: Google Inc (for Asus)
+         Vendor id: 0x18d1
+         Product: Nexus 7 (MTP)
+         Vendor id: 0x4e41
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: asus
+   Model: Nexus 7
+   Device version: 1.0
+   Serial number: 015d2ea4d0441811
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 14341292032
+      FreeSpaceInBytes: 14058856348
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Mémoire de stockage interne
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-asus-padfone-2.txt b/logs/mtp-detect-asus-padfone-2.txt
new file mode 100644
index 0000000..1d91893
--- /dev/null
+++ b/logs/mtp-detect-asus-padfone-2.txt
@@ -0,0 +1,454 @@
+Device 0 (VID=0b05 and PID=5211) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0b05:5211 @ bus 2, dev 15
+Attempting to connect device(s)
+PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
+LIBMTP libusb: Attempt to reset device
+Android device detected, assigning default bug flags
+Error 1: Get Storage information failed.
+Error 2: PTP Layer error 02fe: get_handles_recursively(): could not get object handles.
+Error 2: (Look this up in ptp.h for an explanation.)
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0b05
+   idProduct: 5211
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 15
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0b05
+         Product: (null)
+         Vendor id: 0x5211
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: asus
+   Model: PadFone 2
+   Device version: 1.0
+   Serial number: CBATCT032107
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-asus-padfone-x.txt b/logs/mtp-detect-asus-padfone-x.txt
new file mode 100644
index 0000000..7881e75
--- /dev/null
+++ b/logs/mtp-detect-asus-padfone-x.txt
@@ -0,0 +1,478 @@
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.
+libmtp version: 1.1.8
+
+Listing raw device(s)
+Device 0 (VID=0b05 and PID=7780) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0b05:7780 @ bus 1, dev 19
+Attempting to connect device(s)
+ignoring libusb_claim_interface() = -6PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
+LIBMTP libusb: Attempt to reset device
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0b05
+   idProduct: 7780
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 19
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0b05
+         Product: (null)
+         Vendor id: 0x7780
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: asus
+   Model: ASUS PadFone X
+   Device version: 1.0
+   Serial number: E5ATCT047302
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 11463118848
+      FreeSpaceInBytes: 452186112
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-asus-padfone.txt b/logs/mtp-detect-asus-padfone.txt
new file mode 100644
index 0000000..afea7a6
--- /dev/null
+++ b/logs/mtp-detect-asus-padfone.txt
@@ -0,0 +1,469 @@
+libmtp version: 1.1.3
+
+Listing raw device(s)
+   Found 1 device(s):
+   0b05:5200 @ bus 3, dev 6
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0b05
+   idProduct: 5200
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 3
+      Device number: 6
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0b05
+         Product: (null)
+         Vendor id: 0x5200
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: asus
+   Model: PadFone
+   Device version: 1.0
+   Serial number: 23e420
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 3956801536
+      FreeSpaceInBytes: 3956736000
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: MicroSD
+      VolumeIdentifier: (null)
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 13754232832
+      FreeSpaceInBytes: 13485866908
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Interner Speicher
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-asus-tx201la.txt b/logs/mtp-detect-asus-tx201la.txt
new file mode 100644
index 0000000..2c7339d
--- /dev/null
+++ b/logs/mtp-detect-asus-tx201la.txt
@@ -0,0 +1,463 @@
+libmtp version: 1.1.8
+
+Listing raw device(s)
+   Found 1 device(s):
+   0b05:561f @ bus 1, dev 24
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0b05
+   idProduct: 561f
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 24
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0b05
+         Product: (null)
+         Vendor id: 0x561f
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: asus
+   Model: TX201LA-Tablet
+   Device version: 1.0
+   Serial number: E8N0CYARR009329
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-asus-z00ad.txt b/logs/mtp-detect-asus-z00ad.txt
new file mode 100644
index 0000000..08f421b
--- /dev/null
+++ b/logs/mtp-detect-asus-z00ad.txt
@@ -0,0 +1,507 @@
+The following submission requires approval at http://sourceforge.net/p/libmtp/bugs/_discuss/moderate before it can be approved for posting:
+
+mtp-detect output:
+
+
+libmtp version: 1.1.9
+
+Listing raw device(s)
+   Found 1 device(s):
+   0b05:5601 @ bus 1, dev 2
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0b05
+   idProduct: 5601
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 2
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0b05
+         Product: (null)
+         Vendor id: 0x5601
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: asus
+   Model: ASUS_Z00AD
+   Device version: 1.0
+   Serial number: F5AZFG10X384
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Battery level 98 of 100 (98%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/bugs/1364/>
+
+
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/>
\ No newline at end of file
diff --git a/logs/mtp-detect-asus-zenfone-2.txt b/logs/mtp-detect-asus-zenfone-2.txt
new file mode 100644
index 0000000..efa8969
--- /dev/null
+++ b/logs/mtp-detect-asus-zenfone-2.txt
@@ -0,0 +1,528 @@
+
+
+
+---
+
+** [support-requests:#199] Asus ZenFone 2 ZE551ML - VID=0b05 and PID=5f02**
+
+**Status:** open
+**Group:** unknown release
+**Created:** Sat Jan 02, 2016 12:51 AM UTC by Anonymous
+**Last Updated:** Sat Jan 02, 2016 12:51 AM UTC
+**Owner:** nobody
+
+
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.
+Device 0 (VID=0b05 and PID=5f02) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+Android device detected, assigning default bug flags
+
+Extremely slow to connect. Mtpfs always hangs when creating "unknown" file (jpegs are ok).
+
+The device is Asus ZenFone 2 ZE551ML,SILVER,LTE,D (no idea if that "D" results in different VID/PID)
+
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0b05
+   idProduct: 5f02
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 5
+      Device number: 4
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0b05
+         Product: (null)
+         Vendor id: 0x5f02
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: asus
+   Model: ASUS_Z00AD
+   Device version: 1.0
+   Serial number: F4AZFG039340
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 27410845696
+      FreeSpaceInBytes: 15427944448
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Battery level 75 of 100 (75%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/support-requests/199/>
+
+
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/>
\ No newline at end of file
diff --git a/logs/mtp-detect-asus-zenfone-4.txt b/logs/mtp-detect-asus-zenfone-4.txt
new file mode 100644
index 0000000..b8be34b
--- /dev/null
+++ b/logs/mtp-detect-asus-zenfone-4.txt
@@ -0,0 +1,463 @@
+libmtp version: 1.1.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   0b05:580f @ bus 1, dev 9
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0b05
+   idProduct: 580f
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 9
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0b05
+         Product: (null)
+         Vendor id: 0x580f
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: asus
+   Model: ASUS_T00I
+   Device version: 1.0
+   Serial number: E6AZCY254331
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-asus-zenfone-6.txt b/logs/mtp-detect-asus-zenfone-6.txt
new file mode 100644
index 0000000..309a26a
--- /dev/null
+++ b/logs/mtp-detect-asus-zenfone-6.txt
@@ -0,0 +1,473 @@
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   0b05:5490 @ bus 2, dev 34
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0b05
+   idProduct: 5490
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 34
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0b05
+         Product: (null)
+         Vendor id: 0x5490
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: asus
+   Model: ASUS_Z002
+   Device version: 1.0
+   Serial number: EAAZCY25T879
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 13173780480
+      FreeSpaceInBytes: 12460142592
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-asus-zenfone-A500KL.txt b/logs/mtp-detect-asus-zenfone-A500KL.txt
new file mode 100644
index 0000000..1047568
--- /dev/null
+++ b/logs/mtp-detect-asus-zenfone-A500KL.txt
@@ -0,0 +1,482 @@
+libmtp version: 1.1.8
+
+Listing raw device(s)
+   Found 1 device(s):
+   0b05:7781 @ bus 2, dev 39
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0b05
+   idProduct: 7781
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 39
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0b05
+         Product: (null)
+         Vendor id: 0x7781
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: asus
+   Model: ASUS_T00P
+   Device version: 1.0
+   Serial number: EAAZCY163397
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 12010868736
+      FreeSpaceInBytes: 9740668928
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Внутренняя память
+      VolumeIdentifier: (null)
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 15688122368
+      FreeSpaceInBytes: 6489456640
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: MicroSD
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-asus-zenfone2-ze550ml.txt b/logs/mtp-detect-asus-zenfone2-ze550ml.txt
new file mode 100644
index 0000000..bdad405
--- /dev/null
+++ b/logs/mtp-detect-asus-zenfone2-ze550ml.txt
@@ -0,0 +1,536 @@
+
+
+
+---
+
+** [bugs:#1350] Asus Zenfone 2 ZE550ML**
+
+**Status:** open
+**Group:** 1.1.9
+**Created:** Wed Jun 03, 2015 05:00 PM UTC by Anonymous
+**Last Updated:** Wed Jun 03, 2015 05:00 PM UTC
+**Owner:** nobody
+
+libmtp version: 1.1.9
+
+Listing raw device(s)
+Device 0 (VID=0b05 and PID=5f02) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0b05:5f02 @ bus 3, dev 14
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0b05
+   idProduct: 5f02
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 3
+      Device number: 14
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0b05
+         Product: (null)
+         Vendor id: 0x5f02
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: asus
+   Model: ASUS_Z008D
+   Device version: 1.0
+   Serial number: F4AZFG09L572
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 12143726592
+      FreeSpaceInBytes: 9673449472
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 16012804096
+      FreeSpaceInBytes: 16010969088
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD card
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Battery level 36 of 100 (36%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/bugs/1350/>
+
+
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/>
\ No newline at end of file
diff --git a/logs/mtp-detect-asus-zenfone2.txt b/logs/mtp-detect-asus-zenfone2.txt
new file mode 100644
index 0000000..251c25a
--- /dev/null
+++ b/logs/mtp-detect-asus-zenfone2.txt
@@ -0,0 +1,528 @@
+
+
+
+---
+
+** [bugs:#1406] Asus Zenfone 2 New Device**
+
+**Status:** open
+**Group:** unknown release (please set)
+**Labels:** VID/PID unknown device 
+**Created:** Mon Sep 07, 2015 10:47 PM UTC by Anonymous
+**Last Updated:** Mon Sep 07, 2015 10:47 PM UTC
+**Owner:** Marcus Meissner
+
+
+Device 0 (VID=0b05 and PID=5600) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0b05:5600 @ bus 5, dev 17
+
+MTP-Detect output:
+libmtp version: 1.1.9
+
+Listing raw device(s)
+Device 0 (VID=0b05 and PID=5600) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0b05:5600 @ bus 5, dev 17
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+Error 1: Get Storage information failed.
+Error 2: PTP Layer error 02fe: get_handles_recursively(): could not get object handles.
+Error 2: Error 02fe: PTP: Protocol error, data expected
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0b05
+   idProduct: 5600
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 5
+      Device number: 17
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0b05
+         Product: (null)
+         Vendor id: 0x5600
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: asus
+   Model: ASUS_Z00AD
+   Device version: 1.0
+   Serial number: F8AZB600E635
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Battery level 37 of 100 (37%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/bugs/1406/>
+
+
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/>
\ No newline at end of file
diff --git a/logs/mtp-detect-asus-zenpad80.txt b/logs/mtp-detect-asus-zenpad80.txt
new file mode 100644
index 0000000..c9645d5
--- /dev/null
+++ b/logs/mtp-detect-asus-zenpad80.txt
@@ -0,0 +1,498 @@
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.
+Device 0 (VID=0b05 and PID=5e0f) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+Error 1: Get Storage information failed.
+Error 2: PTP Layer error 02fe: get_handles_recursively(): could not get object handles.
+Error 2: Error 02fe: PTP: Protocol error, data expected
+libmtp version: 1.1.8
+
+Listing raw device(s)
+   Found 1 device(s):
+   0b05:5e0f @ bus 3, dev 15
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 528
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0b05
+   idProduct: 5e0f
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 3
+      Device number: 15
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0b05
+         Product: (null)
+         Vendor id: 0x5e0f
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: asus
+   Model: P01MA
+   Device version: 1.0
+   Serial number: FBNPFP132160
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-asus-zenphone5.txt b/logs/mtp-detect-asus-zenphone5.txt
new file mode 100644
index 0000000..1bd4830
--- /dev/null
+++ b/logs/mtp-detect-asus-zenphone5.txt
@@ -0,0 +1,489 @@
+This is Asus Zenfone5 model number A501cg
+
+Output after running mtp-detect:-
+libmtp version: 1.1.8
+
+Listing raw device(s)
+Device 0 (VID=0b05 and PID=5480) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0b05:5480 @ bus 2, dev 13
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0b05
+   idProduct: 5480
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 13
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0b05
+         Product: (null)
+         Vendor id: 0x5480
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: asus
+   Model: ASUS_T00J
+   Device version: 1.0
+   Serial number: E9AZCY192505
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration
+ dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 5269434368
+      FreeSpaceInBytes: 1193426944
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 15791833088
+      FreeSpaceInBytes: 1408655360
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD card
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
diff --git a/logs/mtp-detect-barnesnoble-nook-hd.txt b/logs/mtp-detect-barnesnoble-nook-hd.txt
new file mode 100644
index 0000000..ea0b50d
--- /dev/null
+++ b/logs/mtp-detect-barnesnoble-nook-hd.txt
@@ -0,0 +1,475 @@
+[jake@chukar ebooks]$ mtp-detect 
+libmtp version: 1.1.6
+
+Listing raw device(s)
+Device 0 (VID=2080 and PID=0006) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   2080:0006 @ bus 1, dev 14
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 2080
+   idProduct: 0006
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 14
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x2080
+         Product: (null)
+         Vendor id: 0x0006
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: BN LLC
+   Model: MyNOOK
+   Device version: 1.0
+   Serial number: 3025220259594121
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   1019: Move object
+   101a: Copy object
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 63831015424
+      FreeSpaceInBytes: 63828656128
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD Card
+      VolumeIdentifier: (null)
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 13607493632
+      FreeSpaceInBytes: 12269473792
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal Storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
diff --git a/logs/mtp-detect-benq-f5.txt b/logs/mtp-detect-benq-f5.txt
new file mode 100644
index 0000000..881bc31
--- /dev/null
+++ b/logs/mtp-detect-benq-f5.txt
@@ -0,0 +1,482 @@
+libmtp version: 1.1.8
+
+Listing raw device(s)
+   Found 1 device(s):
+   1d45:459d @ bus 1, dev 12
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 1d45
+   idProduct: 459d
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 12
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x1d45
+         Product: (null)
+         Vendor id: 0x459d
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: BenQ
+   Model: F5_15
+   Device version: 1.0
+   Serial number: EX4B400180
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 13604048896
+      FreeSpaceInBytes: 9604792320
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Pamięć wewnętrzna
+      VolumeIdentifier: (null)
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 15688019968
+      FreeSpaceInBytes: 6618238976
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Karta SD
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-blackberry-9650.txt b/logs/mtp-detect-blackberry-9650.txt
new file mode 100644
index 0000000..cf72e39
--- /dev/null
+++ b/logs/mtp-detect-blackberry-9650.txt
@@ -0,0 +1,791 @@
+Device 0 (VID=0fca and PID=8007) is a RIM BlackBerry Storm.
+libmtp version: 1.0.2
+
+Listing raw device(s)
+   Found 1 device(s):
+   RIM: BlackBerry Storm (0fca:8007) @ bus 1, dev 9
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fca
+   idProduct: 8007
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 9
+      Device entry info:
+         Vendor: RIM
+         Vendor id: 0x0fca
+         Product: BlackBerry Storm
+         Vendor id: 0x8007
+         Device flags: 0x04000003
+Configuration 0, interface 1, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Research In Motion
+   Model: 9650
+   Device version: 5.0.0.621
+   Serial number: 00000000-32155fab-a000001ce236a0
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMPPD: 11.0; microsoft.com/WMDRMPD: 10.1;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   9810: Get object references
+   9811: Set object references
+   9101: Get secure time challenge
+   9104: Get sync list
+   9106: Get meter challenge
+   9108: Clean data store
+   9102: Get secure time response
+   9103: Set license response
+   9105: Send meter challenge query
+   9107: Get meter response
+   9109: Get license state
+Events supported:
+   0x4001
+   0x4004
+   0x4005
+   0x4008
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd102: Device Certificate
+   0xd404: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 17, 352, 353, 354, 355, 85, 41222, 28781, 255, 31265, 6, 7, 49, 80,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 480, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 360, STEP 1 GET/SET
+      de97: Scan Depth UINT16 data type range: MIN 0, MAX 1, STEP 2 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911, 859189832, 875967048, 1395937357,  READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 2000000, STEP 1 READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 17, 352, 353, 354, 355, 85, 41222, 28781, 255, 31265, 6, 7, 49, 80,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 17, 352, 353, 354, 355, 85, 41222, 28781, 255, 31265, 6, 7, 49, 80,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 17, 352, 353, 354, 355, 85, 41222, 28781, 255, 31265, 6, 7, 49, 80,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   b900: Undefined Audio
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 17, 352, 353, 354, 355, 85, 41222, 28781, 255, 31265, 6, 7, 49, 80,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   b904: Audible.com Codec
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 17, 352, 353, 354, 355, 85, 41222, 28781, 255, 31265, 6, 7, 49, 80,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 17, 352, 353, 354, 355, 85, 41222, 28781, 255, 31265, 6, 7, 49, 80,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 17, 352, 353, 354, 355, 85, 41222, 28781, 255, 31265, 6, 7, 49, 80,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14344, 14347, 14340,  READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 500, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 500, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  READ ONLY
+   ba09: Abstract Audio Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  READ ONLY
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 4992, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 3328, STEP 1 GET/SET
+      dcd3: Image Bit Depth UINT32 data type range: MIN 0, MAX 32, STEP 1 READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 4992, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 3328, STEP 1 GET/SET
+      dcd3: Image Bit Depth UINT32 data type range: MIN 0, MAX 32, STEP 1 READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 4992, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 3328, STEP 1 GET/SET
+      dcd3: Image Bit Depth UINT32 data type range: MIN 0, MAX 32, STEP 1 READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 4992, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 3328, STEP 1 GET/SET
+      dcd3: Image Bit Depth UINT32 data type range: MIN 0, MAX 32, STEP 1 READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+   3800: Defined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 4992, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 3328, STEP 1 GET/SET
+      dcd3: Image Bit Depth UINT32 data type range: MIN 0, MAX 32, STEP 1 READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 4992, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 3328, STEP 1 GET/SET
+      dcd3: Image Bit Depth UINT32 data type range: MIN 0, MAX 32, STEP 1 READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+   b980: Undefined Video
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 17, 352, 353, 354, 355, 85, 41222, 28781, 255, 31265, 6, 7, 49, 80,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      dc8c: Genre STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 480, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 360, STEP 1 GET/SET
+      de97: Scan Depth UINT16 data type range: MIN 0, MAX 1, STEP 2 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911, 859189832, 875967048, 1395937357,  READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 2000000, STEP 1 READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dea1: Encoding Profile STRING data type READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 30000, STEP 1 READ ONLY
+      de9e: Key Frame Distance UINT32 data type range: MIN 0, MAX 300, STEP 1 READ ONLY
+   300a: MS AVI
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 17, 352, 353, 354, 355, 85, 41222, 28781, 255, 31265, 6, 7, 49, 80,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      dc8c: Genre STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 480, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 360, STEP 1 GET/SET
+      de97: Scan Depth UINT16 data type range: MIN 0, MAX 1, STEP 2 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911, 859189832, 875967048, 1395937357,  READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 2000000, STEP 1 READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dea1: Encoding Profile STRING data type READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 30000, STEP 1 READ ONLY
+      de9e: Key Frame Distance UINT32 data type range: MIN 0, MAX 300, STEP 1 READ ONLY
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 17, 352, 353, 354, 355, 85, 41222, 28781, 255, 31265, 6, 7, 49, 80,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      dc8c: Genre STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+      de97: Scan Depth UINT16 data type range: MIN 0, MAX 1, STEP 2 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911, 859189832, 875967048, 1395937357,  READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 384000, STEP 1 READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dea1: Encoding Profile STRING data type READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 30000, STEP 1 READ ONLY
+      de9e: Key Frame Distance UINT32 data type range: MIN 0, MAX 300, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 17, 352, 353, 354, 355, 85, 41222, 28781, 255, 31265, 6, 7, 49, 80,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      dc8c: Genre STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 480, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 360, STEP 1 GET/SET
+      de97: Scan Depth UINT16 data type range: MIN 0, MAX 1, STEP 2 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911, 859189832, 875967048, 1395937357,  READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 2000000, STEP 1 READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dea1: Encoding Profile STRING data type READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 30000, STEP 1 READ ONLY
+      de9e: Key Frame Distance UINT32 data type range: MIN 0, MAX 300, STEP 1 READ ONLY
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 17, 352, 353, 354, 355, 85, 41222, 28781, 255, 31265, 6, 7, 49, 80,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      dc8c: Genre STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 480, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 360, STEP 1 GET/SET
+      de97: Scan Depth UINT16 data type range: MIN 0, MAX 1, STEP 2 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911, 859189832, 875967048, 1395937357,  READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 2000000, STEP 1 READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dea1: Encoding Profile STRING data type READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 30000, STEP 1 READ ONLY
+      de9e: Key Frame Distance UINT32 data type range: MIN 0, MAX 300, STEP 1 READ ONLY
+   ba13: ASX Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 17, 352, 353, 354, 355, 85, 41222, 28781, 255, 31265, 6, 7, 49, 80,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      dc8c: Genre STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 480, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 360, STEP 1 GET/SET
+      de97: Scan Depth UINT16 data type range: MIN 0, MAX 1, STEP 2 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911, 859189832, 875967048, 1395937357,  READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 2000000, STEP 1 READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dea1: Encoding Profile STRING data type READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 30000, STEP 1 READ ONLY
+      de9e: Key Frame Distance UINT32 data type range: MIN 0, MAX 300, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 17, 352, 353, 354, 355, 85, 41222, 28781, 255, 31265, 6, 7, 49, 80,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 480, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 360, STEP 1 GET/SET
+      de97: Scan Depth UINT16 data type range: MIN 0, MAX 1, STEP 2 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911, 859189832, 875967048, 1395937357,  READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 2000000, STEP 1 READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   3002: Script
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  READ ONLY
+   ba80: Undefined Document
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  READ ONLY
+   ba83: Microsoft Word Document
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  READ ONLY
+   ba85: Microsoft Excel Spreadsheet (.xls)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  READ ONLY
+   ba86: Microsoft Powerpoint (.ppt)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  READ ONLY
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0001 generic flat filesystem
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 1966800896
+      FreeSpaceInBytes: 1571815424
+      FreeSpaceInObjects: 0
+      StorageDescription: Media Card
+      VolumeIdentifier: 20001-32155fab-a000001ce236a0
+Special directories:
+   Default music folder: 0x00200007
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00200004
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: BlackBerry 9650
+   Synchronization partner: 32155fab
+   Battery level 3 of 100 (2%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   RIFF WAVE file
+   Undefined audio file
+   Audible.com Audio Codec
+   Free Lossless Audio Codec (FLAC)
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Abstract Album file
+   Abstract Playlist file
+   XML file
+   JPEG file
+   Portable Network Graphics
+   GIF bitmap file
+   BMP bitmap file
+   TIFF bitmap file
+   Undefined video file
+   Audio Video Interleave
+   Microsoft Windows Media Video
+   MPEG video stream
+   Microsoft Advanced Systems Format
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   HTML file
+   DOC file
+   XLS file
+   PPT file
+   Text file
+OK.
diff --git a/logs/mtp-detect-blackberry-dtek60.txt b/logs/mtp-detect-blackberry-dtek60.txt
new file mode 100644
index 0000000..56b8200
--- /dev/null
+++ b/logs/mtp-detect-blackberry-dtek60.txt
@@ -0,0 +1,529 @@
+libmtp version: 1.1.10
+
+Listing raw device(s)
+   Found 1 device(s):
+   0fca:8041 @ bus 3, dev 7
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fca
+   idProduct: 8041
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 3
+      Device number: 7
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0fca
+         Product: (null)
+         Vendor id: 0x8041
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: BlackBerry
+   Model: BlackBerry BBA100-1
+   Device version: 1.0
+   Serial number: 1163775465
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   1019: Move object
+   101a: Copy object
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+   0xd405: Device Icon
+   0xd407: Perceived Device Type
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0xb7ed0001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 63847890944
+      FreeSpaceInBytes: 53902245888
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SanDisk SD card
+      VolumeIdentifier: (null)
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 24631451648
+      FreeSpaceInBytes: 16761397248
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Battery level 96 of 100 (95%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-blackberry-storm.txt b/logs/mtp-detect-blackberry-storm.txt
new file mode 100644
index 0000000..7a4e3fc
--- /dev/null
+++ b/logs/mtp-detect-blackberry-storm.txt
@@ -0,0 +1,299 @@
+libmtp version: 1.0.1
+
+Listing raw device(s)
+   Found 1 device(s):
+   RIM: BlackBerry Storm (0fca:8007) @ bus 0, dev 6
+Attempting to connect device(s)
+BlackBerry magic part 1:
+	0000: 4000 0000 0001 0400 0200 0000 0000 0000	@...............
+	0010: 0001 0000 0000 0000 0000 0000 0000 0000	................
+	0020: 0000 0000 0000 0000 0101 4d54 5000 0000	..........MTP...
+	0030: 0000 3400 0000 0000 0000 0000 0000 0000	..4.............
+BlackBerry magic part 2:
+	0000: 0200                                   	..
+BlackBerry magic part 3:
+	0000: 1100 0001 04                           	.....
+BlackBerry magic part 4:
+	0000: 1100 0001 0400 0102 0102 0202 0302 0303	................
+	0010: 02                                     	.
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fca
+   idProduct: 8007
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 6
+      Device entry info:
+         Vendor: RIM
+         Vendor id: 0x0fca
+         Product: BlackBerry Storm
+         Vendor id: 0x8007
+         Device flags: 0x04000002
+Configuration 0, interface 1, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Research In Motion
+   Model: 9500
+   Device version: 100
+   Serial number: 00000000-********-**************
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 11.0; vodafone.com/omadrmv2: 1.0;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   9810: Get object references
+   9811: Set object references
+   9101: Get secure time challenge
+   9104: Get sync list
+   9106: Get meter challenge
+   9108: Clean data store
+   9102: Get secure time response
+   9103: Set license response
+   9105: Send meter challenge query
+   9107: Get meter response
+   9109: Get license state
+Events supported:
+   0x4001
+   0x4004
+   0x4005
+   0x4008
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd102: Device Certificate
+   0xd404: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 352, 353, 85,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1500000, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 352, 353, 85,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1500000, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 352, 353, 85,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1500000, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+   ba09: Abstract Audio Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+     Error 2: PTP Layer error 02fe: get_device_unicode_property(): failed to get unicode property.
+Error 2: (Look this up in ptp.h for an explanation.)
+ dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0001 generic flat filesystem
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 910098432
+      FreeSpaceInBytes: 910098432
+      FreeSpaceInObjects: 0
+      StorageDescription: Mémoire terminal
+      VolumeIdentifier: 10001-********-**************
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0001 generic flat filesystem
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 7820148736
+      FreeSpaceInBytes: 7820148736
+      FreeSpaceInObjects: 0
+      StorageDescription: Carte Média
+      VolumeIdentifier: 20001-********-**************
+Special directories:
+   Default music folder: 0x00000000
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Battery level 5 of 100 (5%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   RIFF WAVE file
+   Abstract Playlist file
+   XML file
+Unable to acquire device certificate, perhaps this device does not support this
+OK.
diff --git a/logs/mtp-detect-blu-energy-x-lte.txt b/logs/mtp-detect-blu-energy-x-lte.txt
new file mode 100644
index 0000000..4156893
--- /dev/null
+++ b/logs/mtp-detect-blu-energy-x-lte.txt
@@ -0,0 +1,529 @@
+libmtp version: 1.1.12
+
+Listing raw device(s)
+Device 0 (VID=271d and PID=4017) is UNKNOWN in libmtp v1.1.12.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   271d:4017 @ bus 1, dev 15
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 271d
+   idProduct: 4017
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 15
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x271d
+         Product: (null)
+         Vendor id: 0x4017
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: BLU
+   Model: Energy X LTE
+   Device version: 1.0
+   Serial number: RSWCH6ZS99999999
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: Unknown(1001)
+   1002: Unknown(1002)
+   1003: Unknown(1003)
+   1004: Unknown(1004)
+   1005: Unknown(1005)
+   1006: Unknown(1006)
+   1007: Unknown(1007)
+   1008: Unknown(1008)
+   1009: Unknown(1009)
+   100a: Unknown(100a)
+   100b: Unknown(100b)
+   100c: Unknown(100c)
+   100d: Unknown(100d)
+   1014: Unknown(1014)
+   1015: Unknown(1015)
+   1016: Unknown(1016)
+   1017: Unknown(1017)
+   101b: Unknown(101b)
+   9801: Unknown(9801)
+   9802: Unknown(9802)
+   9803: Unknown(9803)
+   9804: Unknown(9804)
+   9805: Unknown(9805)
+   9810: Unknown(9810)
+   9811: Unknown(9811)
+   95c1: Unknown(95c1)
+   95c2: Unknown(95c2)
+   95c3: Unknown(95c3)
+   95c4: Unknown(95c4)
+   95c5: Unknown(95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 3966763008
+      FreeSpaceInBytes: 1536458752
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Tarjeta SD
+      VolumeIdentifier: (null)
+   StorageID: 0x00020001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 11742707712
+      FreeSpaceInBytes: 8688689152
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Almacenamiento de teléfono
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: BLU_Energy_X_LTE
+   Synchronization partner: BLU_Energy_X_LTE
+   Battery level 94 of 100 (93%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-blu-studio--energy-x2.txt b/logs/mtp-detect-blu-studio--energy-x2.txt
new file mode 100644
index 0000000..85aa353
--- /dev/null
+++ b/logs/mtp-detect-blu-studio--energy-x2.txt
@@ -0,0 +1,627 @@
+===============================
+      lsusb -vs 001:046
+===============================
+
+Bus 001 Device 046: ID 271d:4016  
+Device Descriptor:
+  bLength                18
+  bDescriptorType         1
+  bcdUSB               2.00
+  bDeviceClass            0 (Defined at Interface level)
+  bDeviceSubClass         0 
+  bDeviceProtocol         0 
+  bMaxPacketSize0        64
+  idVendor           0x271d 
+  idProduct          0x4016 
+  bcdDevice           ff.ff
+  iManufacturer           2 BLU
+  iProduct                3 Energy
+  iSerial                 4 YLRWDAMJEEMFA6E6
+  bNumConfigurations      1
+  Configuration Descriptor:
+    bLength                 9
+    bDescriptorType         2
+    wTotalLength           62
+    bNumInterfaces          2
+    bConfigurationValue     1
+    iConfiguration          0 
+    bmAttributes         0xc0
+      Self Powered
+    MaxPower              500mA
+    Interface Descriptor:
+      bLength                 9
+      bDescriptorType         4
+      bInterfaceNumber        0
+      bAlternateSetting       0
+      bNumEndpoints           3
+      bInterfaceClass       255 Vendor Specific Class
+      bInterfaceSubClass    255 Vendor Specific Subclass
+      bInterfaceProtocol      0 
+      iInterface             18 MTP
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x81  EP 1 IN
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x01  EP 1 OUT
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x82  EP 2 IN
+        bmAttributes            3
+          Transfer Type            Interrupt
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x001c  1x 28 bytes
+        bInterval               6
+    Interface Descriptor:
+      bLength                 9
+      bDescriptorType         4
+      bInterfaceNumber        1
+      bAlternateSetting       0
+      bNumEndpoints           2
+      bInterfaceClass         8 Mass Storage
+      bInterfaceSubClass      6 SCSI
+      bInterfaceProtocol     80 Bulk-Only
+      iInterface              1 Mass Storage
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x83  EP 3 IN
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x02  EP 2 OUT
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               1
+Device Qualifier (for other device speed):
+  bLength                10
+  bDescriptorType         6
+  bcdUSB               2.00
+  bDeviceClass            0 (Defined at Interface level)
+  bDeviceSubClass         0 
+  bDeviceProtocol         0 
+  bMaxPacketSize0        64
+  bNumConfigurations      1
+Device Status:     0x0001
+  Self Powered
+
+
+
+
+===============================
+          mtp-detect
+===============================
+
+libmtp version: 1.1.8
+
+Listing raw device(s)
+   Found 1 device(s):
+   271d:4016 @ bus 1, dev 46
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 271d
+   idProduct: 4016
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 46
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x271d
+         Product: (null)
+         Vendor id: 0x4016
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: BLU
+   Model: Energy X 2
+   Device version: 1.0
+   Serial number: YLRWDAMJEEMFA6E6
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: BLU_Energy_X_2
+   Synchronization partner: BLU_Energy_X_2
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-blu-studio-hd.txt b/logs/mtp-detect-blu-studio-hd.txt
new file mode 100644
index 0000000..af7b6ff
--- /dev/null
+++ b/logs/mtp-detect-blu-studio-hd.txt
@@ -0,0 +1,142 @@
+Output of mtp-detect:
+
+hari@hari-VGN-N250N:~/Desktop$ mtp-detect
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.9
+
+Listing raw device(s)
+Device 0 (VID=0e8d and PID=2008) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0e8d:2008 @ bus 1, dev 14
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+Error 2: PTP Layer error 02ff: get_handles_recursively(): could not get object handles.
+Error 2: Error 02ff: PTP: I/O error
+Error 2: PTP Layer error 02ff: get_handles_recursively(): could not get object handles.
+Error 2: Error 02ff: PTP: I/O error
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0e8d
+   idProduct: 2008
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 14
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0e8d
+         Product: (null)
+         Vendor id: 0x2008
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: BLU
+   Model: STUDIO6.0HD
+   Device version: 1.0
+   Serial number: J805D1ZB4B240D36
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+   3001: Association/Directory
+   3004: Text
+   3005: HTML
+   3008: MS Wave
+   3009: MP3
+   300b: MPEG
+   3801: JPEG
+   3802: TIFF EP
+   3804: BMP
+   3807: GIF
+   3808: JFIF
+   380b: PNG
+   380d: TIFF
+
+
+
+---
+
+** [bugs:#1383] Device 0 (VID=0e8d and PID=2008) is UNKNOWN.**
+
+**Status:** pending
+**Group:** unknown release (please set)
+**Created:** Sun Aug 09, 2015 01:16 PM UTC by Anonymous
+**Last Updated:** Wed Aug 12, 2015 01:21 PM UTC
+**Owner:** Marcus Meissner
+
+
+me@me-VGN-N250N:~/Desktop$ mtp-detect 
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6
+
+Listing raw device(s)
+Device 0 (VID=0e8d and PID=2008) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0e8d:2008 @ bus 1, dev 29
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/bugs/1383/>
+
+
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/>
\ No newline at end of file
diff --git a/logs/mtp-detect-blu-studio-x.txt b/logs/mtp-detect-blu-studio-x.txt
new file mode 100644
index 0000000..6d23ac2
--- /dev/null
+++ b/logs/mtp-detect-blu-studio-x.txt
@@ -0,0 +1,498 @@
+Device 0 (VID=0e8d and PID=201d) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+Error 1: Get Storage information failed.
+Error 2: PTP Layer error 02fe: get_handles_recursively(): could not get object handles.
+Error 2: Error 02fe: PTP: Protocol error, data expected
+libmtp version: 1.1.9
+
+Listing raw device(s)
+   Found 1 device(s):
+   0e8d:201d @ bus 2, dev 40
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0e8d
+   idProduct: 201d
+   IN endpoint maxpacket: 64 bytes
+   OUT endpoint maxpacket: 64 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 40
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0e8d
+         Product: (null)
+         Vendor id: 0x201d
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: BLU
+   Model: STUDIO X
+   Device version: 1.0
+   Serial number: J501C1ZR53053521
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: STUDIO X
+   Synchronization partner: LIFEPURE8
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-bq-aquaris-avila-cooler.txt b/logs/mtp-detect-bq-aquaris-avila-cooler.txt
new file mode 100644
index 0000000..bfa0cb3
--- /dev/null
+++ b/logs/mtp-detect-bq-aquaris-avila-cooler.txt
@@ -0,0 +1,475 @@
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6
+
+Listing raw device(s)
+Device 0 (VID=2a47 and PID=201d) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   2a47:201d @ bus 1, dev 27
+Attempting to connect device(s)
+ignoring libusb_claim_interface() = -6PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
+LIBMTP libusb: Attempt to reset device
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 2a47
+   idProduct: 201d
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 27
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x2a47
+         Product: (null)
+         Vendor id: 0x201d
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Ubuntu
+   Model: cooler
+   Device version: 1.0
+   Serial number: FC000761
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   1019: Move object
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+   0x4007
+   0xc801
+Device Properties Supported:
+   0xd402: Friendly Device Name
+   0xd401: Synchronization Partner
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   3800: Defined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   380e: TIFF_IT
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   380f: JP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   3810: JPX
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+Storage Devices:
+   StorageID: 0x00000003
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 10105085952
+      FreeSpaceInBytes: 9873952768
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: cooler
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000002
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000009
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   JP2 file
+   JPX file
+   Ogg container format
+   ISO MPEG-1 Audio Layer 3
+   RIFF WAVE file
+   Microsoft Windows Media Audio
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Free Lossless Audio Codec (FLAC)
+   Abstract Album file
+   Abstract Playlist file
+OK.
diff --git a/logs/mtp-detect-bq-aquaris-e45-ubuntu-editon.txt b/logs/mtp-detect-bq-aquaris-e45-ubuntu-editon.txt
new file mode 100644
index 0000000..1aa0830
--- /dev/null
+++ b/logs/mtp-detect-bq-aquaris-e45-ubuntu-editon.txt
@@ -0,0 +1,460 @@
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   2a47:0c02 @ bus 1, dev 10
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 2a47
+   idProduct: 0c02
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 10
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x2a47
+         Product: (null)
+         Vendor id: 0x0c02
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: bq
+   Model: Aquaris E4.5 Ubuntu Edition
+   Device version: 1.0
+   Serial number: JU001825
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 32 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   1019: Move object
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4007
+   0xc801
+Device Properties Supported:
+   0xd402: Friendly Device Name
+   0xd401: Synchronization Partner
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   3800: Defined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   380e: TIFF_IT
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   380f: JP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   3810: JPX
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dce0: Display Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc08: Date Created STRING data type READ ONLY
+      dc09: Date Modified STRING data type READ ONLY
+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   JP2 file
+   JPX file
+   Ogg container format
+   ISO MPEG-1 Audio Layer 3
+   RIFF WAVE file
+   Microsoft Windows Media Audio
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Free Lossless Audio Codec (FLAC)
+   Abstract Album file
+   Abstract Playlist file
+OK.
diff --git a/logs/mtp-detect-bq-aquaris-m55.txt b/logs/mtp-detect-bq-aquaris-m55.txt
new file mode 100644
index 0000000..65af311
--- /dev/null
+++ b/logs/mtp-detect-bq-aquaris-m55.txt
@@ -0,0 +1,449 @@
+libmtp version: 1.1.11
+
+Listing raw device(s)
+   Found 1 device(s):
+   2a47:901b @ bus 3, dev 10
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 2a47
+   idProduct: 901b
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 3
+      Device number: 10
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x2a47
+         Product: (null)
+         Vendor id: 0x901b
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: bq
+   Model: Aquaris M5.5
+   Device version: 1.0
+   Serial number: NF035333
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+   0xc801
+   0x4007
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STR
\ No newline at end of file
diff --git a/logs/mtp-detect-bravis-a401-neo.txt b/logs/mtp-detect-bravis-a401-neo.txt
new file mode 100644
index 0000000..088634a
--- /dev/null
+++ b/logs/mtp-detect-bravis-a401-neo.txt
@@ -0,0 +1,521 @@
+Device 0 (VID=0e8d and PID=0c03) is UNKNOWN in libmtp v1.1.11.
+Please report this VID/PID and the device model to the libmtp development team
+
+libmtp version: 1.1.11
+
+Listing raw device(s)
+   Found 1 device(s):
+   0e8d:0c03 @ bus 2, dev 6
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0e8d
+   idProduct: 0c03
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 6
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0e8d
+         Product: (null)
+         Vendor id: 0x0c03
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: BRAVIS NEO
+   Model: BRAVIS NEO
+   Device version: 1.0
+   Serial number: 0123456789ABCDEF
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 1777688576
+      FreeSpaceInBytes: 337682432
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Phone Storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: BRAVIS NEO
+   Synchronization partner: BRAVIS NEO
+   Battery level 40 of 100 (40%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-cat-s40.txt b/logs/mtp-detect-cat-s40.txt
new file mode 100644
index 0000000..a076721
--- /dev/null
+++ b/logs/mtp-detect-cat-s40.txt
@@ -0,0 +1,531 @@
+libmtp version: 1.1.10
+
+Listing raw device(s)
+Device 0 (VID=04b7 and PID=88b0) is UNKNOWN in libmtp v1.1.10.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   04b7:88b0 @ bus 1, dev 42
+Attempting to connect device(s)
+PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
+LIBMTP libusb: Attempt to reset device
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 04b7
+   idProduct: 88b0
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 42
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x04b7
+         Product: (null)
+         Vendor id: 0x88b0
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: BullittGroupLimited
+   Model: S40
+   Device version: 1.0
+   Serial number: 57e8baf3
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+   0xc801
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 11159162880
+      FreeSpaceInBytes: 7875846144
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Sisäinen tallennustila
+      VolumeIdentifier: (null)
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 63869911040
+      FreeSpaceInBytes: 62827429888
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD-kortti
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Battery level 87 of 100 (87%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
diff --git a/logs/mtp-detect-cat-s50.txt b/logs/mtp-detect-cat-s50.txt
new file mode 100644
index 0000000..57a5d43
--- /dev/null
+++ b/logs/mtp-detect-cat-s50.txt
@@ -0,0 +1,419 @@
+Vendor: CAT
+Product: S50
+Type: Rugged Phone
+CPU: MSM8926
+
+Device 0 (VID=04b7 and PID=88aa) is UNKNOWN.
+Available devices (busLocation, devNum, productId, vendorId, product, vendor):
+3, 10, 0x88aa, 0x04b7, UNKNOWN, UNKNOWN
+
+    mtp-detect
+    libmtp version: 1.1.9
+
+Listing raw device(s)
+Found 1 device(s):
+04b7:88aa @ bus 3, dev 10
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+bcdUSB: 512
+bDeviceClass: 0
+bDeviceSubClass: 0
+bDeviceProtocol: 0
+idVendor: 04b7
+idProduct: 88aa
+IN endpoint maxpacket: 512 bytes
+OUT endpoint maxpacket: 512 bytes
+Raw device info:
+Bus location: 3
+Device number: 10
+Device entry info:
+Vendor: (null)
+Vendor id: 0x04b7
+Product: (null)
+Vendor id: 0x88aa
+Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+Interface description contains the string "MTP"
+Device recognized as MTP, no further probing.
+Device info:
+Manufacturer: BullittGroupLimited
+Model: S50
+Device version: 1.0
+Serial number: ecc7020
+Vendor extension ID: 0x00000006
+Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+Detected object size: 64 bits
+Extensions:
+microsoft.com: 1.0
+android.com: 1.0
+Supported operations:
+1001: get device info
+1002: Open session
+1003: Close session
+1004: Get storage IDs
+1005: Get storage info
+1006: Get number of objects
+1007: Get object handles
+1008: Get object info
+1009: Get object
+100a: Get thumbnail
+100b: Delete object
+100c: Send object info
+100d: Send object
+1014: Get device property description
+1015: Get device property value
+1016: Set device property value
+1017: Reset device property value
+101b: Get partial object
+9801: Get object properties supported
+9802: Get object property description
+9803: Get object property value
+9804: Set object property value
+9805: Get object property list
+9810: Get object references
+9811: Set object references
+95c1: Get Partial Object (64bit Offset)
+95c2: Send Partial Object
+95c3: Truncate Object
+95c4: Begin Edit Object
+95c5: End Edit Object
+Events supported:
+0x4002
+0x4003
+0x4004
+0x4005
+Device Properties Supported:
+0xd401: Synchronization Partner
+0xd402: Friendly Device Name
+0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+3000: Undefined Type
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+3001: Association/Directory
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+3004: Text
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+3005: HTML
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+3008: MS Wave
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc9b: Album Artist STRING data type READ ONLY
+dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc8c: Genre STRING data type READ ONLY
+dc96: Composer STRING data type READ ONLY
+3009: MP3
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc9b: Album Artist STRING data type READ ONLY
+dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc8c: Genre STRING data type READ ONLY
+dc96: Composer STRING data type READ ONLY
+300b: MPEG
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc48: Description STRING data type READ ONLY
+3801: JPEG
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc48: Description STRING data type READ ONLY
+3802: TIFF EP
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+3804: BMP
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc48: Description STRING data type READ ONLY
+3807: GIF
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc48: Description STRING data type READ ONLY
+3808: JFIF
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc46: Artist STRING data type READ ONLY
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+380b: PNG
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc48: Description STRING data type READ ONLY
+380d: TIFF
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+b901: WMA
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc9b: Album Artist STRING data type READ ONLY
+dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc8c: Genre STRING data type READ ONLY
+dc96: Composer STRING data type READ ONLY
+b902: OGG
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc48: Description STRING data type READ ONLY
+ba05: Abstract Audio Video Playlist
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+ba10: WPL Playlist
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+ba11: M3U Playlist
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+ba14: PLS Playlist
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+ba82: XMLDocument
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+b906: FLAC
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Special directories:
+Default music folder: 0xffffffff
+Default playlist folder: 0xffffffff
+Default picture folder: 0xffffffff
+Default video folder: 0xffffffff
+Default organizer folder: 0xffffffff
+Default zencast folder: 0xffffffff
+Default album folder: 0xffffffff
+Default text folder: 0xffffffff
+MTP-specific device properties:
+Friendly name: (NULL)
+Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+Folder
+Text file
+HTML file
+RIFF WAVE file
+ISO MPEG-1 Audio Layer 3
+MPEG video stream
+JPEG file
+BMP bitmap file
+GIF bitmap file
+JFIF file
+Portable Network Graphics
+TIFF bitmap file
+Microsoft Windows Media Audio
+Ogg container format
+Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+ISO MPEG-1 Audio Layer 2
+Abstract Playlist file
+XML file
+Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-coby-mp7054g.txt b/logs/mtp-detect-coby-mp7054g.txt
new file mode 100644
index 0000000..eb52e2a
--- /dev/null
+++ b/logs/mtp-detect-coby-mp7054g.txt
@@ -0,0 +1,326 @@
+libmtp version: 1.0.2
+
+Listing raw device(s)
+   Found 1 device(s):
+   1e74:6512 @ bus 3, dev 2
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 255
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 1e74
+   idProduct: 6512
+   IN endpoint maxpacket: 64 bytes
+   OUT endpoint maxpacket: 64 bytes
+   Raw device info:
+      Bus location: 3
+      Device number: 2
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x1e74
+         Product: (null)
+         Vendor id: 0x6512
+         Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: fe00                                   	..
+Microsoft device response to control message 1, CMD 0xfe:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Microsoft device response to control message 2, CMD 0xfe:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Device responds to control message 2 with some data.
+Device info:
+   Manufacturer: COBY
+   Model: COBY MP705
+   Device version: MTP-0.99-N-ENG
+   Serial number: FD86FC402574A941ACEAA0FBBF953CE4
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 10.0;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   101b: Get partial object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9201: Report Added/Deleted Items
+Events supported:
+   None.
+Device Properties Supported:
+   0xd101: Secure Time
+   0xd401: Synchronization Partner
+   0x5001: Battery Level
+   0xd102: Device Certificate
+   0xd402: Friendly Device Name
+Playable File (Object) Types and Object Properties Supported:
+   3009: MP3
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX 800000, STEP 1 READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 384000, STEP 1 READ ONLY
+      dc9a: Album Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+   b901: WMA
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX 800000, STEP 1 READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 384000, STEP 1 READ ONLY
+      dc9a: Album Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+   300c: ASF
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX 800000, STEP 1 READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 1,  READ ONLY
+      de91: Total Bit Rate UINT32 data type range: MIN 1, MAX 1234000, STEP 1 READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 384000, STEP 1 READ ONLY
+      dc8c: Genre STRING data type GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      dc94: Parental Rating STRING data type GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 15000, MAX 30000, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 861293911, 0, 859189832, 958804552, 1195724877, 827739479, 844516695,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 850000, STEP 1 READ ONLY
+   b981: WMV
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX 800000, STEP 1 READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 1,  READ ONLY
+      de91: Total Bit Rate UINT32 data type range: MIN 1, MAX 1234000, STEP 1 READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 384000, STEP 1 READ ONLY
+      dc8c: Genre STRING data type GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      dc94: Parental Rating STRING data type GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 15000, MAX 30000, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 861293911, 0, 859189832, 958804552, 1195724877, 827739479, 844516695,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 850000, STEP 1 READ ONLY
+   3801: JPEG
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+   3001: Association/Directory
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+   ba03: Abstract Audio Album
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 24576, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 180, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 180, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+   3000: Undefined Type
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+   300a: MS AVI
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX 800000, STEP 1 READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 1,  READ ONLY
+      de91: Total Bit Rate UINT32 data type range: MIN 1, MAX 1234000, STEP 1 READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 384000, STEP 1 READ ONLY
+      dc8c: Genre STRING data type GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      dc94: Parental Rating STRING data type GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 15000, MAX 30000, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 861293911, 0, 859189832, 958804552, 1195724877, 827739479, 844516695,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 850000, STEP 1 READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 3984912384
+      FreeSpaceInBytes: 2327183360
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: internal storage
+      VolumeIdentifier: FD86FC402574A941ACEA4AFBBF953CE4
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: 
+   Synchronization partner: 
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   Microsoft Advanced Systems Format
+   Microsoft Windows Media Video
+   JPEG file
+   Abstract Album file
+   Abstract Playlist file
+   Audio Video Interleave
+
+Secure Time:
+
+
+ 	  	 
diff --git a/logs/mtp-detect-cowon-iaudio-10.txt b/logs/mtp-detect-cowon-iaudio-10.txt
new file mode 100644
index 0000000..604dfca
--- /dev/null
+++ b/logs/mtp-detect-cowon-iaudio-10.txt
@@ -0,0 +1,538 @@
+libmtp version: 1.1.1
+
+Listing raw device(s)
+   Found 1 device(s):
+   Cowon: iAudio 10 (MTP mode) (0e21:0952) @ bus 1, dev 18
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0e21
+   idProduct: 0952
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 18
+      Device entry info:
+         Vendor: Cowon
+         Vendor id: 0x0e21
+         Product: iAudio 10 (MTP mode)
+         Vendor id: 0x0952
+         Device flags: 0x01000206
+Device info:
+   Manufacturer: COWON SYSTEMS, Inc.
+   Model: iAUDIO 10
+   Device version: 1.06
+   Serial number: 06250000000000001130091042120266
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/WMPPD: 11.0;microsoft.com/WMDRMPD: 10.1;microsoft.com/WMPPD: 10.0;audible.com: 1.0;microsoft.com/AAVT: 1.0;microsoft.com/WMDRMND: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com/WMPPD: 11.0
+        microsoft.com/WMDRMPD: 10.1
+        microsoft.com/WMPPD: 10.0
+        audible.com: 1.0
+        microsoft.com/AAVT: 1.0
+        microsoft.com/WMDRMND: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   9808: Send object property list
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   101b: Get partial object
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9170: Open Media Session
+   9171: Close Media Session
+   9172: Get Next Data Block
+   9173: Set Current Time Position
+   9180: Send Registration Request
+   9181: Get Registration Response
+   9182: Get Proximity Challenge
+   9183: Send Proximity Response
+   9184: Send WMDRM-ND License Request
+   9185: Get WMDRM-ND License Response
+Events supported:
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd405: Device Icon
+   0xd100: Unknown property
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd103: Revocation Info
+Playable File (Object) Types and Object Properties Supported:
+   3001: Association/Directory
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+   3009: MP3
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+   b901: WMA
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+   3008: MS Wave
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+   b904: Audible.com Codec
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      da00: Unknown property UINT32 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,  GET/SET
+      da02: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da03: Unknown property UINT16 data type enumeration: 0, 1,  READ ONLY
+      da01: Unknown property STRING data type GET/SET
+      da04: Unknown property array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+   b301: Unknown(b301)
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      da00: Unknown property UINT32 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,  GET/SET
+      da02: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da03: Unknown property UINT16 data type enumeration: 0, 1,  READ ONLY
+      da01: Unknown property STRING data type GET/SET
+      da04: Unknown property array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+   3801: JPEG
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 480, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 270, STEP 1 GET/SET
+   3004: Text
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+   300a: MS AVI
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 480, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 270, STEP 1 GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 1,  READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type enumeration:  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 1195724877, 861293911,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 850000, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   b981: WMV
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 480, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 270, STEP 1 GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 1,  READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type enumeration:  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 1195724877, 861293911,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 850000, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 128000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   b903: AAC
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+   300c: ASF
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 480, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 270, STEP 1 GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 1,  READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type enumeration:  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 1195724877, 861293911,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 850000, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   3001: Association/Directory
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+   3000: Undefined Type
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+   b802: Firmware
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+   ba03: Abstract Audio Album
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc9b: Album Artist STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 32908689408
+      FreeSpaceInBytes: 30113251328
+      FreeSpaceInObjects: 23663
+      StorageDescription: Internal Storage
+      VolumeIdentifier: 06250000000000001130091042120266
+Special directories:
+   Default music folder: 0x2000000d
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x20000009
+   Default video folder: 0x2000000f
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: iAUDIO 10
+   Synchronization partner: Longhorn Sync Engine
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   Folder
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   RIFF WAVE file
+   Audible.com Audio Codec
+   JPEG file
+   Text file
+   Audio Video Interleave
+   Microsoft Windows Media Video
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Microsoft Advanced Systems Format
+   Folder
+   Abstract Playlist file
+   Firmware file
+   Abstract Album file
+   Ogg container format
+   Free Lossless Audio Codec (FLAC)
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20091116 77:40:12Z#</VALUE><FLAG>DRM_CLK_NEEDS_REFRESH</FLAG></DRMCLOCK>AG></DRMCLOCK>
+OK.
diff --git a/logs/mtp-detect-cowon-iaudio-9.txt b/logs/mtp-detect-cowon-iaudio-9.txt
new file mode 100644
index 0000000..4e513c4
--- /dev/null
+++ b/logs/mtp-detect-cowon-iaudio-9.txt
@@ -0,0 +1,559 @@
+libmtp version: 1.0.1
+
+Listing raw device(s)
+   Found 1 device(s):
+   Cowon: iAudio 9 (MTP mode) (0e21:0911) @ bus 0, dev 8
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0e21
+   idProduct: 0911
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 8
+      Device entry info:
+         Vendor: Cowon
+         Vendor id: 0x0e21
+         Product: iAudio 9 (MTP mode)
+         Vendor id: 0x0911
+         Device flags: 0x00000006
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: 0100                                   	..
+Device info:
+   Manufacturer: COWON SYSTEMS, Inc.
+   Model: iAUDIO 9 1.10
+   Device version: 1.10
+   Serial number: 5003000D87D3109D09102811230207D4
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/WMPPD: 11.0;microsoft.com/WMDRMPD: 10.1;microsoft.com/WMPPD: 10.0;audible.com: 1.0;microsoft.com/AAVT: 1.0;microsoft.com/WMDRMND: 1.0;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   9808: Send object property list
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   101b: Get partial object
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9170: Open Media Session
+   9171: Close Media Session
+   9172: Get Next Data Block
+   9173: Set Current Time Position
+   9180: Send Registration Request
+   9181: Get Registration Response
+   9182: Get Proximity Challenge
+   9183: Send Proximity Response
+   9184: Send WMDRM-ND License Request
+   9185: Get WMDRM-ND License Response
+Events supported:
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd405: Device Icon
+   0xd100: Unknown property
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd103: Revocation Info
+Playable File (Object) Types and Object Properties Supported:
+   3001: Association/Directory
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+   3009: MP3
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+   b901: WMA
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+   3008: MS Wave
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+   b904: Audible.com Codec
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      da00: Unknown property UINT32 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,  GET/SET
+      da02: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da03: Unknown property UINT16 data type enumeration: 0, 1,  READ ONLY
+      da01: Unknown property STRING data type GET/SET
+      da04: Unknown property array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+   b301: Unknown(b301)
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      da00: Unknown property UINT32 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,  GET/SET
+      da02: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da03: Unknown property UINT16 data type enumeration: 0, 1,  READ ONLY
+      da01: Unknown property STRING data type GET/SET
+      da04: Unknown property array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+   3801: JPEG
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 480, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 270, STEP 1 GET/SET
+   3004: Text
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+   300a: MS AVI
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 480, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 270, STEP 1 GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 1,  READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type enumeration:  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 1195724877, 861293911,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 850000, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   b981: WMV
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 480, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 270, STEP 1 GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 1,  READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type enumeration:  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 1195724877, 861293911,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 850000, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 128000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   b903: AAC
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+   300c: ASF
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 480, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 270, STEP 1 GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 1,  READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type enumeration:  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 1195724877, 861293911,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 850000, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   3001: Association/Directory
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+   3000: Undefined Type
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+   b802: Firmware
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+   ba03: Abstract Audio Album
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc9b: Album Artist STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 16466681856
+      FreeSpaceInBytes: 14638202880
+      FreeSpaceInObjects: 23508
+      StorageDescription: Internal Storage
+      VolumeIdentifier: 5003000D87D3109D09102811230207D4
+Special directories:
+   Default music folder: 0x20000009
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x20000006
+   Default video folder: 0x2000000a
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: iAUDIO 9 1.02
+   Synchronization partner: Longhorn Sync Engine
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   RIFF WAVE file
+   Audible.com Audio Codec
+   JPEG file
+   Text file
+   Audio Video Interleave
+   Microsoft Windows Media Video
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Microsoft Advanced Systems Format
+   Abstract Playlist file
+   Firmware file
+   Abstract Album file
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20081033 44:43:0粒Z#</VALUE><FLAG>DRM_CLK_NEEDS_REFRESH</FLAG></DRMCLOCK>AG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">UAMADYfTEJ0JECgRIwIH1AAAAAA=</UNIQUEID><PUBLICKEY private="1">OLSyuUARIFi0wSAI4UgXEulTBwfX0on4PRKCiwlQ6kOBiB/vuWBoQA==</PUBLICKEY><KEYDATA>IUpG0WRAIGGKZ/mumpZlX+AqtJA=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>yPfRZ2vqeqCLkkBb9dzaAUcsCVVRS/iziWOuOZKiyHYuQPeXg+WfPg==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>MHLRlIAGznMyu11qv4oZjjTyhd0=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.114.237</SECURITYVERSION><CERTIFICATE private="1">OLSyuUARIFi0wSAI4UgXEulTBwfX0on4PRKCiwlQ6kOBiB/vuWBoQAIEcu1ySBOt1zZWKBJeRx9jn774yWSIbXqUPuwiG6vdZcRERgbbW0Z1Bn0m</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>iAUDIO 9</NAME>

+	<MANUFACTURER>COWON SYSTEMS, Inc.</MANUFACTURER>

+	<MAKE>COWON SYSTEMS, Inc.</MAKE>

+	<DISTRIBUTOR>COWON SYSTEMS, Inc.</DISTRIBUTOR>

+	<MODEL>iAUDIO 9</MODEL>

+	<SECURITYLEVEL>2000</SECURITYLEVEL>

+	<HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR>

+	<HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR>

+	<FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR>

+	<FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>

+	<FEATURES>

+		<CLOCK>2</CLOCK>

+		<SECURECLOCK>

+			<URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL>

+			<PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY>

+		</SECURECLOCK>

+		<METERING>1</METERING>

+		<LICENSE_ACQ>1</LICENSE_ACQ>

+		<LICENSE_SYNC>1</LICENSE_SYNC>

+		<ENCRYPTION>1</ENCRYPTION>

+		<SYMMETRIC_OPT>1</SYMMETRIC_OPT>

+	</FEATURES>

+	<LIMITS>

+		<MAXCHAINDEPTH>2</MAXCHAINDEPTH>

+		<MAXLICENSESIZE>10240</MAXLICENSESIZE>

+		<MAXHEADERSIZE>5120</MAXHEADERSIZE>

+	</LIMITS><PUBLICKEY>eT4KlMg9qpriEX/ZOq1JO8RV6Sv8FfWoZrB6X7AJgzTORI24slLvSA==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>Xea+l1CxnWU0YVPNbdMflhsc5CKJSeEz7hula5Q6lJ6E5Kl6akEqbQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>3665</AUTH_ID><PUBLICKEY>LncdcBaa2+nBoAqqnn7UpKJJsmj3G68AbVRlgemH3dIjz+vXTiHrGw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>HJ6Wlqhfj5vMaonOZ/D512C0ABiyF73dLt0FuiuF7J/EFWTcNAE1Ag==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>fpRFY66JYi8oNhSYAIc0ZOC7hEJbkNtjVAfQn98Kr23s/wunLqtNaA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+OK.
diff --git a/logs/mtp-detect-cowon-iaudio-d2.txt b/logs/mtp-detect-cowon-iaudio-d2.txt
new file mode 100644
index 0000000..12ac908
--- /dev/null
+++ b/logs/mtp-detect-cowon-iaudio-d2.txt
@@ -0,0 +1,458 @@
+libmtp version: 0.2.1
+
+Attempting to connect device(s)
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0e21
+   idProduct: 0801
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: 0100                                   	..
+Device info:
+   Manufacturer: COWON SYSTEMS, Inc.
+   Model: COWON D2 
+   Device version: 
+   Serial number: 02230D0010862FDD707091508191B737
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/WMPPD: 11.0;microsoft.com/WMDRMPD: 10.1;microsoft.com/WMPPD: 10.0;microsoft.com/AAVT: 1.0;microsoft.com/WMDRMND: 1.0;audible.com: 1.0;
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   101b: Get partial object
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9170: Open Media Session
+   9171: Close Media Session
+   9172: Get Next Data Block
+   9173: Set Current Time Position
+   9180: Send Registration Request
+   9181: Get Registration Response
+   9182: Get Proximity Challenge
+   9183: Send Proximity Response
+   9184: Send WMDRM-ND License Request
+   9185: Get WMDRM-ND License Response
+Events supported:
+   0x4004
+   0x4005
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Device Friendly Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd103: RevocationInfo
+Playable File (Object) Types and Object Properties Supported:
+   3001: Association/Directory
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+   3009: MP3
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+   b901: WMA
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+   3008: MS Wave
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+   3801: JPEG
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 480, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 270, STEP 1 GET/SET
+   3804: BMP
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 480, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 270, STEP 1 GET/SET
+   300a: MS AVI
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 480, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 270, STEP 1 GET/SET
+      de97: ScanDepth UINT16 data type enumeration: 1,  READ ONLY
+      de9d: FramesPerThousandSeconds UINT32 data type enumeration: 0, 20000, 25000, 29970, 30000, 60000,  GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 1, MAX 850000, STEP 1 GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+   b981: WMV
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 480, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 270, STEP 1 GET/SET
+      de97: ScanDepth UINT16 data type enumeration: 1,  READ ONLY
+      de9d: FramesPerThousandSeconds UINT32 data type enumeration: 0, 20000, 25000, 29970, 30000, 60000,  GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 1, MAX 850000, STEP 1 GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+   b903: AAC
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+   300c: ASF
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 480, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 270, STEP 1 GET/SET
+      de97: ScanDepth UINT16 data type enumeration: 1,  READ ONLY
+      de9d: FramesPerThousandSeconds UINT32 data type enumeration: 0, 20000, 25000, 29970, 30000, 60000,  GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 1, MAX 850000, STEP 1 GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+   3001: Association/Directory
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SETUnknown OPFF type 6
+
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+   3000: Undefined Type
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+   b802: Firmware
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+   ba03: Abstract Audio Album
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 3996581888
+      FreeSpaceInBytes: 0
+      FreeSpaceInObjects: 8998
+      StorageDescription: Internal Storage
+      VolumeIdentifier: 02230D0010862FDD707091508191B737
+Special directories:
+   Default music folder: 0x00000000
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   RIFF WAVE file
+   JPEG file
+   BMP bitmap file
+   Audio Video Interleave
+   Microsoft Windows Media Video
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Microsoft Advanced Systems Format
+   Firmware file
+
+Secure Time:
+
+
+Device Certificate:
+  <?xml version="1.0" encoding="unicode" ?> <Test> <Description> Faked device certificate </Description> </Test> 
+WMPInfo.xml Does not exist on this device
+OK.
diff --git a/logs/mtp-detect-cowon-iaudio-d2plus.txt b/logs/mtp-detect-cowon-iaudio-d2plus.txt
new file mode 100644
index 0000000..d2569fc
--- /dev/null
+++ b/logs/mtp-detect-cowon-iaudio-d2plus.txt
@@ -0,0 +1,526 @@
+# mtp-detect
+libmtp version: 0.3.7
+
+Listing raw device(s)
+Found 1 device(s):
+Cowon: iAudio D2+ (MTP mode) (0e21:0861) @ bus 0, dev 21
+Attempting to connect device(s)
+USB low-level info:
+Using kernel interface "usbfs"
+bcdUSB: 512
+bDeviceClass: 0
+bDeviceSubClass: 0
+bDeviceProtocol: 0
+idVendor: 0e21
+idProduct: 0861
+IN endpoint maxpacket: 512 bytes
+OUT endpoint maxpacket: 512 bytes
+Raw device info:
+Bus location: 0
+Device number: 21
+Device entry info:
+Vendor: Cowon
+Vendor id: 0x0e21
+Product: iAudio D2+ (MTP mode)
+Vendor id: 0x0861
+Device flags: 0x00000006
+Microsoft device descriptor 0xee:
+0000: 1203 4d00 5300 4600 5400 3100 3000 3000 ..M.S.F.T.1.0.0.
+0010: 0100 ..
+Device info:
+Manufacturer: COWON SYSTEMS, Inc.
+Model: COWON D2 2.02
+Device version: 2.02
+Serial number: 0273F000A5EFDD792090410133609071
+Vendor extension ID: 0x00000006
+Vendor extension description: microsoft.com/WMPPD: 11.0;microsoft.com/WMDRMPD: 10.1;microsoft.com/WMPPD: 10.0;microsoft.com/AAVT: 1.0;microsoft.com/WMDRMND: 1.0;audible.com: 1.0;
+Detected object size: 64 bits
+Supported operations:
+1001: get device info
+1002: Open session
+1003: Close session
+1004: Get storage IDs
+1005: Get storage info
+1006: Get number of objects
+1007: Get object handles
+1008: Get object info
+1009: Get object
+100b: Delete object
+100c: Send object info
+100d: Send object
+100f: Format storage
+1010: Reset device
+1014: Get device property description
+1015: Get device property value
+1016: Set device property value
+9810: Get object references
+9811: Set object references
+9802: Get object property description
+9801: Get object properties supported
+9803: Get object property value
+9804: Set object property value
+9805: Get object property list
+9806: Set object property list
+101b: Get partial object
+9201: Report Added/Deleted Items
+9202: Report Acquired Items
+9101: Get secure time challenge
+9102: Get secure time response
+9103: Set license response
+9104: Get sync list
+9105: Send meter challenge query
+9106: Get meter challenge
+9107: Get meter response
+9108: Clean data store
+9109: Get license state
+910a: Send WMDRM-PD Command
+910b: Send WMDRM-PD Request
+9170: Open Media Session
+9171: Close Media Session
+9172: Get Next Data Block
+9173: Set Current Time Position
+9180: Send Registration Request
+9181: Get Registration Response
+9182: Get Proximity Challenge
+9183: Send Proximity Response
+9184: Send WMDRM-ND License Request
+9185: Get WMDRM-ND License Response
+Events supported:
+0x4004
+0x4005
+Device Properties Supported:
+0xd405: Device Icon
+0xd100: Unknown property
+0x5001: Battery Level
+0xd401: Synchronization Partner
+0xd402: Friendly Device Name
+0xd101: Secure Time
+0xd102: Device Certificate
+0xd103: Revocation Info
+Playable File (Object) Types and Object Properties Supported:
+3001: Association/Directory
+dc44: Name STRING data type GET/SET
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+dc09: DateModified STRING data type DATETIME FORM GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ ONLY
+dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+dc9a: AlbumName STRING data type GET/SET
+3009: MP3
+dc44: Name STRING data type GET/SET
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+dc09: DateModified STRING data type DATETIME FORM GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ ONLY
+dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222, GET/SET
+de94: NumberOfChannels UINT16 data type enumeration: 1, 2, GET/SET
+de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3, GET/SET
+dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+dc46: Artist STRING data type GET/SET
+dc8c: Genre STRING data type GET/SET
+dc9a: AlbumName STRING data type GET/SET
+dc9b: AlbumArtist STRING data type GET/SET
+b901: WMA
+dc44: Name STRING data type GET/SET
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+dc09: DateModified STRING data type DATETIME FORM GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ ONLY
+dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 READ ONLY
+de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222, GET/SET
+de94: NumberOfChannels UINT16 data type enumeration: 1, 2, GET/SET
+de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3, GET/SET
+dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+dc46: Artist STRING data type GET/SET
+dc8c: Genre STRING data type GET/SET
+dc9a: AlbumName STRING data type GET/SET
+dc9b: AlbumArtist STRING data type GET/SET
+3008: MS Wave
+dc44: Name STRING data type GET/SET
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+dc09: DateModified STRING data type DATETIME FORM GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ ONLY
+dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222, GET/SET
+de94: NumberOfChannels UINT16 data type enumeration: 1, 2, GET/SET
+de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3, GET/SET
+dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+dc46: Artist STRING data type GET/SET
+dc8c: Genre STRING data type GET/SET
+dc9a: AlbumName STRING data type GET/SET
+dc9b: AlbumArtist STRING data type GET/SET
+b904: Audible.com Codec
+dc44: Name STRING data type GET/SET
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+dc09: DateModified STRING data type DATETIME FORM GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ ONLY
+dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222, GET/SET
+de94: NumberOfChannels UINT16 data type enumeration: 1, 2, GET/SET
+de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3, GET/SET
+da00: unknown(da00) UINT32 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7, 8, GET/SET
+da02: unknown(da02) UINT32 data type ANY 32BIT VALUE form READ ONLY
+da03: unknown(da03) UINT16 data type enumeration: 0, 1, READ ONLY
+da01: unknown(da01) STRING data type GET/SET
+da04: unknown(da04) array of UINT8 data type ANY 8BIT VALUE form GET/SET
+dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+dc8c: Genre STRING data type GET/SET
+dc9a: AlbumName STRING data type GET/SET
+dc46: Artist STRING data type GET/SET
+dc9b: AlbumArtist STRING data type GET/SET
+3801: JPEG
+dc44: Name STRING data type GET/SET
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+dc09: DateModified STRING data type DATETIME FORM GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ ONLY
+dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+dc87: Width UINT32 data type range: MIN 1, MAX 480, STEP 1 GET/SET
+dc88: Height UINT32 data type range: MIN 1, MAX 270, STEP 1 GET/SET
+3804: BMP
+dc44: Name STRING data type GET/SET
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+dc09: DateModified STRING data type DATETIME FORM GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ ONLY
+dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+dc87: Width UINT32 data type range: MIN 1, MAX 480, STEP 1 GET/SET
+dc88: Height UINT32 data type range: MIN 1, MAX 270, STEP 1 GET/SET
+300a: MS AVI
+dc44: Name STRING data type GET/SET
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+dc09: DateModified STRING data type DATETIME FORM GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ ONLY
+dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+dc87: Width UINT32 data type range: MIN 1, MAX 480, STEP 1 GET/SET
+dc88: Height UINT32 data type range: MIN 1, MAX 270, STEP 1 GET/SET
+de97: ScanDepth UINT16 data type enumeration: 1, READ ONLY
+de9d: FramesPerThousandSeconds UINT32 data type enumeration: 0, 20000, 25000, 29970, 30000, 60000, GET/SET
+de9b: VideoFourCCCodec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911, GET/SET
+de9e: KeyFrameDistance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+de9c: VideoBitRate UINT32 data type range: MIN 1, MAX 850000, STEP 1 GET/SET
+dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+dc8c: Genre STRING data type GET/SET
+de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222, GET/SET
+de94: NumberOfChannels UINT16 data type enumeration: 1, 2, GET/SET
+dea1: EncodingProfile STRING data type GET/SET
+b981: WMV
+dc44: Name STRING data type GET/SET
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+dc09: DateModified STRING data type DATETIME FORM GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ ONLY
+dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+dc87: Width UINT32 data type range: MIN 1, MAX 480, STEP 1 GET/SET
+dc88: Height UINT32 data type range: MIN 1, MAX 270, STEP 1 GET/SET
+de97: ScanDepth UINT16 data type enumeration: 1, READ ONLY
+de9d: FramesPerThousandSeconds UINT32 data type enumeration: 0, 20000, 25000, 29970, 30000, 60000, GET/SET
+de9b: VideoFourCCCodec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911, GET/SET
+de9e: KeyFrameDistance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+de9c: VideoBitRate UINT32 data type range: MIN 1, MAX 850000, STEP 1 GET/SET
+dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+dc8c: Genre STRING data type GET/SET
+de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 128000, STEP 1 READ ONLY
+de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222, GET/SET
+de94: NumberOfChannels UINT16 data type enumeration: 1, 2, GET/SET
+dea1: EncodingProfile STRING data type GET/SET
+b903: AAC
+dc44: Name STRING data type GET/SET
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+dc09: DateModified STRING data type DATETIME FORM GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ ONLY
+dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222, GET/SET
+de94: NumberOfChannels UINT16 data type enumeration: 1, 2, GET/SET
+de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3, GET/SET
+dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+dc46: Artist STRING data type GET/SET
+dc8c: Genre STRING data type GET/SET
+dc9a: AlbumName STRING data type GET/SET
+dc9b: AlbumArtist STRING data type GET/SET
+300c: ASF
+dc44: Name STRING data type GET/SET
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+dc09: DateModified STRING data type DATETIME FORM GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ ONLY
+dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+dc87: Width UINT32 data type range: MIN 1, MAX 480, STEP 1 GET/SET
+dc88: Height UINT32 data type range: MIN 1, MAX 270, STEP 1 GET/SET
+de97: ScanDepth UINT16 data type enumeration: 1, READ ONLY
+de9d: FramesPerThousandSeconds UINT32 data type enumeration: 0, 20000, 25000, 29970, 30000, 60000, GET/SET
+de9b: VideoFourCCCodec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911, GET/SET
+de9e: KeyFrameDistance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+de9c: VideoBitRate UINT32 data type range: MIN 1, MAX 850000, STEP 1 GET/SET
+dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+dc8c: Genre STRING data type GET/SET
+de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222, GET/SET
+de94: NumberOfChannels UINT16 data type enumeration: 1, 2, GET/SET
+dea1: EncodingProfile STRING data type GET/SET
+3001: Association/Directory
+dc44: Name STRING data type GET/SET
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+dc09: DateModified STRING data type DATETIME FORM GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ ONLY
+dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+dc9a: AlbumName STRING data type GET/SET
+ba05: Abstract Audio Video Playlist
+dc44: Name STRING data type GET/SET
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+dc09: DateModified STRING data type DATETIME FORM GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ ONLY
+dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+3000: Undefined Type
+dc44: Name STRING data type GET/SET
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+dc09: DateModified STRING data type DATETIME FORM GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ ONLY
+dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+b802: Firmware
+dc44: Name STRING data type GET/SET
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+dc09: DateModified STRING data type DATETIME FORM GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ ONLY
+dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+ba03: Abstract Audio Album
+dc44: Name STRING data type GET/SET
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+dc09: DateModified STRING data type DATETIME FORM GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ ONLY
+dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+dc86: RepresentativeSampleData array of UINT8 data type byte array: GET/SET
+dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337, READ ONLY
+dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+dc9b: AlbumArtist STRING data type GET/SET
+dc46: Artist STRING data type GET/SET
+dc8c: Genre STRING data type GET/SET
+Storage Devices:
+StorageID: 0x00010001
+StorageType: 0x0003 fixed RAM storage
+FilesystemType: 0x0002 generic hierarchical
+AccessCapability: 0x0000 read/write
+MaxCapacity: 3996581888
+FreeSpaceInBytes: 21168128
+FreeSpaceInObjects: 10355
+StorageDescription: Internal Storage
+VolumeIdentifier: 0273F000A5EFDD792090410133609071
+StorageID: 0x00020001
+StorageType: 0x0004 removable RAM storage
+FilesystemType: 0x0002 generic hierarchical
+AccessCapability: 0x0000 read/write
+MaxCapacity: 16096690176
+FreeSpaceInBytes: 345276416
+FreeSpaceInObjects: 11112
+StorageDescription: External Storage
+VolumeIdentifier: 1273F000A5EFDD792090410133609071
+Special directories:
+Default music folder: 0x20000006
+Default playlist folder: 0x00000000
+Default picture folder: 0x20000003
+Default video folder: 0x20000005
+Default organizer folder: 0x00000000
+Default zencast folder: 0x00000000
+Default album folder: 0x00000000
+Default text folder: 0x20000007
+MTP-specific device properties:
+Friendly name: COWON D2 2.02
+Synchronization partner: Longhorn Sync Engine
+Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+ISO MPEG-1 Audio Layer 3
+Microsoft Windows Media Audio
+RIFF WAVE file
+Audible.com Audio Codec
+JPEG file
+BMP bitmap file
+Audio Video Interleave
+Microsoft Windows Media Video
+Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+Microsoft Advanced Systems Format
+Firmware file
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20090503
+10:36:14Z#</VALUE><FLAG>DRM_CLK_SET</FLAG></DRMCLOCK>AG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID
+private="1">AnPwAKXv3XkgkEEBM2CQcQAAAAA=</UNIQUEID><PUBLICKEY
+private="1">FocgXnNjh3yjRT7aMhsJXS9JlhBNybR+M0F0C2ki1zHjSz1PI8/lFQ==</PUBLICKEY><KEYDATA>KQ6TsBwEpX86TWal0a/uCsjRLno=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>NG6lq1S5sNGgtBRlqT+9v0fCYH/gECTNQNqXRtkkQBktn5IA1VMrUA==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>imRLUBTdYwr/wuCdJ5pYee5ysRo=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.107.27</SECURITYVERSION><CERTIFICATE
+private="1">FocgXnNjh3yjRT7aMhsJXS9JlhBNybR+M0F0C2ki1zHjSz1PI8/lFQIEaxtY2ogHvahilwVek+LHriDlf4tNGUWnE4kIf0bVWrd0Pd5HeEZ90h2H</CERTIFICATE></FALLBACK><CERTIFICATE
+type="GROUP"><DATA><NAME>COWON D2</NAME><MANUFACTURER>COWON Systems,
+Inc.</MANUFACTURER><MAKE>COWON Systems, Inc.</MAKE><DISTRIBUTOR>COWON
+Systems, Inc.</DISTRIBUTOR><MODEL>COWON
+D2</MODEL><SECURITYLEVEL>2000</SECURITYLEVEL><HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR><HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR><FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR><FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR><FEATURES><CLOCK>2</CLOCK><SECURECLOCK><URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL><PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY></SECURECLOCK><METERING>1</METERING><LICENSE_ACQ>1</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>1</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT></FEATURES><LIMITS><MAXCHAINDEPTH>2</MAXCHAINDEPTH><MAXLICENSESIZE>10240</MAXLICENSESIZE><MAXHEADERSIZE>5120</MAXHEADERSIZE></LIMITS><PUBLICKEY>nqh5lLdQUwb/0yQ9y3+cUH+Qg2XeitjH+HPqmIt1wGvt8KuMCXeLgg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>RtHy/phLBjyBu6k4EBx1W4S3K1GZJMlR9XnsLYMShOuiOU3NWzoyWA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1663</AUTH_ID><PUBLICKEY>5FiLcleC03a+pIcQA/uDrHgsHW1t2t9dQM9IhYTm5iHJdLD9RsGsBw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>dwo25uJJdhF215IfA6swRGEL+yzu+ZUjSyuVJI1rqRCK+y2lZgthWg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>q02PxB6SylsBhUa00Ul6rmqr+yVsLERU3MNfHbdn+XaSzbEEhynAgg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+inep: usb_get_endpoint_status(): Connection timed out
+outep: usb_get_endpoint_status(): Connection timed out
+usb_clear_halt() on IN endpoint: Connection timed out
+usb_clear_halt() on OUT endpoint: Connection timed out
+usb_clear_halt() on INTERRUPT endpoint: Connection timed out
+OK.
diff --git a/logs/mtp-detect-cowon-iaudio-j3.txt b/logs/mtp-detect-cowon-iaudio-j3.txt
new file mode 100644
index 0000000..a900eef
--- /dev/null
+++ b/logs/mtp-detect-cowon-iaudio-j3.txt
@@ -0,0 +1,531 @@
+libmtp version: 1.0.2
+
+Listing raw device(s)
+   Found 1 device(s):
+   Cowon: iAudio J3 (MTP mode) (0e21:0921) @ bus 1, dev 11
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0e21
+   idProduct: 0921
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 11
+      Device entry info:
+         Vendor: Cowon
+         Vendor id: 0x0e21
+         Product: iAudio J3 (MTP mode)
+         Vendor id: 0x0921
+         Device flags: 0x00000206
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: 0100                                   	..
+Device info:
+   Manufacturer: COWON SYSTEMS, Inc.
+   Model: COWON J3
+   Device version: 2.10
+   Serial number: 0121001E55012ED91026031415372ED9
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/WMPPD: 11.0;microsoft.com/WMDRMPD: 10.1;microsoft.com/WMPPD: 10.0;audible.com: 1.0;microsoft.com/AAVT: 1.0;microsoft.com/WMDRMND: 1.0;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   9808: Send object property list
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   101b: Get partial object
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9170: Open Media Session
+   9171: Close Media Session
+   9172: Get Next Data Block
+   9173: Set Current Time Position
+   9180: Send Registration Request
+   9181: Get Registration Response
+   9182: Get Proximity Challenge
+   9183: Send Proximity Response
+   9184: Send WMDRM-ND License Request
+   9185: Get WMDRM-ND License Response
+Events supported:
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd405: Device Icon
+   0xd100: Unknown property
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd103: Revocation Info
+Playable File (Object) Types and Object Properties Supported:
+   3001: Association/Directory
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+   3009: MP3
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+   b901: WMA
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+   3008: MS Wave
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+   b904: Audible.com Codec
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      da00: Unknown property UINT32 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,  GET/SET
+      da02: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da03: Unknown property UINT16 data type enumeration: 0, 1,  READ ONLY
+      da01: Unknown property STRING data type GET/SET
+      da04: Unknown property array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+   b301: Unknown(b301)
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      da00: Unknown property UINT32 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,  GET/SET
+      da02: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da03: Unknown property UINT16 data type enumeration: 0, 1,  READ ONLY
+      da01: Unknown property STRING data type GET/SET
+      da04: Unknown property array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+   3801: JPEG
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 480, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 270, STEP 1 GET/SET
+   3004: Text
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+   300a: MS AVI
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 480, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 270, STEP 1 GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 1,  READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type enumeration:  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 1195724877, 861293911,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 850000, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   b981: WMV
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 480, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 270, STEP 1 GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 1,  READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type enumeration:  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 1195724877, 861293911,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 850000, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 128000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   b903: AAC
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+   300c: ASF
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 480, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 270, STEP 1 GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 1,  READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type enumeration:  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 1195724877, 861293911,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 850000, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   3001: Association/Directory
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+   3000: Undefined Type
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+   b802: Firmware
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+   ba03: Abstract Audio Album
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc9b: Album Artist STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 32777404416
+      FreeSpaceInBytes: 32730169344
+      FreeSpaceInObjects: 23978
+      StorageDescription: Internal Storage
+      VolumeIdentifier: 0121001E55012ED91026031415372ED9
+Special directories:
+   Default music folder: 0x20000009
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x20000008
+   Default video folder: 0x2000000b
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: COWON J3
+   Synchronization partner: Longhorn Sync Engine
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   RIFF WAVE file
+   Audible.com Audio Codec
+   JPEG file
+   Text file
+   Audio Video Interleave
+   Microsoft Windows Media Video
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Microsoft Advanced Systems Format
+   Abstract Playlist file
+   Firmware file
+   Abstract Album file
+   Ogg container format
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20081024 88:15:22Z#</VALUE><FLAG>DRM_CLK_NEEDS_REFRESH</FLAG></DRMCLOCK>AG></DRMCLOCK>
+OK.
diff --git a/logs/mtp-detect-cowon-iaudio-s9.txt b/logs/mtp-detect-cowon-iaudio-s9.txt
new file mode 100644
index 0000000..2daf05c
--- /dev/null
+++ b/logs/mtp-detect-cowon-iaudio-s9.txt
@@ -0,0 +1,535 @@
+libmtp version: 0.3.7
+
+Listing raw device(s)
+   Found 1 device(s):
+   Cowon: iAudio S9 (MTP mode) (0e21:0901) @ bus 0, dev 14
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0e21
+   idProduct: 0901
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 14
+      Device entry info:
+         Vendor: Cowon
+         Vendor id: 0x0e21
+         Product: iAudio S9 (MTP mode)
+         Vendor id: 0x0901
+         Device flags: 0x00000006
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: 0100                                   	..
+Device info:
+   Manufacturer: COWON SYSTEMS, Inc.
+   Model: COWON S9 2.30
+   Device version: 2.30
+   Serial number: 0500001E55504F600923221615144F60
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/WMPPD: 11.0;microsoft.com/WMDRMPD: 10.1;microsoft.com/WMPPD: 10.0;audible.com: 1.0;microsoft.com/AAVT: 1.0;microsoft.com/WMDRMND: 1.0;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   9808: Send object property list
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   101b: Get partial object
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9170: Open Media Session
+   9171: Close Media Session
+   9172: Get Next Data Block
+   9173: Set Current Time Position
+   9180: Send Registration Request
+   9181: Get Registration Response
+   9182: Get Proximity Challenge
+   9183: Send Proximity Response
+   9184: Send WMDRM-ND License Request
+   9185: Get WMDRM-ND License Response
+Events supported:
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd405: Device Icon
+   0xd100: Unknown property
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd103: Revocation Info
+Playable File (Object) Types and Object Properties Supported:
+   3001: Association/Directory
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+   3009: MP3
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+   b901: WMA
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+   3008: MS Wave
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+   b904: Audible.com Codec
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      da00: Unknown property UINT32 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,  GET/SET
+      da02: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da03: Unknown property UINT16 data type enumeration: 0, 1,  READ ONLY
+      da01: Unknown property STRING data type GET/SET
+      da04: Unknown property array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+   b301: Unknown(b301)
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      da00: Unknown property UINT32 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,  GET/SET
+      da02: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da03: Unknown property UINT16 data type enumeration: 0, 1,  READ ONLY
+      da01: Unknown property STRING data type GET/SET
+      da04: Unknown property array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+   3801: JPEG
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 480, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 270, STEP 1 GET/SET
+   3004: Text
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+   300a: MS AVI
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 480, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 270, STEP 1 GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 1,  READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type enumeration:  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 1195724877, 861293911,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 850000, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   b981: WMV
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 480, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 270, STEP 1 GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 1,  READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type enumeration:  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 1195724877, 861293911,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 850000, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 128000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   b903: AAC
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+   300c: ASF
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 480, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 270, STEP 1 GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 1,  READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type enumeration:  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 1195724877, 861293911,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 850000, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   3001: Association/Directory
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+   3000: Undefined Type
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+   b802: Firmware
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+   ba03: Abstract Audio Album
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc9b: Album Artist STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 16466681856
+      FreeSpaceInBytes: 6320701440
+      FreeSpaceInObjects: 22075
+      StorageDescription: Internal Storage
+      VolumeIdentifier: 0500001E55504F600923221615144F60
+Special directories:
+   Default music folder: 0x20000009
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x20000008
+   Default video folder: 0x2000000b
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: COWON S9 1.06
+   Synchronization partner: Longhorn Sync Engine
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   RIFF WAVE file
+   Audible.com Audio Codec
+   JPEG file
+   Text file
+   Audio Video Interleave
+   Microsoft Windows Media Video
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Microsoft Advanced Systems Format
+   Abstract Playlist file
+   Firmware file
+   Abstract Album file
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20081119 33:11:26Z#</VALUE><FLAG>DRM_CLK_NEEDS_REFRESH</FLAG></DRMCLOCK>AG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">BQAAHlVQT2AJIyIWFRRPYAAAAAA=</UNIQUEID><PUBLICKEY private="1">sCWeVOSyhU9SsrhNn0RDZiIi01IPwgp+5CuyVCrzMvtsKmjHGP+MVA==</PUBLICKEY><KEYDATA>ce70G5QheuTSvE+ROSSWQqC1TIg=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>c9Md3PBgUZ5eN5R9EEa2TdQwEDnz9PCHWrbVLnf9kUFTAm4cDDAlFw==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>tHEYk19vY8WEkFEfCISKn3TCbM4=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.111.129</SECURITYVERSION><CERTIFICATE private="1">sCWeVOSyhU9SsrhNn0RDZiIi01IPwgp+5CuyVCrzMvtsKmjHGP+MVAIEb4EYq0t06yvgB7K9WUwi5RBuXUwmIamgqVAB293k8iJ5n2lhnVEiG85o</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>COWON S2</NAME><MANUFACTURER>COWON Systems, Inc.</MANUFACTURER><MAKE>COWON Systems, Inc.</MAKE><DISTRIBUTOR>COWON Systems, Inc.</DISTRIBUTOR><MODEL>COWON S2</MODEL><SECURITYLEVEL>2000</SECURITYLEVEL><HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR><HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR><FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR><FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR><FEATURES><CLOCK>2</CLOCK><SECURECLOCK><URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL><PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY></SECURECLOCK><METERING>1</METERING><LICENSE_ACQ>1</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>1</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT></FEATURES><LIMITS><MAXCHAINDEPTH>2</MAXCHAINDEPTH><MAXLICENSESIZE>10240</MAXLICENSESIZE><MAXHEADERSIZE>5120</MAXHEADERSIZE></LIMITS><PUBLICKEY>Uia74XlSFZP/vIWcUyuPcw+WShhaHQPC6ktBj4yh32mjGbqJTtjbEA==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>m5gTS8gHUdCuyYUphEm1GW7jLHp98rzYOaP7IlCiVZdjNPoI+sc/hA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>2789</AUTH_ID><PUBLICKEY>R5tgyUdDpnrCugiDYIt9/kkJMBSp/Edx9AZtERAYqbnbIMMPRDqwBg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>s3jIdQu6rdrxkJPtIbM4ew74rhr3kIQsZQbnx2aKFCu0mkfrxqk9LA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>T+ZNpPcH8Ply2VOGMBdEkeBMpQ0PBC5vE4LMw4cg4n98aZ7nEnHXVg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+OK.
+
+ 	  	 
diff --git a/logs/mtp-detect-cowon-iaudio-u3.txt b/logs/mtp-detect-cowon-iaudio-u3.txt
new file mode 100644
index 0000000..6ed4629
--- /dev/null
+++ b/logs/mtp-detect-cowon-iaudio-u3.txt
@@ -0,0 +1,260 @@
+libmtp version: 0.2.1
+
+Attempting to connect device(s)
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0e21
+   idProduct: 0701
+   IN endpoint maxpacket: 64 bytes
+   OUT endpoint maxpacket: 64 bytes
+   Device flags: 0x00000000
+Device info:
+   Manufacturer: COWON SYSTEMS, Inc.
+   Model: iAUDIO U3
+   Device version:
+   Serial number: 070709180728009DC10000E04CC34BD9
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/WMDRMPD: 10.1;audible.com: 1.0;
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   101b: Get partial object
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Device Friendly Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3009: MP3
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      dc9a: AlbumName STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+   b901: WMA
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      dc9a: AlbumName STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+   3801: JPEG
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+   300a: MS AVI
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+   3001: Association/Directory
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+   3000: Undefined Type
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+   b802: Firmware
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+   ba03: Abstract Audio Album
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 1998856192
+      FreeSpaceInBytes: 1909501789
+      FreeSpaceInObjects: 3463
+      StorageDescription: Internal Storage
+      VolumeIdentifier: 070709180728009DC10000E04CC34BD9
+Special directories:
+   Default music folder: 0x00000000
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: iAUDIO U3
+   Synchronization partner: Longhorn Sync Engine
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   JPEG file
+   Audio Video Interleave
+   Firmware file
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20050214
+21:55:58Z#</VALUE><FLAG>DRM_CLK_NEEDS_REFRESH</FLAG></DRMCLOCK>AG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID
+private="1">BwcJGAcoAJ3BAADgTMNL2QAAAAA=</UNIQUEID><PUBLICKEY
+private="1">vfDhBXaNQlRRG9V5abU1/R9SpHrjc86jupyGALap5seg4jzOPxGVUw==</PUBLICKEY><KEYDATA>1vX7YOqtS1Lk9Wlmmf/wqZGHtFc=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>pbyIv5wY9kKwgq4FwJfu+7DEelOM3PTbAe62illRcG+gR7ak+xKVGQ==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>DexHP/w29hVmYtDW4IsxKRLiMNk=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.102.169</SECURITYVERSION><CERTIFICATE
+private="1">vfDhBXaNQlRRG9V5abU1/R9SpHrjc86jupyGALap5seg4jzOPxGVUwIEZqlU4PbfqA5uknmVVe6QWGzKbu9KXKnl+lLy5PzubzdMQB+1Q7gVEB5K</CERTIFICATE></FALLBACK><CERTIFICATE
+type="GROUP"><DATA><NAME>iAudio U3 MTP</NAME><MANUFACTURER>COWON
+Systems, Inc.</MANUFACTURER><MAKE>COWON Systems,
+Inc.</MAKE><DISTRIBUTOR>COWON Systems, Inc.</DISTRIBUTOR><MODEL>iAudio
+U3</MODEL><SECURITYLEVEL>2000</SECURITYLEVEL><HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR><HARDWARE_VER_MINOR>3</HARDWARE_VER_MINOR><FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR><FIRMWARE_VER_MINOR>2</FIRMWARE_VER_MINOR><FEATURES><CLOCK>2</CLOCK><SECURECLOCK><URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL><PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY></SECURECLOCK><METERING>1</METERING><LICENSE_ACQ>1</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>1</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT></FEATURES><LIMITS><MAXCHAINDEPTH>2</MAXCHAINDEPTH><MAXLICENSESIZE>10240</MAXLICENSESIZE><MAXHEADERSIZE>5120</MAXHEADERSIZE></LIMITS><PUBLICKEY>Ap4rKQEBTuHQZBBcYMqOgcraBkqKHTUXl8pbRIx+quIq0aLccpXZXA==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>hUe6hoIHQ8Ub6S10Sf7QJQxBfxwWbatdyxZADUvnav5ghZLNv4J9Rg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>525</AUTH_ID><PUBLICKEY>+hVWeQQEOLQH8QxQghdd5Cnb1zcHSQR2HLVlTTInXNFKBkSn9bC4Mg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>cXGlAjnUI7m/AFKFGx/zGf8SYyge+bGSW2S5NwkuBnCRJkDUcpY5XQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>y7C+qgiwu/FP5YRSXzf6vJAv4Tb06hv+Y8IC9z2tnA362aLhpY9MSQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+WMPInfo.xml Does not exist on this device
+OK.
diff --git a/logs/mtp-detect-creative-zen-2GB.txt b/logs/mtp-detect-creative-zen-2GB.txt
new file mode 100644
index 0000000..6a8199e
--- /dev/null
+++ b/logs/mtp-detect-creative-zen-2GB.txt
@@ -0,0 +1,374 @@
+libmtp version: 0.2.1
+
+Attempting to connect device(s)
+Device 1 (VID=041e and PID=4158) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+PTP: Opening session
+Detect: Successfully connected 1 devices
+USB low-level info:
+  Using kernel interface "usbfs"
+  bcdUSB: 512
+  bDeviceClass: 255
+  bDeviceSubClass: 0
+  bDeviceProtocol: 0
+  idVendor: 041e
+  idProduct: 4158
+  IN endpoint maxpacket: 64 bytes
+  OUT endpoint maxpacket: 64 bytes
+  Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+       0000: 1203 4d00 5300 4600 5400 3100 3000 3000   ..M.S.F.T.1.0.0.
+       0010: fe00                                      ..
+Microsoft device response to control message 1, CMD 0xfe:
+       0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............
+       0010: 0001 4d54 5000 0000 0000 0000 0000 0000   ..MTP...........
+       0020: 0000 0000 0000 0000                       ........
+Microsoft device response to control message 2, CMD 0xfe:
+       0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............
+       0010: 0001 4d54 5000 0000 0000 0000 0000 0000   ..MTP...........
+       0020: 0000 0000 0000 0000                       ........
+Device info:
+  Manufacturer: Creative Technology Ltd
+  Model: Creative ZEN V (Video)
+  Device version: 1.32.01_1.01.10
+  Serial number: D5CBCD0A4003001CD5CDE9C74003001C
+  Vendor extension ID: 0x00000006
+  Vendor extension description: microsoft.com:
+1.0;microsoft.com/WMPPD: 10.0;microsoft.com/WMDRMPD: 10.1;audible.com: 1.0;
+Supported operations:
+  1001: get device info
+  1002: Open session
+  1003: Close session
+  1004: Get storage IDs
+  1005: Get storage info
+  1007: Get object handles
+  100c: Send object info
+  100d: Send object
+  100f: Format storage
+  1014: Get device property description
+  1015: Get device property value
+  1006: Get number of objects
+  1008: Get object info
+  1009: Get object
+  100b: Delete object
+  1010: Reset device
+  1016: Set device property value
+  1017: Reset device property value
+  9801: Get object properties supported
+  9802: Get object property description
+  9803: Get object property value
+  9804: Set object property value
+  9805: Get object property list
+  9806: Set object property list
+  9808: Send object property list
+  9807: Get interdependent property description
+  9810: Get object references
+  9811: Set object references
+  9201: Report Added/Deleted Items
+  9101: Get secure time challenge
+  9102: Get secure time response
+  9103: Set license response
+  9104: Get sync list
+  9105: Send meter challenge query
+  9106: Get meter challenge
+  9107: Get meter response
+  9108: Clean data store
+  9109: Get license state
+Events supported:
+  None.
+Device Properties Supported:
+  0x5001: Battery Level
+  0xd401: Synchronization Partner
+  0xd402: Device Friendly Name
+  0xd101: Secure Time
+  0xd102: Device Certificate
+  0xd201: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+  3009: MP3
+     de99: AudioWAVECodec UINT32 data type enumeration: 85,  READ ONLY
+     de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+     dc46: Artist STRING data type GET/SET
+     dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+     de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+     de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc44: Name STRING data type GET/SET
+  b901: WMA
+     de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  READ ONLY
+     de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 505000, STEP 1 READ ONLY
+     dc46: Artist STRING data type GET/SET
+     dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+     de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+     de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc44: Name STRING data type GET/SET
+  3008: MS Wave
+     dc46: Artist STRING data type GET/SET
+     dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+     de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+     de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc44: Name STRING data type GET/SET
+  300c: ASF
+     de99: AudioWAVECodec UINT32 data type enumeration: 353,  READ ONLY
+     de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 505000, STEP 1 READ ONLY
+     dc46: Artist STRING data type GET/SET
+     dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+     de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+     de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc44: Name STRING data type GET/SET
+  b904: Audible.com Codec
+     da01: unknown(da01) UINT32 data type enumeration: 2, 3, 4,  GET/SET
+     da02: unknown(da02) array of UINT16 data type ANY 16BIT VALUE form GET/SET
+     da03: unknown(da03) UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc46: Artist STRING data type GET/SET
+     dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+     de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+     de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc44: Name STRING data type GET/SET
+  ba05: Abstract Audio Video Playlist
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc44: Name STRING data type GET/SET
+  ba03: Abstract Audio Album
+     dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+     dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+     dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 180, STEP 1 READ ONLY
+     dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 20480, STEP 1 READ ONLY
+     dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 180, STEP 1 READ ONLY
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc44: Name STRING data type GET/SET
+  3801: JPEG
+     dc88: Height UINT32 data type range: MIN 0, MAX 2304, STEP 1 GET/SET
+     dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+     dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+     dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 170, STEP 1 READ ONLY
+     dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 20480, STEP 1 READ ONLY
+     dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 170, STEP 1 READ ONLY
+     dc87: Width UINT32 data type range: MIN 0, MAX 3072, STEP 1 GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc44: Name STRING data type GET/SET
+  300a: MS AVI
+     de99: AudioWAVECodec UINT32 data type enumeration: 17,  READ ONLY
+     de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 388000, STEP 1 READ ONLY
+     de9d: FramesPerThousandSeconds UINT32 data type range: MIN 6000, MAX 15000, STEP 1 READ ONLY
+     dc88: Height UINT32 data type range: MIN 0, MAX 128, STEP 1 GET/SET
+     de91: TotalBitRate UINT32 data type range: MIN 0, MAX 9500000, STEP 1 READ ONLY
+     de9b: VideoFourCCCodec UINT32 data type enumeration: 3,  READ ONLY
+     de9c: VideoBitRate UINT32 data type range: MIN 0, MAX 4000000, STEP 1 READ ONLY
+     dc87: Width UINT32 data type range: MIN 0, MAX 128, STEP 1 GET/SET
+     dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+     de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+     de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc44: Name STRING data type GET/SET
+  bb83: vCard3
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc44: Name STRING data type GET/SET
+  be03: vCalendar2
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc44: Name STRING data type GET/SET
+  3000: Undefined Type
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc44: Name STRING data type GET/SET
+  3001: Association/Directory
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc44: Name STRING data type GET/SET
+  b802: Firmware
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc44: Name STRING data type GET/SET
+Storage Devices:
+  StorageID: 0x00010001
+     StorageType: 0x0003
+     FilesystemType: 0x0002
+     AccessCapability: 0x0000
+     MaxCapacity: 3997827072
+     FreeSpaceInBytes: 3994025984
+     FreeSpaceInObjects: 4294967295
+     StorageDescription: Storage Media
+     VolumeIdentifier: D5CBCD0A4003001CD5CDE9C74003001C
+Special directories:
+  Default music folder: 0x00000056
+  Default playlist folder: 0x0000005a
+  Default picture folder: 0x00000066
+  Default video folder: 0x0000006a
+  Default organizer folder: 0x00000062
+  Default zencast folder: 0x00000076
+  Default album folder: 0x00000000
+  Default text folder: 0x00000000
+MTP-specific device properties:
+  Friendly name: Felicity
+  Synchronization partner: (NULL)
+  Battery level 255 of 255 (100%)
+libmtp supported (playable) filetypes:
+  ISO MPEG-1 Audio Layer 3
+  Microsoft Windows Media Audio
+  RIFF WAVE file
+  Microsoft Advanced Systems Format
+  Audible.com Audio Codec
+  JPEG file
+  Audio Video Interleave
+  VCard version 3
+  VCalendar version 2
+  Firmware file
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20051015
+19:56:36Z#</VALUE><FLAG>DRM_CLK_NEEDS_REFRESH</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID
+private="1">Cs3L1RwAA0DH6c3VHAADQAAAAAA=</UNIQUEID><PUBLICKEY
+private="1">Ordu04psO2e40IZjKL/72zxhGHYuTdzvG5XIuYIQKO753Mmh0ROCGw==</PUBLICKEY><KEYDATA>LUHkCuT3K9XC+y1EwbGqNk0kjVA=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>4m8H1tkGVhVx0q7/RGodNG8vBBf6Ynw7ffKOEf2vofnOlB6o+j6YIA==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>KkTSwvtot0c7IGYZ3iCfbqGGGV8=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.104.185</SECURITYVERSION><CERTIFICATE
+private="1">Ordu04psO2e40IZjKL/72zxhGHYuTdzvG5XIuYIQKO753Mmh0ROCGwIEaLkF5OgCvsEAiRJMPv3B1ZAK3guUHgw43lM/lL+APNZpgBPNkjdoJxNY</CERTIFICATE></FALLBACK><CERTIFICATE
+type="GROUP"><DATA><NAME>Creative Zen V Plus</NAME>
+ <MANUFACTURER>CL Direct Pte Ltd.</MANUFACTURER>
+ <MODEL>DAP-FL0040</MODEL>
+ <SECURITYLEVEL>2000</SECURITYLEVEL>
+ <HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR>
+ <HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR>
+ <FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR>
+ <FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>
+ <FEATURES>
+   <CLOCK>2</CLOCK>
+   <SECURECLOCK>
+     <URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL>
+     <PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY>
+   </SECURECLOCK>
+   <METERING>1</METERING>
+   <LICENSE_ACQ>0</LICENSE_ACQ>
+   <LICENSE_SYNC>1</LICENSE_SYNC>
+   <ENCRYPTION>0</ENCRYPTION>
+   <SYMMETRIC_OPT>1</SYMMETRIC_OPT>
+ </FEATURES>
+ <LIMITS>
+   <MAXCHAINDEPTH>2</MAXCHAINDEPTH>
+   <MAXLICENSESIZE>10240</MAXLICENSESIZE>
+   <MAXHEADERSIZE>5120</MAXHEADERSIZE>
+ </LIMITS><PUBLICKEY>SSm10tOG7n2E+lBUEwdKnZfQQEfPcuxO4YXDzx9dAwbU5nUer5vMbQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>cVDd1wa6+5HzUpvZb7bsqGKbiWXlKrihJW90lAYA1EUlOgz33MzwIQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1053</AUTH_ID><PUBLICKEY>aPD+vFB8wJZiyyqhYeYgGIxpZk29uo/JJPSgqJiTwzfeOXY+qlyrFQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>SywdNwotVIaw6M7gJSL73CqQcjV+ZPTHjMhFvFeHSqqRx3SRzAquJg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>FKndZtwHnby1q9wM50lsjE4lnQYrqctul6h7+sprWWM3UGvrVKUxEw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
+WMPInfo.xml Does not exist on this device
+PTP: Closing session
+OK.
diff --git a/logs/mtp-detect-creative-zen-4GB.txt b/logs/mtp-detect-creative-zen-4GB.txt
new file mode 100644
index 0000000..cd262e6
--- /dev/null
+++ b/logs/mtp-detect-creative-zen-4GB.txt
@@ -0,0 +1,458 @@
+libmtp version: 0.2.2
+
+Attempting to connect device(s)
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 255
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 041e
+   idProduct: 4157
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000080
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: fe00                                   	..
+Microsoft device response to control message 1, CMD 0xfe:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Microsoft device response to control message 2, CMD 0xfe:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Device info:
+   Manufacturer: Creative Technology Ltd
+   Model: Creative ZEN
+   Device version: 1.02.22_0.06.01
+   Serial number: 0100000039029E290002D298BD221E29
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0;microsoft.com/WMPPD: 10.0;microsoft.com/WMDRMPD: 10.1;audible.com: 1.0;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1007: Get object handles
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   1006: Get number of objects
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   1010: Reset device
+   1012: Set object protection
+   1016: Set device property value
+   1017: Reset device property value
+   1019: Move object
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9807: Get interdependent property description
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd201: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3009: MP3
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+   b901: WMA
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 505000, STEP 1 READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+   3008: MS Wave
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+   b904: Audible.com Codec
+      da01: unknown(da01) UINT32 data type enumeration: 2, 3, 4,  GET/SET
+      da02: unknown(da02) array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      da03: unknown(da03) UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+   b982: MP4
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+   ba03: Abstract Audio Album
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 160, STEP 1 READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 24576, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 160, STEP 1 READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+   ba01: Abstract Multimedia Album
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+   3801: JPEG
+      dc88: Height UINT32 data type range: MIN 0, MAX 3328, STEP 1 GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 8192, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 4992, STEP 1 GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+   300a: MS AVI
+      de99: AudioWAVECodec UINT32 data type enumeration: 85, 17, 1,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 1536000, STEP 1 READ ONLY
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 20, MAX 30000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 0, MAX 4000000, STEP 1 READ ONLY
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 844515635, 878070084, 1482049860, 808802372, 1196444237, 1145656920,  READ ONLY
+      de9c: VideoBitRate UINT32 data type range: MIN 0, MAX 3000000, STEP 1 READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 8192, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+   300c: ASF
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 505000, STEP 1 READ ONLY
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 20, MAX 30000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 0, MAX 850000, STEP 1 READ ONLY
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911,  READ ONLY
+      de9c: VideoBitRate UINT32 data type range: MIN 0, MAX 850000, STEP 1 READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 8192, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+   b981: WMV
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 505000, STEP 1 READ ONLY
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 20, MAX 30000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 0, MAX 850000, STEP 1 READ ONLY
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911,  READ ONLY
+      de9c: VideoBitRate UINT32 data type range: MIN 0, MAX 850000, STEP 1 READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 8192, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+   bb83: vCard3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+   be03: vCalendar2
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+   b802: Firmware
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 4068704256
+      FreeSpaceInBytes: 2133000192
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Storage Media
+      VolumeIdentifier: 0100000039029E290002D298BD221E29
+Special directories:
+   Default music folder: 0x00000057
+   Default playlist folder: 0x0000005b
+   Default picture folder: 0x00000067
+   Default video folder: 0x0000006b
+   Default organizer folder: 0x00000063
+   Default zencast folder: 0x00000073
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: George
+   Synchronization partner: (NULL)
+   Battery level 244 of 255 (95%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   RIFF WAVE file
+   Audible.com Audio Codec
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+   JPEG file
+   Audio Video Interleave
+   Microsoft Advanced Systems Format
+   Microsoft Windows Media Video
+   VCard version 3
+   VCalendar version 2
+   Firmware file
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20070910 00:44:51Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">AAAAASmeAjmY0gIAKR4ivQAAAAA=</UNIQUEID><PUBLICKEY private="1">Ykl5kTo3EZtQguar55Oml4Z4t1EK/VREbT2XkMs9aHEnRFpqpuxXCQ==</PUBLICKEY><KEYDATA>Nms8tOBTmCJowdwHwQd3h6/49Nw=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>FK15Y1IYOdASh6cGSTcXR7LxXhM+yuazukB8OuQvfBoh+6u1qgedJw==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>xdPG75y5b5v7GtB40IkkUkMz3ns=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.108.193</SECURITYVERSION><CERTIFICATE private="1">Ykl5kTo3EZtQguar55Oml4Z4t1EK/VREbT2XkMs9aHEnRFpqpuxXCQIEbMHoITrNGGcLoesBy/0pqoxur3qKOigmEN7KA9uSUlkY1kBgNK20xKqE</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>Creative ZEN</NAME>
+  <MANUFACTURER>CL Direct Pte Ltd.</MANUFACTURER>
+  <MODEL>DVP-FL0001</MODEL>
+  <SECURITYLEVEL>2000</SECURITYLEVEL>
+  <HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR>
+  <HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR>
+  <FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR>
+  <FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>
+  <FEATURES>
+    <CLOCK>2</CLOCK>
+    <SECURECLOCK>
+      <URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL>
+      <PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY>
+    </SECURECLOCK>
+    <METERING>1</METERING>
+    <LICENSE_ACQ>0</LICENSE_ACQ>
+    <LICENSE_SYNC>1</LICENSE_SYNC>
+    <ENCRYPTION>0</ENCRYPTION>
+    <SYMMETRIC_OPT>1</SYMMETRIC_OPT>
+  </FEATURES>
+  <LIMITS>
+    <MAXCHAINDEPTH>2</MAXCHAINDEPTH>
+    <MAXLICENSESIZE>10240</MAXLICENSESIZE>
+    <MAXHEADERSIZE>5120</MAXHEADERSIZE>
+  </LIMITS><PUBLICKEY>01jSNo4LLYCkLWpnsvVOxk1wvxbm2krcn20LgpXL9Zf91opCNsMyAQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>DrK/bNN2aO5ImZHdepevdhlT6UePVcdaxTWOMvw/8RYKeQFjSPwWUw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>2085</AUTH_ID><PUBLICKEY>U3xlv/ZHjD1bOwjB+VKpZuAf3UI+x+5XtTYc7TvHKdQeGpyFrOmOEw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>iBzmFZxhy/VC9d2REO5iicO+dguqv8zhB7QPZe0JOj7BNKAwmrQoew==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>Ko25GwcWTT0R8xP4rS9+h4Z/EHX03y7Gb/281mD8U0nQGG3Rk9O+TA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+WMPInfo.xml Does not exist on this device
+OK.
diff --git a/logs/mtp-detect-creative-zen-V-plus.txt b/logs/mtp-detect-creative-zen-V-plus.txt
new file mode 100644
index 0000000..b2c9c8b
--- /dev/null
+++ b/logs/mtp-detect-creative-zen-V-plus.txt
@@ -0,0 +1,693 @@
+PTP: Opening session
+libmtp version: 0.2.1
+
+Attempting to connect device(s)
+Detect: Successfully connected 1 devices
+USB low-level info:
+  Using kernel interface "usbfs"
+  bcdUSB: 512
+  bDeviceClass: 255
+  bDeviceSubClass: 0
+  bDeviceProtocol: 0
+  idVendor: 041e
+  idProduct: 4152
+  IN endpoint maxpacket: 512 bytes
+  OUT endpoint maxpacket: 512 bytes
+  Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+       0000: 1203 4d00 5300 4600 5400 3100 3000 3000   ..M.S.F.T.1.0.0.
+       0010: fe00                                      ..
+Microsoft device response to control message 1, CMD 0xfe:
+       0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............
+       0010: 0001 4d54 5000 0000 0000 0000 0000 0000   ..MTP...........
+       0020: 0000 0000 0000 0000                       ........
+Microsoft device response to control message 2, CMD 0xfe:
+       0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............
+       0010: 0001 4d54 5000 0000 0000 0000 0000 0000   ..MTP...........
+       0020: 0000 0000 0000 0000                       ........
+Device info:
+  Manufacturer: Creative Technology Ltd
+  Model: Creative Zen V Plus
+  Device version: 1.15.03_0.05.09
+  Serial number: C69C8C180002FA9DC69FF64F0002FA9D
+  Vendor extension ID: 0x00000006
+  Vendor extension description: microsoft.com: 1.0;microsoft.com/WMPPD: 10.0;microsoft.com/WMDRMPD: 10.1;audible.com: 1.0;
+  Detected object size: 64 bits
+Supported operations:
+  1001: get device info
+  1002: Open session
+  1003: Close session
+  1004: Get storage IDs
+  1005: Get storage info
+  1007: Get object handles
+  100c: Send object info
+  100d: Send object
+  100f: Format storage
+  1014: Get device property description
+  1015: Get device property value
+  1006: Get number of objects
+  1008: Get object info
+  1009: Get object
+  100b: Delete object
+  1010: Reset device
+  1016: Set device property value
+  1017: Reset device property value
+  9801: Get object properties supported
+  9802: Get object property description
+  9803: Get object property value
+  9804: Set object property value
+  9805: Get object property list
+  9806: Set object property list
+  9808: Send object property list
+  9807: Get interdependent property description
+  9810: Get object references
+  9811: Set object references
+  9201: Report Added/Deleted Items
+  9101: Get secure time challenge
+  9102: Get secure time response
+  9103: Set license response
+  9104: Get sync list
+  9105: Send meter challenge query
+  9106: Get meter challenge
+  9107: Get meter response
+  9108: Clean data store
+  9109: Get license state
+Events supported:
+  None.
+Device Properties Supported:
+  0x5001: Battery Level
+  0xd401: Synchronization Partner
+  0xd402: Friendly Device Name
+  0xd101: Secure Time
+  0xd102: Device Certificate
+  0xd201: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+  3009: MP3
+     de99: AudioWAVECodec UINT32 data type enumeration: 85,  READ ONLY
+     de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+     dc46: Artist STRING data type GET/SET
+     dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+     de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+     de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc44: Name STRING data type GET/SET
+  b901: WMA
+     de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  READ ONLY
+     de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 505000, STEP 1 READ ONLY
+     dc46: Artist STRING data type GET/SET
+     dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+     de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+     de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc44: Name STRING data type GET/SET
+  3008: MS Wave
+     dc46: Artist STRING data type GET/SET
+     dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+     de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+     de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc44: Name STRING data type GET/SET
+  300c: ASF
+     de99: AudioWAVECodec UINT32 data type enumeration: 353,  READ ONLY
+     de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 505000, STEP 1 READ ONLY
+     dc46: Artist STRING data type GET/SET
+     dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+     de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+     de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc44: Name STRING data type GET/SET
+  b904: Audible.com Codec
+     da01: unknown(da01) UINT32 data type enumeration: 2, 3, 4,  GET/SET
+     da02: unknown(da02) array of UINT16 data type ANY 16BIT VALUE form GET/SET
+     da03: unknown(da03) UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc46: Artist STRING data type GET/SET
+     dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+     de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+     de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc44: Name STRING data type GET/SET
+  ba05: Abstract Audio Video Playlist
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc44: Name STRING data type GET/SET
+  ba03: Abstract Audio Album
+     dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+     dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+     dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 112, STEP 1 READ ONLY
+     dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 20480, STEP 1 READ ONLY
+     dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 128, STEP 1 READ ONLY
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc44: Name STRING data type GET/SET
+  3801: JPEG
+     dc88: Height UINT32 data type range: MIN 0, MAX 2304, STEP 1 GET/SET
+     dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+     dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+     dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 170, STEP 1 READ ONLY
+     dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 20480, STEP 1 READ ONLY
+     dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 170, STEP 1 READ ONLY
+     dc87: Width UINT32 data type range: MIN 0, MAX 3072, STEP 1 GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc44: Name STRING data type GET/SET
+  300a: MS AVI
+     de99: AudioWAVECodec UINT32 data type enumeration: 17,  READ ONLY
+     de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 388000, STEP 1 READ ONLY
+     de9d: FramesPerThousandSeconds UINT32 data type range: MIN 6000, MAX 15000, STEP 1 READ ONLY
+     dc88: Height UINT32 data type range: MIN 0, MAX 128, STEP 1 GET/SET
+     de91: TotalBitRate UINT32 data type range: MIN 0, MAX 9500000, STEP 1 READ ONLY
+     de9b: VideoFourCCCodec UINT32 data type enumeration: 3,  READ ONLY
+     de9c: VideoBitRate UINT32 data type range: MIN 0, MAX 4000000, STEP 1 READ ONLY
+     dc87: Width UINT32 data type range: MIN 0, MAX 128, STEP 1 GET/SET
+     dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+     de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+     de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc44: Name STRING data type GET/SET
+  bb83: vCard3
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc44: Name STRING data type GET/SET
+  be03: vCalendar2
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc44: Name STRING data type GET/SET
+  3000: Undefined Type
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc44: Name STRING data type GET/SET
+  3001: Association/Directory
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc44: Name STRING data type GET/SET
+  b802: Firmware
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc44: Name STRING data type GET/SET
+Storage Devices:
+  StorageID: 0x00010001
+     StorageType: 0x0003
+     FilesystemType: 0x0002
+     AccessCapability: 0x0000
+     MaxCapacity: 8032681984
+     FreeSpaceInBytes: 3913187328
+     FreeSpaceInObjects: 4294967295
+     StorageDescription: Storage Media
+     VolumeIdentifier: C69C8C180002FA9DC69FF64F0002FA9D
+Special directories:
+  Default music folder: 0x00000056
+  Default playlist folder: 0x0000005a
+  Default picture folder: 0x00000066
+  Default video folder: 0x0000006a
+  Default organizer folder: 0x00000062
+  Default zencast folder: 0x00000000
+  Default album folder: 0x00000000
+  Default text folder: 0x00000000
+MTP-specific device properties:
+  Friendly name: Remy Bosch
+  Synchronization partner: (NULL)
+  Battery level 142 of 255 (55%)
+libmtp supported (playable) filetypes:
+  ISO MPEG-1 Audio Layer 3
+  Microsoft Windows Media Audio
+  RIFF WAVE file
+  Microsoft Advanced Systems Format
+  Audible.com Audio Codec
+  JPEG file
+  Audio Video Interleave
+  VCard version 3
+  VCalendar version 2
+  Firmware file
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20071003 06:44:50Z#</VALUE><FLAG>DRM_CLK_NEEDS_REFRESH</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">GIycxp36AgBP9p/GnfoCAAAAAAA=</UNIQUEID><PUBLICKEY private="1">uacrz8cfvmxT5HP4f6gXC21JnC6Un6l0qz1nSojtlfhDqlSvygmmSA==</PUBLICKEY><KEYDATA>ykYrz0s9Ggnh305LB+YlKuMxJx4=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>c5O+3ktOUyHhdR9uxBiJGjJNtBplqpo8IRCpVHX2rV7M0Yca4bb0Nw==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>qsijKfmekVQKZZz+HCff802Mm3E=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.104.185</SECURITYVERSION><CERTIFICATE private="1">uacrz8cfvmxT5HP4f6gXC21JnC6Un6l0qz1nSojtlfhDqlSvygmmSAIEaLlw4Nr6rteI3w6kM+QTge1i95SzRgtiFiG5qQOx4M/Cdgf9RGNLhp8i</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>Creative Zen V Plus</NAME>
+ <MANUFACTURER>CL Direct Pte Ltd.</MANUFACTURER>
+ <MODEL>DAP-FL0040</MODEL>
+ <SECURITYLEVEL>2000</SECURITYLEVEL>
+ <HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR>
+ <HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR>
+ <FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR>
+ <FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>
+ <FEATURES>
+   <CLOCK>2</CLOCK>
+   <SECURECLOCK>
+     <URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL>
+     <PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY>
+   </SECURECLOCK>
+   <METERING>1</METERING>
+   <LICENSE_ACQ>0</LICENSE_ACQ>
+   <LICENSE_SYNC>1</LICENSE_SYNC>
+   <ENCRYPTION>0</ENCRYPTION>
+   <SYMMETRIC_OPT>1</SYMMETRIC_OPT>
+ </FEATURES>
+ <LIMITS>
+   <MAXCHAINDEPTH>2</MAXCHAINDEPTH>
+   <MAXLICENSESIZE>10240</MAXLICENSESIZE>
+   <MAXHEADERSIZE>5120</MAXHEADERSIZE>
+ </LIMITS><PUBLICKEY>SSm10tOG7n2E+lBUEwdKnZfQQEfPcuxO4YXDzx9dAwbU5nUer5vMbQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>cVDd1wa6+5HzUpvZb7bsqGKbiWXlKrihJW90lAYA1EUlOgz33MzwIQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1053</AUTH_ID><PUBLICKEY>aPD+vFB8wJZiyyqhYeYgGIxpZk29uo/JJPSgqJiTwzfeOXY+qlyrFQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>SywdNwotVIaw6M7gJSL73CqQcjV+ZPTHjMhFvFeHSqqRx3SRzAquJg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>FKndZtwHnby1q9wM50lsjE4lnQYrqctul6h7+sprWWM3UGvrVKUxEw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+PTP: Closing session
+WMPInfo.xml Does not exist on this device
+OK.
+
+Autodetected device "Creative Zen V Plus" (VID=041e,PID=4152) is known.
+Connected to MTP device.
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 255
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 041e
+   idProduct: 4152
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000000
+Device info:
+   Manufacturer: Creative Technology Ltd
+   Model: Creative Zen V Plus
+   Device version: 1.03.03_0.05.09
+   Serial number: A85D040F0002FA9DA85B2F5D0002FA9D
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0;microsoft.com/WMPPD: 10.0;microsoft.com/WMDRMPD: 10.1;audible.com: 1.0;
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1007: Get object handles
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   1006: Get number of objects
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   1010: Reset device
+   1016: Set device property value
+   1017: Reset device property value
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9807: Get interdependent property description
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Device Friendly Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd201: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3009: MP3
+      de99: AudioWAVECodec
+      de9a: AudioBitRate
+      dc46: Artist
+      dc89: Duration
+      dc8b: Track
+      dc8c: Genre
+      dc99: OriginalReleaseDate
+      dc9a: AlbumName
+      de93: SampleRate
+      de94: NumberOfChannels
+      de95: AudioBitDepth
+      dc91: UseCount
+      d901: BuyFlag
+      dc01: StorageID
+      dc0b: ParentObject
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+   b901: WMA
+      de99: AudioWAVECodec
+      de9a: AudioBitRate
+      dc46: Artist
+      dc89: Duration
+      dc8b: Track
+      dc8c: Genre
+      dc99: OriginalReleaseDate
+      dc9a: AlbumName
+      de93: SampleRate
+      de94: NumberOfChannels
+      de95: AudioBitDepth
+      dc91: UseCount
+      d901: BuyFlag
+      dc01: StorageID
+      dc0b: ParentObject
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+   3008: MS Wave
+      dc46: Artist
+      dc89: Duration
+      dc8b: Track
+      dc8c: Genre
+      dc99: OriginalReleaseDate
+      dc9a: AlbumName
+      de93: SampleRate
+      de94: NumberOfChannels
+      de95: AudioBitDepth
+      dc91: UseCount
+      d901: BuyFlag
+      dc01: StorageID
+      dc0b: ParentObject
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+   b904: Audible.com Codec
+      da01: unknown(da01)
+      da02: unknown(da02)
+      da03: unknown(da03)
+      dc46: Artist
+      dc89: Duration
+      dc8b: Track
+      dc8c: Genre
+      dc99: OriginalReleaseDate
+      dc9a: AlbumName
+      de93: SampleRate
+      de94: NumberOfChannels
+      de95: AudioBitDepth
+      dc91: UseCount
+      d901: BuyFlag
+      dc01: StorageID
+      dc0b: ParentObject
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID
+      dc0b: ParentObject
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+   ba03: Abstract Audio Album
+      dc86: RepresentativeSampleData
+      dc81: RepresentativeSampleFormat
+      dc83: RepresentativeSampleHeight
+      dc82: RepresentativeSampleSize
+      dc84: RepresentativeSampleWidth
+      dc01: StorageID
+      dc0b: ParentObject
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+   3801: JPEG
+      dc88: Height
+      dc86: RepresentativeSampleData
+      dc81: RepresentativeSampleFormat
+      dc83: RepresentativeSampleHeight
+      dc82: RepresentativeSampleSize
+      dc84: RepresentativeSampleWidth
+      dc87: Width
+      dc01: StorageID
+      dc0b: ParentObject
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+   300a: MS AVI
+      de99: AudioWAVECodec
+      de9a: AudioBitRate
+      de9d: FramesPerThousandSeconds
+      dc88: Height
+      de91: TotalBitRate
+      de9b: VideoFourCCCodec
+      de9c: VideoBitRate
+      dc87: Width
+      dc89: Duration
+      de93: SampleRate
+      de94: NumberOfChannels
+      de95: AudioBitDepth
+      dc01: StorageID
+      dc0b: ParentObject
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+   bb83: vCard3
+      dc01: StorageID
+      dc0b: ParentObject
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+   be03: vCalendar2
+      dc01: StorageID
+      dc0b: ParentObject
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+   3000: Undefined Type
+      dc01: StorageID
+      dc0b: ParentObject
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+   3001: Association/Directory
+      dc01: StorageID
+      dc0b: ParentObject
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+   b802: Firmware
+      dc01: StorageID
+      dc0b: ParentObject
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 1980399616
+      FreeSpaceInBytes: 458784768
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Storage Media
+      VolumeIdentifier: A85D040F0002FA9DA85B2F5D0002FA9D
+Special directories:
+   Default music folder: 0x00000056
+   Default playlist folder: 0x0000005a
+   Default picture folder: 0x00000066
+   Default video folder: 0x0000006a
+   Default organizer folder: 0x00000062
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: d wilson
+   Synchronization partner: (NULL)
+   Battery level 170 of 255 (66%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   RIFF WAVE file
+   Audible.com Audio Codec
+   JPEG file
+   Audio Video Interleave
+   VCard version 3
+   VCalendar version 2
+   Firmware file
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20050709 03:36:45Z#</VALUE><FLAG>DRM_CLK_NEEDS_REFRESH</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">DwRdqJ36AgBdL1uonfoCAAAAAAA=</UNIQUEID><PUBLICKEY private="1">NFmSPU3xRI4EDvKuSz2K7t2KMwEGlo9y/6JgqBMx3bgsfFUNkslaIQ==</PUBLICKEY><KEYDATA>ORkAraTaO6DWdqkuNols2lZApEA=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>3A3aQBI/1L0z+1UbdWq3K4MTUms1u/R1MuvU1vEzGM5LzjagmNHtYg==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>tVtC2vz4V4owPOP8lIC3iYdvHDU=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.104.185</SECURITYVERSION><CERTIFICATE private="1">NFmSPU3xRI4EDvKuSz2K7t2KMwEGlo9y/6JgqBMx3bgsfFUNkslaIQIEaLllMmZGChi1fu6RS/Tm4Kapxip7VpsJ6mnKI0L0aLibkTYEIEx4SHxc</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>Creative Zen V Plus</NAME>

+  <MANUFACTURER>CL Direct Pte Ltd.</MANUFACTURER>

+  <MODEL>DAP-FL0040</MODEL>

+  <SECURITYLEVEL>2000</SECURITYLEVEL>

+  <HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR>

+  <HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR>

+  <FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR>

+  <FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>

+  <FEATURES>

+    <CLOCK>2</CLOCK>

+    <SECURECLOCK>

+      <URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL>

+      <PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY>

+    </SECURECLOCK>

+    <METERING>1</METERING>

+    <LICENSE_ACQ>0</LICENSE_ACQ>

+    <LICENSE_SYNC>1</LICENSE_SYNC>

+    <ENCRYPTION>0</ENCRYPTION>

+    <SYMMETRIC_OPT>1</SYMMETRIC_OPT>

+  </FEATURES>

+  <LIMITS>

+    <MAXCHAINDEPTH>2</MAXCHAINDEPTH>

+    <MAXLICENSESIZE>10240</MAXLICENSESIZE>

+    <MAXHEADERSIZE>5120</MAXHEADERSIZE>

+  </LIMITS><PUBLICKEY>SSm10tOG7n2E+lBUEwdKnZfQQEfPcuxO4YXDzx9dAwbU5nUer5vMbQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>cVDd1wa6+5HzUpvZb7bsqGKbiWXlKrihJW90lAYA1EUlOgz33MzwIQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1053</AUTH_ID><PUBLICKEY>aPD+vFB8wJZiyyqhYeYgGIxpZk29uo/JJPSgqJiTwzfeOXY+qlyrFQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>SywdNwotVIaw6M7gJSL73CqQcjV+ZPTHjMhFvFeHSqqRx3SRzAquJg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>FKndZtwHnby1q9wM50lsjE4lnQYrqctul6h7+sprWWM3UGvrVKUxEw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿
+OK.
+
+ 	  	 
diff --git a/logs/mtp-detect-creative-zen-V.txt b/logs/mtp-detect-creative-zen-V.txt
new file mode 100644
index 0000000..ee84afe
--- /dev/null
+++ b/logs/mtp-detect-creative-zen-V.txt
@@ -0,0 +1,317 @@
+Autodetected device with VID=041e and PID=4150 is UNKNOWN.
+Please report this VID/PID and the device model name etc to the
+libmtp development team!
+Connected to MTP device.
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 255
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   bMaxPacketSize0: 64
+   idVendor: 041e
+   idProduct: 4150
+Device info:
+   Manufacturer: Creative Technology Ltd
+   Model: Creative Zen V
+   Device version: 1.10.03_0.05.09
+   Serial number: C8F0CA150002FA9DC8F6751C0002FA9D
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0;microsoft.com/WMPPD: 10.0;microsoft.com/WMDRMPD: 10.1;audible.com: 1.0;
+Supported operations:
+   0x1001
+   0x1002
+   0x1003
+   0x1004
+   0x1005
+   0x1007
+   0x100c
+   0x100d
+   0x100f
+   0x1014
+   0x1015
+   0x1006
+   0x1008
+   0x1009
+   0x100b
+   0x1010
+   0x1016
+   0x1017
+   0x9801
+   0x9802
+   0x9803
+   0x9804
+   0x9805
+   0x9806
+   0x9808
+   0x9807
+   0x9810
+   0x9811
+   0x9201
+   0x9101
+   0x9102
+   0x9103
+   0x9104
+   0x9105
+   0x9106
+   0x9107
+   0x9108
+   0x9109
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Device Friendly Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd201: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3009: MP3
+      de99: AudioWAVECodec
+      de9a: AudioBitRate
+      dc46: Artist
+      dc89: Duration
+      dc8b: Track
+      dc8c: Genre
+      dc99: OriginalReleaseDate
+      dc9a: AlbumName
+      de93: SampleRate
+      de94: NumberOfChannels
+      de95: AudioBitDepth
+      dc91: UseCount
+      d901: unknown(d901)
+      dc01: StorageID
+      dc0b: ParentObject
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+   b901: WMA
+      de99: AudioWAVECodec
+      de9a: AudioBitRate
+      dc46: Artist
+      dc89: Duration
+      dc8b: Track
+      dc8c: Genre
+      dc99: OriginalReleaseDate
+      dc9a: AlbumName
+      de93: SampleRate
+      de94: NumberOfChannels
+      de95: AudioBitDepth
+      dc91: UseCount
+      d901: unknown(d901)
+      dc01: StorageID
+      dc0b: ParentObject
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+   3008: MS Wave
+      dc46: Artist
+      dc89: Duration
+      dc8b: Track
+      dc8c: Genre
+      dc99: OriginalReleaseDate
+      dc9a: AlbumName
+      de93: SampleRate
+      de94: NumberOfChannels
+      de95: AudioBitDepth
+      dc91: UseCount
+      d901: unknown(d901)
+      dc01: StorageID
+      dc0b: ParentObject
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+   300c: ASF
+      de99: AudioWAVECodec
+      de9a: AudioBitRate
+      dc46: Artist
+      dc89: Duration
+      dc8b: Track
+      dc8c: Genre
+      dc99: OriginalReleaseDate
+      dc9a: AlbumName
+      de93: SampleRate
+      de94: NumberOfChannels
+      de95: AudioBitDepth
+      dc91: UseCount
+      d901: unknown(d901)
+      dc01: StorageID
+      dc0b: ParentObject
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+   b904: Audible.com Codec
+      da01: unknown(da01)
+      da02: unknown(da02)
+      da03: unknown(da03)
+      dc46: Artist
+      dc89: Duration
+      dc8b: Track
+      dc8c: Genre
+      dc99: OriginalReleaseDate
+      dc9a: AlbumName
+      de93: SampleRate
+      de94: NumberOfChannels
+      de95: AudioBitDepth
+      dc91: UseCount
+      d901: unknown(d901)
+      dc01: StorageID
+      dc0b: ParentObject
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID
+      dc0b: ParentObject
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+   ba03: Abstract Audio Album
+      dc86: RepresentativeSampleData
+      dc81: RepresentativeSampleFormat
+      dc83: RepresentativeSampleHeight
+      dc82: RepresentativeSampleSize
+      dc84: RepresentativeSampleWidth
+      dc01: StorageID
+      dc0b: ParentObject
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+   3801: JPEG
+      dc88: Height
+      dc86: RepresentativeSampleData
+      dc81: RepresentativeSampleFormat
+      dc83: RepresentativeSampleHeight
+      dc82: RepresentativeSampleSize
+      dc84: RepresentativeSampleWidth
+      dc87: Width
+      dc01: StorageID
+      dc0b: ParentObject
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+   bb83: vCard3
+      dc01: StorageID
+      dc0b: ParentObject
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+   be03: vCalendar2
+      dc01: StorageID
+      dc0b: ParentObject
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+   3000: Undefined Type
+      dc01: StorageID
+      dc0b: ParentObject
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+   3001: Association/Directory
+      dc01: StorageID
+      dc0b: ParentObject
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+   b802: Firmware
+      dc01: StorageID
+      dc0b: ParentObject
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+Special directories:
+   Default music folder: 0x00000051
+   Default playlist folder: 0x00000055
+   Default picture folder: 0x00000061
+   Default video folder: 0x00000000
+   Default organizer folder: 0x0000005d
+   Default zencast folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: My Zen
+   Synchronization partner: 
+   Total bytes on device: 971440128 (926 MB)
+   Free bytes on device: 936771584 (893 MB)
+   Storage description: "Storage Media"
+   Volume label: "C8F0CA150002FA9DC8F6751C0002FA9D"
+   Battery level 255 of 255 (100%)
+libmtp supported (playable) filetypes:
+   ISO MPEG Audio Layer 3
+   Microsoft Windows Media Audio
+   RIFF WAVE file
+   Microsoft Advanced Systems Format
+   Audible.com Audio Codec
+   JPEG file
+   VCard version 3
+   VCalendar version 2
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20050403 15:39:31Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">FcrwyJ36AgAcdfbInfoCAAAAAAA=</UNIQUEID><PUBLICKEY private="1">IMyjsSEUDWFZTQzjI0Zz5hdLE0dLFGYkXqBpJOGKtIUerw+QbgtvFA==</PUBLICKEY><KEYDATA>2mHbaCxFUmI+iWrsNvQz9IieH9w=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>BjVxd4okZ1Yqav43NW/Ffs5LDEyuA+lxcHhYmMgPg2u2ffwK3t8paQ==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>HiX3tAwfxY/yexXe6gQMLHLAAk4=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.104.139</SECURITYVERSION><CERTIFICATE private="1">IMyjsSEUDWFZTQzjI0Zz5hdLE0dLFGYkXqBpJOGKtIUerw+QbgtvFAIEaIt8JQF2IuBQudqJcdcn/plo8sPGc/Jix194wunu4/GA67FhZIQNGRln</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>Creative Zen V</NAME>

+  <MANUFACTURER>CL Direct Pte Ltd.</MANUFACTURER>

+  <MODEL>DAP-FL0036</MODEL>

+  <SECURITYLEVEL>2000</SECURITYLEVEL>

+  <HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR>

+  <HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR>

+  <FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR>

+  <FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>

+  <FEATURES>

+    <CLOCK>2</CLOCK>

+    <SECURECLOCK>

+      <URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL>

+      <PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY>

+    </SECURECLOCK>

+    <METERING>1</METERING>

+    <LICENSE_ACQ>0</LICENSE_ACQ>

+    <LICENSE_SYNC>1</LICENSE_SYNC>

+    <ENCRYPTION>0</ENCRYPTION>

+    <SYMMETRIC_OPT>1</SYMMETRIC_OPT>

+  </FEATURES>

+  <LIMITS>

+    <MAXCHAINDEPTH>2</MAXCHAINDEPTH>

+    <MAXLICENSESIZE>10240</MAXLICENSESIZE>

+    <MAXHEADERSIZE>5120</MAXHEADERSIZE>

+  </LIMITS><PUBLICKEY>AwE2OSTIgFuzHvE8vC1w6E9MG1PCQ3HzTPJGtSMl8NvC2U7OikanZw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>ANlrFR1DlR4vZwcsaLD6roTpv3nImj/OnFG3yOSWUwsCVD4kb+uhfQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1007</AUTH_ID><PUBLICKEY>fP5fVUkHCjq7OoLGkVhca1u5ehuKNerfFzwY8+38k6idDPn3KNhYGA==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>uvG3IvEcpr+y86jyvARIl/3r8US21GTPDEh176DnbwZ5aiTLgiWyPg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>TNP/C0hseezVflFmD5hyoSk8AUYsz6sn6q0hyDFaB6Fj6DEjaG2QQQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿
+OK.
diff --git a/logs/mtp-detect-creative-zen-micro.txt b/logs/mtp-detect-creative-zen-micro.txt
new file mode 100644
index 0000000..e08b2f0
--- /dev/null
+++ b/logs/mtp-detect-creative-zen-micro.txt
@@ -0,0 +1,260 @@
+Device 0 (VID=041e and PID=4130) is a Creative ZEN Micro (MTP mode).
+libmtp version: 1.1.4
+
+Listing raw device(s)
+   Found 1 device(s):
+   Creative: ZEN Micro (MTP mode) (041e:4130) @ bus 2, dev 12
+Attempting to connect device(s)
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 255
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 041e
+   idProduct: 4130
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 12
+      Device entry info:
+         Vendor: Creative
+         Vendor id: 0x041e
+         Product: ZEN Micro (MTP mode)
+         Vendor id: 0x4130
+         Device flags: 0x20000001
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Creative Technology Ltd
+   Model: Creative Zen Micro
+   Device version: 2.21.02_0.00.65
+   Serial number: 01052551C6038F82BC171936C6038F82
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0;microsoft.com/WMPPD: 10.0;microsoft.com/WMDRMPD: 10.1;audible.com: 1.0;
+   Detected object size: 32 bits
+   Extensions:
+        microsoft.com: 1.0
+        microsoft.com/WMPPD: 10.0
+        microsoft.com/WMDRMPD: 10.1
+        audible.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1007: Get object handles
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   1006: Get number of objects
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   1010: Reset device
+   1016: Set device property value
+   1017: Reset device property value
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9807: Get interdependent property description
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd201: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3009: MP3
+      de99: Audio WAVE Codec UINT32 data type enumeration: 85,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: Audio Bit Depth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type ANY 8BIT VALUE form GET/SET
+   b901: WMA
+      de99: Audio WAVE Codec UINT32 data type enumeration: 352, 353,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: Audio Bit Depth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type ANY 8BIT VALUE form GET/SET
+   3008: MS Wave
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: Audio Bit Depth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type ANY 8BIT VALUE form GET/SET
+   b904: Audible.com Codec
+      da01: Unknown property UINT32 data type enumeration: 2, 3, 4,  GET/SET
+      da02: Unknown property array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      da03: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: Audio Bit Depth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type ANY 8BIT VALUE form GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type ANY 8BIT VALUE form GET/SET
+   bb83: vCard3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type ANY 8BIT VALUE form GET/SET
+   be03: vCalendar2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type ANY 8BIT VALUE form GET/SET
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type ANY 8BIT VALUE form GET/SET
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type ANY 8BIT VALUE form GET/SET
+   b802: Firmware
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type ANY 8BIT VALUE form GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 4979793920
+      FreeSpaceInBytes: 4278919168
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Storage Media
+      VolumeIdentifier: 01052551C6038F82BC171936C6038F82
+Special directories:
+   Default music folder: 0x0000008b
+   Default playlist folder: 0x0000008f
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0x00000097
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Dokktor Lajban
+   Synchronization partner: (NULL)
+   Battery level 255 of 255 (100%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   RIFF WAVE file
+   Audible.com Audio Codec
+   Abstract Playlist file
+   VCard version 3
+   VCalendar version 2
+   Folder
+   Firmware file
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20061123 10:13:27Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>
+OK.
diff --git a/logs/mtp-detect-creative-zen-microphoto.txt b/logs/mtp-detect-creative-zen-microphoto.txt
new file mode 100644
index 0000000..0f0d2f8
--- /dev/null
+++ b/logs/mtp-detect-creative-zen-microphoto.txt
@@ -0,0 +1,273 @@
+PTP: Opening session
+libmtp version: 0.2.1
+
+Attempting to connect device(s)
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 255
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 041e
+   idProduct: 413c
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: fe00                                   	..
+Microsoft device response to control message 1, CMD 0xfe:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Microsoft device response to control message 2, CMD 0xfe:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Device info:
+   Manufacturer: Creative Technology Ltd
+   Model: Creative Zen MicroPhoto
+   Device version: 1.20.01_0.00.65
+   Serial number: 010525514103909B99130D0F4103909B
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0;microsoft.com/WMPPD: 10.0;microsoft.com/WMDRMPD: 10.1;
+   Detected object size: 32 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1007: Get object handles
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   1006: Get number of objects
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   1010: Reset device
+   1016: Set device property value
+   1017: Reset device property value
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9807: Get interdependent property description
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3009: MP3
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumableUnknown OPFF type 6
+ UINT8 data type ANY 8BIT VALUE form GET/SET
+   b901: WMA
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type ANY 8BIT VALUE form GET/SET
+   3008: MS Wave
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type ANY 8BIT VALUE form GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type ANY 8BIT VALUE form GET/SET
+   3801: JPEG
+      dc88: Height UINT32 data type range: MIN 0, MAX 2304, STEP 1 GET/SET
+      dc04: ObjectSize UINT32 data type range: MIN 0, MAX 4194304, STEP 1 READ ONLY
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 170, STEP 1 READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 12288, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 170, STEP 1 READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 3072, STEP 1 GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type ANY 8BIT VALUE form GET/SET
+   bb83: vCard3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type ANY 8BIT VALUE form GET/SET
+   be03: vCalendar2
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type ANY 8BIT VALUE form GET/SET
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type ANY 8BIT VALUE form GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type ANY 8BIT VALUE form GET/SET
+   b802: Firmware
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type ANY 8BIT VALUE form GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 7978778624
+      FreeSpaceInBytes: 22511616
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Storage Media
+      VolumeIdentifier: 010525514103909B99130D0F4103909B
+Special directories:
+   Default music folder: 0x00000061
+   Default playlist folder: 0x0002065b
+   Default picture folder: 0x00000071
+   Default video folder: 0x00000000
+   Default organizer folder: 0x0000006d
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: marcus meissner
+   Synchronization partner: (NULL)
+   Battery level 232 of 255 (90%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   RIFF WAVE file
+   JPEG file
+   VCard version 3
+   VCalendar version 2
+   Firmware file
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20071001 02:38:44Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">AQUlUUEDkJuZEw0PQQOQmwAAAAA=</UNIQUEID><PUBLICKEY private="1">bc5tBkpC1vKhKspg9x3NtvOQc3eUs1Hr3yuU8iNMVWO+edg6jUGdWQ==</PUBLICKEY><KEYDATA>wHKExHqjKZ87Yl4YF7xpiJu0ZlI=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>ly3ICs9QWPTP: Closing session
+v3Lwoe6r0tGK17Aj3G8zXx+eJLZ1M2YI3Y7fhTzVrJSOg==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>4DmVMqMxdT4QMevC/Gpg52Gd58I=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.102.43</SECURITYVERSION><CERTIFICATE private="1">bc5tBkpC1vKhKspg9x3NtvOQc3eUs1Hr3yuU8iNMVWO+edg6jUGdWQIEZisUUkulIYvUbBHVCmDF9Z9kW+RWUfLN+Ih6A3hVNs+5k9c516BdJGt0</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>Creative Zen MicroPhoto</NAME>
+  <MANUFACTURER>CL Direct Pte Ltd.</MANUFACTURER>
+  <MODEL>DAP-MD0004</MODEL>
+  <SECURITYLEVEL>2000</SECURITYLEVEL>
+  <HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR>
+  <HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR>
+  <FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR>
+  <FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>
+  <FEATURES>
+    <CLOCK>2</CLOCK>
+    <SECURECLOCK>
+      <URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL>
+      <PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY>
+    </SECURECLOCK>
+    <METERING>1</METERING>
+    <LICENSE_ACQ>0</LICENSE_ACQ>
+    <LICENSE_SYNC>1</LICENSE_SYNC>
+    <ENCRYPTION>0</ENCRYPTION>
+    <SYMMETRIC_OPT>1</SYMMETRIC_OPT>
+  </FEATURES>
+  <LIMITS>
+    <MAXCHAINDEPTH>2</MAXCHAINDEPTH>
+    <MAXLICENSESIZE>10240</MAXLICENSESIZE>
+    <MAXHEADERSIZE>5120</MAXHEADERSIZE>
+  </LIMITS><PUBLICKEY>UjurbLh8ap+B8EsXb9FuVhRbWCbKRGDdm7xWTAgK02eLpTDRUPjUWA==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>quB0u/cTiyb2QncI62t/E98g5xt/YQMQDnLFwXEqwg+twcZXVM9GJw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>399</AUTH_ID><PUBLICKEY>Gf5Ommhs90oQ3m98RF9NNLuJ3nxgcFg4j0FGrLXshCI05uubNR46Iw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>3KK+1dNO2r967UrH998VO7cgb1fx/QXunT3EXOXIgyYH/2/IHt7bLQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>K/+ULUEJBJr1Lw6cieqoCrSr3RjzfJgtu8/at2FrBpVmLTGl/yKOJQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+WMPInfo.xml Does not exist on this device
+OK.
diff --git a/logs/mtp-detect-creative-zen-mozaic.txt b/logs/mtp-detect-creative-zen-mozaic.txt
new file mode 100644
index 0000000..a294575
--- /dev/null
+++ b/logs/mtp-detect-creative-zen-mozaic.txt
@@ -0,0 +1,443 @@
+libmtp version: 0.3.3
+
+Listing raw device(s)
+Device 0 (VID=041e and PID=4161) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   041e:4161 @ bus 0, dev 4
+Attempting to connect device(s)
+PTP: Opening session
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 255
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 041e
+   idProduct: 4161
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 4
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x041e
+         Product: (null)
+         Vendor id: 0x4161
+         Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: fe00                                   	..
+Microsoft device response to control message 1, CMD 0xfe:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Microsoft device response to control message 2, CMD 0xfe:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Device info:
+   Manufacturer: Creative Technology Ltd
+   Model: Creative ZEN Mozaic
+   Device version: 1.04.06_1.03.04
+   Serial number: 38000001E630462F0002D8F518E1462F
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0;microsoft.com/WMPPD: 10.0;microsoft.com/WMDRMPD: 10.1;audible.com: 1.0;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1007: Get object handles
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   1006: Get number of objects
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   1010: Reset device
+   1012: Set object protection
+   1016: Set device property value
+   1017: Reset device property value
+   1019: Move object
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9807: Get interdependent property description
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   0x4006
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd201: Unknown property
+   0xd001: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3009: MP3
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 505000, STEP 1 READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3008: MS Wave
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b904: Audible.com Codec
+      da01: unknown(da01) UINT32 data type enumeration: 2, 3, 4,  GET/SET
+      da02: unknown(da02) array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      da03: unknown(da03) UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   300c: ASF
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 505000, STEP 1 READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   ba03: Abstract Audio Album
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 160, STEP 1 READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 24576, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 160, STEP 1 READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   ba01: Abstract Multimedia Album
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3801: JPEG
+      dc88: Height UINT32 data type range: MIN 0, MAX 3328, STEP 1 GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 80, STEP 1 READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 8192, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 80, STEP 1 READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 4992, STEP 1 GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   300a: MS AVI
+      de99: AudioWAVECodec UINT32 data type enumeration: 85, 17, 1,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 1536000, STEP 1 READ ONLY
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 20, MAX 30000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 128, STEP 1 GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 0, MAX 2000000, STEP 1 READ ONLY
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 1196444237,  READ ONLY
+      de9c: VideoBitRate UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 160, STEP 1 GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 80, STEP 1 READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 8192, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 80, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   bb83: vCard3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   be03: vCalendar2
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b802: Firmware
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 16040787968
+      FreeSpaceInBytes: 7159152640
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Storage Media
+      VolumeIdentifier: 38000001E630462F0002D8F518E1462F
+Special directories:
+   Default music folder: 0x00000061
+   Default playlist folder: 0x0003d442
+   Default picture folder: 0x00000071
+   Default video folder: 0x00000075
+   Default organizer folder: 0x0000006d
+   Default zencast folder: 0x0000007d
+   Default album folder: 0x0000114a
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: MP3Diplomat
+   Synchronization partner: {53FCCB67-737B-43D6-8E17-14283B906B22}
+   Battery level 229 of 255 (89%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   RIFF WAVE file
+   Audible.com Audio Codec
+   Microsoft Advanced Systems Format
+   JPEG file
+   Audio Video Interleave
+   VCard version 3
+   VCalendar version 2
+   Firmware file
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20081125 21:07:45Z#</VALUE><FLAG>DRM_CLK_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">AQAAOC9GMOb12AIAL0bhGAAAAAA=</UNIQUEID><PUBLICKEY private="1">Au+DnStOMg0vVNrKp0lqSHWc4kPvM8EgOQnmPLw5/nF5Wnh1HKdLgw==</PUBLICKEY><KEYDATA>lWtp/muYHEAGd63blWlvVemNr70=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>jKvt3LlGqATqPNYtWzePyxkmql54ZJuGBI+kF8YzBSEOAxu4WS19Tw==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>nHPd0A7ufYLSE+51uJdGhv/qqxg=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.111.211</SECURITYVERSION><CERTIFICATE private="1">Au+DnStOMg0vVNrKp0lqSHWc4kPvM8EgOQnmPLw5/nF5Wnh1HKdLgwIEb9Mgv1CHavdF6/gCw3NXT4vP1LJcYt2Fkw0YnphHODb50A/VbffVpBMN</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>Creative ZEN Mozaic</NAME>
+  <MANUFACTURER>CL Direct Pte Ltd.</MANUFACTURER>
+  <MODEL>DVP-FL0007</MODEL>
+  <SECURITYLEVEL>2000</SECURITYLEVEL>
+  <HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR>
+  <HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR>
+  <FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR>
+  <FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>
+  <FEATURES>
+    <CLOCK>2</CLOCK>
+    <SECURECLOCK>
+      <URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL>
+      <PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY>
+    </SECURECLOCK>
+    <METERING>1</METERING>
+    <LICENSE_ACQ>0</LICENSE_ACQ>
+    <LICENSE_SYNC>1</LICENSE_SYNC>
+    <ENCRYPTION>0</ENCRYPTION>
+    <SYMMETRIC_OPT>1</SYMMETRIC_OPT>
+  </FEATURES>
+  <LIMITS>
+    <MAXCHAINDEPTH>2</MAXCHAINDEPTH>
+    <MAXLICENSESIZE>10240</MAXLICENSESIZE>
+    <MAXHEADERSIZE>5120</MAXHEADERSIZE>
+  </LIMITS><PUBLICKEY>I8W51j7/UJL5WJ+QJu7+GUa64VcpBHgMEnr43DtpyngoEHRjBra7QQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>HLDGCzBvXiPfPbql58eK/1TbUnNe6Kn61xP7aIWeQ+ncNrn1msebLg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>2871</AUTH_ID><PUBLICKEY>De+jIoIGhX264uaAbht0Ws+G+W/JTFM72xIL4oYikI1JHK2Rx+I5Ng==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>bq1wzzsLHdXHNJTpROWkl4WKEy73sUP1OSD76tj4W1XIojygOKMnHg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>GcNJaTe1P4BBk0zC0u+MIpg6KQaM+pO2kK04g8sdiOBtqZYPquvDcg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+
+Device description WMPInfo.xml file:
+<DeviceInfo>
+    <WMP DeviceID="{DB0CA888-31E0-47B3-8F12-0419173403C2}" RelationshipID="{53FCCB67-737B-43D6-8E17-14283B906B22}"/>
+</DeviceInfo>
+
+PTP: Closing session
+OK.
+
diff --git a/logs/mtp-detect-creative-zen-pmc.txt b/logs/mtp-detect-creative-zen-pmc.txt
new file mode 100644
index 0000000..db52d78
--- /dev/null
+++ b/logs/mtp-detect-creative-zen-pmc.txt
@@ -0,0 +1,334 @@
+libmtp version: 0.2.6.1
+
+Attempting to connect device(s)
+PTP: Opening session
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 255
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 041e
+   idProduct: 4123
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000001
+Microsoft device descriptor 0xee:
+        0000: 1203 4d00 5300 4600 5400 3100 3000 3000   ..M.S.F.T.1.0.0.
+        0010: fe00                                      ..
+Microsoft device response to control message 1, CMD 0xfe:
+        0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............
+        0010: 0001 4d54 5000 0000 0000 0000 0000 0000   ..MTP...........
+        0020: 0000 0000 0000 0000                       ........
+Potential MTP Device with VendorID:041e and ProductID:4123 responded to control message 2 with a response that was too short. Problems may arrise but continuing
+Device info:
+   Manufacturer: Creative Technology Ltd
+   Model: Zen Portable Media Center
+   Device version: PMC: 1.0 (292:130322); Platform: 1.3 (5.12)
+   Serial number: 468a40dd - 00020801 - 3800bc9c - d646df6f
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 10.0;
+   Detected object size: 32 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   1019: Move object
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9807: Get interdependent property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9201: Report Added/Deleted Items
+Events supported:
+   None.
+Device Properties Supported:
+   0xd101: Secure Time
+   0xd401: Synchronization Partner
+   0x5001: Battery Level
+   0xd102: Device Certificate
+   0xd402: Friendly Device Name
+Playable File (Object) Types and Object Properties Supported:
+   3009: MP3
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc8a: Rating UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 1500000, STEP 1 READ ONLY
+      dc9a: AlbumName STRING data type READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc95: MetaGenre UINT16 data type ANY 16BIT VALUE form GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+   b901: WMA
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc8a: Rating UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 1500000, STEP 1 READ ONLY
+      dc9a: AlbumName STRING data type READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc95: MetaGenre UINT16 data type ANY 16BIT VALUE form GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+   300c: ASF
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc8a: Rating UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4b: CopyrightInformation array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      de97: ScanDepth UINT16 data type enumeration: 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type ANY 16BIT VALUE form GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 1, MAX 800000, STEP 1 READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc95: MetaGenre UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9e: KeyFrameDistance UINT32 data type enumeration: 3,  READ ONLY
+      dc9e: SubDescription array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc98: Subtitle STRING data type GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      dc94: ParentalRating STRING data type GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 353,  READ ONLY
+      de92: BitRateType UINT16 data type enumeration: 3,  READ ONLY
+      de9f: BufferSize UINT32 data type enumeration: 3,  READ ONLY
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 15000, MAX 30000, STEP 1 READ ONLY
+      dea0: EncodingQuality UINT32 data type enumeration: 50,  READ ONLY
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 827739479, 844516695, 861293911, 1347833175,  READ ONLY
+      de9c: VideoBitRate UINT32 data type range: MIN 1, MAX 736000, STEP 1 READ ONLY
+   b981: WMV
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc8a: Rating UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4b: CopyrightInformation array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      de97: ScanDepth UINT16 data type enumeration: 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type ANY 16BIT VALUE form GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 1, MAX 800000, STEP 1 READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc95: MetaGenre UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9e: KeyFrameDistance UINT32 data type enumeration: 3,  READ ONLY
+      dc9e: SubDescription array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc98: Subtitle STRING data type GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      dc94: ParentalRating STRING data type GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 353,  READ ONLY
+      de92: BitRateType UINT16 data type enumeration: 2, 3,  READ ONLY
+      de9f: BufferSize UINT32 data type enumeration: 3,  READ ONLY
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 15000, MAX 30000, STEP 1 READ ONLY
+      dea0: EncodingQuality UINT32 data type enumeration: 50,  READ ONLY
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 827739479, 844516695, 861293911, 1347833175, 844125783,  READ ONLY
+      de9c: VideoBitRate UINT32 data type range: MIN 1, MAX 736000, STEP 1 READ ONLY
+   3801: JPEG
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc09: DateModified STRING data type GET/SET
+      dc8a: Rating UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+      dc08: DateCreated STRING data type GET/SET
+   3001: Association/Directory
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc09: DateModified STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+   ba03: Abstract Audio Album
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 320, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc09: DateModified STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc09: DateModified STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+   3000: Undefined Type
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc09: DateModified STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+   b802: Firmware
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc09: DateModified STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 19841679360
+      FreeSpaceInBytes: 13992853504
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: PMC HardDisk
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x09000002
+   Default playlist folder: 0x090000a0
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x09000007
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Battery level 85 of 100 (85%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   Microsoft Advanced Systems Format
+   Microsoft Windows Media Video
+   JPEG file
+   Firmware file
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20090126 15:59:10Z#</VALUE><FLAG>DRM_CLK_NEEDS_REFRESH</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">I0bmPv4Y0HfNXzIjBa/PYycH2tc=</UNIQUEID><PUBLICKEY private="1">e1IT6W/5VRSSlOmzEFTwYW7iYneoOYNYk4N0Z6JMrGdDjhN91cxhZw==</PUBLICKEY><KEYDATA>jr96ej1eM3ySU/pOKsH8OH5e3N0=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>Q4kKNCjEyifQR16hYcNut9aJ+0rzp96M2ydr9fqF4ODB3eQoNvueaw==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>DhLnT6rHenq72J3HkEWAkutThoY=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.101.1</SECURITYVERSION><CERTIFICATE private="1">e1IT6W/5VRSSlOmzEFTwYW7iYneoOYNYk4N0Z6JMrGdDjhN91cxhZwIEZQHdeZ8CBTwW9demSrALSCQ1KuDtajy8pAgGj61prcdBR5z8HWYx9v2H</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>Zen Portable Media Center</NAME>
+<MANUFACTURER>Creative Technology Ltd.</MANUFACTURER>
+<MODEL>PMC-HD0001</MODEL><SECURITYLEVEL>2000</SECURITYLEVEL><HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR><HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR><FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR><FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR><FEATURES><CLOCK>2</CLOCK>
+<SECURECLOCK><URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL><PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY></SECURECLOCK><METERING>1</METERING><LICENSE_ACQ>0</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>0</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT></FEATURES><LIMITS><MAXCHAINDEPTH>2</MAXCHAINDEPTH><MAXLICENSESIZE>10240</MAXLICENSESIZE><MAXHEADERSIZE>5120</MAXHEADERSIZE></LIMITS><PUBLICKEY>aH!t1TTDvlggK2kDp55oQfKqqgJdWz4w6IZSE8gr1ObCT2Kle8UnPA==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>DXdQxutKyTkyAFBZo04b4dUYQi8PFTOy5uqA/nL3247mdZqx8s7DWA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>101</AUTH_ID><PUBLICKEY>WMR8Uct80dL6v5fANe5xvEclVyjYm*Z5lclCcP*FDrBJgG2OEFB*dg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>SK2D0AS5mG0qo33sDgddidfb54QhiLSo88HcMFK*8tEag!!fezugew==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>Io0kNadzJAsSZdlhn!LYZIFdLBtfdg0O83BOP9yUr7HwBfMFLIlGWQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
diff --git a/logs/mtp-detect-creative-zen-vision-M-DVP-HD0004.txt b/logs/mtp-detect-creative-zen-vision-M-DVP-HD0004.txt
new file mode 100644
index 0000000..15efd05
--- /dev/null
+++ b/logs/mtp-detect-creative-zen-vision-M-DVP-HD0004.txt
@@ -0,0 +1,474 @@
+libmtp version: 0.2.1
+
+Attempting to connect device(s)
+PTP: Opening session
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 255
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 041e
+   idProduct: 4151
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+        0000: 1203 4d00 5300 4600 5400 3100 3000 3000   ..M.S.F.T.1.0.0.
+        0010: fe00                                      ..
+Microsoft device response to control message 1, CMD 0xfe:
+        0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............
+        0010: 0001 4d54 5000 0000 0000 0000 0000 0000   ..MTP...........
+        0020: 0000 0000 0000 0000                       ........
+Microsoft device response to control message 2, CMD 0xfe:
+        0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............
+        0010: 0001 4d54 5000 0000 0000 0000 0000 0000   ..MTP...........
+        0020: 0000 0000 0000 0000                       ........
+Device info:
+   Manufacturer: Creative Technology Ltd
+   Model: Creative ZEN Vision:M (DVP-HD0004)
+   Device version: 1.21.02_0.00.25
+   Serial number: 00023C043B753AF9E0557A0BF57B359B
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0;microsoft.com/WMPPD: 10.0;microsoft.com/WMDRMPD: 10.1;audible.com: 1.0;
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1007: Get object handles
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   1006: Get number of objects
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   1010: Reset device
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9807: Get interdependent property description
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Device Friendly Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd201: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3009: MP3
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   b901: WMA
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 505000, STEP 1 READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   3008: MS Wave
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   b904: Audible.com Codec
+      da01: unknown(da01) UINT32 data type enumeration: 2, 4,  GET/SET
+      da02: unknown(da02) array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      da03: unknown(da03) UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   ba01: Abstract Multimedia Album
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   ba03: Abstract Audio Album
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 80, STEP 1 READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 24576, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 80, STEP 1 READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   3801: JPEG
+      dc88: Height UINT32 data type range: MIN 0, MAX 3328, STEP 1 GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 8192, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 4992, STEP 1 GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   300a: MS AVI
+      de99: AudioWAVECodec UINT32 data type enumeration: 80, 85, 17, 1,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 1536000, STEP 1 READ ONLY
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 20, MAX 30000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 576, STEP 1 GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 0, MAX 9500000, STEP 1 READ ONLY
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 844515635, 1482049860, 808802372, 1196444237, 1446137933, 1395937357, 1195724877, 1145656920,  READ ONLY
+      de9c: VideoBitRate UINT32 data type range: MIN 0, MAX 9500000, STEP 1 READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 8192, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   300c: ASF
+      de99: AudioWAVECodec UINT32 data type enumeration: 80, 85, 352, 353, 17, 1,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 1536000, STEP 1 READ ONLY
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 20, MAX 30000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 576, STEP 1 GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 0, MAX 9500000, STEP 1 READ ONLY
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 1482049860, 808802372, 1196444237, 1446137933, 1395937357, 1195724877, 861293911, 1145656920,  READ ONLY
+      de9c: VideoBitRate UINT32 data type range: MIN 0, MAX 9500000, STEP 1 READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 8192, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   b982: MP4
+      de99: AudioWAVECodec UINT32 data type enumeration: 80, 85, 17, 1,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 1536000, STEP 1 READ ONLY
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 20, MAX 30000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 576, STEP 1 GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 0, MAX 9500000, STEP 1 READ ONLY
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 808802372, 1196444237, 1446137933, 1395937357, 1195724877, 1145656920,  READ ONLY
+      de9c: VideoBitRate UINT32 data type range: MIN 0, MAX 9500000, STEP 1 READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 8192, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   300b: MPEG
+      de99: AudioWAVECodec UINT32 data type enumeration: 80, 85,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 384000, STEP 1 READ ONLY
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 20, MAX 30000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 480, STEP 1 GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 0, MAX 9500000, STEP 1 READ ONLY
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 1446137933, 1195724877,  READ ONLY
+      de9c: VideoBitRate UINT32 data type range: MIN 0, MAX 2500000, STEP 1 READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 8192, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   b981: WMV
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 20, MAX 30000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 0, MAX 850000, STEP 1 READ ONLY
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911,  READ ONLY
+      de9c: VideoBitRate UINT32 data type range: MIN 0, MAX 802000, STEP 1 READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 8192, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   bb83: vCard3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   be03: vCalendar2
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   b802: Firmware
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 59958689792
+      FreeSpaceInBytes: 20247904256
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Storage Media
+      VolumeIdentifier: 00023C043B753AF9E0557A0BF57B359B
+Special directories:
+   Default music folder: 0x0000005c
+   Default playlist folder: 0x00000060
+   Default picture folder: 0x0000006c
+   Default video folder: 0x00000070
+   Default organizer folder: 0x00000068
+   Default zencast folder: 0x00000078
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: Ewoud Van Raamsdonk
+   Synchronization partner: (NULL)
+   Battery level 178 of 255 (69%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   RIFF WAVE file
+   Audible.com Audio Codec
+   JPEG file
+   Audio Video Interleave
+   Microsoft Advanced Systems Format
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+   MPEG video stream
+   Microsoft Windows Media Video
+   VCard version 3
+   VCalendar version 2
+   Firmware file
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20051210 14:47:11Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">BDwCAPk6dTsLelXgmzV79QAAAAA=</UNIQUEID><PUBLICKEY private="1">lmV037sZ0Rw9QuKjAvDW+Pqk1Dz9+vvEvDi/Fk0G7xNaJiKjO1QkMA==</PUBLICKEY><KEYDATA>jOkGc9kVrzZE7GJkuQJoSm8Mr3E=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>81g2njx8uQGOMicv9cHJDKX7fIQSI95hvzFtnPO8keib3fzhHtCEDA==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>sepxGvimlQ+nkK6G60ISabnj8bw=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.104.235</SECURITYVERSION><CERTIFICATE private="1">lmV037sZ0Rw9QuKjAvDW+Pqk1Dz9+vvEvDi/Fk0G7xNaJiKjO1QkMAIEaOsflkmyvfma1OALmEWiME9UxcGtctiuQ/rPELGtkQ36d5ojCDmv9Yhm</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>Creative ZEN Vision:M (DVP-HD0004)</NAME>
+  <MANUFACTURER>CL Direct Pte Ltd.</MANUFACTURER>
+  <MODEL>DVP-HD0004</MODEL>
+  <SECURITYLEVEL>2000</SECURITYLEVEL>
+  <HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR>
+  <HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR>
+  <FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR>
+  <FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>
+  <FEATURES>
+    <CLOCK>2</CLOCK>
+    <SECURECLOCK>
+      <URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL>
+      <PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY>
+    </SECURECLOCK>
+    <METERING>1</METERING>
+    <LICENSE_ACQ>0</LICENSE_ACQ>
+    <LICENSE_SYNC>1</LICENSE_SYNC>
+    <ENCRYPTION>0</ENCRYPTION>
+    <SYMMETRIC_OPT>1</SYMMETRIC_OPT>
+  </FEATURES>
+  <LIMITS>
+    <MAXCHAINDEPTH>2</MAXCHAINDEPTH>
+    <MAXLICENSESIZE>10240</MAXLICENSESIZE>
+    <MAXHEADERSIZE>5120</MAXHEADERSIZE>
+  </LIMITS><PUBLICKEY>S5DlXEt+k1JXZ2VcBQquRBMEtiNKOeS1ZUHO46p7323ZxV2TlX2+Mg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>YC1n+SVlH9HMrfOK/yLFyWxYxxQ1864vr8K0RYtxkI6RfIVxQHD9eA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1103</AUTH_ID><PUBLICKEY>o+njTe9olvrYzas3caoinvqokFzMg3sG1Uple1+CIhBCfPXCVz6EJA==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>RJp/keIANZ8FfImo/RCUHMoQtROQhjjlB1vNO6VmBO6qGPJN7nrSHg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>Qia46akVEpOGwQYb6V7tQf/loioowm/PFNvMgSamZUmMcBIcDGP7MQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+WMPInfo.xml Does not exist on this device
+PTP: Closing session
+inep: usb_get_endpoint_status(): Connection timed out
+outep: usb_get_endpoint_status(): Connection timed out
+usb_clear_halt() on IN endpoint: Connection timed out
+usb_clear_halt() on OUT endpoint: Connection timed out
+usb_clear_halt() on INTERRUPT endpoint: Connection timed out
+OK.
+
diff --git a/logs/mtp-detect-creative-zen-vision-M.txt b/logs/mtp-detect-creative-zen-vision-M.txt
new file mode 100644
index 0000000..a0b0437
--- /dev/null
+++ b/logs/mtp-detect-creative-zen-vision-M.txt
@@ -0,0 +1,481 @@
+libmtp version: 0.2.1
+
+Attempting to connect device(s)
+PTP: Opening session
+Detect: Successfully connected 1 devices
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 255
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 041e
+   idProduct: 413e
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000040
+Microsoft device descriptor 0xee:
+        0000: 1203 4d00 5300 4600 5400 3100 3000 3000   ..M.S.F.T.1.0.0.
+        0010: fe00                                      ..
+Microsoft device response to control message 1, CMD 0xfe:
+        0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............
+        0010: 0001 4d54 5000 0000 0000 0000 0000 0000   ..MTP...........
+        0020: 0000 0000 0000 0000                       ........
+Microsoft device response to control message 2, CMD 0xfe:
+        0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............
+        0010: 0001 4d54 5000 0000 0000 0000 0000 0000   ..MTP...........
+        0020: 0000 0000 0000 0000                       ........
+Device info:
+   Manufacturer: Creative Technology Ltd
+   Model: Creative Zen Vision:M
+   Device version: 1.62.02_0.00.23
+   Serial number: 00023C02D3940BBCACAFEE5DCCED879A
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0;microsoft.com/WMPPD: 10.0;microsoft.com/WMDRMPD: 10.1;audible.com: 1.0;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1007: Get object handles
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   1006: Get number of objects
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   1010: Reset device
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9807: Get interdependent property description
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd201: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3009: MP3
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   b901: WMA
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 505000, STEP 1 READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   3008: MS Wave
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   b904: Audible.com Codec
+      da01: unknown(da01) UINT32 data type enumeration: 2, 4,  GET/SET
+      da02: unknown(da02) array of UINT16 data type ANY 16BIT VALUE form GET/SET
+Unknown OPFF type 4
+      da03: unknown(da03) UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   ba01: Abstract Multimedia Album
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   ba03: Abstract Audio Album
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+Unknown OPFF type 6
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 80, STEP 1 READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 24576, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 80, STEP 1 READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   3801: JPEG
+      dc88: Height UINT32 data type range: MIN 0, MAX 3328, STEP 1 GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+Unknown OPFF type 6
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 8192, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 4992, STEP 1 GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   300a: MS AVI
+      de99: AudioWAVECodec UINT32 data type enumeration: 80, 85, 17, 1,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 1536000, STEP 1 READ ONLY
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 20, MAX 30000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 576, STEP 1 GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 0, MAX 9500000, STEP 1 READ ONLY
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 844515635, 1482049860, 808802372, 1196444237, 1446137933, 1395937357, 1195724877, 1145656920,  READ ONLY
+      de9c: VideoBitRate UINT32 data type range: MIN 0, MAX 9500000, STEP 1 READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+Unknown OPFF type 6
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 8192, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   300c: ASF
+      de99: AudioWAVECodec UINT32 data type enumeration: 80, 85, 352, 353, 17, 1,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 1536000, STEP 1 READ ONLY
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 20, MAX 30000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 576, STEP 1 GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 0, MAX 9500000, STEP 1 READ ONLY
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 1482049860, 808802372, 1196444237, 1446137933, 1395937357, 1195724877, 861293911, 1145656920,  READ ONLY
+      de9c: VideoBitRate UINT32 data type range: MIN 0, MAX 9500000, STEP 1 READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+Unknown OPFF type 6
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 8192, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   b982: MP4
+      de99: AudioWAVECodec UINT32 data type enumeration: 80, 85, 17, 1,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 1536000, STEP 1 READ ONLY
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 20, MAX 30000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 576, STEP 1 GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 0, MAX 9500000, STEP 1 READ ONLY
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 808802372, 1196444237, 1446137933, 1395937357, 1195724877, 1145656920,  READ ONLY
+      de9c: VideoBitRate UINT32 data type range: MIN 0, MAX 9500000, STEP 1 READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+Unknown OPFF type 6
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 8192, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   300b: MPEG
+      de99: AudioWAVECodec UINT32 data type enumeration: 80, 85,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 384000, STEP 1 READ ONLY
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 20, MAX 30000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 480, STEP 1 GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 0, MAX 9500000, STEP 1 READ ONLY
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 1446137933, 1195724877,  READ ONLY
+      de9c: VideoBitRate UINT32 data type range: MIN 0, MAX 2500000, STEP 1 READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+Unknown OPFF type 6
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 8192, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   b981: WMV
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 20, MAX 30000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 0, MAX 850000, STEP 1 READ ONLY
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911,  READ ONLY
+      de9c: VideoBitRate UINT32 data type range: MIN 0, MAX 802000, STEP 1 READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+Unknown OPFF type 6
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 8192, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   bb83: vCard3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   be03: vCalendar2
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   b802: Firmware
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 29952966656
+      FreeSpaceInBytes: 12777095168
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Storage Media
+      VolumeIdentifier: 00023C02D3940BBCACAFEE5DCCED879A
+Special directories:
+   Default music folder: 0x00000058
+   Default playlist folder: 0x000dacfa
+   Default picture folder: 0x00000068
+   Default video folder: 0x0000006c
+   Default organizer folder: 0x00000064
+   Default zencast folder: 0x00007edd
+   Default album folder: 0x000dacc3
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: Richard Low
+   Synchronization partner: {378A352A-41E8-457F-B6F8-3954579F9561}
+   Battery level 244 of 255 (95%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   RIFF WAVE file
+   Audible.com Audio Codec
+   JPEG file
+   Audio Video Interleave
+   Microsoft Advanced Systems Format
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+   MPEG video stream
+   Microsoft Windows Media Video
+   VCard version 3
+   VCalendar version 2
+   Firmware file
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20071004 20:46:41Z#</VALUE><FLAG>DRM_CLK_NEEDS_REFRESH</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">AjwCALwLlNNd7q+smoftzAAAAAA=</UNIQUEID><PUBLICKEY private="1">fxBC9Zvpd1LJ8wk57vdq37JiwV8aaKy7nLmynvNBAAFp9pCywNU/Uw==</PUBLICKEY><KEYDATA>38H0+JbPigvu8Qh4qt4W0dJTkPY=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>K7SywRriplbyhnaEnroJZir+gD94nZBEDeB8pQMC++kyrncJo68HNA==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>v1TfCeWencbZ5fhzUxJuGHbQL9Y=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.103.61</SECURITYVERSION><CERTIFICATE private="1">fxBC9Zvpd1LJ8wk57vdq37JiwV8aaKy7nLmynvNBAAFp9pCywNU/UwIEZz0J2L4cW4iF03/W9wYFy1C+PxdtU1GK1TpqVN9qL+k/EbcwuV/AVTB2</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>Creative Zen Vision:M</NAME>
+  <MANUFACTURER>CL Direct Pte Ltd.</MANUFACTURER>
+  <MODEL>DVP-HD0003</MODEL>
+  <SECURITYLEVEL>2000</SECURITYLEVEL>
+  <HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR>
+  <HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR>
+  <FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR>
+  <FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>
+  <FEATURES>
+    <CLOCK>2</CLOCK>
+    <SECURECLOCK>
+      <URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL>
+      <PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY>
+    </SECURECLOCK>
+    <METERING>1</METERING>
+    <LICENSE_ACQ>0</LICENSE_ACQ>
+    <LICENSE_SYNC>1</LICENSE_SYNC>
+    <ENCRYPTION>0</ENCRYPTION>
+    <SYMMETRIC_OPT>1</SYMMETRIC_OPT>
+  </FEATURES>
+  <LIMITS>
+    <MAXCHAINDEPTH>2</MAXCHAINDEPTH>
+    <MAXLICENSESIZE>10240</MAXLICENSESIZE>
+    <MAXHEADERSIZE>5120</MAXHEADERSIZE>
+  </LIMITS><PUBLICKEY>Zyqn8gWDO+E0O5uFWAITnXpHrzfRKPtanLWS4c0CWBv4HVL8VMm0QQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>g27HSbQgG+GZO2dlcOK0qdK/Ql+5HU7kWCXnqSDDHko5fruJpT/pVQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>673</AUTH_ID><PUBLICKEY>apoWlp0LevRxXWHcSskvn/VSsG5YjXoM7Bya7bMdc0GO3VM9fxhIgw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>MJmLft7Asiwh9iDeM/VogDjM4G5U6x0E1Vws11mQN0yJjBMkGWRZVQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>dhVs0/oSDCgWs5g9yvEdkRatr1eLsaMe7Kws0MwaOWWebmtq1TZABQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+
+Device description WMPInfo.xml file:
+<DeviceInfo>
+    <WMP DeviceID="{BB1CC743-3387-493F-9570-04937E49F62C}" RelationshipID="{378A352A-41E8-457F-B6F8-3954579F9561}"/>
+</DeviceInfo>
+
+PTP: Closing session
+OK.
\ No newline at end of file
diff --git a/logs/mtp-detect-creative-zen-vision-W.txt b/logs/mtp-detect-creative-zen-vision-W.txt
new file mode 100644
index 0000000..0de9cc3
--- /dev/null
+++ b/logs/mtp-detect-creative-zen-vision-W.txt
@@ -0,0 +1,388 @@
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 255
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 041e
+   idProduct: 4153
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000000
+Device info:
+   Manufacturer: Creative Technology Ltd
+   Model: Creative ZEN Vision W
+   Device version: 1.01.02_0.00.24
+   Serial number: 00023C03E4549F5DE96ACF53DF68FBB4
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0;microsoft.com/WMPPD: 10.0;microsoft.com/WMDRMPD: 10.1;audible.com: 1.0; 
+Supported operations:
+   1001: Get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1007: Get object handles
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   1006: Get number of objects
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   1010: Reset device
+   1016: Set device property value
+   1017: Reset device property value
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9807: Get interdependent property description
+   9810: Get object references
+   9811: Set object references
+   9201: Unknown(9201)
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Set meter response
+   9108: Clean data store
+   9109: Get license state
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Device Friendly Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd201: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3009: MP3
+      de99: AudioWAVECodec
+      de9a: AudioBitRate
+      dc46: Artist
+      dc89: Duration
+      dc8b: Track
+      dc8c: Genre
+      dc99: OriginalReleaseDate
+      dc9a: AlbumName
+      de93: SampleRate
+      de94: NumberOfChannels
+      de95: AudioBitDepth
+      dc91: UseCount
+      dc8a: Rating
+      d901: unknown(d901)
+      dc01: StorageID
+      dc0b: ParentObject
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+   b901: WMA
+      de99: AudioWAVECodec
+      de9a: AudioBitRate
+      dc46: Artist
+      dc89: Duration
+      dc8b: Track
+      dc8c: Genre
+      dc99: OriginalReleaseDate
+      dc9a: AlbumName
+      de93: SampleRate
+      de94: NumberOfChannels
+      de95: AudioBitDepth
+      dc91: UseCount
+      dc8a: Rating
+      d901: unknown(d901)
+      dc01: StorageID
+      dc0b: ParentObject
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+   3008: MS Wave
+      dc46: Artist
+      dc89: Duration
+      dc8b: Track
+      dc8c: Genre
+      dc99: OriginalReleaseDate
+      dc9a: AlbumName
+      de93: SampleRate
+      de94: NumberOfChannels
+      de95: AudioBitDepth
+      dc91: UseCount
+      dc8a: Rating
+      d901: unknown(d901)
+      dc01: StorageID
+      dc0b: ParentObject
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+   b904: Audible.com Codec
+      da01: unknown(da01)
+      da02: unknown(da02)
+      da03: unknown(da03)
+      dc46: Artist
+      dc89: Duration
+      dc8b: Track
+      dc8c: Genre
+      dc99: OriginalReleaseDate
+      dc9a: AlbumName
+      de93: SampleRate
+      de94: NumberOfChannels
+      de95: AudioBitDepth
+      dc91: UseCount
+      dc8a: Rating
+      d901: unknown(d901)
+      dc01: StorageID
+      dc0b: ParentObject
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID
+      dc0b: ParentObject
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+   ba01: Abstract Multimedia Album
+      dc01: StorageID
+      dc0b: ParentObject
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+   ba03: Abstract Audio Album
+      dc86: RepresentativeSampleData
+      dc81: RepresentativeSampleFormat
+      dc83: RepresentativeSampleHeight
+      dc82: RepresentativeSampleSize
+      dc84: RepresentativeSampleWidth
+      dc01: StorageID
+      dc0b: ParentObject
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+   3801: JPEG
+      dc88: Height
+      dc86: RepresentativeSampleData
+      dc81: RepresentativeSampleFormat
+      dc83: RepresentativeSampleHeight
+      dc82: RepresentativeSampleSize
+      dc84: RepresentativeSampleWidth
+      dc87: Width
+      dc01: StorageID
+      dc0b: ParentObject
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+   300a: MS AVI
+      de99: AudioWAVECodec
+      de9a: AudioBitRate
+      de9d: FramesPerThousandSeconds
+      dc88: Height
+      de91: TotalBitRate
+      de9b: VideoFourCCCodec
+      de9c: VideoBitRate
+      dc87: Width
+      dc86: RepresentativeSampleData
+      dc81: RepresentativeSampleFormat
+      dc83: RepresentativeSampleHeight
+      dc82: RepresentativeSampleSize
+      dc84: RepresentativeSampleWidth
+      dc89: Duration
+      de93: SampleRate
+      de94: NumberOfChannels
+      de95: AudioBitDepth
+      dc01: StorageID
+      dc0b: ParentObject
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+   300c: ASF
+      de99: AudioWAVECodec
+      de9a: AudioBitRate
+      de9d: FramesPerThousandSeconds
+      dc88: Height
+      de91: TotalBitRate
+      de9b: VideoFourCCCodec
+      de9c: VideoBitRate
+      dc87: Width
+      dc86: RepresentativeSampleData
+      dc81: RepresentativeSampleFormat
+      dc83: RepresentativeSampleHeight
+      dc82: RepresentativeSampleSize
+      dc84: RepresentativeSampleWidth
+      dc89: Duration
+      de93: SampleRate
+      de94: NumberOfChannels
+      de95: AudioBitDepth
+      dc01: StorageID
+      dc0b: ParentObject
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+   b982: MP4
+      de99: AudioWAVECodec
+      de9a: AudioBitRate
+      de9d: FramesPerThousandSeconds
+      dc88: Height
+      de91: TotalBitRate
+      de9b: VideoFourCCCodec
+      de9c: VideoBitRate
+      dc87: Width
+      dc86: RepresentativeSampleData
+      dc81: RepresentativeSampleFormat
+      dc83: RepresentativeSampleHeight
+      dc82: RepresentativeSampleSize
+      dc84: RepresentativeSampleWidth
+      dc89: Duration
+      de93: SampleRate
+      de94: NumberOfChannels
+      de95: AudioBitDepth
+      dc01: StorageID
+      dc0b: ParentObject
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+   300b: MPEG
+      de99: AudioWAVECodec
+      de9a: AudioBitRate
+      de9d: FramesPerThousandSeconds
+      dc88: Height
+      de91: TotalBitRate
+      de9b: VideoFourCCCodec
+      de9c: VideoBitRate
+      dc87: Width
+      dc86: RepresentativeSampleData
+      dc81: RepresentativeSampleFormat
+      dc83: RepresentativeSampleHeight
+      dc82: RepresentativeSampleSize
+      dc84: RepresentativeSampleWidth
+      dc89: Duration
+      de93: SampleRate
+      de94: NumberOfChannels
+      de95: AudioBitDepth
+      dc01: StorageID
+      dc0b: ParentObject
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+   b981: WMV
+      de99: AudioWAVECodec
+      de9a: AudioBitRate
+      de9d: FramesPerThousandSeconds
+      dc88: Height
+      de91: TotalBitRate
+      de9b: VideoFourCCCodec
+      de9c: VideoBitRate
+      dc87: Width
+      dc86: RepresentativeSampleData
+      dc81: RepresentativeSampleFormat
+      dc83: RepresentativeSampleHeight
+      dc82: RepresentativeSampleSize
+      dc84: RepresentativeSampleWidth
+      dc89: Duration
+      de93: SampleRate
+      de94: NumberOfChannels
+      de95: AudioBitDepth
+      dc01: StorageID
+      dc0b: ParentObject
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+   bb83: vCard3
+      dc01: StorageID
+      dc0b: ParentObject
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+   be03: vCalendar2
+      dc01: StorageID
+      dc0b: ParentObject
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+   3000: Undefined Type
+      dc01: StorageID
+      dc0b: ParentObject
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+   3001: Association/Directory
+      dc01: StorageID
+      dc0b: ParentObject
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+   b802: Firmware
+      dc01: StorageID
+      dc0b: ParentObject
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+Special directories:
+   Default music folder: 0x0000005c
+   Default playlist folder: 0x00000060
+   Default picture folder: 0x0000006c
+   Default video folder: 0x00000070
+   Default organizer folder: 0x00000068
+   Default zencast folder: 0x00000078
diff --git a/logs/mtp-detect-creative-zen-x-fi.txt b/logs/mtp-detect-creative-zen-x-fi.txt
new file mode 100644
index 0000000..6f49813
--- /dev/null
+++ b/logs/mtp-detect-creative-zen-x-fi.txt
@@ -0,0 +1,650 @@
+libmtp version: 0.3.0
+
+Listing raw device(s)
+Device 0 (VID=041e and PID=4162) is UNKNOWN.
+Please report this VID/PID and the device model to the
+libmtp development team
+   Found 1 device(s):
+   041e:4162 @ bus 0, dev 4
+Attempting to connect device(s)
+PTP: Opening session
+Error 2: PTP Layer error 02ff: get_all_metadata_fast():
+could not get proplist of all objects.
+Error 2: (Look this up in ptp.h for an explanation.)
+Error 2: PTP Layer error 02ff: get_handles_recursively():
+could not get object handles.
+Error 2: (Look this up in ptp.h for an explanation.)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 255
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 041e
+   idProduct: 4162
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 4
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x041e
+         Product: (null)
+         Vendor id: 0x4162
+         Device flags: 0x00000000
+Device info:
+   Manufacturer: Creative Technology Ltd
+   Model: Creative ZEN X-Fi
+   Device version: 1.04.08_1.03.03
+   Serial number: 130300006B749DAF0002D409F474DDAF
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com:
+1.0;microsoft.com/WMPPD: 10.0;microsoft.com/WMDRMPD:
+10.1;audible.com: 1.0;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1007: Get object handles
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   1006: Get number of objects
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   1010: Reset device
+   1012: Set object protection
+   1016: Set device property value
+   1017: Reset device property value
+   1019: Move object
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9807: Get interdependent property description
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   0x4006
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd201: Unknown property
+   0xd001: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3009: MP3
+   b901: WMA
+   3008: MS Wave
+   b904: Audible.com Codec
+   b982: MP4
+   ba03: Abstract Audio Album
+   ba05: Abstract Audio Video Playlist
+   ba01: Abstract Multimedia Album
+   3801: JPEG
+   300a: MS AVI
+   300c: ASF
+   b981: WMV
+   bb83: vCard3
+   be03: vCalendar2
+   b802: Firmware
+   3000: Undefined Type
+   3001: Association/Directory
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 32127975424
+      FreeSpaceInBytes: 8015151104
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Storage Media
+      VolumeIdentifier: 130300006B749DAF0002D409F474DDAF
+Special directories:
+   Default music folder: 0x00000000
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   RIFF WAVE file
+   Audible.com Audio Codec
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+   JPEG file
+   Audio Video Interleave
+   Microsoft Advanced Systems Format
+   Microsoft Windows Media Video
+   VCard version 3
+   VCalendar version 2
+   Firmware file
+Unable to acquire device certificate, perhaps this device
+does not support this
+Error 2: PTP Layer error 02ff:
+get_device_unicode_property(): failed to get unicode property.
+Error 2: (Look this up in ptp.h for an explanation.)
+WMPInfo.xml Does not exist on this device
+PTP: Closing session
+ERROR: Could not close session!
+inep: usb_get_endpoint_status(): Protocol error
+outep: usb_get_endpoint_status(): Protocol error
+usb_clear_halt() on IN endpoint: Protocol error
+usb_clear_halt() on OUT endpoint: Protocol error
+usb_clear_halt() on INTERRUPT endpoint: Protocol error
+OK.
+
+
+
+libmtp version: 0.2.5
+
+Attempting to connect device(s)
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 255
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 041e
+   idProduct: 4162
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: fe00                                   	..
+Microsoft device response to control message 1, CMD 0xfe:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Microsoft device response to control message 2, CMD 0xfe:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Device info:
+   Manufacturer: Creative Technology Ltd
+   Model: Creative ZEN X-Fi
+   Device version: 1.03.01_1.03.01
+   Serial number: 330800010F208B970002D42165090B97
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0;microsoft.com/WMPPD: 10.0;microsoft.com/WMDRMPD: 10.1;audible.com: 1.0;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1007: Get object handles
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   1006: Get number of objects
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   1010: Reset device
+   1012: Set object protection
+   1016: Set device property value
+   1017: Reset device property value
+   1019: Move object
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9807: Get interdependent property description
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   0x4006
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd201: Unknown property
+   0xd001: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3009: MP3
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 505000, STEP 1 READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3008: MS Wave
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b904: Audible.com Codec
+      da01: unknown(da01) UINT32 data type enumeration: 2, 3, 4,  GET/SET
+      da02: unknown(da02) array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      da03: unknown(da03) UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b982: MP4
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   ba03: Abstract Audio Album
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 180, STEP 1 READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 24576, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 180, STEP 1 READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   ba01: Abstract Multimedia Album
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3801: JPEG
+      dc88: Height UINT32 data type range: MIN 0, MAX 3328, STEP 1 GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 8192, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 4992, STEP 1 GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   300a: MS AVI
+      de99: AudioWAVECodec UINT32 data type enumeration: 85, 17, 1,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 1536000, STEP 1 READ ONLY
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 20, MAX 30000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 0, MAX 4000000, STEP 1 READ ONLY
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 844515635, 878070084, 1482049860, 808802372, 1196444237, 1145656920,  READ ONLY
+      de9c: VideoBitRate UINT32 data type range: MIN 0, MAX 3000000, STEP 1 READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 8192, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   300c: ASF
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 505000, STEP 1 READ ONLY
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 20, MAX 30000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 0, MAX 850000, STEP 1 READ ONLY
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911,  READ ONLY
+      de9c: VideoBitRate UINT32 data type range: MIN 0, MAX 850000, STEP 1 READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 8192, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b981: WMV
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 505000, STEP 1 READ ONLY
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 20, MAX 30000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 0, MAX 850000, STEP 1 READ ONLY
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911,  READ ONLY
+      de9c: VideoBitRate UINT32 data type range: MIN 0, MAX 850000, STEP 1 READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 8192, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   bb83: vCard3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   be03: vCalendar2
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b802: Firmware
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 16030302208
+      FreeSpaceInBytes: 11305451520
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Storage Media
+      VolumeIdentifier: 330800010F208B970002D42165090B97
+Special directories:
+   Default music folder: 0x00000058
+   Default playlist folder: 0x0000005c
+   Default picture folder: 0x00000068
+   Default video folder: 0x0000006c
+   Default organizer folder: 0x00000064
+   Default zencast folder: 0x00000074
+   Default album folder: 0x000002d2
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: My ZEN
+   Synchronization partner: (NULL)
+   Battery level 201 of 255 (78%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   RIFF WAVE file
+   Audible.com Audio Codec
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+   JPEG file
+   Audio Video Interleave
+   Microsoft Advanced Systems Format
+   Microsoft Windows Media Video
+   VCard version 3
+   VCalendar version 2
+   Firmware file
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20080309 03:51:17Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">AQAIM5eLIA8h1AIAlwsJZQAAAAA=</UNIQUEID><PUBLICKEY private="1">qJvS95Ld8fjliLVYU7YoYBmJEWOI7UW+K4WFUQOXY16+uD1yOLU8dA==</PUBLICKEY><KEYDATA>ihbm/JN0v04ZByTL+d01fU86zcY=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>3bz/jgaemb2VD3Y+RUUXzH6ARAUQ1IDH/jX3t9FP1J5FPhzkQPWoAw==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>ml/HpvSOmykMcFa9/afdTTrC3gA=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.108.193</SECURITYVERSION><CERTIFICATE private="1">qJvS95Ld8fjliLVYU7YoYBmJEWOI7UW+K4WFUQOXY16+uD1yOLU8dAIEbMFdxDP2F6TwEgUVpRLE4fbmJEZXKDFw+kDaNQbjnmr8gaIgDfoimp8A</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>Creative ZEN</NAME>

+  <MANUFACTURER>CL Direct Pte Ltd.</MANUFACTURER>

+  <MODEL>DVP-FL0001</MODEL>

+  <SECURITYLEVEL>2000</SECURITYLEVEL>

+  <HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR>

+  <HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR>

+  <FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR>

+  <FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>

+  <FEATURES>

+    <CLOCK>2</CLOCK>

+    <SECURECLOCK>

+      <URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL>

+      <PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY>

+    </SECURECLOCK>

+    <METERING>1</METERING>

+    <LICENSE_ACQ>0</LICENSE_ACQ>

+    <LICENSE_SYNC>1</LICENSE_SYNC>

+    <ENCRYPTION>0</ENCRYPTION>

+    <SYMMETRIC_OPT>1</SYMMETRIC_OPT>

+  </FEATURES>

+  <LIMITS>

+    <MAXCHAINDEPTH>2</MAXCHAINDEPTH>

+    <MAXLICENSESIZE>10240</MAXLICENSESIZE>

+    <MAXHEADERSIZE>5120</MAXHEADERSIZE>

+  </LIMITS><PUBLICKEY>01jSNo4LLYCkLWpnsvVOxk1wvxbm2krcn20LgpXL9Zf91opCNsMyAQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>DrK/bNN2aO5ImZHdepevdhlT6UePVcdaxTWOMvw/8RYKeQFjSPwWUw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>2085</AUTH_ID><PUBLICKEY>U3xlv/ZHjD1bOwjB+VKpZuAf3UI+x+5XtTYc7TvHKdQeGpyFrOmOEw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>iBzmFZxhy/VC9d2REO5iicO+dguqv8zhB7QPZe0JOj7BNKAwmrQoew==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>Ko25GwcWTT0R8xP4rS9+h4Z/EHX03y7Gb/281mD8U0nQGG3Rk9O+TA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+WMPInfo.xml Does not exist on this device
+OK.
diff --git a/logs/mtp-detect-dexp-ixion-xl145.txt b/logs/mtp-detect-dexp-ixion-xl145.txt
new file mode 100644
index 0000000..e8dafbb
--- /dev/null
+++ b/logs/mtp-detect-dexp-ixion-xl145.txt
@@ -0,0 +1,468 @@
+Device 0 (VID=0bb4 and PID=0c08) is UNKNOWN in libmtp v1.1.11.
+Please report this VID/PID and the device model to the libmtp development team
+Error 1: Get Storage information failed.
+libmtp version: 1.1.11
+
+Listing raw device(s)
+   Found 1 device(s):
+   0bb4:0c08 @ bus 1, dev 10
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0bb4
+   idProduct: 0c08
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 10
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0bb4
+         Product: (null)
+         Vendor id: 0x0c08
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: DEXP
+   Model: XL145
+   Device version: 1.0
+   Serial number: S8AEUWAQDYI7DA7H
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: XL145
+   Synchronization partner: XL145
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-droid-turbo.txt b/logs/mtp-detect-droid-turbo.txt
new file mode 100644
index 0000000..b82c17b
--- /dev/null
+++ b/logs/mtp-detect-droid-turbo.txt
@@ -0,0 +1,508 @@
+libmtp version: 1.1.8
+
+Listing raw device(s)
+   Found 1 device(s):
+   22b8:2ea5 @ bus 2, dev 7
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 22b8
+   idProduct: 2ea5
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 7
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x22b8
+         Product: (null)
+         Vendor id: 0x2ea5
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: motorola
+   Model: XT1254
+   Device version: 1.0
+   Serial number: ZX1F422D45
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0; mot-mobility.com/DSU: 1.2
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+   9001: Unknown (9001)
+   9002: Unknown (9002)
+   9003: Unknown (9003)
+   9004: Unknown (9004)
+   9005: Unknown (9005)
+   9006: Unknown (9006)
+   9007: Unknown (9007)
+   9008: Unknown (9008)
+   9009: Unknown (9009)
+   900a: Unknown (900a)
+   900b: Unknown (900b)
+   900c: Unknown (900c)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 959853128, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 959853128, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 959853128, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 56153276416
+      FreeSpaceInBytes: 53608378368
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+   Microsoft Windows Media Video
+OK.
diff --git a/logs/mtp-detect-fairphone-2os.txt b/logs/mtp-detect-fairphone-2os.txt
new file mode 100644
index 0000000..d340179
--- /dev/null
+++ b/logs/mtp-detect-fairphone-2os.txt
@@ -0,0 +1,516 @@
+libmtp version: 1.1.8
+
+Listing raw device(s)
+   Found 1 device(s):
+   2ae5:9039 @ bus 6, dev 13
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 528
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 2ae5
+   idProduct: 9039
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 6
+      Device number: 13
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x2ae5
+         Product: (null)
+         Vendor id: 0x9039
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Fairphone
+   Model: FP2
+   Device version: 1.0
+   Serial number: e583b6fc
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 27362615296
+      FreeSpaceInBytes: 26928074752
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Battery level 84 of 100 (83%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-fairphone-fp1.txt b/logs/mtp-detect-fairphone-fp1.txt
new file mode 100644
index 0000000..be8c37c
--- /dev/null
+++ b/logs/mtp-detect-fairphone-fp1.txt
@@ -0,0 +1,492 @@
+Listing raw device(s)
+Device 0 (VID=0bb4 and PID=2008) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0bb4:2008 @ bus 3, dev 6
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0bb4
+   idProduct: 2008
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 3
+      Device number: 6
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0bb4
+         Product: (null)
+         Vendor id: 0x2008
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: FP1
+   Model: FP1
+   Device version: 1.0
+   Serial number: 0123456789ABCDEF
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 14351106048
+      FreeSpaceInBytes: 9785982976
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Interner Speicher
+      VolumeIdentifier: (null)
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 2014289920
+      FreeSpaceInBytes: 1194885120
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD-Karte
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: FP1
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
+usb 3-2.3: new high-speed USB device number 6 using xhci_hcd
+[  291.520643] usb 3-2.3: New USB device found, idVendor=0bb4, idProduct=2008
+[  291.520645] usb 3-2.3: New USB device strings: Mfr=2, Product=3, SerialNumber=4
+[  291.520647] usb 3-2.3: Product: MT65xx Android Phone
+[  291.520648] usb 3-2.3: Manufacturer: MediaTek
+[  291.520649] usb 3-2.3: SerialNumber: 0123456789ABCDEF
+
diff --git a/logs/mtp-detect-foxconn-iview-i700.txt b/logs/mtp-detect-foxconn-iview-i700.txt
new file mode 100644
index 0000000..80aff41
--- /dev/null
+++ b/logs/mtp-detect-foxconn-iview-i700.txt
@@ -0,0 +1,483 @@
+libmtp version: 1.1.8
+
+Listing raw device(s)
+   Found 1 device(s):
+   8087:0a15 @ bus 2, dev 3
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 8087
+   idProduct: 0a15
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 3
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x8087
+         Product: (null)
+         Vendor id: 0x0a15
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Foxconn International Holdings Limited
+   Model: i700
+   Device version: 1.0
+   Serial number: IVIEW010009894
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 12412145664
+      FreeSpaceInBytes: 11061436416
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 31998345216
+      FreeSpaceInBytes: 31998279680
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD card
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-foxda-mfloginph.txt b/logs/mtp-detect-foxda-mfloginph.txt
new file mode 100644
index 0000000..11de696
--- /dev/null
+++ b/logs/mtp-detect-foxda-mfloginph.txt
@@ -0,0 +1,486 @@
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6
+
+Listing raw device(s)
+Device 0 (VID=1271 and PID=2012) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   1271:2012 @ bus 4, dev 8
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 1271
+   idProduct: 2012
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 4
+      Device number: 8
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x1271
+         Product: (null)
+         Vendor id: 0x2012
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Foxda
+   Model: MFLoginPh
+   Device version: 1.0
+   Serial number: 0123456789ABCDEF
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 2624901120
+      FreeSpaceInBytes: 1484681216
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Phone storage
+      VolumeIdentifier: (null)
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 7952531456
+      FreeSpaceInBytes: 4682153984
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD card
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: MFLoginPh
+   Synchronization partner: MFLoginPh
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-gigabyte-rct6773w22.txt b/logs/mtp-detect-gigabyte-rct6773w22.txt
new file mode 100644
index 0000000..79c12da
--- /dev/null
+++ b/logs/mtp-detect-gigabyte-rct6773w22.txt
@@ -0,0 +1,484 @@
+libmtp version: 1.1.8
+
+Listing raw device(s)
+   Found 1 device(s):
+   0414:2008 @ bus 2, dev 6
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0414
+   idProduct: 2008
+   IN endpoint maxpacket: 64 bytes
+   OUT endpoint maxpacket: 64 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 6
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0414
+         Product: (null)
+         Vendor id: 0x2008
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Gigabyte
+   Model: RCT6773W22
+   Device version: 1.0
+   Serial number: JNSKT4JNMBHUNBD6
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 5549559808
+      FreeSpaceInBytes: 4956069888
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 31486640128
+      FreeSpaceInBytes: 31445614592
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD card
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: RCT6773W22
+   Synchronization partner: RCT6773W22
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-gigaware-gx400.txt b/logs/mtp-detect-gigaware-gx400.txt
new file mode 100644
index 0000000..d14a3be
--- /dev/null
+++ b/logs/mtp-detect-gigaware-gx400.txt
@@ -0,0 +1,14 @@
+libmtp version: 0.3.7
+
+Listing raw device(s)
+
+Potential MTP Device with VendorID:0aa6 and ProductID:9702 responded to control message 2 with a response that was too short. Problems may arrise but continuing
+Device 0 (VID=0aa6 and PID=9702) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0aa6:9702 @ bus 0, dev 3
+Attempting to connect device(s)
+usb_claim_interface(): Device or resource busy
+LIBMTP PANIC: Unable to initialize device
+Unable to open raw device 0
+OK.
diff --git a/logs/mtp-detect-google-pixel-c-adb.txt b/logs/mtp-detect-google-pixel-c-adb.txt
new file mode 100644
index 0000000..785e676
--- /dev/null
+++ b/logs/mtp-detect-google-pixel-c-adb.txt
@@ -0,0 +1,518 @@
+Device 0 (VID=18d1 and PID=5203) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   18d1:5203 @ bus 2, dev 38
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 528
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 18d1
+   idProduct: 5203
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 38
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x18d1
+         Product: (null)
+         Vendor id: 0x5203
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: google
+   Model: Pixel C
+   Device version: 1.0
+   Serial number: 5804000173
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 26006073344
+      FreeSpaceInBytes: 24060133376
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-google-pixel-c.txt b/logs/mtp-detect-google-pixel-c.txt
new file mode 100644
index 0000000..08f1fcb
--- /dev/null
+++ b/logs/mtp-detect-google-pixel-c.txt
@@ -0,0 +1,518 @@
+Device 0 (VID=18d1 and PID=5202) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   18d1:5202 @ bus 2, dev 48
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 528
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 18d1
+   idProduct: 5202
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 48
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x18d1
+         Product: (null)
+         Vendor id: 0x5202
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: google
+   Model: Pixel C
+   Device version: 1.0
+   Serial number: 5804000173
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 26006073344
+      FreeSpaceInBytes: 24060051456
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-gopro-hero+.txt b/logs/mtp-detect-gopro-hero+.txt
new file mode 100644
index 0000000..e631e08
--- /dev/null
+++ b/logs/mtp-detect-gopro-hero+.txt
@@ -0,0 +1,188 @@
+libmtp version: 1.1.12
+
+Listing raw device(s)
+   Found 1 device(s):
+   GoPro: HERO+ (2672:0021) @ bus 1, dev 12
+Attempting to connect device(s)
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 2672
+   idProduct: 0021
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 12
+      Device entry info:
+         Vendor: GoPro
+         Vendor id: 0x2672
+         Product: HERO+
+         Vendor id: 0x0021
+         Device flags: 0x00000000
+Device info:
+   Manufacturer: GoPro
+   Model: HERO+
+   Device version: HD3.22.01.50
+   Serial number: C3191024954031
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/DEVICESERVICES:
+   Detected object size: 64 bits
+   Extensions:
+Supported operations:
+   1001: Get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   101b: Get partial object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+Events supported:
+   0x4001 ((null))
+   0x4002 ((null))
+   0x4003 ((null))
+   0x4004 ((null))
+   0x4005 ((null))
+   0x4006 ((null))
+   0x4007 ((null))
+   0x4008 ((null))
+   0x4009 ((null))
+   0x400a ((null))
+   0x400c ((null))
+Device Properties Supported:
+   0x5001: Battery Level
+   0x5011: Date & Time
+   0xd406: Session Initiator Info
+   0xd407: Perceived Device Type
+   0xd303: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+   3002: Script
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+   3006: DPOF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dcd3: Image Bit Depth UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+   300d: Apple Quicktime
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 1785528320, 845703024,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0003 DCF
+      AccessCapability: 0x0002 read only + object deletion
+      MaxCapacity: 7960788992
+      FreeSpaceInBytes: 3159916544
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: External Memory
+      VolumeIdentifier: MTP Device
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Battery level 75 of 100 (75%)
+libmtp supported (playable) filetypes:
+   Folder
+   JPEG file
+   Apple Quicktime container format
+   HTML file
+   Text file
+OK.
diff --git a/logs/mtp-detect-gopro-hero4.txt b/logs/mtp-detect-gopro-hero4.txt
new file mode 100644
index 0000000..a7a80c8
--- /dev/null
+++ b/logs/mtp-detect-gopro-hero4.txt
@@ -0,0 +1,188 @@
+libmtp version: 1.1.10
+
+Listing raw device(s)
+   Found 1 device(s):
+   HERO4 Session: Action Cam (2672:000f) @ bus 1, dev 6
+Attempting to connect device(s)
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 2672
+   idProduct: 000f
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 6
+      Device entry info:
+         Vendor: HERO4 Session
+         Vendor id: 0x2672
+         Product: Action Cam
+         Vendor id: 0x000f
+         Device flags: 0x00000000
+Device info:
+   Manufacturer: GoPro
+   Model: HERO4 Session
+   Device version: HX1.01.01.50
+   Serial number: C3141324616764
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/DEVICESERVICES:
+   Detected object size: 64 bits
+   Extensions:
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   101b: Get partial object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+Events supported:
+   0x4001
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+   0x4007
+   0x4008
+   0x4009
+   0x400a
+   0x400c
+Device Properties Supported:
+   0x5001: Battery Level
+   0x5011: Date & Time
+   0xd406: Session Initiator Info
+   0xd407: Perceived Device Type
+   0xd303: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+   3002: Script
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+   3006: DPOF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dcd3: Image Bit Depth UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+   300d: Apple Quicktime
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 1785528320, 845703024,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0003 DCF
+      AccessCapability: 0x0002 read only + object deletion
+      MaxCapacity: 64020807680
+      FreeSpaceInBytes: 63943606272
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: External Memory
+      VolumeIdentifier: MTP Device
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Battery level 199 of 100 (199%)
+libmtp supported (playable) filetypes:
+   Folder
+   JPEG file
+   Apple Quicktime container format
+   HTML file
+   Text file
+OK.
diff --git a/logs/mtp-detect-gopro-hero5-black.txt b/logs/mtp-detect-gopro-hero5-black.txt
new file mode 100644
index 0000000..dc809c8
--- /dev/null
+++ b/logs/mtp-detect-gopro-hero5-black.txt
@@ -0,0 +1,189 @@
+libmtp version: 1.1.12
+
+Listing raw device(s)
+   Found 1 device(s):
+   GoPro: HERO5 Black (2672:0027) @ bus 3, dev 10
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 2672
+   idProduct: 0027
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 3
+      Device number: 10
+      Device entry info:
+         Vendor: GoPro
+         Vendor id: 0x2672
+         Product: HERO5 Black
+         Vendor id: 0x0027
+         Device flags: 0x00000000
+Device info:
+   Manufacturer: GoPro
+   Model: HERO5 Black
+   Device version: HD5.02.01.50.00
+   Serial number: C3161325800627
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0;  microsoft.com/WMPPD: 11.0; microsoft.com/WMPPD: 10.0; microsoft.com/WMDRMPD: 10.1;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        microsoft.com/WMPPD: 11.0
+        microsoft.com/WMPPD: 10.0
+        microsoft.com/WMDRMPD: 10.1
+Supported operations:
+   1001: Get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   101b: Get partial object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   900b: Unknown PTP_OC
+   900c: Unknown PTP_OC
+   900d: Unknown PTP_OC
+   900e: Unknown PTP_OC
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9999: Unknown PTP_OC
+Events supported:
+   0x4001 ((null))
+   0x4002 ((null))
+   0x4003 ((null))
+   0x4004 ((null))
+   0x4005 ((null))
+   0x4006 ((null))
+   0x4007 ((null))
+   0x4008 ((null))
+   0x4009 ((null))
+   0x400a ((null))
+   0x400b ((null))
+   0x400c ((null))
+   0x400e ((null))
+Device Properties Supported:
+   0x5001: Battery Level
+   0x5011: Date & Time
+   0xd303: Unknown property
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd406: Session Initiator Info
+   0xd407: Perceived Device Type
+Playable File (Object) Types and Object Properties Supported:
+   300d: Apple Quicktime
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+   3003: Executable
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0002 read only + object deletion
+      MaxCapacity: 63831015424
+      FreeSpaceInBytes: 162922496
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: GoPro MTP Client Disk Volume
+      VolumeIdentifier: GoPro MTP Client SD slot
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: HERO5 Black
+   Synchronization partner: GoPro
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   Apple Quicktime container format
+   Folder
+   JPEG file
+   HTML file
+   Text file
+OK.
diff --git a/logs/mtp-detect-haier-ct715.txt b/logs/mtp-detect-haier-ct715.txt
new file mode 100644
index 0000000..c40dec9
--- /dev/null
+++ b/logs/mtp-detect-haier-ct715.txt
@@ -0,0 +1,578 @@
+
+
+
+---
+
+** [support-requests:#208] Haier CT715 (by whothatcantbenamed)**
+
+**Status:** open
+**Group:** unknown release
+**Created:** Fri Mar 11, 2016 06:27 PM UTC by Anonymous
+**Last Updated:** Fri Mar 11, 2016 06:27 PM UTC
+**Owner:** nobody
+
+
+libmtp version: 1.1.10
+
+Device 0 (VID=201e and PID=a0c1) is UNKNOWN in libmtp v1.1.10.
+Please report this VID/PID and the device model to the libmtp development team
+PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
+LIBMTP libusb: Attempt to reset device
+Android device detected, assigning default bug flags
+# mtp-detect
+libmtp version: 1.1.10
+
+Listing raw device(s)
+Device 0 (VID=201e and PID=a0c1) is UNKNOWN in libmtp v1.1.10.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   201e:a0c1 @ bus 1, dev 5
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 201e
+   idProduct: a0c1
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 5
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x201e
+         Product: (null)
+         Vendor id: 0xa0c1
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Haier
+   Model: CT715
+   Device version: 1.0
+   Serial number: S99LZQVJZ9
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 31470174208
+      FreeSpaceInBytes: 16067362816
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Tarjeta SD
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+Bus 001 Device 004: ID 2207:0006  
+Device Descriptor:
+  bLength                18
+  bDescriptorType         1
+  bcdUSB               2.00
+  bDeviceClass            0 (Defined at Interface level)
+  bDeviceSubClass         0 
+  bDeviceProtocol         0 
+  bMaxPacketSize0        64
+  idVendor           0x2207 
+  idProduct          0x0006 
+  bcdDevice            2.22
+  iManufacturer           2 Haier
+  iProduct                3 CT715
+  iSerial                 4 0123456789ABCDEF
+  bNumConfigurations      1
+  Configuration Descriptor:
+    bLength                 9
+    bDescriptorType         2
+    wTotalLength           32
+    bNumInterfaces          1
+    bConfigurationValue     1
+    iConfiguration          0 
+    bmAttributes         0x80
+      (Bus Powered)
+    MaxPower                2mA
+    Interface Descriptor:
+      bLength                 9
+      bDescriptorType         4
+      bInterfaceNumber        0
+      bAlternateSetting       0
+      bNumEndpoints           2
+      bInterfaceClass       255 Vendor Specific Class
+      bInterfaceSubClass     66 
+      bInterfaceProtocol      1 
+      iInterface              0 
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x81  EP 1 IN
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x02  EP 2 OUT
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+Device Qualifier (for other device speed):
+  bLength                10
+  bDescriptorType         6
+  bcdUSB               2.00
+  bDeviceClass            0 (Defined at Interface level)
+  bDeviceSubClass         0 
+  bDeviceProtocol         0 
+  bMaxPacketSize0        64
+  bNumConfigurations      1
+Device Status:     0x0001
+  Self Powered
+OK.
+
+
+
+
+
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/support-requests/208/>
+
+
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/>
\ No newline at end of file
diff --git a/logs/mtp-detect-haier-ibiza-rhapsody.txt b/logs/mtp-detect-haier-ibiza-rhapsody.txt
new file mode 100644
index 0000000..ec04b52
--- /dev/null
+++ b/logs/mtp-detect-haier-ibiza-rhapsody.txt
@@ -0,0 +1,472 @@
+
+libmtp version: 0.2.6.1
+
+Attempting to connect device(s)
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 255
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 1302
+   idProduct: 1017
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+        0000: 1203 4d00 5300 4600 5400 3100 3000 3000   ..M.S.F.T.1.0.0.
+        0010: 3100                                      1.
+Microsoft device response to control message 1, CMD 0x31:
+        0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............
+        0010: 0001 4d54 5000 0000 0000 0000 0000 0000   ..MTP...........
+        0020: 0000 0000 0000 0000                       ........
+Microsoft device response to control message 2, CMD 0x31:
+        0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............
+        0010: 0001 4d54 5000 0000 0000 0000 0000 0000   ..MTP...........
+        0020: 0000 0000 0000 0000                       ........
+Device info:
+   Manufacturer: Haier
+   Model: ibiza Rhapsody
+   Device version: LB.2.5.8.27806
+   Serial number: 021C020340053B000000000000000000
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMPPD: 10.0; microsoft.com/WMDRMPD: 10.1; audible.com: 1.0
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   101b: Get partial object
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9201: Report Added/Deleted Items
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9810: Get object references
+   9811: Set object references
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+   0x4007
+   0x4008
+   0x400a
+   0x400b
+   0x400c
+Device Properties Supported:
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd402: Friendly Device Name
+   0xd405: Device Icon
+   0xd100: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3008: MS Wave
+      d901: BuyFlag UINT8 data type enumeration: 0, 1,  GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 65535, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 384000, STEP 1 READ ONLY
+   3009: MP3
+      d901: BuyFlag UINT8 data type enumeration: 0, 1,  GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 65535, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 384000, STEP 1 READ ONLY
+   300a: MS AVI
+      d901: BuyFlag UINT8 data type enumeration: 0, 1,  GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc87: Width UINT32 data type range: MIN 16, MAX 320, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 16, MAX 240, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 65535, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 384000, STEP 1 READ ONLY
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 1446269005, 875967048,  READ ONLY
+      dea1: EncodingProfile STRING data type GET/SET
+   300c: ASF
+      d901: BuyFlag UINT8 data type enumeration: 0, 1,  GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc87: Width UINT32 data type range: MIN 16, MAX 320, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 16, MAX 240, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 65535, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 384000, STEP 1 READ ONLY
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 1446269005, 875967048,  READ ONLY
+      dea1: EncodingProfile STRING data type GET/SET
+   3801: JPEG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   380b: PNG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   b301: Unknown(b301)
+      d901: BuyFlag UINT8 data type enumeration: 0, 1,  GET/SET
+      da00: unknown(da00) UINT32 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,  GET/SET
+      da01: unknown(da01) STRING data type GET/SET
+      da02: unknown(da02) UINT32 data type ANY 32BIT VALUE form GET/SET
+      da03: unknown(da03) UINT32 data type enumeration: 0, 1,  GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 65535, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 384000, STEP 1 READ ONLY
+   b802: Firmware
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   b901: WMA
+      d901: BuyFlag UINT8 data type enumeration: 0, 1,  GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 65535, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 384000, STEP 1 READ ONLY
+   b903: AAC
+      d901: BuyFlag UINT8 data type enumeration: 0, 1,  GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 65535, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 384000, STEP 1 READ ONLY
+   b904: Audible.com Codec
+      d901: BuyFlag UINT8 data type enumeration: 0, 1,  GET/SET
+      da00: unknown(da00) UINT32 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,  GET/SET
+      da01: unknown(da01) STRING data type GET/SET
+      da02: unknown(da02) UINT32 data type ANY 32BIT VALUE form GET/SET
+      da03: unknown(da03) UINT32 data type enumeration: 0, 1,  GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 65535, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 384000, STEP 1 READ ONLY
+   b981: WMV
+      d901: BuyFlag UINT8 data type enumeration: 0, 1,  GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc87: Width UINT32 data type range: MIN 16, MAX 320, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 16, MAX 240, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 65535, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 384000, STEP 1 READ ONLY
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 827739479, 844516695, 861293911,  READ ONLY
+      dea1: EncodingProfile STRING data type GET/SET
+   b982: MP4
+      d901: BuyFlag UINT8 data type enumeration: 0, 1,  GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc87: Width UINT32 data type range: MIN 16, MAX 320, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 16, MAX 240, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 65535, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: AudioBitDepth UINT32 data type enumeration: 8, 16,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 384000, STEP 1 READ ONLY
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 1446269005, 875967048,  READ ONLY
+      dea1: EncodingProfile STRING data type GET/SET
+   ba03: Abstract Audio Album
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 65536, STEP 1 READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 1024, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 1024, STEP 1 READ ONLY
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba14: PLS Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 3734740992
+      FreeSpaceInBytes: 3400687616
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Device Storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x0000001a
+   Default playlist folder: 0x0000001d
+   Default picture folder: 0x0000001c
+   Default video folder: 0x0000001b
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: 
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   Audio Video Interleave
+   Microsoft Advanced Systems Format
+   JPEG file
+   Portable Network Graphics
+   Firmware file
+   Microsoft Windows Media Audio
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Audible.com Audio Codec
+   Microsoft Windows Media Video
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
diff --git a/logs/mtp-detect-highscreen-omega-prime5.txt b/logs/mtp-detect-highscreen-omega-prime5.txt
new file mode 100644
index 0000000..6fbd04c
--- /dev/null
+++ b/logs/mtp-detect-highscreen-omega-prime5.txt
@@ -0,0 +1,482 @@
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   05c6:f003 @ bus 3, dev 38
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 05c6
+   idProduct: f003
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 3
+      Device number: 38
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x05c6
+         Product: (null)
+         Vendor id: 0xf003
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: HighScreen
+   Model: Prime S
+   Device version: 1.0
+   Serial number: 82b05401
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 4286574592
+      FreeSpaceInBytes: 3870494720
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Phone Storage
+      VolumeIdentifier: (null)
+   StorageID: 0x00010001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 15911788544
+      FreeSpaceInBytes: 14015676416
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD card
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x000011fc
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00001201
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-hp-slate10hd.txt b/logs/mtp-detect-hp-slate10hd.txt
new file mode 100644
index 0000000..f3f7b6b
--- /dev/null
+++ b/logs/mtp-detect-hp-slate10hd.txt
@@ -0,0 +1,682 @@
+
+
+
+---
+
+** [bugs:#1366] HP Slate 10 HD**
+
+**Status:** open
+**Group:** 1.1.7
+**Created:** Fri Jun 26, 2015 11:21 AM UTC by Anonymous
+**Last Updated:** Fri Jun 26, 2015 11:21 AM UTC
+**Owner:** nobody
+
+HP Slate 10 HD (unknown device). It has Android v.4.2.2 (k3.4.5, build v1.00.19_20140708.173_user). PC has got openSUSE with k3.16.7-7-desktop with libmtp v.1.1.7.
+
+mtp-detect:
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.
+libmtp version: 1.1.7
+
+Listing raw device(s)
+Device 0 (VID=03f0 and PID=7e1d) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   03f0:7e1d @ bus 3, dev 3
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 239
+   bDeviceSubClass: 2
+   bDeviceProtocol: 1
+   idVendor: 03f0
+   idProduct: 7e1d
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 3
+      Device number: 3
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x03f0
+         Product: (null)
+         Vendor id: 0x7e1d
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Hewlett-Packard
+   Model: HP Slate 10 HD
+   Device version: 1.0
+   Serial number: 6CY347MFPS
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 13013495808
+      FreeSpaceInBytes: 10418855936
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal SD card
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
+lsusb -v:
+Bus 003 Device 003: ID 03f0:7e1d Hewlett-Packard 
+Device Descriptor:
+  bLength                18
+  bDescriptorType         1
+  bcdUSB               2.00
+  bDeviceClass          239 Miscellaneous Device
+  bDeviceSubClass         2 ?
+  bDeviceProtocol         1 Interface Association
+  bMaxPacketSize0        64
+  idVendor           0x03f0 Hewlett-Packard
+  idProduct          0x7e1d 
+  bcdDevice           99.99
+  iManufacturer           2 HP
+  iProduct                3 HP tablet
+  iSerial                 4 6CY347MFPS
+  bNumConfigurations      1
+  Configuration Descriptor:
+    bLength                 9
+    bDescriptorType         2
+    wTotalLength          128
+    bNumInterfaces          4
+    bConfigurationValue     1
+    iConfiguration          0 
+    bmAttributes         0xc0
+      Self Powered
+    MaxPower                2mA
+    Interface Descriptor:
+      bLength                 9
+      bDescriptorType         4
+      bInterfaceNumber        0
+      bAlternateSetting       0
+      bNumEndpoints           3
+      bInterfaceClass       255 Vendor Specific Class
+      bInterfaceSubClass    255 Vendor Specific Subclass
+      bInterfaceProtocol      0 
+      iInterface              5 MTP
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x81  EP 1 IN
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x02  EP 2 OUT
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x82  EP 2 IN
+        bmAttributes            3
+          Transfer Type            Interrupt
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x001c  1x 28 bytes
+        bInterval               6
+    Interface Association:
+      bLength                 8
+      bDescriptorType        11
+      bFirstInterface         1
+      bInterfaceCount         2
+      bFunctionClass          2 Communications
+      bFunctionSubClass       2 Abstract (modem)
+      bFunctionProtocol       1 AT-commands (v.25ter)
+      iFunction               8 CDC Serial
+    Interface Descriptor:
+      bLength                 9
+      bDescriptorType         4
+      bInterfaceNumber        1
+      bAlternateSetting       0
+      bNumEndpoints           1
+      bInterfaceClass         2 Communications
+      bInterfaceSubClass      2 Abstract (modem)
+      bInterfaceProtocol      1 AT-commands (v.25ter)
+      iInterface              6 CDC Abstract Control Model (ACM)
+      CDC Header:
+        bcdCDC               1.10
+      CDC Call Management:
+        bmCapabilities       0x00
+        bDataInterface          2
+      CDC ACM:
+        bmCapabilities       0x02
+          line coding and serial state
+      CDC Union:
+        bMasterInterface        1
+        bSlaveInterface         2 
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x84  EP 4 IN
+        bmAttributes            3
+          Transfer Type            Interrupt
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x000a  1x 10 bytes
+        bInterval               9
+    Interface Descriptor:
+      bLength                 9
+      bDescriptorType         4
+      bInterfaceNumber        2
+      bAlternateSetting       0
+      bNumEndpoints           2
+      bInterfaceClass        10 CDC Data
+      bInterfaceSubClass      0 Unused
+      bInterfaceProtocol      0 
+      iInterface              7 CDC ACM Data
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x83  EP 3 IN
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x03  EP 3 OUT
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+    Interface Descriptor:
+      bLength                 9
+      bDescriptorType         4
+      bInterfaceNumber        3
+      bAlternateSetting       0
+      bNumEndpoints           2
+      bInterfaceClass        10 CDC Data
+      bInterfaceSubClass      0 Unused
+      bInterfaceProtocol    255 Vendor specific
+      iInterface              9 Marvell DIAG
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x85  EP 5 IN
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x04  EP 4 OUT
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+Device Qualifier (for other device speed):
+  bLength                10
+  bDescriptorType         6
+  bcdUSB               2.00
+  bDeviceClass          239 Miscellaneous Device
+  bDeviceSubClass         2 ?
+  bDeviceProtocol         1 Interface Association
+  bMaxPacketSize0        64
+  bNumConfigurations      1
+Device Status:     0x0001
+  Self Powered
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/bugs/1366/>
+
+
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/>
\ No newline at end of file
diff --git a/logs/mtp-detect-hp-touchpad.txt b/logs/mtp-detect-hp-touchpad.txt
new file mode 100644
index 0000000..fdcd5be
--- /dev/null
+++ b/logs/mtp-detect-hp-touchpad.txt
@@ -0,0 +1,153 @@
+$ mtp-detect
+libmtp version: 1.0.2
+
+Listing raw device(s)
+Device 0 (VID=0bb4 and PID=685c) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0bb4:685c @ bus 1, dev 43
+Attempting to connect device(s)
+PTP_ERROR_IO: Trying again after re-initializing USB interface
+Error 2: PTP Layer error 02ff: get_all_metadata_fast(): could not get proplist of all objects.
+Error 2: (Look this up in ptp.h for an explanation.)
+Error 2: PTP Layer error 02ff: get_handles_recursively(): could not get object handles.
+Error 2: (Look this up in ptp.h for an explanation.)
+USB low-level info:
+   Using kernel interface &quot;usbfs&quot;
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0bb4
+   idProduct: 685c
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 43
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0bb4
+         Product: (null)
+         Vendor id: 0x685c
+         Device flags: 0x00000000
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string &quot;MTP&quot;
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: unknown
+   Model: cm_tenderloin
+   Device version: 1.0
+   Serial number: 04bb35a30455e13214a1fb449cd225a7b6fbcc0c
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+   3001: Association/Directory
+   3004: Text
+   3005: HTML
+   3008: MS Wave
+   3009: MP3
+   300b: MPEG
+   3801: JPEG
+   3802: TIFF EP
+   3807: GIF
+   3808: JFIF
+   380b: PNG
+   380d: TIFF
+   b901: WMA
+   b902: OGG
+   b903: AAC
+   b982: MP4
+   b983: MP2
+   b984: 3GP
+   ba05: Abstract Audio Video Playlist
+   ba10: WPL Playlist
+   ba11: M3U Playlist
+   ba14: PLS Playlist
+   ba82: XMLDocument
+   b906: FLAC
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 27392163840
+      FreeSpaceInBytes: 16716693504
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD Card
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+ERROR: Could not close session!
+OK.
diff --git a/logs/mtp-detect-htc-626.log b/logs/mtp-detect-htc-626.log
new file mode 100644
index 0000000..b0eede6
--- /dev/null
+++ b/logs/mtp-detect-htc-626.log
@@ -0,0 +1,643 @@
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   HTC: HTC One M8 (MTP+UMS) (0bb4:0fb5) @ bus 2, dev 14
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0bb4
+   idProduct: 0fb5
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 14
+      Device entry info:
+         Vendor: HTC
+         Vendor id: 0x0bb4
+         Product: HTC One M8 (MTP+UMS)
+         Vendor id: 0x0fb5
+         Device flags: 0x08008106
+Configuration 0, interface 2, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: HTC
+   Model: HTC Desire 626
+   Device version: 1.09.193.6
+   Serial number: CC5ACYM04358
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+   96f0: Unknown (96f0)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX 2000000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 60000, STEP 1 GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX 2000000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 60000, STEP 1 GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX 2000000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 60000, STEP 1 GET/SET
+   300a: MS AVI
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba83: Microsoft Word Document
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba85: Microsoft Excel Spreadsheet (.xls)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba86: Microsoft Powerpoint (.ppt)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 31906103296
+      FreeSpaceInBytes: 31905644544
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD-Karte
+      VolumeIdentifier: ##storage##ext_sd
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 9933504512
+      FreeSpaceInBytes: 4411617280
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Interner Speicher
+      VolumeIdentifier: ##storage##emulated##0
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Battery level 91 of 100 (91%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+   Microsoft Windows Media Video
+   Audio Video Interleave
+   Microsoft Advanced Systems Format
+   DOC file
+   XLS file
+   PPT file
+OK.
diff --git a/logs/mtp-detect-htc-8x.txt b/logs/mtp-detect-htc-8x.txt
new file mode 100644
index 0000000..72050aa
--- /dev/null
+++ b/logs/mtp-detect-htc-8x.txt
@@ -0,0 +1,777 @@
+libmtp version: 1.1.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   Microsoft/HTC: Windows Phone 8X by HTC (0bb4:0ba1) @ bus 2, dev 4
+Attempting to connect device(s)
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0bb4
+   idProduct: 0ba1
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 4
+      Device entry info:
+         Vendor: Microsoft/HTC
+         Vendor id: 0x0bb4
+         Product: Windows Phone 8X by HTC
+         Vendor id: 0x0ba1
+         Device flags: 0x00000000
+Device info:
+   Manufacturer: HTC
+   Model: Windows Phone 8X by HTC
+   Device version: 8.0.10211.0
+   Serial number: 60c0686d5f3322a3f1eec053c649f5bd
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/DeviceServices:1.0; microsoft/WindowsPhone:1.0
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        microsoft.com/DeviceServices: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   1012: Set object protection
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   101a: Copy object
+   101b: Get partial object
+   9217: Unknown (9217)
+   9234: Unknown (9234)
+   9301: Unknown (9301)
+   9302: Unknown (9302)
+   9303: Unknown (9303)
+   9304: Unknown (9304)
+   9305: Unknown (9305)
+   930a: Unknown (930a)
+   9401: Unknown (9401)
+   9402: Unknown (9402)
+   9403: Unknown (9403)
+   9404: Unknown (9404)
+   9410: Unknown (9410)
+   9411: Unknown (9411)
+   9412: Unknown (9412)
+   9413: Unknown (9413)
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9810: Get object references
+   9811: Set object references
+   9820: Skip to next position in playlist
+Events supported:
+   0x4004
+   0x4005
+   0xc301
+   0xc303
+   0xc801
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd302: Unknown property
+   0xd303: Unknown property
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd405: Device Icon
+   0xd407: Perceived Device Type
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+   3009: MP3
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc95: Meta Genre UINT16 data type enumeration: 0, 1, 17, 18, 19, 20, 21, 33, 34, 35, 36, 37, 38, 39, 40, 48, 64, 65,  READ ONLY
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dd72: Media GUID STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 320000, STEP 1 READ ONLY
+   300a: MS AVI
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da9a: Unknown property STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 16384, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 48, MAX 1920, STEP 2 GET/SET
+      dc88: Height UINT32 data type range: MIN 32, MAX 1080, STEP 2 GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc95: Meta Genre UINT16 data type enumeration: 0, 1, 17, 18, 19, 20, 21, 33, 34, 35, 36, 37, 38, 39, 40, 48, 64, 65,  READ ONLY
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dd72: Media GUID STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 353, 354, 85, 255, 5648,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 320000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 1482049860, 1145656920, 808802372, 826496577, 844313677, 1446269005, 875967048, 875967080, 875967064, 875967096,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 4000, MAX 20000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 30290, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   3801: JPEG
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d802: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 16384, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+   b901: WMA
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc95: Meta Genre UINT16 data type enumeration: 0, 1, 17, 18, 19, 20, 21, 33, 34, 35, 36, 37, 38, 39, 40, 48, 64, 65,  READ ONLY
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dd72: Media GUID STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 768000, STEP 1 READ ONLY
+   b903: AAC
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc95: Meta Genre UINT16 data type enumeration: 0, 1, 17, 18, 19, 20, 21, 33, 34, 35, 36, 37, 38, 39, 40, 48, 64, 65,  READ ONLY
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dd72: Media GUID STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 255, 5648,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 320000, STEP 1 READ ONLY
+   b981: WMV
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da9a: Unknown property STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 16384, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 48, MAX 1920, STEP 2 GET/SET
+      dc88: Height UINT32 data type range: MIN 32, MAX 1080, STEP 2 GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc95: Meta Genre UINT16 data type enumeration: 0, 1, 17, 18, 19, 20, 21, 33, 34, 35, 36, 37, 38, 39, 40, 48, 64, 65,  READ ONLY
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dd72: Media GUID STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353, 354,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 768000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 861293911, 826496599,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 4000, MAX 20000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 30290, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   ba03: Abstract Audio Album
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 131072, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1024, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1024, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+   ba05: Abstract Audio Video Playlist
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+   ba0b: Abstract Mediacast
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+   3807: GIF
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d802: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 16384, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+   3808: JFIF
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d802: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 16384, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+   380b: PNG
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d802: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 16384, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+   380d: TIFF
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d802: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 16384, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+   3804: BMP
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d802: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 16384, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+   b804: Unknown(b804)
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d802: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 16384, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+   b982: MP4
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da9a: Unknown property STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 16384, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 48, MAX 1920, STEP 2 GET/SET
+      dc88: Height UINT32 data type range: MIN 32, MAX 1080, STEP 2 GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc95: Meta Genre UINT16 data type enumeration: 0, 1, 17, 18, 19, 20, 21, 33, 34, 35, 36, 37, 38, 39, 40, 48, 64, 65,  READ ONLY
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dd72: Media GUID STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 255, 5648, 1935764850,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 320000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 826496577, 844313677, 1446269005, 875967048, 875967080, 875967064, 875967096,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 4000, MAX 20000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 30290, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   b215: M4A
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc95: Meta Genre UINT16 data type enumeration: 0, 1, 17, 18, 19, 20, 21, 33, 34, 35, 36, 37, 38, 39, 40, 48, 64, 65,  READ ONLY
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dd72: Media GUID STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 255, 5648, 1935764850,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 320000, STEP 1 READ ONLY
+   b216: Unknown(b216)
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da9a: Unknown property STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 16384, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 48, MAX 1920, STEP 2 GET/SET
+      dc88: Height UINT32 data type range: MIN 32, MAX 1080, STEP 2 GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc95: Meta Genre UINT16 data type enumeration: 0, 1, 17, 18, 19, 20, 21, 33, 34, 35, 36, 37, 38, 39, 40, 48, 64, 65,  READ ONLY
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dd72: Media GUID STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 255, 5648, 1935764850,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 320000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 826496577, 844313677, 1446269005, 875967048, 875967080, 875967064, 875967096,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 4000, MAX 20000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 30290, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc87: Width UINT32 data type range: MIN 48, MAX 1920, STEP 2 GET/SET
+      dc88: Height UINT32 data type range: MIN 32, MAX 1080, STEP 2 GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dd72: Media GUID STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 255, 5648, 1935764850,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 320000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 826496577, 844313677, 1446269005, 875967048, 875967080, 875967064, 875967096,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 4000, MAX 20000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 30290, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   b985: Unknown(b985)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc87: Width UINT32 data type range: MIN 48, MAX 1920, STEP 2 GET/SET
+      dc88: Height UINT32 data type range: MIN 32, MAX 1080, STEP 2 GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dd72: Media GUID STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 255, 5648, 1935764850,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 320000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 826496577, 844313677, 1446269005, 875967048, 875967080, 875967064, 875967096,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 4000, MAX 20000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 30290, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   ba83: Microsoft Word Document
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+   ba85: Microsoft Excel Spreadsheet (.xls)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+   ba86: Microsoft Powerpoint (.ppt)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 15634268160
+      FreeSpaceInBytes: 12457082880
+      FreeSpaceInObjects: 0
+      StorageDescription: Phone
+      VolumeIdentifier: MTP Volume - 65537
+Special directories:
+   Default music folder: 0x00000003
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000008
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Windows Phone
+   Synchronization partner: (NULL)
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   ISO MPEG-1 Audio Layer 3
+   Audio Video Interleave
+   JPEG file
+   Microsoft Windows Media Audio
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Microsoft Windows Media Video
+   Abstract Album file
+   Abstract Playlist file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   BMP bitmap file
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   MPEG-4 Part 14 Container Format (Audio Emphasis)
+   DOC file
+   XLS file
+   PPT file
+OK.
diff --git a/logs/mtp-detect-htc-bird.txt b/logs/mtp-detect-htc-bird.txt
new file mode 100644
index 0000000..d1b62f1
--- /dev/null
+++ b/logs/mtp-detect-htc-bird.txt
@@ -0,0 +1,472 @@
+libmtp version: 1.1.3
+
+Listing raw device(s)
+Device 0 (VID=0bb4 and PID=0c02) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0bb4:0c02 @ bus 1, dev 43
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0bb4
+   idProduct: 0c02
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 43
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0bb4
+         Product: (null)
+         Vendor id: 0x0c02
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: BIRD
+   Model: V1277
+   Device version: 1.0
+   Serial number: 0123456789ABCDEF
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4007
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX 255, STEP 2 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX 255, STEP 2 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX 255, STEP 2 READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX 255, STEP 2 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX 255, STEP 2 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX 255, STEP 2 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX 255, STEP 2 READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 2129903616
+      FreeSpaceInBytes: 1959272448
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD-карта
+      VolumeIdentifier: (null)
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 15923150848
+      FreeSpaceInBytes: 3929833472
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Память телефона
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: bird77_a_ics2
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-htc-desire-626s.txt b/logs/mtp-detect-htc-desire-626s.txt
new file mode 100644
index 0000000..95b53b5
--- /dev/null
+++ b/logs/mtp-detect-htc-desire-626s.txt
@@ -0,0 +1,627 @@
+Device 0 (VID=0bb4 and PID=0668) is a HTC Desire 626s (MTP).
+Error 1: Get Storage information failed.
+libmtp version: 1.1.11
+
+Listing raw device(s)
+   Found 1 device(s):
+   HTC: Desire 626s (MTP) (0bb4:0668) @ bus 1, dev 4
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0bb4
+   idProduct: 0668
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 4
+      Device entry info:
+         Vendor: HTC
+         Vendor id: 0x0bb4
+         Product: Desire 626s (MTP)
+         Vendor id: 0x0668
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: HTC
+   Model: HTC Desire 626s
+   Device version: 1.23.531.3
+   Serial number: HT56VB001775
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: Unknown(1001)
+   1002: Unknown(1002)
+   1003: Unknown(1003)
+   1004: Unknown(1004)
+   1005: Unknown(1005)
+   1006: Unknown(1006)
+   1007: Unknown(1007)
+   1008: Unknown(1008)
+   1009: Unknown(1009)
+   100a: Unknown(100a)
+   100b: Unknown(100b)
+   100c: Unknown(100c)
+   100d: Unknown(100d)
+   1014: Unknown(1014)
+   1015: Unknown(1015)
+   1016: Unknown(1016)
+   1017: Unknown(1017)
+   101b: Unknown(101b)
+   9801: Unknown(9801)
+   9802: Unknown(9802)
+   9803: Unknown(9803)
+   9804: Unknown(9804)
+   9805: Unknown(9805)
+   9811: Unknown(9811)
+   95c1: Unknown(95c1)
+   95c2: Unknown(95c2)
+   95c3: Unknown(95c3)
+   95c4: Unknown(95c4)
+   95c5: Unknown(95c5)
+   96f0: Unknown(96f0)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX 2000000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 60000, STEP 1 GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX 2000000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 60000, STEP 1 GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX 2000000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 60000, STEP 1 GET/SET
+   300a: MS AVI
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba83: Microsoft Word Document
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba85: Microsoft Excel Spreadsheet (.xls)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba86: Microsoft Powerpoint (.ppt)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Battery level 83 of 100 (82%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+   Microsoft Windows Media Video
+   Audio Video Interleave
+   Microsoft Advanced Systems Format
+   DOC file
+   XLS file
+   PPT file
+OK.
diff --git a/logs/mtp-detect-htc-desire-816g.txt b/logs/mtp-detect-htc-desire-816g.txt
new file mode 100644
index 0000000..d5d5ec2
--- /dev/null
+++ b/logs/mtp-detect-htc-desire-816g.txt
@@ -0,0 +1,489 @@
+
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.
+libmtp version: 1.1.7
+
+Listing raw device(s)
+Device 0 (VID=0bb4 and PID=0edb) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0bb4:0edb @ bus 2, dev 13
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0bb4
+   idProduct: 0edb
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 13
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0bb4
+         Product: (null)
+         Vendor id: 0x0edb
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: HTC
+   Model: HTC Desire 816G dual sim
+   Device version: 1.0
+   Serial number: LC53MYE40121
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 4716134400
+      FreeSpaceInBytes: 3444719616
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Phone storage
+      VolumeIdentifier: (null)
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 16079912960
+      FreeSpaceInBytes: 16051273728
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD card
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: HTC Desire 816G dual sim
+   Synchronization partner: HTC Desire 816G dual sim
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
diff --git a/logs/mtp-detect-htc-desire-x.txt b/logs/mtp-detect-htc-desire-x.txt
new file mode 100644
index 0000000..2092784
--- /dev/null
+++ b/logs/mtp-detect-htc-desire-x.txt
@@ -0,0 +1,614 @@
+libmtp version: 1.1.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   0bb4:0dd5 @ bus 0, dev 0
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0bb4
+   idProduct: 0dd5
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 0
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0bb4
+         Product: (null)
+         Vendor id: 0x0dd5
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: HTC
+   Model: HTC Desire X
+   Device version: 2.23.980.3
+   Serial number: HT2C6LY01432
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 GET/SET
+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 GET/SET
+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 GET/SET
+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX 2000000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 60000, STEP 1 GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 GET/SET
+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 GET/SET
+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 GET/SET
+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 GET/SET
+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX 2000000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 60000, STEP 1 GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 GET/SET
+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX 2000000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 60000, STEP 1 GET/SET
+   300a: MS AVI
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba83: Microsoft Word Document
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba85: Microsoft Excel Spreadsheet (.xls)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba86: Microsoft Powerpoint (.ppt)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 3963125760
+      FreeSpaceInBytes: 3083272092
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD card
+      VolumeIdentifier: ##storage##sdcard0
+   StorageID: 0x00020001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 1173608448
+      FreeSpaceInBytes: 1119208348
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: ##storage##emmc
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+   Microsoft Windows Media Video
+   Audio Video Interleave
+   Microsoft Advanced Systems Format
+   BMP bitmap file
+   DOC file
+   XLS file
+   PPT file
+OK.
diff --git a/logs/mtp-detect-htc-droid-incred.txt b/logs/mtp-detect-htc-droid-incred.txt
new file mode 100644
index 0000000..e32a118
--- /dev/null
+++ b/logs/mtp-detect-htc-droid-incred.txt
@@ -0,0 +1,959 @@
+This file contains two log outputs.  Scroll (way down) for MTP & ADB.
+
+---------------------------------------------------------------------------------
+
+MTP Only
+
+libmtp version: 1.1.4
+
+Device 0 (VID=0bb4 and PID=0e31) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
+LIBMTP libusb: Attempt to reset device
+
+Listing raw device(s)
+   Found 1 device(s):
+   0bb4:0e31 @ bus 2, dev 8
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0bb4
+   idProduct: 0e31
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 8
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0bb4
+         Product: (null)
+         Vendor id: 0x0e31
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: HTC
+   Model: ADR6410LVW
+   Device version: 2.17.605.2 710RD
+   Serial number: HT26PS312928
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 31895175168
+      FreeSpaceInBytes: 27786264576
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD Card
+      VolumeIdentifier: (null)
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 4457431040
+      FreeSpaceInBytes: 4454350848
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal Storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
+---------------------------------------------------------------------------------
+
+MTP & ADB
+
+libmtp version: 1.1.4
+
+Device 0 (VID=0bb4 and PID=0e32) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
+LIBMTP libusb: Attempt to reset device
+
+Listing raw device(s)
+   Found 1 device(s):
+   0bb4:0e32 @ bus 2, dev 9
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0bb4
+   idProduct: 0e32
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 9
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0bb4
+         Product: (null)
+         Vendor id: 0x0e32
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: HTC
+   Model: ADR6410LVW
+   Device version: 2.17.605.2 710RD
+   Serial number: HT26PS312928
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 31895175168
+      FreeSpaceInBytes: 27786264576
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD Card
+      VolumeIdentifier: (null)
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 4457431040
+      FreeSpaceInBytes: 4454350848
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal Storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-htc-evo-4g-lte.txt b/logs/mtp-detect-htc-evo-4g-lte.txt
new file mode 100644
index 0000000..6b1a6b5
--- /dev/null
+++ b/logs/mtp-detect-htc-evo-4g-lte.txt
@@ -0,0 +1,464 @@
+libmtp version: 1.1.3
+
+Listing raw device(s)
+Device 0 (VID=0bb4 and PID=0ca8) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0bb4:0ca8 @ bus 2, dev 11
+Attempting to connect device(s)
+PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
+LIBMTP libusb: Attempt to reset device
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0bb4
+   idProduct: 0ca8
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 11
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0bb4
+         Product: (null)
+         Vendor id: 0x0ca8
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string &quot;MTP&quot;
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: HTC
+   Model: EVO
+   Device version: 1.13.651.1 710RD
+   Serial number: 99000065857186
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 10665590784
+      FreeSpaceInBytes: 10545922048
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: phone
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000017
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-htc-htc6525lvw.txt b/logs/mtp-detect-htc-htc6525lvw.txt
new file mode 100644
index 0000000..43764a9
--- /dev/null
+++ b/logs/mtp-detect-htc-htc6525lvw.txt
@@ -0,0 +1,616 @@
+libmtp version: 1.1.8
+
+Listing raw device(s)
+   Found 1 device(s):
+   0bb4:0f25 @ bus 2, dev 5
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 528
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0bb4
+   idProduct: 0f25
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 5
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0bb4
+         Product: (null)
+         Vendor id: 0x0f25
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: HTC
+   Model: HTC6525LVW
+   Device version: 3.28.605.4
+   Serial number: HT451SF01065
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+   96f0: Unknown (96f0)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 GET/SET
+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 GET/SET
+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 GET/SET
+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX 2000000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 60000, STEP 1 GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 GET/SET
+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 GET/SET
+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 GET/SET
+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 GET/SET
+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX 2000000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 60000, STEP 1 GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 GET/SET
+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX 2000000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 60000, STEP 1 GET/SET
+   300a: MS AVI
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba83: Microsoft Word Document
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba85: Microsoft Excel Spreadsheet (.xls)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba86: Microsoft Powerpoint (.ppt)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 26007121920
+      FreeSpaceInBytes: 17814405120
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: ##storage##emulated##0
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 63333990400
+      FreeSpaceInBytes: 63313543168
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD card
+      VolumeIdentifier: ##storage##ext_sd
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+   Microsoft Windows Media Video
+   Audio Video Interleave
+   Microsoft Advanced Systems Format
+   DOC file
+   XLS file
+   PPT file
+OK.
diff --git a/logs/mtp-detect-htc-one-htc6500lvw.txt b/logs/mtp-detect-htc-one-htc6500lvw.txt
new file mode 100644
index 0000000..465e378
--- /dev/null
+++ b/logs/mtp-detect-htc-one-htc6500lvw.txt
@@ -0,0 +1,608 @@
+Device 0 (VID=0bb4 and PID=07af) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   0bb4:07af @ bus 1, dev 30
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0bb4
+   idProduct: 07af
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 30
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0bb4
+         Product: (null)
+         Vendor id: 0x07af
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: HTC
+   Model: HTC6500LVW
+   Device version: 4.10.605.3
+   Serial number: FA37BS903627
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+   96f0: Unknown (96f0)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 GET/SET
+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 GET/SET
+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 GET/SET
+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX 2000000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 60000, STEP 1 GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 GET/SET
+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 GET/SET
+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 GET/SET
+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 GET/SET
+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX 2000000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 60000, STEP 1 GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 GET/SET
+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX 2000000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 60000, STEP 1 GET/SET
+   300a: MS AVI
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba83: Microsoft Word Document
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba85: Microsoft Excel Spreadsheet (.xls)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba86: Microsoft Powerpoint (.ppt)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 26845933568
+      FreeSpaceInBytes: 2760921088
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: ##storage##emulated##0
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: ---------
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+   Microsoft Windows Media Video
+   Audio Video Interleave
+   Microsoft Advanced Systems Format
+   DOC file
+   XLS file
+   PPT file
+OK.
diff --git a/logs/mtp-detect-htc-one-m7.txt b/logs/mtp-detect-htc-one-m7.txt
new file mode 100644
index 0000000..9f57089
--- /dev/null
+++ b/logs/mtp-detect-htc-one-m7.txt
@@ -0,0 +1,467 @@
+Listing raw device(s)
+Device 0 (VID=0bb4 and PID=0f87) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0bb4:0f87 @ bus 2, dev 26
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+Error 1: Get Storage information failed.
+Error 2: PTP Layer error 02fe: get_handles_recursively(): could not get object handles.
+Error 2: Error 02fe: PTP: Protocol error, data expected
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0bb4
+   idProduct: 0f87
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 26
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0bb4
+         Product: (null)
+         Vendor id: 0x0f87
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: HTC
+   Model: One
+   Device version: 1.0
+   Serial number: HT37JW909387
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist ST
+     dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-htc-one-remix.txt b/logs/mtp-detect-htc-one-remix.txt
new file mode 100644
index 0000000..4ed82a5
--- /dev/null
+++ b/logs/mtp-detect-htc-one-remix.txt
@@ -0,0 +1,616 @@
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6

+

+Listing raw device(s)

+   Found 1 device(s):

+   0bb4:07d9 @ bus 3, dev 21

+Attempting to connect device(s)

+Android device detected, assigning default bug flags

+USB low-level info:

+   Interface has a kernel driver attached.

+   bcdUSB: 512

+   bDeviceClass: 0

+   bDeviceSubClass: 0

+   bDeviceProtocol: 0

+   idVendor: 0bb4

+   idProduct: 07d9

+   IN endpoint maxpacket: 512 bytes

+   OUT endpoint maxpacket: 512 bytes

+   Raw device info:

+      Bus location: 3

+      Device number: 21

+      Device entry info:

+         Vendor: (null)

+         Vendor id: 0x0bb4

+         Product: (null)

+         Vendor id: 0x07d9

+         Device flags: 0x08008106

+Configuration 0, interface 0, altsetting 0:

+   Interface description contains the string "MTP"

+   Device recognized as MTP, no further probing.

+Device info:

+   Manufacturer: HTC

+   Model: HTC6515LVW

+   Device version: 1.18.605.3

+   Serial number: HT47HSJ01164

+   Vendor extension ID: 0x00000006

+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;

+   Detected object size: 64 bits

+   Extensions:

+        microsoft.com: 1.0

+        android.com: 1.0

+Supported operations:

+   1001: get device info

+   1002: Open session

+   1003: Close session

+   1004: Get storage IDs

+   1005: Get storage info

+   1006: Get number of objects

+   1007: Get object handles

+   1008: Get object info

+   1009: Get object

+   100a: Get thumbnail

+   100b: Delete object

+   100c: Send object info

+   100d: Send object

+   1014: Get device property description

+   1015: Get device property value

+   1016: Set device property value

+   1017: Reset device property value

+   101b: Get partial object

+   9801: Get object properties supported

+   9802: Get object property description

+   9803: Get object property value

+   9804: Set object property value

+   9805: Get object property list

+   9811: Set object references

+   95c1: Get Partial Object (64bit Offset)

+   95c2: Send Partial Object

+   95c3: Truncate Object

+   95c4: Begin Edit Object

+   95c5: End Edit Object

+   96f0: Unknown (96f0)

+Events supported:

+   0x4002

+   0x4003

+   0x4004

+   0x4005

+Device Properties Supported:

+   0xd401: Synchronization Partner

+   0xd402: Friendly Device Name

+   0x5003: Image Size

+Playable File (Object) Types and Object Properties Supported:

+   3000: Undefined Type

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+   3001: Association/Directory

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+   3004: Text

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+   3005: HTML

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+   3008: MS Wave

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+      dc46: Artist STRING data type READ ONLY

+      dc9a: Album Name STRING data type READ ONLY

+      dc9b: Album Artist STRING data type READ ONLY

+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY

+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc8c: Genre STRING data type READ ONLY

+      dc96: Composer STRING data type READ ONLY

+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 GET/SET

+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY

+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET

+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET

+   3009: MP3

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+      dc46: Artist STRING data type READ ONLY

+      dc9a: Album Name STRING data type READ ONLY

+      dc9b: Album Artist STRING data type READ ONLY

+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY

+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc8c: Genre STRING data type READ ONLY

+      dc96: Composer STRING data type READ ONLY

+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 GET/SET

+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY

+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET

+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET

+   300b: MPEG

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+      dc46: Artist STRING data type READ ONLY

+      dc9a: Album Name STRING data type READ ONLY

+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc48: Description STRING data type READ ONLY

+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 GET/SET

+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY

+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET

+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET

+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY

+      dc8c: Genre STRING data type READ ONLY

+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY

+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911,  GET/SET

+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX 2000000000, STEP 1 GET/SET

+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 60000, STEP 1 GET/SET

+   3801: JPEG

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+      dc48: Description STRING data type READ ONLY

+   3802: TIFF EP

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+   3804: BMP

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+      dc48: Description STRING data type READ ONLY

+   3807: GIF

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+      dc48: Description STRING data type READ ONLY

+   3808: JFIF

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+   380b: PNG

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+      dc48: Description STRING data type READ ONLY

+   380d: TIFF

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+   b901: WMA

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+      dc46: Artist STRING data type READ ONLY

+      dc9a: Album Name STRING data type READ ONLY

+      dc9b: Album Artist STRING data type READ ONLY

+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY

+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc8c: Genre STRING data type READ ONLY

+      dc96: Composer STRING data type READ ONLY

+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 GET/SET

+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY

+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET

+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET

+   b902: OGG

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+      dc46: Artist STRING data type READ ONLY

+      dc9a: Album Name STRING data type READ ONLY

+      dc9b: Album Artist STRING data type READ ONLY

+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY

+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc8c: Genre STRING data type READ ONLY

+      dc96: Composer STRING data type READ ONLY

+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 GET/SET

+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY

+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET

+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET

+   b903: AAC

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+      dc46: Artist STRING data type READ ONLY

+      dc9a: Album Name STRING data type READ ONLY

+      dc9b: Album Artist STRING data type READ ONLY

+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY

+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc8c: Genre STRING data type READ ONLY

+      dc96: Composer STRING data type READ ONLY

+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 GET/SET

+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY

+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET

+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET

+   b982: MP4

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+   b983: MP2

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+   b984: 3GP

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+      dc46: Artist STRING data type READ ONLY

+      dc9a: Album Name STRING data type READ ONLY

+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc48: Description STRING data type READ ONLY

+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 GET/SET

+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY

+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET

+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET

+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY

+      dc8c: Genre STRING data type READ ONLY

+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY

+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911,  GET/SET

+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX 2000000000, STEP 1 GET/SET

+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 60000, STEP 1 GET/SET

+   ba05: Abstract Audio Video Playlist

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+   ba10: WPL Playlist

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+   ba11: M3U Playlist

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+   ba14: PLS Playlist

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+   ba82: XMLDocument

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+   b906: FLAC

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+   b981: WMV

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+      dc46: Artist STRING data type READ ONLY

+      dc9a: Album Name STRING data type READ ONLY

+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc48: Description STRING data type READ ONLY

+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 GET/SET

+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY

+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET

+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET

+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY

+      dc8c: Genre STRING data type READ ONLY

+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY

+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911,  GET/SET

+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX 2000000000, STEP 1 GET/SET

+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 60000, STEP 1 GET/SET

+   300a: MS AVI

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+   300c: ASF

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+   ba83: Microsoft Word Document

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+   ba85: Microsoft Excel Spreadsheet (.xls)

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+   ba86: Microsoft Powerpoint (.ppt)

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+Storage Devices:

+   StorageID: 0x00010001

+      StorageType: 0x0003 fixed RAM storage

+      FilesystemType: 0x0002 generic hierarchical

+      AccessCapability: 0x0000 read/write

+      MaxCapacity: 11228585984

+      FreeSpaceInBytes: 10526478336

+      FreeSpaceInObjects: 1073741824

+      StorageDescription: Internal storage

+      VolumeIdentifier: ##storage##emulated##0

+   StorageID: 0x00020001

+      StorageType: 0x0004 removable RAM storage

+      FilesystemType: 0x0002 generic hierarchical

+      AccessCapability: 0x0000 read/write

+      MaxCapacity: 4066902016

+      FreeSpaceInBytes: 146767872

+      FreeSpaceInObjects: 1073741824

+      StorageDescription: SD card

+      VolumeIdentifier: ##storage##ext_sd

+Special directories:

+   Default music folder: 0x0000000a

+   Default playlist folder: 0xffffffff

+   Default picture folder: 0x00000006

+   Default video folder: 0xffffffff

+   Default organizer folder: 0xffffffff

+   Default zencast folder: 0xffffffff

+   Default album folder: 0xffffffff

+   Default text folder: 0xffffffff

+MTP-specific device properties:

+   Friendly name: (NULL)

+   Synchronization partner: (NULL)

+libmtp supported (playable) filetypes:

+   Folder

+   Text file

+   HTML file

+   RIFF WAVE file

+   ISO MPEG-1 Audio Layer 3

+   MPEG video stream

+   JPEG file

+   BMP bitmap file

+   GIF bitmap file

+   JFIF file

+   Portable Network Graphics

+   TIFF bitmap file

+   Microsoft Windows Media Audio

+   Ogg container format

+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3

+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)

+   ISO MPEG-1 Audio Layer 2

+   Abstract Playlist file

+   XML file

+   Free Lossless Audio Codec (FLAC)

+   Microsoft Windows Media Video

+   Audio Video Interleave

+   Microsoft Advanced Systems Format

+   DOC file

+   XLS file

+   PPT file

+OK.
\ No newline at end of file
diff --git a/logs/mtp-detect-htc-one-s.txt b/logs/mtp-detect-htc-one-s.txt
new file mode 100644
index 0000000..08732ca
--- /dev/null
+++ b/logs/mtp-detect-htc-one-s.txt
@@ -0,0 +1,607 @@
+libmtp version: 1.1.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   0bb4:0f64 @ bus 2, dev 16
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0bb4
+   idProduct: 0f64
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 16
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0bb4
+         Product: (null)
+         Vendor id: 0x0f64
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: HTC
+   Model: HTC One
+   Device version: 3.62.401.1::5.5
+   Serial number: HT369W906229
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+   96f0: Unknown (96f0)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 GET/SET
+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 GET/SET
+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 GET/SET
+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX 2000000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 60000, STEP 1 GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 GET/SET
+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 GET/SET
+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 GET/SET
+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 GET/SET
+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX 2000000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 60000, STEP 1 GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 GET/SET
+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX 2000000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 60000, STEP 1 GET/SET
+   300a: MS AVI
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba83: Microsoft Word Document
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba85: Microsoft Excel Spreadsheet (.xls)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba86: Microsoft Powerpoint (.ppt)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 27374383104
+      FreeSpaceInBytes: 17926029312
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Внутренняя память
+      VolumeIdentifier: ##storage##emulated##0
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+   Microsoft Windows Media Video
+   Audio Video Interleave
+   Microsoft Advanced Systems Format
+   DOC file
+   XLS file
+   PPT file
+OK.
diff --git a/logs/mtp-detect-htc-one-v.txt b/logs/mtp-detect-htc-one-v.txt
new file mode 100644
index 0000000..a5cc167
--- /dev/null
+++ b/logs/mtp-detect-htc-one-v.txt
@@ -0,0 +1,464 @@
+libmtp version: 1.1.3
+
+Listing raw device(s)
+Device 0 (VID=0bb4 and PID=0ca8) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0bb4:0ca8 @ bus 1, dev 27
+Attempting to connect device(s)
+PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
+LIBMTP libusb: Attempt to reset device
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0bb4
+   idProduct: 0ca8
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 27
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0bb4
+         Product: (null)
+         Vendor id: 0x0ca8
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: HTC
+   Model: HTC One V
+   Device version: 1.0
+   Serial number: FA287X402513
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 99858432
+      FreeSpaceInBytes: 73229312
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Htc_Stoarge
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
\ No newline at end of file
diff --git a/logs/mtp-detect-htc-one-x.txt b/logs/mtp-detect-htc-one-x.txt
new file mode 100644
index 0000000..f2333f7
--- /dev/null
+++ b/logs/mtp-detect-htc-one-x.txt
@@ -0,0 +1,566 @@
+libmtp version: 1.1.5
+
+Listing raw device(s)
+   Found 1 device(s):
+   0bb4:0f91 @ bus 2, dev 8
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0bb4
+   idProduct: 0f91
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 8
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0bb4
+         Product: (null)
+         Vendor id: 0x0f91
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: HTC
+   Model: HTC One X
+   Device version: 3.14.401.27
+   Serial number: HT23MW110939
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de9a: Audio Bit Rate UINT32 data type ANY 32BIT VALUE form READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de9a: Audio Bit Rate UINT32 data type ANY 32BIT VALUE form READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de9a: Audio Bit Rate UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de9b: Video Four CC Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de9c: Video Bit Rate UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type ANY 32BIT VALUE form READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de9a: Audio Bit Rate UINT32 data type ANY 32BIT VALUE form READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de9a: Audio Bit Rate UINT32 data type ANY 32BIT VALUE form READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de9a: Audio Bit Rate UINT32 data type ANY 32BIT VALUE form READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de9a: Audio Bit Rate UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de9b: Video Four CC Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de9c: Video Bit Rate UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type ANY 32BIT VALUE form READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   300a: MS AVI
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba83: Microsoft Word Document
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba85: Microsoft Excel Spreadsheet (.xls)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba86: Microsoft Powerpoint (.ppt)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+   Audio Video Interleave
+   Microsoft Advanced Systems Format
+   BMP bitmap file
+   DOC file
+   XLS file
+   PPT file
+OK.
diff --git a/logs/mtp-detect-htc-one.txt b/logs/mtp-detect-htc-one.txt
new file mode 100644
index 0000000..a5e473e
--- /dev/null
+++ b/logs/mtp-detect-htc-one.txt
@@ -0,0 +1,1083 @@
+$ mtp-detect 
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6
+
+Listing raw device(s)
+Device 0 (VID=0bb4 and PID=0dea) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0bb4:0dea @ bus 3, dev 16
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0bb4
+   idProduct: 0dea
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 3
+      Device number: 16
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0bb4
+         Product: (null)
+         Vendor id: 0x0dea
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: HTC
+   Model: HTC One
+   Device version: 1.0
+   Serial number: FA33CW901790
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 27479240704
+      FreeSpaceInBytes: 6165278720
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0x00001e3c
+   Default picture folder: 0x0000024d
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0x00000c3c
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+
+
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   0bb4:0f63 @ bus 7, dev 24
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0bb4
+   idProduct: 0f63
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 7
+      Device number: 24
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0bb4
+         Product: (null)
+         Vendor id: 0x0f63
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: HTC
+   Model: HTC One
+   Device version: Android Revolution HD 31.5 by mike1986::5.5
+   Serial number: HT34YW906550
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+   96f0: Unknown (96f0)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 GET/SET
+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 GET/SET
+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 GET/SET
+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX 2000000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 60000, STEP 1 GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 GET/SET
+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 GET/SET
+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 GET/SET
+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 GET/SET
+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX 2000000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 60000, STEP 1 GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 GET/SET
+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX 2000000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 60000, STEP 1 GET/SET
+   300a: MS AVI
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba83: Microsoft Word Document
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba85: Microsoft Excel Spreadsheet (.xls)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba86: Microsoft Powerpoint (.ppt)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 27374383104
+      FreeSpaceInBytes: 23463546880
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Внутренняя память
+      VolumeIdentifier: ##storage##emulated##0
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000681
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0x0000000f
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+   Microsoft Windows Media Video
+   Audio Video Interleave
+   Microsoft Advanced Systems Format
+   DOC file
+   XLS file
+   PPT file
+OK.
diff --git a/logs/mtp-detect-htc-oneplusone.txt b/logs/mtp-detect-htc-oneplusone.txt
new file mode 100644
index 0000000..49c3d13
--- /dev/null
+++ b/logs/mtp-detect-htc-oneplusone.txt
@@ -0,0 +1,463 @@
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   05c6:6764 @ bus 2, dev 13
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 528
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 05c6
+   idProduct: 6764
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 13
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x05c6
+         Product: (null)
+         Vendor id: 0x6764
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: OnePlus
+   Model: A0001
+   Device version: 1.0
+   Serial number: b0565f22
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-huawei-Kavak-Y625-U03.txt b/logs/mtp-detect-huawei-Kavak-Y625-U03.txt
new file mode 100644
index 0000000..256a540
--- /dev/null
+++ b/logs/mtp-detect-huawei-Kavak-Y625-U03.txt
@@ -0,0 +1,16 @@
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.
+libmtp version: 1.1.8
+
+Listing raw device(s)
+Device 0 (VID=12d1 and PID=255d) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   12d1:255d @ bus 1, dev 17
+Attempting to connect device(s)
+ignoring libusb_claim_interface() = -6PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
+LIBMTP libusb: Attempt to reset device
+inep: usb_get_endpoint_status(): Device or resource busy
+outep: usb_get_endpoint_status(): Device or resource busy
+ignoring libusb_claim_interface() = -6LIBMTP PANIC: failed to open session on second attempt
+Unable to open raw device 0
+OK.
\ No newline at end of file
diff --git a/logs/mtp-detect-huawei-frd-l09.txt b/logs/mtp-detect-huawei-frd-l09.txt
new file mode 100644
index 0000000..483e76d
--- /dev/null
+++ b/logs/mtp-detect-huawei-frd-l09.txt
@@ -0,0 +1,532 @@
+libmtp version: 1.1.10
+
+Listing raw device(s)
+   Found 1 device(s):
+   12d1:107e @ bus 3, dev 11
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 528
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 12d1
+   idProduct: 107e
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 3
+      Device number: 11
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x12d1
+         Product: (null)
+         Vendor id: 0x107e
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: HUAWEI
+   Model: FRD-L09
+   Device version: 1.0
+   Serial number: 73QDU16828001472
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 25838977024
+      FreeSpaceInBytes: 19187978240
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Interner Speicher
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Battery level 64 of 100 (63%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+   BMP bitmap file
+OK.
diff --git a/logs/mtp-detect-huawei-h60-l12.txt b/logs/mtp-detect-huawei-h60-l12.txt
new file mode 100644
index 0000000..6262cf4
--- /dev/null
+++ b/logs/mtp-detect-huawei-h60-l12.txt
@@ -0,0 +1,560 @@
+- **status**: open --> closed
+- **assigned_to**: Marcus Meissner
+- **Comment**:
+
+thanks for the report, added to git for 1.1.12 rel4ease!
+
+
+
+---
+
+** [bugs:#1550] new device: 12d1:107a Huawei Android Phone H60-L12 **
+
+**Status:** closed
+**Group:** 1.1.10
+**Created:** Thu May 05, 2016 12:06 PM UTC by Anonymous
+**Last Updated:** Thu May 05, 2016 12:06 PM UTC
+**Owner:** Marcus Meissner
+
+
+**lsusb output**:
+
+Bus 002 Device 014: ID 12d1:107a Huawei Technologies Co., Ltd. 
+
+**mtp-detect output**:
+
+libmtp version: 1.1.10
+
+Listing raw device(s)
+Device 0 (VID=12d1 and PID=107a) is UNKNOWN in libmtp v1.1.10.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   12d1:107a @ bus 2, dev 14
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+Error 1: Get Storage information failed.
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 12d1
+   idProduct: 107a
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 14
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x12d1
+         Product: (null)
+         Vendor id: 0x107a
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: HUAWEI
+   Model: H60-L12
+   Device version: 1.0
+   Serial number: 022NKM149K003777
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Battery level 91 of 100 (91%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+   BMP bitmap file
+OK.
+
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/bugs/1550/>
+
+
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/>
\ No newline at end of file
diff --git a/logs/mtp-detect-huawei-m2-801w.txt b/logs/mtp-detect-huawei-m2-801w.txt
new file mode 100644
index 0000000..fe37ce2
--- /dev/null
+++ b/logs/mtp-detect-huawei-m2-801w.txt
@@ -0,0 +1,675 @@
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.
+libmtp version: 1.1.8
+
+Listing raw device(s)
+Device 0 (VID=12d1 and PID=1079) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp
+development team
+   Found 1 device(s):
+   12d1:1079 @ bus 1, dev 26
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 12d1
+   idProduct: 1079
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 26
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x12d1
+         Product: (null)
+         Vendor id: 0x1079
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: HUAWEI
+   Model: HUAWEI M2-801W
+   Device version: 1.0
+   Serial number: TJF4C15A26000968
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ
+ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form
+READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ
+ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ
+ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ
+ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form
+READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ
+ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ
+ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ
+ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form
+READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ
+ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ
+ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ
+ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form
+READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ
+ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ
+ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ
+ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form
+READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ
+ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ
+ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ
+ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form
+READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ
+ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000,
+STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3,
+4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000,
+STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ
+ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form
+READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ
+ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ
+ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ
+ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form
+READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ
+ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000,
+STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3,
+4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000,
+STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ
+ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form
+READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ
+ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ
+ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ
+ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form
+READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ
+ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ
+ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ
+ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form
+READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ
+ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ
+ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ
+ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form
+READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ
+ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ
+ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ
+ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form
+READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ
+ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ
+ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ
+ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form
+READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ
+ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ
+ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ
+ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form
+READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ
+ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ
+ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ
+ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form
+READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ
+ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ
+ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ
+ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form
+READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ
+ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ
+ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ
+ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form
+READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ
+ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000,
+STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3,
+4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000,
+STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ
+ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form
+READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ
+ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ
+ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ
+ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form
+READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ
+ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000,
+STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3,
+4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000,
+STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ
+ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form
+READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ
+ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ
+ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ
+ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form
+READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ
+ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000,
+STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3,
+4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000,
+STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ
+ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form
+READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ
+ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ
+ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ
+ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form
+READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ
+ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ
+ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ
+ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form
+READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ
+ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ
+ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ
+ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form
+READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ
+ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ
+ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ
+ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form
+READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ
+ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ
+ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ
+ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form
+READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ
+ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ
+ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ
+ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form
+READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ
+ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ
+ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ
+ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form
+READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ
+ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ
+ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ
+ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form
+READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ
+ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ
+ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ
+ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form
+READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ
+ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ
+ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 11235057664
+      FreeSpaceInBytes: 8000729088
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: 内部存储
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Battery level 55 of 100 (55%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+   BMP bitmap file
+OK.
+
diff --git a/logs/mtp-detect-huawei-mediapad.txt b/logs/mtp-detect-huawei-mediapad.txt
new file mode 100644
index 0000000..b03c5cb
--- /dev/null
+++ b/logs/mtp-detect-huawei-mediapad.txt
@@ -0,0 +1,520 @@
+libmtp version: 1.1.3
+
+Listing raw device(s)
+   Found 1 device(s):
+   12d1:360f @ bus 2, dev 8
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 12d1
+   idProduct: 360f
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 8
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x12d1
+         Product: (null)
+         Vendor id: 0x360f
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: HUAWEI
+   Model: HUAWEI MediaPad
+   Device version: 1.0
+   Serial number: F6R6RD1220300582
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba85: Microsoft Excel Spreadsheet (.xls)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba86: Microsoft Powerpoint (.ppt)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba83: Microsoft Word Document
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 32001572864
+      FreeSpaceInBytes: 28766732288
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD-карта
+      VolumeIdentifier: (null)
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 6071517184
+      FreeSpaceInBytes: 4886597632
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Внутренняя память
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x0000115a
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0x0000125b
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+   BMP bitmap file
+   XLS file
+   PPT file
+   DOC file
+OK.
diff --git a/logs/mtp-detect-huawei-p8-lite.txt b/logs/mtp-detect-huawei-p8-lite.txt
new file mode 100644
index 0000000..1c32ca2
--- /dev/null
+++ b/logs/mtp-detect-huawei-p8-lite.txt
@@ -0,0 +1,517 @@
+libmtp version: 1.1.9
+
+Listing raw device(s)
+   Found 1 device(s):
+   12d1:1082 @ bus 2, dev 8
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 12d1
+   idProduct: 1082
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 8
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x12d1
+         Product: (null)
+         Vendor id: 0x1082
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: HUAWEI
+   Model: ALE-L21
+   Device version: 1.0
+   Serial number: QLF7N15418000103
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 11142070272
+      FreeSpaceInBytes: 8487452672
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Memoria interna
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Battery level 46 of 100 (46%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+   BMP bitmap file
+OK.
diff --git a/logs/mtp-detect-huawei-u8815.txt b/logs/mtp-detect-huawei-u8815.txt
new file mode 100644
index 0000000..4ff7da5
--- /dev/null
+++ b/logs/mtp-detect-huawei-u8815.txt
@@ -0,0 +1,473 @@
+libmtp version: 1.1.4
+
+Listing raw device(s)
+Device 0 (VID=12d1 and PID=1052) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   12d1:1052 @ bus 2, dev 3
+Attempting to connect device(s)
+PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
+LIBMTP libusb: Attempt to reset device
+Android device detected, assigning default bug flags
+Error 1: Get Storage information failed.
+Error 2: PTP Layer error 02fe: get_handles_recursively(): could not get object handles.
+Error 2: Error 02fe: PTP: Protocol error, data expected
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 12d1
+   idProduct: 1052
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 3
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x12d1
+         Product: (null)
+         Vendor id: 0x1052
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: HUAWEI
+   Model: HUAWEI U8815
+   Device version: 1.0
+   Serial number: 20F3A3E42E7E
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+   BMP bitmap file
+OK.
+
diff --git a/logs/mtp-detect-huawei-u8860.txt b/logs/mtp-detect-huawei-u8860.txt
new file mode 100644
index 0000000..2bc16d2
--- /dev/null
+++ b/logs/mtp-detect-huawei-u8860.txt
@@ -0,0 +1,475 @@
+~# mtp-detect 
+libmtp version: 1.1.2
+
+Listing raw device(s)
+Device 0 (VID=12d1 and PID=1051) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   12d1:1051 @ bus 3, dev 8
+Attempting to connect device(s)
+PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
+LIBMTP libusb: Attempt to reset device
+Android device detected, assigning default bug flags
+Reading in zero packet after header
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 12d1
+   idProduct: 1051
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 3
+      Device number: 8
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x12d1
+         Product: (null)
+         Vendor id: 0x1051
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: HUAWEI
+   Model: U8860
+   Device version: 1.0
+   Serial number: F4559C664EC4
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 2184675328
+      FreeSpaceInBytes: 2184445952
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: sd card internal
+      VolumeIdentifier: (null)
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 16034856960
+      FreeSpaceInBytes: 4281245696
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: sd card external
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
\ No newline at end of file
diff --git a/logs/mtp-detect-huawei-y320-u10.txt b/logs/mtp-detect-huawei-y320-u10.txt
new file mode 100644
index 0000000..3d19f4f
--- /dev/null
+++ b/logs/mtp-detect-huawei-y320-u10.txt
@@ -0,0 +1,501 @@
+
+
+
+---
+
+** [bugs:#1629] Device 0 (VID=12d1 and PID=2406) is UNKNOWN in libmtp v1.1.12.**
+
+**Status:** open
+**Group:** 1.1.12
+**Created:** Mon Nov 14, 2016 02:49 AM UTC by Anonymous
+**Last Updated:** Mon Nov 14, 2016 02:49 AM UTC
+**Owner:** nobody
+
+
+libmtp version: 1.1.12
+
+Listing raw device(s)
+Device 0 (VID=12d1 and PID=2406) is UNKNOWN in libmtp v1.1.12.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   12d1:2406 @ bus 2, dev 14
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 12d1
+   idProduct: 2406
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 14
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x12d1
+         Product: (null)
+         Vendor id: 0x2406
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: HUAWEI
+   Model: HUAWEI Y320-U10
+   Device version: 1.0
+   Serial number: SG5T9T69S88PDQDI
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: Unknown(1001)
+   1002: Unknown(1002)
+   1003: Unknown(1003)
+   1004: Unknown(1004)
+   1005: Unknown(1005)
+   1006: Unknown(1006)
+   1007: Unknown(1007)
+   1008: Unknown(1008)
+   1009: Unknown(1009)
+   100a: Unknown(100a)
+   100b: Unknown(100b)
+   100c: Unknown(100c)
+   100d: Unknown(100d)
+   1014: Unknown(1014)
+   1015: Unknown(1015)
+   1016: Unknown(1016)
+   1017: Unknown(1017)
+   101b: Unknown(101b)
+   9801: Unknown(9801)
+   9802: Unknown(9802)
+   9803: Unknown(9803)
+   9804: Unknown(9804)
+   9805: Unknown(9805)
+   9810: Unknown(9810)
+   9811: Unknown(9811)
+   95c1: Unknown(95c1)
+   95c2: Unknown(95c2)
+   95c3: Unknown(95c3)
+   95c4: Unknown(95c4)
+   95c5: Unknown(95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 1521500160
+      FreeSpaceInBytes: 1519026176
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Phone storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Y320-U10
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/bugs/1629/>
+
+
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/>
\ No newline at end of file
diff --git a/logs/mtp-detect-huawei-y560-l01.txt b/logs/mtp-detect-huawei-y560-l01.txt
new file mode 100644
index 0000000..f1bc603
--- /dev/null
+++ b/logs/mtp-detect-huawei-y560-l01.txt
@@ -0,0 +1,518 @@
+libmtp version: 1.1.12
+
+Listing raw device(s)
+   Found 1 device(s):
+   12d1:259c @ bus 3, dev 14
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 12d1
+   idProduct: 259c
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 3
+      Device number: 14
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x12d1
+         Product: (null)
+         Vendor id: 0x259c
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: HUAWEI
+   Model: HUAWEI Y560-L01
+   Device version: 1.0
+   Serial number: Q6VBBBB612000727
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: Unknown(1001)
+   1002: Unknown(1002)
+   1003: Unknown(1003)
+   1004: Unknown(1004)
+   1005: Unknown(1005)
+   1006: Unknown(1006)
+   1007: Unknown(1007)
+   1008: Unknown(1008)
+   1009: Unknown(1009)
+   100a: Unknown(100a)
+   100b: Unknown(100b)
+   100c: Unknown(100c)
+   100d: Unknown(100d)
+   1014: Unknown(1014)
+   1015: Unknown(1015)
+   1016: Unknown(1016)
+   1017: Unknown(1017)
+   101b: Unknown(101b)
+   9801: Unknown(9801)
+   9802: Unknown(9802)
+   9803: Unknown(9803)
+   9804: Unknown(9804)
+   9805: Unknown(9805)
+   9810: Unknown(9810)
+   9811: Unknown(9811)
+   95c1: Unknown(95c1)
+   95c2: Unknown(95c2)
+   95c3: Unknown(95c3)
+   95c4: Unknown(95c4)
+   95c5: Unknown(95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+   0xc801
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 4906868736
+      FreeSpaceInBytes: 210501632
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Interní úložiště
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: HUAWEI Y560-L01
+   Synchronization partner: HUAWEI Y560-L01
+   Battery level 72 of 100 (72%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-infocus-m808.txt b/logs/mtp-detect-infocus-m808.txt
new file mode 100644
index 0000000..838572e
--- /dev/null
+++ b/logs/mtp-detect-infocus-m808.txt
@@ -0,0 +1,508 @@
+libmtp version: 1.1.11
+
+Listing raw device(s)
+   Found 1 device(s):
+   0489:c00b @ bus 2, dev 19
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0489
+   idProduct: c00b
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 19
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0489
+         Product: (null)
+         Vendor id: 0xc00b
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: InFocus
+   Model: InFocus M808
+   Device version: 1.0
+   Serial number: ZM1ZZMC5C1500784
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: InFocus M808
+   Synchronization partner: InFocus M808
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-insignia-DV4G.txt b/logs/mtp-detect-insignia-DV4G.txt
new file mode 100644
index 0000000..1a64e45
--- /dev/null
+++ b/logs/mtp-detect-insignia-DV4G.txt
@@ -0,0 +1,429 @@
+/tlibmtp version: 0.2.1

+

+Attempting to connect device(s)

+Detect: Successfully connected 1 devices

+USB low-level info:

+   Using kernel interface "usbfs"

+   bcdUSB: 512

+   bDeviceClass: 0

+   bDeviceSubClass: 0

+   bDeviceProtocol: 0

+   idVendor: 19ff

+   idProduct: 0303

+   IN endpoint maxpacket: 512 bytes

+   OUT endpoint maxpacket: 512 bytes

+   Device flags: 0x00000002

+Microsoft device descriptor 0xee:

+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.

+	0010: 0100                                   	..

+Device info:

+   Manufacturer: Insignia Products

+   Model: Insignia Video Player

+   Device version: V1.104

+   Serial number: 0103001731CBA92607071111294800B2

+   Vendor extension ID: 0x00000006

+   Vendor extension description: microsoft.com/WMDRMPD: 10.1;microsoft.com/AAVT: 1.0;microsoft.com/WMDRMND: 1.0;audible.com: 1.0;

+Supported operations:

+   1001: get device info

+   1002: Open session

+   1003: Close session

+   1004: Get storage IDs

+   1005: Get storage info

+   1006: Get number of objects

+   1007: Get object handles

+   1008: Get object info

+   1009: Get object

+   100b: Delete object

+   100c: Send object info

+   100d: Send object

+   100f: Format storage

+   1010: Reset device

+   1014: Get device property description

+   1015: Get device property value

+   1016: Set device property value

+   9810: Get object references

+   9811: Set object references

+   9802: Get object property description

+   9801: Get object properties supported

+   9803: Get object property value

+   9804: Set object property value

+   9805: Get object property list

+   9806: Set object property list

+   101b: Get partial object

+   9201: Report Added/Deleted Items

+   9101: Get secure time challenge

+   9102: Get secure time response

+   9103: Set license response

+   9104: Get sync list

+   9105: Send meter challenge query

+   9106: Get meter challenge

+   9107: Get meter response

+   9108: Clean data store

+   9109: Get license state

+   910a: Send WMDRM-PD Command

+   910b: Send WMDRM-PD Request

+   9170: Open Media Session

+   9171: Close Media Session

+   9172: Get Next Data Block

+   9173: Set Current Time Position

+   9180: Send Registration Request

+   9181: Get Registration Response

+   9182: Get Proximity Challenge

+   9183: Send Proximity Response

+   9184: Send WMDRM-ND License Request

+   9185: Get WMDRM-ND License Response

+Events supported:

+   0x4004

+   0x4005

+Device Properties Supported:

+   0xd100: Unknown property

+   0x5001: Battery Level

+   0xd401: Synchronization Partner

+   0xd402: Device Friendly Name

+   0xd101: Secure Time

+   0xd102: Device Certificate

+   0xd103: RevocationInfo

+Playable File (Object) Types and Object Properties Supported:

+   3009: MP3

+      dc44: Name STRING data type GET/SET

+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc04: ObjectSize UINT64 data type READ ONLY

+      dc07: ObjectFileName STRING data type GET/SET

+      dc09: DateModified STRING data type GET/SET

+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET

+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY

+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY

+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET

+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET

+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET

+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY

+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY

+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET

+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET

+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET

+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET

+      dc99: OriginalReleaseDate STRING data type GET/SET

+      dc46: Artist STRING data type GET/SET

+      dc8c: Genre STRING data type GET/SET

+      dc9a: AlbumName STRING data type GET/SET

+      dc9b: AlbumArtist STRING data type GET/SET

+   b901: WMA

+      dc44: Name STRING data type GET/SET

+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc04: ObjectSize UINT64 data type READ ONLY

+      dc07: ObjectFileName STRING data type GET/SET

+      dc09: DateModified STRING data type GET/SET

+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET

+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY

+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY

+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET

+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET

+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET

+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY

+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 READ ONLY

+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET

+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET

+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET

+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET

+      dc99: OriginalReleaseDate STRING data type GET/SET

+      dc46: Artist STRING data type GET/SET

+      dc8c: Genre STRING data type GET/SET

+      dc9a: AlbumName STRING data type GET/SET

+      dc9b: AlbumArtist STRING data type GET/SET

+   3008: MS Wave

+      dc44: Name STRING data type GET/SET

+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc04: ObjectSize UINT64 data type READ ONLY

+      dc07: ObjectFileName STRING data type GET/SET

+      dc09: DateModified STRING data type GET/SET

+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET

+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY

+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY

+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET

+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET

+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET

+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY

+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY

+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET

+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET

+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET

+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET

+      dc99: OriginalReleaseDate STRING data type GET/SET

+      dc46: Artist STRING data type GET/SET

+      dc8c: Genre STRING data type GET/SET

+      dc9a: AlbumName STRING data type GET/SET

+      dc9b: AlbumArtist STRING data type GET/SET

+   b904: Audible.com Codec

+      dc44: Name STRING data type GET/SET

+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc04: ObjectSize UINT64 data type READ ONLY

+      dc07: ObjectFileName STRING data type GET/SET

+      dc09: DateModified STRING data type GET/SET

+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET

+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY

+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY

+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET

+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET

+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET

+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY

+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY

+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET

+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET

+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET

+      da00: unknown(da00) UINT32 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7, 8,  GET/SET

+      da02: unknown(da02) UINT32 data type ANY 32BIT VALUE form READ ONLY

+      da03: unknown(da03) UINT16 data type enumeration: 0, 1,  READ ONLY

+      da01: unknown(da01) STRING data type GET/SET

+      da04: unknown(da04) array of UINT8 data type ANY 8BIT VALUE form GET/SET

+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET

+      dc8c: Genre STRING data type GET/SET

+      dc9a: AlbumName STRING data type GET/SET

+      dc46: Artist STRING data type GET/SET

+      dc9b: AlbumArtist STRING data type GET/SET

+   3801: JPEG

+      dc44: Name STRING data type GET/SET

+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc04: ObjectSize UINT64 data type READ ONLY

+      dc07: ObjectFileName STRING data type GET/SET

+      dc09: DateModified STRING data type GET/SET

+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET

+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY

+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY

+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET

+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET

+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET

+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET

+   300a: MS AVI

+      dc44: Name STRING data type GET/SET

+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc04: ObjectSize UINT64 data type READ ONLY

+      dc07: ObjectFileName STRING data type GET/SET

+      dc09: DateModified STRING data type GET/SET

+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET

+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY

+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY

+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET

+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET

+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET

+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET

+      de97: ScanDepth UINT16 data type enumeration: 1,  READ ONLY

+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 15000, MAX 30000, STEP 1 GET/SET

+      de9b: VideoFourCCCodec UINT32 data type enumeration: 0, 1195724877, 861293911,  GET/SET

+      de9e: KeyFrameDistance UINT32 data type range: MIN 1000, MAX 10000, STEP 1 GET/SET

+      de9c: VideoBitRate UINT32 data type range: MIN 32768, MAX 768000, STEP 1 GET/SET

+      dc99: OriginalReleaseDate STRING data type GET/SET

+      dc8c: Genre STRING data type GET/SET

+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY

+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY

+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET

+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET

+      dea1: EncodingProfile STRING data type GET/SET

+   b981: WMV

+      dc44: Name STRING data type GET/SET

+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc04: ObjectSize UINT64 data type READ ONLY

+      dc07: ObjectFileName STRING data type GET/SET

+      dc09: DateModified STRING data type GET/SET

+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET

+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY

+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY

+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET

+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET

+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET

+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET

+      de97: ScanDepth UINT16 data type enumeration: 1,  READ ONLY

+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 15000, MAX 30000, STEP 1 GET/SET

+      de9b: VideoFourCCCodec UINT32 data type enumeration: 0, 1195724877, 861293911,  GET/SET

+      de9e: KeyFrameDistance UINT32 data type range: MIN 1000, MAX 10000, STEP 1 GET/SET

+      de9c: VideoBitRate UINT32 data type range: MIN 32768, MAX 768000, STEP 1 GET/SET

+      dc99: OriginalReleaseDate STRING data type GET/SET

+      dc8c: Genre STRING data type GET/SET

+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY

+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY

+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET

+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET

+      dea1: EncodingProfile STRING data type GET/SET

+   300c: ASF

+      dc44: Name STRING data type GET/SET

+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc04: ObjectSize UINT64 data type READ ONLY

+      dc07: ObjectFileName STRING data type GET/SET

+      dc09: DateModified STRING data type GET/SET

+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET

+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY

+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY

+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET

+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET

+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET

+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET

+      de97: ScanDepth UINT16 data type enumeration: 1,  READ ONLY

+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 15000, MAX 30000, STEP 1 GET/SET

+      de9b: VideoFourCCCodec UINT32 data type enumeration: 0, 1195724877, 861293911,  GET/SET

+      de9e: KeyFrameDistance UINT32 data type range: MIN 1000, MAX 10000, STEP 1 GET/SET

+      de9c: VideoBitRate UINT32 data type range: MIN 32768, MAX 768000, STEP 1 GET/SET

+      dc99: OriginalReleaseDate STRING data type GET/SET

+      dc8c: Genre STRING data type GET/SET

+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY

+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY

+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET

+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET

+      dea1: EncodingProfile STRING data type GET/SET

+   3001: Association/Directory

+      dc44: Name STRING data type GET/SET

+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc04: ObjectSize UINT64 data type READ ONLY

+      dc07: ObjectFileName STRING data type GET/SET

+      dc09: DateModified STRING data type GET/SET

+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET

+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY

+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY

+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET

+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET

+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc9a: AlbumName STRING data type GET/SET

+   ba05: Abstract Audio Video Playlist

+      dc44: Name STRING data type GET/SET

+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc04: ObjectSize UINT64 data type READ ONLY

+      dc07: ObjectFileName STRING data type GET/SET

+      dc09: DateModified STRING data type GET/SET

+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET

+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY

+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY

+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET

+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET

+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET

+   3000: Undefined Type

+      dc44: Name STRING data type GET/SET

+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc04: ObjectSize UINT64 data type READ ONLY

+      dc07: ObjectFileName STRING data type GET/SET

+      dc09: DateModified STRING data type GET/SET

+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET

+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY

+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY

+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET

+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET

+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET

+   b802: Firmware

+      dc44: Name STRING data type GET/SET

+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc04: ObjectSize UINT64 data type READ ONLY

+      dc07: ObjectFileName STRING data type GET/SET

+      dc09: DateModified STRING data type GET/SET

+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET

+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY

+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY

+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET

+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET

+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET

+   ba03: Abstract Audio Album

+      dc44: Name STRING data type GET/SET

+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc04: ObjectSize UINT64 data type READ ONLY

+      dc07: ObjectFileName STRING data type GET/SET

+      dc09: DateModified STRING data type GET/SET

+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET

+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY

+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY

+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET

+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET

+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET

+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY

+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY

+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY

+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY

+      dc9b: AlbumArtist STRING data type GET/SET

+      dc46: Artist STRING data type GET/SET

+      dc8c: Genre STRING data type GET/SET

+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET

+Storage Devices:

+   StorageID: 0x00010001

+      StorageType: 0x0003

+      FilesystemType: 0x0002

+      AccessCapability: 0x0000

+      MaxCapacity: 3909824512

+      FreeSpaceInBytes: 3676336374

+      FreeSpaceInObjects: 5938

+      StorageDescription: Internal Storage

+      VolumeIdentifier: 0103001731CBA92607071111294800B2

+   StorageID: 0x00020001

+      StorageType: 0x0004

+      FilesystemType: 0x0002

+      AccessCapability: 0x0000

+      MaxCapacity: 2030960640

+      FreeSpaceInBytes: 1698411316

+      FreeSpaceInObjects: 5888

+      StorageDescription: External Storage

+      VolumeIdentifier: 1103001731CBA92607071111294800B2

+Special directories:

+   Default music folder: 0x20000bc0

+   Default playlist folder: 0x00000000

+   Default picture folder: 0x00000000

+   Default video folder: 0x00000000

+   Default organizer folder: 0x00000000

+   Default zencast folder: 0x00000000

+   Default album folder: 0x2000000b

+   Default text folder: 0x00000000

+MTP-specific device properties:

+   Friendly name: Insignia Video Player

+   Synchronization partner: Longhorn Sync Engine

+   Battery level 100 of 100 (100%)

+libmtp supported (playable) filetypes:

+   ISO MPEG-1 Audio Layer 3

+   Microsoft Windows Media Audio

+   RIFF WAVE file

+   Audible.com Audio Codec

+   JPEG file

+   Audio Video Interleave

+   Microsoft Windows Media Video

+   Microsoft Advanced Systems Format

+   Firmware file

+

+Secure Time:

+<DRMCLOCK type="status"><VALUE>#20061014 03:26:40Z#</VALUE><FLAG>DRM_CLK_NEEDS_REFRESH</FLAG></DRMCLOCK>AG></DRMCLOCK>

+

+Device Certificate:

+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">AQMAFzHLqSYHBxERKUgAsgAAAAA=</UNIQUEID><PUBLICKEY private="1">oRTqKySwPHrW9wmL/tY3DUjpvR7lPD6PIIinnNntdoqeDrOP8nTDPg==</PUBLICKEY><KEYDATA>R7jB6y5gumd3rSPc/P60KLMuGTU=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>as/YFmwvhe78S4+n4zZQJVbm+XqJKAwgrYoyIlc+SW5EcjxZFnRcZQ==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>T4jEP/8b1cFyedqC3Q9FSbr50gQ=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.105.77</SECURITYVERSION><CERTIFICATE private="1">oRTqKySwPHrW9wmL/tY3DUjpvR7lPD6PIIinnNntdoqeDrOP8nTDPgIEaU0X8IoQlDRmS1MYEBDi/5Bj1bRsUSv1RV/GsMtBAlMThT5i604nrltH</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>NS-DVxG</NAME><MANUFACTURER>INSIGNIA</MANUFACTURER><MAKE>JOYTOTO</MAKE><DISTRIBUTOR>WideWorldImporters</DISTRIBUTOR><MODEL>INSIGNIA</MODEL><SECURITYLEVEL>2000</SECURITYLEVEL><HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR><HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR><FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR><FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR><FEATURES><CLOCK>2</CLOCK><SECURECLOCK><URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL><PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY></SECURECLOCK><METERING>1</METERING><LICENSE_ACQ>0</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>0</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT></FEATURES><LIMITS><MAXCHAINDEPTH>2</MAXCHAINDEPTH><MAXLICENSESIZE>10240</MAXLICENSESIZE><MAXHEADERSIZE>5120</MAXHEADERSIZE></LIMITS><PUBLICKEY>AN9JFbxhf1vEcC1FRXIgk6fRPzBKyiw+SaIwqqhm3/RpmijB9tFWYw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>rBWeBfgAXPNmmg79CGdeMhc3PwvqNgpONZmxbd9zWIeIM8MMEkx+Rg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1201</AUTH_ID><PUBLICKEY>FJEWrbQhHd+m7M0wqCgDWL+R7BmBOHYvFukq3pLKR3W6rRSruW5vSg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>pNvApYSXWghsnSmXamJDRWRz3hW4z11V9v2tZu6CUHFMGg57qYpBdA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>2iNR1uSacxgKGxFfMc/HtQwlVgy6IhKZ0gAwT2YW+7zGCZnxVFjySA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>

+

+Device description WMPInfo.xml file:

+<DeviceInfo>

+    <WMP DeviceID="{032E2600-69E0-496C-938F-79899FF48D44}" RelationshipID="{79EF1DB2-8A69-43CB-97BB-A5EE107F22A3}"/>

+</DeviceInfo>

+

+OK.

diff --git a/logs/mtp-detect-intex-aquafish.txt b/logs/mtp-detect-intex-aquafish.txt
new file mode 100644
index 0000000..5166d1e
--- /dev/null
+++ b/logs/mtp-detect-intex-aquafish.txt
@@ -0,0 +1,605 @@
+# mtp-detect
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.
+libmtp version: 1.1.8
+
+Listing raw device(s)
+Device 0 (VID=05c6 and PID=0a07) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   05c6:0a07 @ bus 1, dev 24
+Attempting to connect device(s)
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 05c6
+   idProduct: 0a07
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 24
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x05c6
+         Product: (null)
+         Vendor id: 0x0a07
+         Device flags: 0x00000000
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Intex
+   Model: Intex Aqua Fish
+   Device version: 2.0.4.14 HW: 0.0.1.8
+   Serial number: 911514800207142
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com:1.0; microsoft.com/WMPPD:11.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        microsoft.com/WMPPD: 11.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1019: Move object
+   101a: Copy object
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9810: Get object references
+   9811: Set object references
+Events supported:
+   0x4002
+   0x4003
+   0x4007
+   0xc801
+   0x4004
+   0x4005
+   0x400a
+   0x4009
+   0x400c
+   0x4008
+   0x4006
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd402: Friendly Device Name
+   0xd401: Synchronization Partner
+   0x501f: Copyright Info
+   0xd407: Perceived Device Type
+   0xd405: Device Icon
+   0xd403: Volume Level
+Playable File (Object) Types and Object Properties Supported:
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14344, 14347,  READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14344, 14347,  READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14344, 14347,  READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14344, 14347,  READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14344, 14347,  READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 22050, 44000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 85, 352, 353, 354, 16897, 41222, 34,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 22050, 44000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 85, 352, 353, 354, 16897, 41222, 34,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 22050, 44000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 85, 352, 353, 354, 16897, 41222, 34,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 22050, 44000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 85, 352, 353, 354, 16897, 41222, 34,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 22050, 44000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 85, 352, 353, 354, 16897, 41222, 34,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+   300a: MS AVI
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 1920, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 1080, STEP 1 GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 22050, 44000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 85, 352, 353, 354, 16897, 41222, 34,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 1145656899, 1162629709, 827544397, 827739479, 861293911, 875967048,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 100000, STEP 1 GET/SET
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 1920, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 1080, STEP 1 GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 22050, 44000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 85, 352, 353, 354, 16897, 41222, 34,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 1145656899, 1162629709, 827544397, 827739479, 861293911, 875967048,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 100000, STEP 1 GET/SET
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 1920, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 1080, STEP 1 GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 22050, 44000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 85, 352, 353, 354, 16897, 41222, 34,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 1145656899, 1162629709, 827544397, 827739479, 861293911, 875967048,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 100000, STEP 1 GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 1920, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 1080, STEP 1 GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 22050, 44000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 85, 352, 353, 354, 16897, 41222, 34,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 1145656899, 1162629709, 827544397, 827739479, 861293911, 875967048,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 100000, STEP 1 GET/SET
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 1920, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 1080, STEP 1 GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 22050, 44000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 85, 352, 353, 354, 16897, 41222, 34,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 1145656899, 1162629709, 827544397, 827739479, 861293911, 875967048,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 100000, STEP 1 GET/SET
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   bb82: vCard2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   bb83: vCard3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   be02: vCalendar1
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+Storage Devices:
+   StorageID: 0x00010002
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 31092375552
+      FreeSpaceInBytes: 30891114496
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: SD Card
+      VolumeIdentifier: media
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 11086577664
+      FreeSpaceInBytes: 9628618752
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Mass storage
+      VolumeIdentifier: media
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0x000002bb
+   Default picture folder: 0x000002b9
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Intex Aqua Fish
+   Synchronization partner: Sailfish
+   Battery level 46 of 100 (46%)
+libmtp supported (playable) filetypes:
+   JPEG file
+   GIF bitmap file
+   Portable Network Graphics
+   TIFF bitmap file
+   BMP bitmap file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Audio Video Interleave
+   MPEG video stream
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Microsoft Windows Media Video
+   Folder
+   Text file
+   HTML file
+   Abstract Album file
+   Abstract Playlist file
+   VCard version 2
+   VCard version 3
+   VCalendar version 1
+OK.
diff --git a/logs/mtp-detect-iriver-clix.txt b/logs/mtp-detect-iriver-clix.txt
new file mode 100644
index 0000000..9880f84
--- /dev/null
+++ b/logs/mtp-detect-iriver-clix.txt
@@ -0,0 +1,355 @@
+Attempting to connect device(s)
+Detect: Successfully connected 1 devices
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 4102
+   idProduct: 112a
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000018
+Device info:
+   Manufacturer: iriver
+   Model: iriver clix
+   Device version: MTP-2.01-N-ENG
+   Serial number: 873ff80f000000f93230303530313031
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 10.0; audible.com: 1.0;
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9810: Get object references
+   9811: Set object references
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9201: Report Added/Deleted Items
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Device Friendly Name
+   0xd405: Device Icon
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd100: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+   3004: Text
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 85, 353,  READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX 10000000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+   300a: MS AVI
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      de93: SampleRate UINT32 data type enumeration: 44100,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 128000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  READ ONLY
+      dc87: Width UINT32 data type range: MIN 4, MAX 320, STEP 4 GET/SET
+      dc88: Height UINT32 data type range: MIN 4, MAX 240, STEP 4 GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 16000, MAX 512000, STEP 1 READ ONLY
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 1145656920,  GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 8000, MAX 384000, STEP 1 READ ONLY
+      de9d: FramesPerThousandSeconds UINT32 data type enumeration: 5000, 6000, 7000, 8000, 9000, 10000, 11000, 12000, 13000, 14000, 15000,  GET/SET
+   300c: ASF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 85, 353,  READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX 10000000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+   3801: JPEG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  GET/SET
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 74, MAX 75, STEP 1 GET/SET
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 99, MAX 100, STEP 1 GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 85, 353,  READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX 10000000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+   b902: OGG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 85, 353,  READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX 10000000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+   b904: Audible.com Codec
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 85, 353,  READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX 10000000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      da00: unknown(da00) UINT32 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7, 8,  GET/SET
+      da01: unknown(da01) STRING data type GET/SET
+      da02: unknown(da02) UINT32 data type ANY 32BIT VALUE form GET/SET
+      da03: unknown(da03) UINT16 data type enumeration: 0, 0,  GET/SET
+   ba03: Abstract Audio Album
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  GET/SET
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 91, MAX 92, STEP 1 GET/SET
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 91, MAX 92, STEP 1 GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+   ba82: XMLDocument
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 2005729280
+      FreeSpaceInBytes: 1900265472
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: iriver clix files
+      VolumeIdentifier: hipdippaaaaaaajpcdadadfdadbdadbd
+Special directories:
+   Default music folder: 0x00070000
+   Default playlist folder: 0x00060000
+   Default picture folder: 0x00090000
+   Default video folder: 0x00010000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00080000
+   Default text folder: 0x00020000
+MTP-specific device properties:
+   Friendly name: Richard's Clix
+   Synchronization partner: (NULL)
+   Battery level 4 of 4 (100%)
+libmtp supported (playable) filetypes:
+   Text file
+   ISO MPEG-1 Audio Layer 3
+   Audio Video Interleave
+   Microsoft Advanced Systems Format
+   JPEG file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Audible.com Audio Codec
+   XML file
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20060129 11:34:35Z#</VALUE><FLAG>DRM_CLK_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">CgoKCgoKCgoKCgoKCgoKCgoKCgo=</UNIQUEID><PUBLICKEY private="1">7cVY8s5uhwcwJZBCKY0Nzjwdqwa6eafIWthcYw/oCNPK6gB0fzxxNQ==</PUBLICKEY><KEYDATA>3TG4cp+JFr12+hWLOdquLkbrXf4=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>VyF9BrkcNPOlgrMPN7Ldd86Exk8CyzpcW7FehyuAAtXTB4Ns5JXeZA==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>pY98DivHN3zgKe/0MPv2wPx2+7Q=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.102.3</SECURITYVERSION><CERTIFICATE private="1">7cVY8s5uhwcwJZBCKY0Nzjwdqwa6eafIWthcYw/oCNPK6gB0fzxxNQIEZgPBcUIyUBSjrPOpAasS0zG/uY/xA2MSYeYMBFyXNJzlaYDonEw76411</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>iRiver H10 Series</NAME><MANUFACTURER>iRiver</MANUFACTURER><MAKE>iRiver</MAKE><DISTRIBUTOR>ReignCom</DISTRIBUTOR><MODEL>H10</MODEL><SECURITYLEVEL>2000</SECURITYLEVEL><HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR><HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR><FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR><FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR><FEATURES><CLOCK>2</CLOCK><SECURECLOCK><URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL><PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY></SECURECLOCK><METERING>1</METERING><LICENSE_ACQ>1</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>1</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT></FEATURES><LIMITS><MAXCHAINDEPTH>2</MAXCHAINDEPTH><MAXLICENSESIZE>10240</MAXLICENSESIZE><MAXHEADERSIZE>5120</MAXHEADERSIZE></LIMITS><PUBLICKEY>8jeq4PyJZUL8NpU2+/tgvUZC9ijn3RdlK3wd04Iws6oXHoA+D6vFfQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>HZ85tGf5VnDwKLGq2S0OlK/oJCKbCx3A2yudzMOv8ERwi6drHW5xOA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>359</AUTH_ID><PUBLICKEY>DpMhgaZkXUFNFIs4KJe7S9MZYwuE1bBic6AV6wAc7Ir0Stfx8U+SKw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>GWscwHnDoSazgB+YOP2D7xrqDifWEFztujqAWwrkM7onynIcfOBBMQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>QndHdJ4ZoSgvokVCOWsqVnvuckGL5cn6Vrua0j4tcGBrjD9PgNd0AA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+
+Device description WMPInfo.xml file:
+<DeviceInfo>

+    <WMP DeviceID="{38F6CE81-F97C-4359-B9A8-236F2FCBF6A0}" RelationshipID="{00000000-0000-0000-0000-000000000000}"/>

+</DeviceInfo>

+
+OK.
diff --git a/logs/mtp-detect-iriver-clix2.txt b/logs/mtp-detect-iriver-clix2.txt
new file mode 100644
index 0000000..a06061f
--- /dev/null
+++ b/logs/mtp-detect-iriver-clix2.txt
@@ -0,0 +1,391 @@
+PTP: Opening session
+Attempting to connect device(s)
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 4102
+   idProduct: 1126
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x0000000c
+Device info:
+   Manufacturer: iriver
+   Model: iriver clix
+   Device version: MTP-1.10-N-ENG
+   Serial number: AA5562CFC92734313338313818180407
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 10.0; audible.com: 1.0; microsoft.com/AAVT: 1.0; microsoft.com/WMDRMND: 1.0;
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9810: Get object references
+   9811: Set object references
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9201: Report Added/Deleted Items
+   9170: Open Media Session
+   9171: Close Media Session
+   9172: Get Next Data Block
+   9173: Set Current Time Position
+   9180: Send Registration Request
+   9181: Get Registration Response
+   9182: Get Proximity Challenge
+   9183: Send Proximity Response
+   9184: Send WMDRM-ND License Request
+   9185: Get WMDRM-ND License Response
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Device Friendly Name
+   0xd405: Device Icon
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd100: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+   3004: Text
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 85, 353,  READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX 10000000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+   300a: MS AVI
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      de93: SampleRate UINT32 data type enumeration: 44100,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  READ ONLY
+      dc87: Width UINT32 data type range: MIN 128, MAX 320, STEP 16 GET/SET
+      dc88: Height UINT32 data type range: MIN 128, MAX 240, STEP 16 GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 16000, MAX 2320000, STEP 1 READ ONLY
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 1482049860,  GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 8000, MAX 2000000, STEP 1 GET/SET
+      de9d: FramesPerThousandSeconds UINT32 data type enumeration: 5000, 6000, 7000, 8000, 9000, 10000, 11000, 12000, 13000, 14000, 15000, 16000, 17000, 18000, 19000, 20000, 21000, 22000, 23000, 24000, 25000, 26000, 27000, 28000, 29000, 29970, 30000,  GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+   300c: ASF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 85, 353,  READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX 10000000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+   3801: JPEG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  GET/SET
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 74, MAX 75, STEP 1 GET/SET
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 99, MAX 100, STEP 1 GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 85, 353,  READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX 10000000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+   b902: OGG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 85, 353,  READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX 10000000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+   b904: Audible.com Codec
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 85, 353,  READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX 10000000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      da00: unknown(da00) UINT32 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7, 8,  GET/SET
+      da01: unknown(da01) STRING data type GET/SET
+      da02: unknown(da02) UINT32 data type ANY 32BIT VALUE form GET/SET
+      da03: unknown(da03) UINT16 data type enumeration: 0, 0,  GET/SET
+   b981: WMV
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      de93: SampleRate UINT32 data type enumeration: 44100,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 353,  READ ONLY
+      dc87: Width UINT32 data type range: MIN 128, MAX 320, STEP 16 GET/SET
+      dc88: Height UINT32 data type range: MIN 128, MAX 240, STEP 16 GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 16000, MAX 1088000, STEP 1 READ ONLY
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911,  GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 8000, MAX 768000, STEP 1 GET/SET
+      de9d: FramesPerThousandSeconds UINT32 data type enumeration: 5000, 6000, 7000, 8000, 9000, 10000, 11000, 12000, 13000, 14000, 15000, 16000, 17000, 18000, 19000, 20000, 21000, 22000, 23000, 24000, 25000, 26000, 27000, 28000, 29000, 29970, 30000,  GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+   ba03: Abstract Audio Album
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  GET/SET
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 91, MAX 92, STEP 1 GET/SET
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 91, MAX 92, STEP 1 GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+   ba82: XMLDocument
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 3997171712
+      FreeSpaceInBytes: 3990781952
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: iriver clix files
+      VolumeIdentifier: AA5562CFC92734313338313818180407
+Special directories:
+   Default music folder: 0x00010000
+   Default playlist folder: 0x00030000
+   Default picture folder: 0x00020000
+   Default video folder: 0x00040000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default albumPTP: Closing session
+inep: usb_get_endpoint_status(): Connection timed out
+outep: usb_get_endpoint_status(): Connection timed out
+usb_clear_halt() on IN endpoint: Connection timed out
+usb_clear_halt() on OUT endpoint: Connection timed out
+usb_clear_halt() on INTERRUPT endpoint: Connection timed out
+ folder: 0x00000000
+   Default text folder: 0x00070000
+MTP-specific device properties:
+   Friendly name: iriver clix
+   Synchronization partner: 180407
+   Battery level 3 of 4 (75%)
+libmtp supported (playable) filetypes:
+   Text file
+   ISO MPEG-1 Audio Layer 3
+   Audio Video Interleave
+   Microsoft Advanced Systems Format
+   JPEG file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Audible.com Audio Codec
+   Microsoft Windows Media Video
+   XML file
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20070703 15:42:38Z#</VALUE><FLAG>DRM_CLK_NEEDS_REFRESH</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">CgoKCgoKCgoKCgoKCgoKCgoKCgo=</UNIQUEID><PUBLICKEY private="1">cD8RQCl30zBejXpidyXkt5f01zAzML46bYQ0t3SxKmBD34Hi83hGNA==</PUBLICKEY><KEYDATA>5IQyWHJekGUBpWbz+Jfj66ILO98=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>ZPVCDjj38p3tg1snrnYP/xs1QxOtjoCGhaXwv81qV5BVCGwL5idVQA==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>YEWXKpk1T+gDHh/hJcsVxDJSccA=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.102.3</SECURITYVERSION><CERTIFICATE private="1">cD8RQCl30zBejXpidyXkt5f01zAzML46bYQ0t3SxKmBD34Hi83hGNAIEZgNDyOxqoZ3LLx8AEUvYlbNSBr2bGOf8iO10ZrxFInMmL47vWZBj3tMI</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>iRiver H10 Series</NAME><MANUFACTURER>iRiver</MANUFACTURER><MAKE>iRiver</MAKE><DISTRIBUTOR>ReignCom</DISTRIBUTOR><MODEL>H10</MODEL><SECURITYLEVEL>2000</SECURITYLEVEL><HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR><HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR><FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR><FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR><FEATURES><CLOCK>2</CLOCK><SECURECLOCK><URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL><PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY></SECURECLOCK><METERING>1</METERING><LICENSE_ACQ>1</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>1</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT><SUPPORT_REVOCATION><GUID>{CD75E604-543D-4A9C-9F09-FE6D24E8BF90}</GUID></SUPPORT_REVOCATION></FEATURES><LIMITS><MAXCHAINDEPTH>2</MAXCHAINDEPTH><MAXLICENSESIZE>10240</MAXLICENSESIZE><MAXHEADERSIZE>5120</MAXHEADERSIZE></LIMITS><PUBLICKEY>CHLiS7bpZCOKg2fVD0JPBHgi3wJC8utLO0XGilzb4eGHzxil3CN4Jg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>Ji0nZh3Goy4aZpOq7CfeHK+EGm+GA+yL26SigjlWVI9QuydMLjPzOQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>359</AUTH_ID><PUBLICKEY>DpMhgaZkXUFNFIs4KJe7S9MZYwuE1bBic6AV6wAc7Ir0Stfx8U+SKw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>GWscwHnDoSazgB+YOP2D7xrqDifWEFztujqAWwrkM7onynIcfOBBMQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>QndHdJ4ZoSgvokVCOWsqVnvuckGL5cn6Vrua0j4tcGBrjD9PgNd0AA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+WMPInfo.xml Does not exist on this device
+OK.
diff --git a/logs/mtp-detect-iriver-e100.txt b/logs/mtp-detect-iriver-e100.txt
new file mode 100644
index 0000000..47b9c80
--- /dev/null
+++ b/logs/mtp-detect-iriver-e100.txt
@@ -0,0 +1,316 @@
+libmtp version: 0.2.6.1
+
+Attempting to connect device(s)
+Device 1 (VID=4102 and PID=1141) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+PTP: Opening session
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 255
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 4102
+   idProduct: 1141
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+        0000: 1203 4d00 5300 4600 5400 3100 3000 3000   ..M.S.F.T.1.0.0.
+        0010: fe00                                      ..
+Microsoft device response to control message 1, CMD 0xfe:
+        0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............
+        0010: 0001 4d54 5000 0000 0000 0000 0000 0000   ..MTP...........
+        0020: 0000 0000 0000 0000                       ........
+Microsoft device response to control message 2, CMD 0xfe:
+        0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............
+        0010: 0001 4d54 5000 0000 0000 0000 0000 0000   ..MTP...........
+        0020: 0000 0000 0000 0000                       ........
+Device info:
+   Manufacturer: iriver
+   Model: iriver E100
+   Device version: TP-0.31-N-ENG
+   Serial number: 221D9DA65E73B749BEE2C2BA869606DB
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 10.0;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   101b: Get partial object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9201: Report Added/Deleted Items
+Events supported:
+   None.
+Device Properties Supported:
+   0xd101: Secure Time
+   0xd401: Synchronization Partner
+   0x5001: Battery Level
+   0xd102: Device Certificate
+   0xd402: Friendly Device Name
+Playable File (Object) Types and Object Properties Supported:
+   3009: MP3
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX 800000, STEP 1 READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 384000, STEP 1 READ ONLY
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+   b901: WMA
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX 800000, STEP 1 READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 384000, STEP 1 READ ONLY
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+   300c: ASF
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX 800000, STEP 1 READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      de97: ScanDepth UINT16 data type enumeration: 1,  READ ONLY
+      de91: TotalBitRate UINT32 data type range: MIN 1, MAX 1234000, STEP 1 READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 384000, STEP 1 READ ONLY
+      dc8c: Genre STRING data type GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      dc94: ParentalRating STRING data type GET/SET
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 15000, MAX 30000, STEP 1 GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911, 0, 859189832, 958804552, 1195724877, 827739479, 844516695,  GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 1, MAX 850000, STEP 1 READ ONLY
+   b981: WMV
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX 800000, STEP 1 READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      de97: ScanDepth UINT16 data type enumeration: 1,  READ ONLY
+      de91: TotalBitRate UINT32 data type range: MIN 1, MAX 1234000, STEP 1 READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 384000, STEP 1 READ ONLY
+      dc8c: Genre STRING data type GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      dc94: ParentalRating STRING data type GET/SET
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 15000, MAX 30000, STEP 1 GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911, 0, 859189832, 958804552, 1195724877, 827739479, 844516695,  GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 1, MAX 850000, STEP 1 READ ONLY
+   3801: JPEG
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+   3001: Association/Directory
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+   ba03: Abstract Audio Album
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+   3000: Undefined Type
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+   300a: MS AVI
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX 800000, STEP 1 READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      de97: ScanDepth UINT16 data type enumeration: 1,  READ ONLY
+      de91: TotalBitRate UINT32 data type range: MIN 1, MAX 1234000, STEP 1 READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 384000, STEP 1 READ ONLY
+      dc8c: Genre STRING data type GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      dc94: ParentalRating STRING data type GET/SET
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 15000, MAX 30000, STEP 1 GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911, 0, 859189832, 958804552, 1195724877, 827739479, 844516695,  GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 1, MAX 850000, STEP 1 READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 8005951488
+      FreeSpaceInBytes: 7986962432
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: iriver E100 Files
+      VolumeIdentifier: 295BB680
+Special directories:
+   Default music folder: 0x05000160
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x05000161
+   Default video folder: 0x05000167
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x05000166
+MTP-specific device properties:
+   Friendly name: iriver E100
+   Synchronization partner: Longhorn Sync Engine
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   Microsoft Advanced Systems Format
+   Microsoft Windows Media Video
+   JPEG file
+   Audio Video Interleave
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20080607 19:07:51Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">vbwnhPegN0G8TdpyfN8iEHzfIhA=</UNIQUEID><PUBLICKEY private="1">gwgEFp4IDGEN1kTBlsKYi4WjBQyUynbJgLfj/nX3PBiSXcyr72Inhg==</PUBLICKEY><KEYDATA>X9igEHuLA+KGSJLeCSoXezHVDks=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>gwgEFp4IDGEN1kTBlsKYi4WjBQxEBpbLlor68NtpJ9fTpQIoI6sFZg==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>TR1/tCkL16gODgMHD9nbaFh8kms=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.110.179</SECURITYVERSION><CERTIFICATE private="1">gwgEFp4IDGEN1kTBlsKYi4WjBQyUynbJgLfj/nX3PBiSXcyr72InhgIEbrODCAQWnggMYQ3WRMGWwpiLhaMFDEJ2vuXzjtooUZDEdNIMca4Ac3sS</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>iriver E100</NAME><MANUFACTURER>iriver</MANUFACTURER><MAKE>iriver</MAKE><DISTRIBUTOR>iriver</DISTRIBUTOR><MODEL>E100</MODEL><SECURITYLEVEL>2000</SECURITYLEVEL><HARDWARE_VER_MAJOR>1.0</HARDWARE_VER_MAJOR><HARDWARE_VER_MINOR>1.0</HARDWARE_VER_MINOR><FIRMWARE_VER_MAJOR>1.0</FIRMWARE_VER_MAJOR><FIRMWARE_VER_MINOR>1.0</FIRMWARE_VER_MINOR><FEATURES><CLOCK>2</CLOCK><SECURECLOCK><URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL><PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY></SECURECLOCK><METERING>1</METERING><LICENSE_ACQ>0</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>0</ENCRYPTION><SYMMETRIC_OPT>0</SYMMETRIC_OPT></FEATURES><LIMITS><MAXCHAINDEPTH>2</MAXCHAINDEPTH><MAXLICENSESIZE>6656</MAXLICENSESIZE><MAXHEADERSIZE>5120</MAXHEADERSIZE></LIMITS><PUBLICKEY>2iVOcUjU7JrpG+uOw9vVbTb8jDP6sV4dDXK6dHIL+Wk5M9Qi/BclQg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>wXNWf4yNWXzMSKmNUPSWSV1AxjzNFLJbobqx0V1p6U8GJhTJCFXgSg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>2583</AUTH_ID><PUBLICKEY>+K7NGoI9HmjKoRiHuYZc+jzrxxI5/FyecBmrMwUGMVpVSSz0yf0afw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>XQp6TZ6dU7CXjnLV63oEx3QdOUCuKJiUAA8aWwbIUaaagtDFP6ulJg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>xyI6ehQfX1XKnjVTtCJgqgjfyy3GzKkucEMXquxs1/KUrpENRGQjBA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+WMPInfo.xml Does not exist on this device
+PTP: Closing session
+usb_clear_halt() on INTERRUPT endpoint: Broken pipe
+OK.
diff --git a/logs/mtp-detect-iriver-e100v2.txt b/logs/mtp-detect-iriver-e100v2.txt
new file mode 100644
index 0000000..d3f4f05
--- /dev/null
+++ b/logs/mtp-detect-iriver-e100v2.txt
@@ -0,0 +1,324 @@
+libmtp version: 0.2.6.1
+
+Attempting to connect device(s)
+Device 1 (VID=4102 and PID=1142) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+PTP: Opening session
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 255
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 4102
+   idProduct: 1142
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: fe00                                   	..
+Microsoft device response to control message 1, CMD 0xfe:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Microsoft device response to control message 2, CMD 0xfe:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Device info:
+   Manufacturer: iriver
+   Model: iriver E100
+   Device version: TP-0.31-N-ENG
+   Serial number: 4FDD98183679F5CAF3C86A9B2FE5A30D
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 10.0;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   101b: Get partial object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9201: Report Added/Deleted Items
+Events supported:
+   None.
+Device Properties Supported:
+   0xd101: Secure Time
+   0xd401: Synchronization Partner
+   0x5001: Battery Level
+   0xd102: Device Certificate
+   0xd402: Friendly Device Name
+Playable File (Object) Types and Object Properties Supported:
+   3009: MP3
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX 800000, STEP 1 READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 384000, STEP 1 READ ONLY
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+   b901: WMA
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX 800000, STEP 1 READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 384000, STEP 1 READ ONLY
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+   300c: ASF
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX 800000, STEP 1 READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      de97: ScanDepth UINT16 data type enumeration: 1,  READ ONLY
+      de91: TotalBitRate UINT32 data type range: MIN 1, MAX 1234000, STEP 1 READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 384000, STEP 1 READ ONLY
+      dc8c: Genre STRING data type GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      dc94: ParentalRating STRING data type GET/SET
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 15000, MAX 30000, STEP 1 GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911, 0, 859189832, 958804552, 1195724877, 827739479, 844516695,  GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 1, MAX 850000, STEP 1 READ ONLY
+   b981: WMV
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX 800000, STEP 1 READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      de97: ScanDepth UINT16 data type enumeration: 1,  READ ONLY
+      de91: TotalBitRate UINT32 data type range: MIN 1, MAX 1234000, STEP 1 READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 384000, STEP 1 READ ONLY
+      dc8c: Genre STRING data type GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      dc94: ParentalRating STRING data type GET/SET
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 15000, MAX 30000, STEP 1 GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911, 0, 859189832, 958804552, 1195724877, 827739479, 844516695,  GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 1, MAX 850000, STEP 1 READ ONLY
+   3801: JPEG
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+   3001: Association/Directory
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+   ba03: Abstract Audio Album
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+   3000: Undefined Type
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+   300a: MS AVI
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX 800000, STEP 1 READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      de97: ScanDepth UINT16 data type enumeration: 1,  READ ONLY
+      de91: TotalBitRate UINT32 data type range: MIN 1, MAX 1234000, STEP 1 READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 384000, STEP 1 READ ONLY
+      dc8c: Genre STRING data type GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      dc94: ParentalRating STRING data type GET/SET
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 15000, MAX 30000, STEP 1 GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911, 0, 859189832, 958804552, 1195724877, 827739479, 844516695,  GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 1, MAX 850000, STEP 1 READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 3953778688
+      FreeSpaceInBytes: 3934801920
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: iriver Lplayer files
+      VolumeIdentifier: 493FF12A
+Special directories:
+   Default music folder: 0x05000160
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x05000161
+   Default video folder: 0x05000166
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x05000165
+MTP-specific device properties:
+   Friendly name: iriver Lplayer
+   Synchronization partner: Longhorn Sync Engine
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   Microsoft Advanced Systems Format
+   Microsoft Windows Media Video
+   JPEG file
+   Audio Video Interleave
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20000101 00:57:18Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">1cUpvoFT1km+bWh+y4prYMuKa2A=</UNIQUEID><PUBLICKEY 
+private="1">XnLi276Xeko7dP/sImMdFCk/dTZu4C4fP/ZhZs8UHPPccDUsnc8tag==</PUBLICKEY><KEYDATA>VQTzOoKVHVvh+VFTVFLWvvT3NhA=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>XnLi276Xeko7dP/sImMdFCk/dTb7U+9CzQ55COFvN8HIpjlgJ52Hdw==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>ZmovhTBN3bnjQVf71aL+hATVdyE=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.111.29</SECURITYVERSION><CERTIFICATE 
+private="1">XnLi276Xeko7dP/sImMdFCk/dTZu4C4fP/ZhZs8UHPPccDUsnc8tagIEbx1ecuLbvpd6Sjt0/+wiYx0UKT91Nl+KDIWzrINnft7T8B3NCRbVck8M</CERTIFICATE></FALLBACK><CERTIFICATE 
+type="GROUP"><DATA><NAME>U15</NAME><MANUFACTURER>iriver</MANUFACTURER><MAKE>iriver</MAKE><DISTRIBUTOR>iriver</DISTRIBUTOR><MODEL>U15</MODEL><SECURITYLEVEL>2000</SECURITYLEVEL><HARDWARE_VER_MAJOR>1.0</HARDWARE_VER_MAJOR><HARDWARE_VER_MINOR>1.0</HARDWARE_VER_MINOR><FIRMWARE_VER_MAJOR>1.0</FIRMWARE_VER_MAJOR><FIRMWARE_VER_MINOR>1.0</FIRMWARE_VER_MINOR><FEATURES><CLOCK>2</CLOCK><SECURECLOCK><URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL><PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY></SECURECLOCK><METERING>1</METERING><LICENSE_ACQ>0</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>0</ENCRYPTION><SYMMETRIC_OPT>0</SYMMETRIC_OPT></FEATURES><LIMITS><MAXCHAINDEPTH>2</MAXCHAINDEPTH><MAXLICENSESIZE>6656</MAXLICENSESIZE><MAXHEADERSIZE>5120</MAXHEADERSIZE></LIMITS><PUBLICKEY>EdOiLtTuOe4+U3hrVK/IcRZcyGW8BHMjMAL4YfGpoN4u97Tg4CNaiQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>4tBMscZQWvy6rJvyVIFenW0cqgZdZDNAIfqXUU0zAIyo/mOPOoH+Fw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE 
+type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>2689</AUTH_ID><PUBLICKEY>8+825nwSOpX5VTPcRs8HwcqZnohYNKwQ2UFYeTsnyFFUrtCVbCWnBg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>2RkkhKJcUpxEmYxc+MOEg1hxTDr2Ciook0lMeKWqVHelB9f6quwMaQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE 
+type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>hD5Rlcqn2EDfIR1MBoAgqB9EfS+eupTKTsW2VaVmFL9USNAEP2JnTA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+WMPInfo.xml Does not exist on this device
+PTP: Closing session
+usb_clear_halt() on INTERRUPT endpoint: Broken pipe
+OK.
+
+
+ 	  	 
diff --git a/logs/mtp-detect-iriver-h10-20GB.txt b/logs/mtp-detect-iriver-h10-20GB.txt
new file mode 100644
index 0000000..7f67969
--- /dev/null
+++ b/logs/mtp-detect-iriver-h10-20GB.txt
@@ -0,0 +1,142 @@
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 4102
+   idProduct: 2101
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000000
+Device info:
+   Manufacturer: iriver
+   Model: iriver Device
+   Device version: PP5020AF-01.02-FRE-MT-DT, (Build 129)
+   Serial number: 3fff0040-0010c837-00000000-0000003f-36310000
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/WMDRMPD: 10.1
+Supported operations:
+   1014: Get device property description
+   1015: Get device property value
+   1001: Get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   101b: Get partial object
+   100c: Send object info
+   100d: Send object
+   100b: Delete object
+   1012: Set object protection
+   1016: Set device property value
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9805: Get object property list
+   9806: Set object property list
+   9810: Get object references
+   9811: Set object references
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Set meter response
+   9108: Clean data store
+   9109: Get license state
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd402: Device Friendly Name
+Playable File (Object) Types and Object Properties Supported:
+   3001: Association/Directory
+   3009: MP3
+   3008: MS Wave
+   3801: JPEG
+   ba05: Abstract Audio Video Playlist
+   b901: WMA
+      dc01: StorageID
+      dc0b: ParentObject
+      dc07: ObjectFileName
+      dc04: ObjectSize
+      dc02: ObjectFormat
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc03: ProtectionStatus
+      dc09: DateModified
+      dc8b: Track
+      dc99: OriginalReleaseDate
+      dc44: Name
+      dc46: Artist
+      dc8c: Genre
+      dc9a: AlbumName
+      dc89: Duration
+      de9a: AudioBitRate
+      de93: SampleRate
+      de94: NumberOfChannels
+      de99: AudioWAVECodec
+      dc8a: Rating
+Special directories:
+   Default music folder: 0x00000000
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: iriver H10 20GC
+   Synchronization partner: (NULL)
+   Total bytes on device: 19994066944 (19067 MB)
+   Free bytes on device: 1643121664 (1567 MB)
+   Storage description: "iriver HDD"
+   Volume label: "H10_20GB"
+   Battery level 176 of 100 (176%)
+libmtp supported (playable) filetypes:
+   ISO MPEG Audio Layer 3
+   RIFF WAVE file
+   JPEG file
+   Microsoft Windows Media Audio
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20061030
+20:30:04Z#</VALUE><FLAG>DRM_CLK_NEEDS_REFRESH</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID
+private="1">QAD/PzfIEAAAAAAAPwAAAAAAMTY=</UNIQUEID><PUBLICKEY
+private="1">FQBk2GzllIEzGlDOml7u6bqep4er94r3KKYJuEKcsn1ODyL2z8D3Ew==</PUBLICKEY>
+<KEYDATA>KrDm/ouWvbmZJxFfUwGxeoUglus=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>S3Z
+Iz9wduynaJZaZvQgs/NqGGxJL1mGTieY2A1rYkn0+fUMUc6Djcw==</MSDRM_SIGNATURE_VALUE><SY
+MSIGNATURE>261d87MS77pUbix3Cnfuq5eNH94=</SYMSIGNATURE></CERTIFICATE><FALLBACK><S
+ECURITYVERSION>2.4.101.59</SECURITYVERSION><CERTIFICATE private="1">FQBk2GzllIEz
+GlDOml7u6bqep4er94r3KKYJuEKcsn1ODyL2z8D3EwIEZTsZnkCC5cxjRgmjXeaAMuNdn2RsNykcD+hj
+KESFyhpVZDJoyWVin7RD</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NA
+ME>iRiver H10 Series</NAME><MANUFACTURER>iRiver</MANUFACTURER><MAKE>iRiver</MAKE
+><DISTRIBUTOR>ReignCom</DISTRIBUTOR><MODEL>H10</MODEL><SECURITYLEVEL>2000</SECUR
+ITYLEVEL><HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR><HARDWARE_VER_MINOR>0</HARDWA
+RE_VER_MINOR><FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR><FIRMWARE_VER_MINOR>0</FI
+RMWARE_VER_MINOR><FEATURES><CLOCK>2</CLOCK><SECURECLOCK><URL>http://go.microsoft
+.com/fwlink/?LinkId=25817</URL
+ ><PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY
+></SECURECLOCK><METERING>1</METERING><LICENSE_ACQ>1</LICENSE_ACQ><LICENSE_SYNC>1
+</LICENSE_SYNC><ENCRYPTION>1</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT></FEATU
+RES><LIMITS><MAXCHAINDEPTH>2</MAXCHAINDEPTH><MAXLICENSESIZE>10240</MAXLICENSESIZ
+E><MAXHEADERSIZE>5120</MAXHEADERSIZE></LIMITS><PUBLICKEY>anriOiRlE5HtYKyjesddaEu
+A7Hha3F3gn0l1J3T6lzRRwX9TKrGmWA==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>iZeXW
+IVwHQsIfNuYamP+4+/emoVa+qDvr6rtxKFvY3tw9YxKtRveSA==</MSDRM_SIGNATURE_VALUE></CER
+TIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLE
+VEL><AUTH_ID>159</AUTH_ID><PUBLICKEY>uTJijzQAocsraT8vDT4rY4klgmorx3ejgic57TT4scC
+JSpSnj5YkaA==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>GspA/RcLJHtiUqdOwiGn0DfGo
+wAyKCKxBSNdFD20ArIxGnT+SqwQeg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICAT
+E type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgkt
+nbYaEEi4teCse!gz6RvTPuC!zizKJl
+ pU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>SGUL1ilPv1AhZ4LcGX0d2Da4QD
+XtUmpZCbsbD4NRLzgHHU6zEKzdYA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
\ No newline at end of file
diff --git a/logs/mtp-detect-iriver-lplayer.txt b/logs/mtp-detect-iriver-lplayer.txt
new file mode 100644
index 0000000..9480f71
--- /dev/null
+++ b/logs/mtp-detect-iriver-lplayer.txt
@@ -0,0 +1,325 @@
+libmtp version: 0.3.5           
+
+Listing raw device(s)
+   Found 1 device(s):
+   iRiver: E100 v2 (4102:1142) @ bus 0, dev 3
+Attempting to connect device(s)              
+PTP: Opening session                         
+USB low-level info:                          
+   Using kernel interface "usbfs"            
+   bcdUSB: 512                               
+   bDeviceClass: 255                         
+   bDeviceSubClass: 0                        
+   bDeviceProtocol: 0                        
+   idVendor: 4102                            
+   idProduct: 1142                           
+   IN endpoint maxpacket: 512 bytes          
+   OUT endpoint maxpacket: 512 bytes         
+   Raw device info:                          
+      Bus location: 0                        
+      Device number: 3                       
+      Device entry info:                     
+         Vendor: iRiver                      
+         Vendor id: 0x4102                   
+         Product: E100 v2                    
+         Vendor id: 0x1142                   
+         Device flags: 0x0000020c            
+Microsoft device descriptor 0xee:            
+        0000: 1203 4d00 5300 4600 5400 3100 3000 3000   ..M.S.F.T.1.0.0.
+        0010: fe00                                      ..              
+Microsoft device response to control message 1, CMD 0xfe:               
+        0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............
+        0010: 0001 4d54 5000 0000 0000 0000 0000 0000   ..MTP...........
+        0020: 0000 0000 0000 0000                       ........        
+Microsoft device response to control message 2, CMD 0xfe:               
+        0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............
+        0010: 0001 4d54 5000 0000 0000 0000 0000 0000   ..MTP...........
+        0020: 0000 0000 0000 0000                       ........        
+Device info:                                                            
+   Manufacturer: iriver                                                 
+   Model: iriver Lplayer                                                
+   Device version: MTP-1.03-N-ENG                                       
+   Serial number: 8FDE9818A67BF5C250C7E0705176630D                      
+   Vendor extension ID: 0x00000006                                      
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 10.0;
+   Detected object size: 64 bits                                                                            
+Supported operations:                                                                                       
+   1001: get device info                                                                                    
+   1002: Open session                                                                                       
+   1003: Close session                                                                                      
+   1004: Get storage IDs                                                                                    
+   1005: Get storage info                                                                                   
+   1006: Get number of objects                                                                              
+   1007: Get object handles                                                                                 
+   1008: Get object info                                                                                    
+   1009: Get object                                                                                         
+   101b: Get partial object                                                                                 
+   100b: Delete object                                                                                      
+   100c: Send object info                                                                                   
+   100d: Send object                                                                                        
+   100f: Format storage                                                                                     
+   1010: Reset device                                                                                       
+   1014: Get device property description                                                                    
+   1015: Get device property value                                                                          
+   1016: Set device property value                                                                          
+   1017: Reset device property value                                                                        
+   9810: Get object references                                                                              
+   9811: Set object references                                                                              
+   9802: Get object property description                                                                    
+   9801: Get object properties supported                                                                    
+   9803: Get object property value                                                                          
+   9804: Set object property value                                                                          
+   9805: Get object property list                                                                           
+   9806: Set object property list                                                                           
+   9808: Send object property list                                                                          
+   9101: Get secure time challenge                                                                          
+   9102: Get secure time response                                                                           
+   9103: Set license response                                                                               
+   9104: Get sync list                                                                                      
+   9105: Send meter challenge query                                                                         
+   9106: Get meter challenge                                                                                
+   9107: Get meter response                                                                                 
+   9108: Clean data store                                                                                   
+   9109: Get license state                                                                                  
+   910a: Send WMDRM-PD Command                                                                              
+   910b: Send WMDRM-PD Request                                                                              
+   9201: Report Added/Deleted Items                                                                         
+Events supported:                                                                                           
+   None.                                                                                                    
+Device Properties Supported:                                                                                
+   0xd101: Secure Time                                                                                      
+   0xd401: Synchronization Partner                                                                          
+   0x5001: Battery Level                                                                                    
+   0xd102: Device Certificate                                                                               
+   0xd402: Friendly Device Name                                                                             
+Playable File (Object) Types and Object Properties Supported:                                               
+   3009: MP3                                                                                                
+      dc44: Name STRING data type GET/SET                                                                   
+      dc04: ObjectSize UINT64 data type READ ONLY                                                           
+      dc89: Duration UINT32 data type range: MIN 1, MAX 800000, STEP 1 READ ONLY                            
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY                                           
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET                                   
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET                                       
+      dc07: ObjectFileName STRING data type GET/SET                                                         
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY                                    
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET                                             
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY                                    
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET                                             
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY                                       
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY                                    
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY                                 
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET                                          
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 384000, STEP 1 READ ONLY                        
+      dc9a: AlbumName STRING data type GET/SET                                                              
+      dc46: Artist STRING data type GET/SET                                                                 
+      dc9b: AlbumArtist STRING data type GET/SET                                                            
+      dc8c: Genre STRING data type GET/SET                                                                  
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY                       
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET                                   
+   b901: WMA                                                                                                
+      dc44: Name STRING data type GET/SET                                                                   
+      dc04: ObjectSize UINT64 data type READ ONLY                                                           
+      dc89: Duration UINT32 data type range: MIN 1, MAX 800000, STEP 1 READ ONLY                            
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY                                           
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET                                   
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET                                       
+      dc07: ObjectFileName STRING data type GET/SET                                                         
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY                                    
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET                                             
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY                                    
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET                                             
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY                                       
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY                                    
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY                                 
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET                                          
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 384000, STEP 1 READ ONLY                        
+      dc9a: AlbumName STRING data type GET/SET                                                              
+      dc46: Artist STRING data type GET/SET                                                                 
+      dc9b: AlbumArtist STRING data type GET/SET                                                            
+      dc8c: Genre STRING data type GET/SET                                                                  
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY                       
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET                                   
+   300c: ASF                                                                                                
+      dc44: Name STRING data type GET/SET                                                                   
+      dc04: ObjectSize UINT64 data type READ ONLY                                                           
+      dc89: Duration UINT32 data type range: MIN 1, MAX 800000, STEP 1 READ ONLY                            
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY                                           
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET                                   
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET                                       
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET                                    
+      dc07: ObjectFileName STRING data type GET/SET                                                         
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY                                    
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY                                    
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY                                       
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY                                    
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY                                 
+      de97: ScanDepth UINT16 data type enumeration: 1,  READ ONLY                                           
+      de91: TotalBitRate UINT32 data type range: MIN 1, MAX 1234000, STEP 1 READ ONLY                       
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET                                          
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET                                   
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 384000, STEP 1 READ ONLY                        
+      dc8c: Genre STRING data type GET/SET                                                                  
+      de9e: KeyFrameDistance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET                       
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY                       
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET                                   
+      dc94: ParentalRating STRING data type GET/SET                                                         
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 15000, MAX 30000, STEP 1 GET/SET           
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911, 0, 859189832, 958804552, 1195724877, 827739479, 844516695,  GET/SET                                                                                                                 
+      de9c: VideoBitRate UINT32 data type range: MIN 1, MAX 850000, STEP 1 READ ONLY                                         
+   b981: WMV                                                                                                                 
+      dc44: Name STRING data type GET/SET                                                                                    
+      dc04: ObjectSize UINT64 data type READ ONLY                                                                            
+      dc89: Duration UINT32 data type range: MIN 1, MAX 800000, STEP 1 READ ONLY                                             
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY                                                            
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET                                                    
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET                                                        
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET                                                     
+      dc07: ObjectFileName STRING data type GET/SET                                                                          
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY                                                     
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY                                                     
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY                                                        
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY                                                     
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY                                                  
+      de97: ScanDepth UINT16 data type enumeration: 1,  READ ONLY                                                            
+      de91: TotalBitRate UINT32 data type range: MIN 1, MAX 1234000, STEP 1 READ ONLY                                        
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET                                                           
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET                                                    
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 384000, STEP 1 READ ONLY                                         
+      dc8c: Genre STRING data type GET/SET                                                                                   
+      de9e: KeyFrameDistance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET                                        
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY                                        
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET                                                    
+      dc94: ParentalRating STRING data type GET/SET                                                                          
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 15000, MAX 30000, STEP 1 GET/SET                            
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911, 0, 859189832, 958804552, 1195724877, 827739479, 844516695,  GET/SET                                                                                                                 
+      de9c: VideoBitRate UINT32 data type range: MIN 1, MAX 850000, STEP 1 READ ONLY                                         
+   3801: JPEG                                                                                                                
+      dc44: Name STRING data type GET/SET                                                                                    
+      dc04: ObjectSize UINT64 data type READ ONLY                                                                            
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY                                                            
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET                                                    
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET                                                        
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET                                                     
+      dc07: ObjectFileName STRING data type GET/SET                                                                          
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY                                                     
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY                                                     
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY                                                        
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY                                                     
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY                                                  
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET                                                           
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET                                                    
+   3001: Association/Directory                                                                                               
+      dc44: Name STRING data type GET/SET                                                                                    
+      dc04: ObjectSize UINT64 data type READ ONLY                                                                            
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY                                                            
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET                                                        
+      dc07: ObjectFileName STRING data type GET/SET                                                                          
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY                                                     
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY                                                     
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY                                                        
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY                                                     
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY                                                  
+   ba03: Abstract Audio Album                                                                                                
+      dc44: Name STRING data type GET/SET                                                                                    
+      dc04: ObjectSize UINT64 data type READ ONLY                                                                            
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY                                                            
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET                                                        
+      dc07: ObjectFileName STRING data type GET/SET                                                                          
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY                                                     
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY                                                     
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY                                                        
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY                                                     
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY                                                  
+      dc46: Artist STRING data type GET/SET                                                                                  
+      dc9b: AlbumArtist STRING data type GET/SET                                                                             
+      dc8c: Genre STRING data type GET/SET                                                                                   
+   ba05: Abstract Audio Video Playlist                                                                                       
+      dc44: Name STRING data type GET/SET                                                                                    
+      dc04: ObjectSize UINT64 data type READ ONLY                                                                            
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY                                                            
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET                                                        
+      dc07: ObjectFileName STRING data type GET/SET                                                                          
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY                                                     
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY                                                     
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY                                                        
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY                                                     
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY                                                  
+   3000: Undefined Type                                                                                                      
+      dc44: Name STRING data type GET/SET                                                                                    
+      dc04: ObjectSize UINT64 data type READ ONLY                                                                            
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY                                                            
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET                                                        
+      dc07: ObjectFileName STRING data type GET/SET                                                                          
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY                                                     
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY                                                     
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY                                                        
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY                                                     
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY                                                  
+   300a: MS AVI                                                                                                              
+      dc44: Name STRING data type GET/SET                                                                                    
+      dc04: ObjectSize UINT64 data type READ ONLY                                                                            
+      dc89: Duration UINT32 data type range: MIN 1, MAX 800000, STEP 1 READ ONLY                                             
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY                                                            
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET                                                    
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET                                                        
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET                                                     
+      dc07: ObjectFileName STRING data type GET/SET                                                                          
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY                                                     
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY                                                     
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY                                                        
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY                                                     
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY                                                  
+      de97: ScanDepth UINT16 data type enumeration: 1,  READ ONLY                                                            
+      de91: TotalBitRate UINT32 data type range: MIN 1, MAX 1234000, STEP 1 READ ONLY                                        
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET                                                           
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET                                                    
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 384000, STEP 1 READ ONLY                                         
+      dc8c: Genre STRING data type GET/SET                                                                                   
+      de9e: KeyFrameDistance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET                                        
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY                                        
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET                                                    
+      dc94: ParentalRating STRING data type GET/SET                                                                          
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 15000, MAX 30000, STEP 1 GET/SET                            
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911, 0, 859189832, 958804552, 1195724877, 827739479, 844516695,  GET/SET                                                                                                                 
+      de9c: VideoBitRate UINT32 data type range: MIN 1, MAX 850000, STEP 1 READ ONLY                                         
+Storage Devices:                                                                                                             
+   StorageID: 0x00010001                                                                                                     
+      StorageType: 0x0003 fixed RAM storage                                                                                  
+      FilesystemType: 0x0002 generic hierarchical                                                                            
+      AccessCapability: 0x0000 read/write                                                                                    
+      MaxCapacity: 3953778688                                                                                                
+      FreeSpaceInBytes: 3934863360                                                                                           
+      FreeSpaceInObjects: 4294967295                                                                                         
+      StorageDescription: iriver Lplayer files                                                                               
+      VolumeIdentifier: 89AF5856                                                                                             
+Special directories:                                                                                                         
+   Default music folder: 0x05000160                                                                                          
+   Default playlist folder: 0x00000000                                                                                       
+   Default picture folder: 0x05000161                                                                                        
+   Default video folder: 0x05000166                                                                                          
+   Default organizer folder: 0x00000000                                                                                      
+   Default zencast folder: 0x00000000                                                                                        
+   Default album folder: 0x00000000                                                                                          
+   Default text folder: 0x05000165                                                                                           
+MTP-specific device properties:                                                                                              
+   Friendly name: iriver Lplayer                                                                                             
+   Synchronization partner: Longhorn Sync Engine                                                                             
+   Battery level 100 of 100 (100%)                                                                                           
+libmtp supported (playable) filetypes:                                                                                       
+   ISO MPEG-1 Audio Layer 3                                                                                                  
+   Microsoft Windows Media Audio                                                                                             
+   Microsoft Advanced Systems Format                                                                                         
+   Microsoft Windows Media Video                                                                                             
+   JPEG file                                                                                                                 
+   Audio Video Interleave                                                                                                    
+   Ogg container format                                                                                                      
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20080115 15:07:15Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">aUp7OGNi0E2rTJRK1KNVPNSjVTw=</UNIQUEID><PUBLICKEY private="1">c72VBbwwSXbJBkRYhbk6U+MBClDMfHKPLqwtBTpa7EbhmV5ATAYhew==</PUBLICKEY><KEYDATA>hYwhDdTJn13oa/5Z2JjD43g9I00=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>c72VBbwwSXbJBkRYhbk6U+MBClDUHCKqwsiRpE+PtEoJwO5NQb/2Rg==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>TrSOaRr6OzoUkff6iLKafbfrVSY=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.111.29</SECURITYVERSION><CERTIFICATE private="1">c72VBbwwSXbJBkRYhbk6U+MBClDMfHKPLqwtBTpa7EbhmV5ATAYhewIEbx1zvZUFvDBJdskGRFiFuTpT4wEKUKv/eIp8QwjEmfer6l8unP/niiEb</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>U15</NAME><MANUFACTURER>iriver</MANUFACTURER><MAKE>iriver</MAKE><DISTRIBUTOR>iriver</DISTRIBUTOR><MODEL>U15</MODEL><SECURITYLEVEL>2000</SECURITYLEVEL><HARDWARE_VER_MAJOR>1.0</HARDWARE_VER_MAJOR><HARDWARE_VER_MINOR>1.0</HARDWARE_VER_MINOR><FIRMWARE_VER_MAJOR>1.0</FIRMWARE_VER_MAJOR><FIRMWARE_VER_MINOR>1.0</FIRMWARE_VER_MINOR><FEATURES><CLOCK>2</CLOCK><SECURECLOCK><URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL><PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY></SECURECLOCK><METERING>1</METERING><LICENSE_ACQ>0</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>0</ENCRYPTION><SYMMETRIC_OPT>0</SYMMETRIC_OPT></FEATURES><LIMITS><MAXCHAINDEPTH>2</MAXCHAINDEPTH><MAXLICENSESIZE>6656</MAXLICENSESIZE><MAXHEADERSIZE>5120</MAXHEADERSIZE></LIMITS><PUBLICKEY>EdOiLtTuOe4+U3hrVK/IcRZcyGW8BHMjMAL4YfGpoN4u97Tg4CNaiQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>4tBMscZQWvy6rJvyVIFenW0cqgZdZDNAIfqXUU0zAIyo/mOPOoH+Fw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>2689</AUTH_ID><PUBLICKEY>8+825nwSOpX5VTPcRs8HwcqZnohYNKwQ2UFYeTsnyFFUrtCVbCWnBg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>2RkkhKJcUpxEmYxc+MOEg1hxTDr2Ciook0lMeKWqVHelB9f6quwMaQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>hD5Rlcqn2EDfIR1MBoAgqB9EfS+eupTKTsW2VaVmFL9USNAEP2JnTA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+WMPInfo.xml Does not exist on this device
+PTP: Closing session
+usb_clear_halt() on INTERRUPT endpoint: Broken pipe
+OK.
\ No newline at end of file
diff --git a/logs/mtp-detect-iriver-spinn.txt b/logs/mtp-detect-iriver-spinn.txt
new file mode 100644
index 0000000..8cb2749
--- /dev/null
+++ b/logs/mtp-detect-iriver-spinn.txt
@@ -0,0 +1,378 @@
+libmtp version: 0.3.5
+
+Listing raw device(s)
+   Found 1 device(s):
+   iRiver: Spinn (4102:1147) @ bus 0, dev 3
+Attempting to connect device(s)
+PTP_ERROR_IO: Trying again after re-initializing USB interface
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 4102
+   idProduct: 1147
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 3
+      Device entry info:
+         Vendor: iRiver
+         Vendor id: 0x4102
+         Product: Spinn
+         Vendor id: 0x1147
+         Device flags: 0x0000020c
+Microsoft device descriptor 0xee:
+        0000: 1203 4d00 5300 4600 5400 3100 3000 3000   ..M.S.F.T.1.0.0.
+        0010: 0100                                      ..
+Device info:
+   Manufacturer: iriver
+   Model: iriver SPINN
+   Device version: MTP-1.50-N-ENG
+   Serial number: AA5521880E7631313338303914140408
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 10.0; microsoft.com/AAVT: 1.0; microsoft.com/WMDRMND: 1.0;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9810: Get object references
+   9811: Set object references
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9201: Report Added/Deleted Items
+   9170: Open Media Session
+   9171: Close Media Session
+   9172: Get Next Data Block
+   9173: Set Current Time Position
+   9180: Send Registration Request
+   9181: Get Registration Response
+   9182: Get Proximity Challenge
+   9183: Send Proximity Response
+   9184: Send WMDRM-ND License Request
+   9185: Get WMDRM-ND License Response
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd405: Device Icon
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 85, 353,  READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX 10000000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+   300a: MS AVI
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      de93: SampleRate UINT32 data type enumeration: 44100,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  READ ONLY
+      dc87: Width UINT32 data type range: MIN 128, MAX 480, STEP 16 GET/SET
+      dc88: Height UINT32 data type range: MIN 128, MAX 272, STEP 16 GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 16000, MAX 2320000, STEP 1 READ ONLY
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 1482049860, GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 8000, MAX 2000000, STEP 1 GET/SET
+      de9d: FramesPerThousandSeconds UINT32 data type enumeration: 5000, 6000, 7000, 8000, 9000, 10000, 11000, 12000, 13000, 14000, 15000, 16000, 17000, 18000, 19000, 20000, 21000, 22000, 23000, 24000, 25000, 26000, 27000, 28000, 29000, 29970, 30000,  GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+   300c: ASF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 85, 353,  READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX 10000000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+   3801: JPEG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 480, STEP 16 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 272, STEP 16 GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  GET/SET
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 74, MAX 75, STEP 1 GET/SET
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 99, MAX 100, STEP 1 GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type byte array: GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 85, 353,  READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX 10000000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+   b902: OGG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 85, 353,  READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX 10000000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+   b981: WMV
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      de93: SampleRate UINT32 data type enumeration: 44100,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 353,  READ ONLY
+      dc87: Width UINT32 data type range: MIN 128, MAX 480, STEP 16 GET/SET
+      dc88: Height UINT32 data type range: MIN 128, MAX 272, STEP 16 GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 16000, MAX 1088000, STEP 1 READ ONLY
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911, GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 8000, MAX 768000, STEP 1 GET/SET
+      de9d: FramesPerThousandSeconds UINT32 data type enumeration: 5000, 6000, 7000, 8000, 9000, 10000, 11000, 12000, 13000, 14000, 15000, 16000, 17000, 18000, 19000, 20000, 21000, 22000, 23000, 24000, 25000, 26000, 27000, 28000, 29000, 29970, 30000,  GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+   ba03: Abstract Audio Album
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  GET/SET
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 91, MAX 92, STEP 1 GET/SET
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 91, MAX 92, STEP 1 GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type byte array: GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 8109948928
+      FreeSpaceInBytes: 8103804928
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: iriver SPINN files
+      VolumeIdentifier: AA5521880E7631313338303914140408
+Special directories:
+   Default music folder: 0x00010000
+   Default playlist folder: 0x00030000
+   Default picture folder: 0x00020000
+   Default video folder: 0x00040000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00070000
+MTP-specific device properties:
+   Friendly name: iriver SPINN
+   Synchronization partner: 140408
+   Battery level 4 of 4 (100%)
+libmtp supported (playable) filetypes:
+   Text file
+   ISO MPEG-1 Audio Layer 3
+   Audio Video Interleave
+   Microsoft Advanced Systems Format
+   JPEG file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Microsoft Windows Media Video
+   XML file
+   Ogg container format
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20091188
+11:0㘵:19Z#</VALUE><FLAG>DRM_CLK_NEEDS_REFRESH</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID
+private="1">QUE1NTIxODgwRTc2MzEzMQoKCgo=</UNIQUEID><PUBLICKEY
+private="1">nAq1wBOY9m+POIlxGblh+ibJ10BW+IqfQn+MvCiUBqjXovds/DHYQw==</PUBLICKEY><KEYDATA>VSLNTln0fGxd0M7Tifz5cZ1HtMs=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>ckc98gxLGev9mMFIPWvDeTNlX2Sl9MkqgSq2aW98dRfpNvcKAthkJg==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>3NbfN9AExSy1yczfZMaL80bWioI=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.112.127</SECURITYVERSION><CERTIFICATE
+private="1">nAq1wBOY9m+POIlxGblh+ibJ10BW+IqfQn+MvCiUBqjXovds/DHYQwIEcH8mpMKKha/63f9vXQWFP79FbxETgIvVq/ED4jV6+1/zH/0u7R/7uU8g</CERTIFICATE></FALLBACK><CERTIFICATE
+type="GROUP"><DATA><NAME>iRiver SPINN       
+</NAME><MANUFACTURER>iRiver</MANUFACTURER><MAKE>iRiver</MAKE><DISTRIBUTOR>ReignCom</DISTRIBUTOR><MODEL>SPINN</MODEL><SECURITYLEVEL>2000</SECURITYLEVEL><HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR><HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR><FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR><FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR><FEATURES><CLOCK>2</CLOCK><SECURECLOCK><URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL><PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY></SECURECLOCK><METERING>1</METERING><LICENSE_ACQ>1</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>1</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT><SUPPORT_REVOCATION><GUID>{CD75E604-543D-4A9C-9F09-FE6D24E8BF90}</GUID></SUPPORT_REVOCATION></FEATURES><LIMITS><MAXCHAINDEPTH>2</MAXCHAINDEPTH><MAXLICENSESIZE>10240</MAXLICENSESIZE><MAXHEADERSIZE>5120</MAXHEADERSIZE></LIMITS><PUBLICKEY>+ZjeUtikBZ1adtyWpNX+/6MWwFTDag1Vq/4zSuOc03Q6Lj4z3H6tdA==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>EqamYa8GHMZucknXJZmImVhM6UQjNrN9gzxgJiatfuUFzyZPMStBKQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>3043</AUTH_ID><PUBLICKEY>2wirC2cl7qFtBS0Uh9Zkh5tpBlsrjdmcfQMY3hyKanQ+R+p+CT4PKw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>+cXzNoyHwm8VAZR3NYXLPIacC3EXF4KluBeat1fYKoBB2v66GiAHaw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>wtVxfFn17mSmA8KkVTEA5LFUASUjXXpZ4XK5bwLKx8V7/0Gx3NlVCQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
+OK.
diff --git a/logs/mtp-detect-iriver-t10.txt b/logs/mtp-detect-iriver-t10.txt
new file mode 100644
index 0000000..002c8de
--- /dev/null
+++ b/logs/mtp-detect-iriver-t10.txt
@@ -0,0 +1,191 @@
+PTP: Opening session
+Attempting to connect device(s)
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 20000
+   bDeviceClass: 111
+   bDeviceSubClass: 46
+   bDeviceProtocol: 111
+   idVendor: 0067
+   idProduct: b7f9
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x0000000c
+Device info:
+   Manufacturer: iriver
+   Model: iriver MP3 T10
+   Device version: MTP-1.76-N-ENG
+   Serial number: 03bff80f000000f03230303630313031
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/WMDRMPD: 10.1; audible.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Device Friendly Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd100: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+      dc44: Name
+      dc4f: NonConsumable
+   3001: Association/Directory
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+      dc44: Name
+      dc4f: NonConsumable
+   3009: MP3
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+      dc44: Name
+      dc4f: NonConsumable
+      dc46: Artist
+      dc95: MetaGenre
+      de93: SampleRate
+      de94: NumberOfChannels
+      de99: AudioWAVECodec
+      de9a: AudioBitRate
+   b901: WMA
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+      dc44: Name
+      dc4f: NonConsumable
+      dc46: Artist
+      dc95: MetaGenre
+      de93: SampleRate
+      de94: NumberOfChannels
+      de99: AudioWAVECodec
+      de9a: AudioBitRate
+   b902: OGG
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+      dc44: Name
+      dc4f: NonConsumable
+   b904: Audible.com Codec
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+      dc44: Name
+      dc4f: NonConsumable
+      da00: unknown(da00)
+      da01: unknown(da01)
+      da02: unknown(da02)
+      da03: unknown(da03)
+      da04: unknown(da04)
+      dc89: Duration
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+      dc44: Name
+      dc4f: NonConsumable
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0PTP: Closing session
+002
+      AccessCapability: 0x0000
+      MaxCapacity: 2044428288
+      FreeSpaceInBytes: 1842839552
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: iriver MP3 T10 files
+      VolumeIdentifier: daplippaaaaaaaapcdadadgdadbdadbd
+Special directories:
+   Default music folder: 0x00040000
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: iriver MP3 T10
+   Synchronization partner: WMP 10; Napster; 
+   Battery level 4 of 4 (100%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   Ogg container format
+   Audible.com Audio Codec
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20070304 00:12:49Z#</VALUE><FLAG>DRM_CLK_SET</FLAG></DRMCLOCK>
+Trying to acquire device certificate
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">CgoKCgoKCgoKCgoKCgoKCgoKCgo=</UNIQUEID><PUBLICKEY private="1">7RqSopOusCYv5QMC3DVLKa4yyoOzIqGmCLyWjCzXiUw30sdRJ00aJg==</PUBLICKEY><KEYDATA>9mavUe/KTsOYKWu0vTg/wK1U2Rs=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>B5CPcB+XffZRMK/9eFOV1lshKjq2It2UldHXeDOwg1QMWXQoLn8RQg==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>wlP+Zc1g451zJMVLnom5cbcmpf0=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.102.3</SECURITYVERSION><CERTIFICATE private="1">7RqSopOusCYv5QMC3DVLKa4yyoOzIqGmCLyWjCzXiUw30sdRJ00aJgIEZgPhNl4IaMaz8zFguv1JT6b8s81PSKRaaY/GmNhCUe8fl9+WOZtAfUVD</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>iRiver H10 Series</NAME><MANUFACTURER>iRiver</MANUFACTURER><MAKE>iRiver</MAKE><DISTRIBUTOR>ReignCom</DISTRIBUTOR><MODEL>H10</MODEL><SECURITYLEVEL>2000</SECURITYLEVEL><HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR><HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR><FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR><FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR><FEATURES><CLOCK>2</CLOCK><SECURECLOCK><URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL><PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY></SECURECLOCK><METERING>1</METERING><LICENSE_ACQ>1</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>1</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT></FEATURES><LIMITS><MAXCHAINDEPTH>2</MAXCHAINDEPTH><MAXLICENSESIZE>10240</MAXLICENSESIZE><MAXHEADERSIZE>5120</MAXHEADERSIZE></LIMITS><PUBLICKEY>8jeq4PyJZUL8NpU2+/tgvUZC9ijn3RdlK3wd04Iws6oXHoA+D6vFfQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>HZ85tGf5VnDwKLGq2S0OlK/oJCKbCx3A2yudzMOv8ERwi6drHW5xOA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>359</AUTH_ID><PUBLICKEY>DpMhgaZkXUFNFIs4KJe7S9MZYwuE1bBic6AV6wAc7Ir0Stfx8U+SKw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>GWscwHnDoSazgB+YOP2D7xrqDifWEFztujqAWwrkM7onynIcfOBBMQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>QndHdJ4ZoSgvokVCOWsqVnvuckGL5cn6Vrua0j4tcGBrjD9PgNd0AA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+Trying to print WMPInfo.xml if it exists
+
+Device description WMPInfo.xml file:
+<DeviceInfo>
+    <WMP DeviceID="{437C6424-0B80-4069-9762-60CF3966336F}" RelationshipID="{00000000-0000-0000-0000-000000000000}"/>
+</DeviceInfo>
+
+OK.
diff --git a/logs/mtp-detect-iriver-t10a.txt b/logs/mtp-detect-iriver-t10a.txt
new file mode 100644
index 0000000..5316696
--- /dev/null
+++ b/logs/mtp-detect-iriver-t10a.txt
@@ -0,0 +1,344 @@
+dainius@linux:~> mtp-detect
+libmtp version: 1.0.3
+
+Listing raw device(s)
+libusb couldn't open USB device /dev/bus/usb/003/002: Permission denied.
+libusb requires write access to USB device nodes.
+libusb couldn't open USB device /dev/bus/usb/004/002: Permission denied.
+libusb requires write access to USB device nodes.
+Device 0 (VID=4102 and PID=1117) is a iRiver T10a.
+   Found 1 device(s):
+   iRiver: T10a (4102:1117) @ bus 2, dev 4
+Attempting to connect device(s)
+ignoring usb_claim_interface = -16ignoring usb_claim_interface = -22PTP_ERROR_IO: Trying again after re-initializing USB interface
+inep: usb_get_endpoint_status(): Input/output error
+outep: usb_get_endpoint_status(): Input/output error
+usb_clear_halt() on IN endpoint: Numerical result out of range
+usb_clear_halt() on OUT endpoint: Numerical result out of range
+usb_clear_halt() on INTERRUPT endpoint: Numerical result out of range
+USB low-level info:
+   Using kernel interface "dummy"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 4102
+   idProduct: 1117
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 4
+      Device entry info:
+         Vendor: iRiver
+         Vendor id: 0x4102
+         Product: T10a
+         Vendor id: 0x1117
+         Device flags: 0x0000001c
+Microsoft device descriptor 0xee:
+        0000: 1203 4d00 5300 4600 5400 3100 3000 3000   ..M.S.F.T.1.0.0.
+        0010: 0100                                      ..
+Microsoft device response to control message 1, CMD 0x01:
+        0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............
+        0010: 0001 4d54 5000 0000 0000 0000 0000 0000   ..MTP...........
+        0020: 0000 0000 0000 0000 0000 0001 25b9 46eb   ............%.F.
+        0030: c0b3 6173 0200 0000 2803 e800 0000 0000   ..as....(.......
+        0040: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0050: 0000 0000 0000 0000 0000 0000 003e 0000   .............>..
+        0060: 0000 0000 0000 3f3e 0000 003f 3435 3637   ......?>...?4567
+        0070: 3839 3a3b 3c3d 0000 0000 0000 0000 0102   89:;<=..........
+        0080: 0304 0506 0708 090a 0b0c 0d0e 0f10 1112   ................
+        0090: 1314 1516 1718 1900 0000 0000 001a 1b1c   ................
+        00a0: 1d1e 1f20 2122 2324 2526 2728 292a 2b2c   ... !"#$%&'()*+,
+        00b0: 2d2e 2f30 3132 3300 0000 0000 240e e4c0   -./0123.....$...
+        00c0: 4900 4400 4600 4f00 5200 5300 4c00 4b00   I.D.F.O.R.S.L.K.
+        00d0: 348b 02ae b63a 588d b6f5 383b 4647 b2cd   4....:X...8;FG..
+        00e0: f577 6731 aae8 3344 44db 9095 bb7f cc51   .wg1..3DD......Q
+        00f0: 809d 2d3a 7fbd 4c08 45b1 a7e1 9081 9837   ..-:..L.E......7
+        0100: 00cc 89a7 5724 72b9 c129 a362 d955 7404   ....W$r..).b.Ut.
+        0110: 027d 6e69 79e9 6ad9 7a92 e4f3 4b6b 426c   .}niy.j.z...KkBl
+        0120: 4300 4500 5200 5400 4300 4100 4300 4800   C.E.R.T.C.A.C.H.
+        0130: 4dbf d90d d96e 8c9e 325f 4f3d eca9 8459   M....n..2_O=...Y
+        0140: 6b5e 0686 e7e2 c28b de14 4b29 2cec 4d1d   k^........K),.M.
+        0150: 76fd 5a14 903a 1077 45b1 a7e1 9081 9837   v.Z..:.wE......7
+        0160: 00cc 89a7 5724 72b9 c129 a362 d955 7404   ....W$r..).b.Ut.
+        0170: 027d 6e69 79e9 6ad9 7a92 e4f3 4b6b 426c   .}niy.j.z...KkBl
+        0180: 4dbf d90d d96e 8c9e 325f 4f3d eca9 8459   M....n..2_O=...Y
+        0190: 6b5e 0686 e7e2 c28b de14 4b29 2cec 4d1d   k^........K),.M.
+        01a0: 76fd 5a14 903a 1077 240e f310 0000 0003   v.Z..:.w$.......
+        01b0: 0000 0000 240e f318 0000 0003 0100 0000   ....$...........
+        01c0: 240e f320 0000 0002 0200 0000 240e f328   $.. ........$..(
+        01d0: 0000 0002 0300 0000 240e f330 0000 0002   ........$..0....
+        01e0: 0500 0000 240e f338 0000 0002 0600 0000   ....$..8........
+        01f0: 240e f340 0000 0000 0700 0000 240e f348   $..@........$..H
+        0200: 0000 0001 0800 0000 240e f400 2407 6294   ........$...$.b.
+        0210: 240e f408 2407 61b0 240e f410 2407 663c   $...$.a.$...$.f<
+        0220: 240e f418 2407 67bc 240e f420 2407 6430   $...$.g.$.. $.d0
+        0230: 240e f428 2407 68e0 240e f430 2407 694c   $..($.h.$..0$.iL
+        0240: 240e f438 2407 69b4 240e f440 2407 69bc   $..8$.i.$..@$.i.
+        0250: 240e fb6c 2407 63a0 0000 0000 0000 0000   $..l$.c.........
+        0260: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0270: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0280: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0290: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        02a0: 0000 0000 0700 0a00 0000 0000 0000 0000   ................
+        02b0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        02c0: 2400 20cc 0000 0000 0000 0000 0000 0000   $. .............
+        02d0: 0000 0000 0000 0000 0000 0000 2400 20cc   ............$. .
+        02e0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        02f0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0300: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0310: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0320: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0330: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0340: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0350: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0360: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0370: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0380: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0390: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        03a0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        03b0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        03c0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        03d0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        03e0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        03f0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+Microsoft device response to control message 2, CMD 0x01:
+        0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............
+        0010: 0001 4d54 5000 0000 0000 0000 0000 0000   ..MTP...........
+        0020: 0000 0000 0000 0000 0000 0001 25b9 46eb   ............%.F.
+        0030: c0b3 6173 0200 0000 2803 e800 0000 0000   ..as....(.......
+        0040: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0050: 0000 0000 0000 0000 0000 0000 003e 0000   .............>..
+        0060: 0000 0000 0000 3f3e 0000 003f 3435 3637   ......?>...?4567
+        0070: 3839 3a3b 3c3d 0000 0000 0000 0000 0102   89:;<=..........
+        0080: 0304 0506 0708 090a 0b0c 0d0e 0f10 1112   ................
+        0090: 1314 1516 1718 1900 0000 0000 001a 1b1c   ................
+        00a0: 1d1e 1f20 2122 2324 2526 2728 292a 2b2c   ... !"#$%&'()*+,
+        00b0: 2d2e 2f30 3132 3300 0000 0000 240e e4c0   -./0123.....$...
+        00c0: 4900 4400 4600 4f00 5200 5300 4c00 4b00   I.D.F.O.R.S.L.K.
+        00d0: 348b 02ae b63a 588d b6f5 383b 4647 b2cd   4....:X...8;FG..
+        00e0: f577 6731 aae8 3344 44db 9095 bb7f cc51   .wg1..3DD......Q
+        00f0: 809d 2d3a 7fbd 4c08 45b1 a7e1 9081 9837   ..-:..L.E......7
+        0100: 00cc 89a7 5724 72b9 c129 a362 d955 7404   ....W$r..).b.Ut.
+        0110: 027d 6e69 79e9 6ad9 7a92 e4f3 4b6b 426c   .}niy.j.z...KkBl
+        0120: 4300 4500 5200 5400 4300 4100 4300 4800   C.E.R.T.C.A.C.H.
+        0130: 4dbf d90d d96e 8c9e 325f 4f3d eca9 8459   M....n..2_O=...Y
+        0140: 6b5e 0686 e7e2 c28b de14 4b29 2cec 4d1d   k^........K),.M.
+        0150: 76fd 5a14 903a 1077 45b1 a7e1 9081 9837   v.Z..:.wE......7
+        0160: 00cc 89a7 5724 72b9 c129 a362 d955 7404   ....W$r..).b.Ut.
+        0170: 027d 6e69 79e9 6ad9 7a92 e4f3 4b6b 426c   .}niy.j.z...KkBl
+        0180: 4dbf d90d d96e 8c9e 325f 4f3d eca9 8459   M....n..2_O=...Y
+        0190: 6b5e 0686 e7e2 c28b de14 4b29 2cec 4d1d   k^........K),.M.
+        01a0: 76fd 5a14 903a 1077 240e f310 0000 0003   v.Z..:.w$.......
+        01b0: 0000 0000 240e f318 0000 0003 0100 0000   ....$...........
+        01c0: 240e f320 0000 0002 0200 0000 240e f328   $.. ........$..(
+        01d0: 0000 0002 0300 0000 240e f330 0000 0002   ........$..0....
+        01e0: 0500 0000 240e f338 0000 0002 0600 0000   ....$..8........
+        01f0: 240e f340 0000 0000 0700 0000 240e f348   $..@........$..H
+        0200: 0000 0001 0800 0000 240e f400 2407 6294   ........$...$.b.
+        0210: 240e f408 2407 61b0 240e f410 2407 663c   $...$.a.$...$.f<
+        0220: 240e f418 2407 67bc 240e f420 2407 6430   $...$.g.$.. $.d0
+        0230: 240e f428 2407 68e0 240e f430 2407 694c   $..($.h.$..0$.iL
+        0240: 240e f438 2407 69b4 240e f440 2407 69bc   $..8$.i.$..@$.i.
+        0250: 240e fb6c 2407 63a0 0000 0000 0000 0000   $..l$.c.........
+        0260: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0270: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0280: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0290: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        02a0: 0000 0000 0700 0a00 0000 0000 0000 0000   ................
+        02b0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        02c0: 2400 20cc 0000 0000 0000 0000 0000 0000   $. .............
+        02d0: 0000 0000 0000 0000 0000 0000 2400 20cc   ............$. .
+        02e0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        02f0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0300: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0310: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0320: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0330: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0340: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0350: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0360: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0370: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0380: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0390: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        03a0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        03b0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        03c0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        03d0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        03e0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        03f0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+Device responds to control message 2 with some data.
+Device info:
+   Manufacturer: iriver
+   Model: iriver T10
+   Device version: MTP-1.77-P-FRE
+   Serial number: 6b0cd90e000000fd3230303530373330
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/WMDRMPD: 10.1; audible.com: 1.0
+   Detected object size: 32 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd100: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc95: Meta Genre UINT16 data type enumeration: 0, 1, 11, 12, 13, 14, 15, 21, 22, 23, 24, 25, 26, 27, 28, 30,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 350000, STEP 1 READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc95: Meta Genre UINT16 data type enumeration: 0, 1, 11, 12, 13, 14, 15, 21, 22, 23, 24, 25, 26, 27, 28, 30,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 350000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+   b904: Audible.com Codec
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      da00: Unknown property UINT32 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7, 8,  GET/SET
+      da01: Unknown property STRING data type GET/SET
+      da02: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da03: Unknown property UINT16 data type enumeration: 0, 0,  GET/SET
+      da04: Unknown property array of UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 520847360
+      FreeSpaceInBytes: 413949952
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: iriver T10 files
+      VolumeIdentifier: lgmajnoaaaaaaanpcdadadfdadhdddad
+Special directories:
+   Default music folder: 0x00030000
+   Default playlist folder: 0x00050000
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: iriver T10
+   Synchronization partner: WMP 10; Napster; 
+   Battery level 4 of 4 (100%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   Ogg container format
+   Audible.com Audio Codec
+   Abstract Playlist file
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20101107 12:53:33Z#</VALUE><FLAG>DRM_CLK_SET</FLAG></DRMCLOCK>
+
+WMPInfo.xml file contents:
+<DeviceInfo>
+    <WMP DeviceID="{77D35285-DB5E-4A2D-9CCB-FA6C6978345C}" RelationshipID="{00000000-0000-0000-0000-000000000000}"/>
+</DeviceInfo>
+
+OK.
\ No newline at end of file
diff --git a/logs/mtp-detect-iriver-t20.txt b/logs/mtp-detect-iriver-t20.txt
new file mode 100644
index 0000000..34759ec
--- /dev/null
+++ b/logs/mtp-detect-iriver-t20.txt
@@ -0,0 +1,297 @@
+PTP: Opening session
+libmtp version: 0.2.1
+
+Attempting to connect device(s)
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 272
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 4102
+   idProduct: 1118
+   IN endpoint maxpacket: 64 bytes
+   OUT endpoint maxpacket: 64 bytes
+   Device flags: 0x0000001c
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: 0100                                   	..
+Microsoft device response to control message 1, CMD 0x01:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000 0000 0001 25b9 46eb	............%.F.
+	0030: c0b3 6173 0000 0000 0000 0000 0000 0000	..as............
+	0040: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0050: 0000 0000 003e 0000 0000 0000 0000 3f3e	.....>........?>
+	0060: 0000 003f 3435 3637 3839 3a3b 3c3d 0000	...?456789:;<=..
+	0070: 0000 0000 0000 0102 0304 0506 0708 090a	................
+	0080: 0b0c 0d0e 0f10 1112 1314 1516 1718 1900	................
+	0090: 0000 0000 001a 1b1c 1d1e 1f20 2122 2324	........... !"#$
+	00a0: 2526 2728 292a 2b2c 2d2e 2f30 3132 3300	%&'()*+,-./0123.
+	00b0: 0000 0000 240c e95c 4900 4400 4600 4f00	....$..\I.D.F.O.
+	00c0: 5200 5300 4c00 4b00 348b 02ae b63a 588d	R.S.L.K.4....:X.
+	00d0: b6f5 383b 4647 b2cd f577 6731 aae8 3344	..8;FG...wg1..3D
+	00e0: 44db 9095 bb7f cc51 809d 2d3a 7fbd 4c08	D......Q..-:..L.
+	00f0: 45b1 a7e1 9081 9837 00cc 89a7 5724 72b9	E......7....W$r.
+	0100: c129 a362 d955 7404 027d 6e69 79e9 6ad9	.).b.Ut..}niy.j.
+	0110: 7a92 e4f3 4b6b 426c 4300 4500 5200 5400	z...KkBlC.E.R.T.
+	0120: 4300 4100 4300 4800 4dbf d90d d96e 8c9e	C.A.C.H.M....n..
+	0130: 325f 4f3d eca9 8459 6b5e 0686 e7e2 c28b	2_O=...Yk^......
+	0140: de14 4b29 2cec 4d1d 76fd 5a14 903a 1077	..K),.M.v.Z..:.w
+	0150: 45b1 a7e1 9081 9837 00cc 89a7 5724 72b9	E......7....W$r.
+	0160: c129 a362 d955 7404 027d 6e69 79e9 6ad9	.).b.Ut..}niy.j.
+	0170: 7a92 e4f3 4b6b 426c 4dbf d90d d96e 8c9e	z...KkBlM....n..
+	0180: 325f 4f3d eca9 8459 6b5e 0686 e7e2 c28b	2_O=...Yk^......
+	0190: de14 4b29 2cec 4d1d 76fd 5a14 903a 1077	..K),.M.v.Z..:.w
+	01a0: 240c f7ac 0000 0003 0000 0000 240c f7b4	$...........$...
+	01b0: 0000 0003 0100 0000 240c f7bc 0000 0002	........$.......
+	01c0: 0200 0000 240c f7c4 0000 0002 0300 0000	....$...........
+	01d0: 240c f7cc 0000 0002 0500 0000 240c f7d4	$...........$...
+	01e0: 0000 0002 0600 0000 240c f7dc 0000 0000	........$.......
+	01f0: 0700 0000 240c f7e4 0000 0001 0800 0000	....$...........
+	0200: 240c f89c 2406 2f64 240c f8a4 2406 2e80	$...$./d$...$...
+	0210: 240c f8ac 2406 330c 240c f8b4 2406 348c	$...$.3.$...$.4.
+	0220: 240c f8bc 2406 3100 240c f8c4 2406 35b0	$...$.1.$...$.5.
+	0230: 240c f8cc 2406 361c 240c f8d4 2406 3684	$...$.6.$...$.6.
+	0240: 240c f8dc 2406 368c 240d 0008 2406 3070	$...$.6.$...$.0p
+	0250: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0260: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0270: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0280: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0290: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	02a0: 0700 0a00 0000 0000 0000 0000 0000 0000	................
+	02b0: 0000 0000 0000 0000 0000 0000 2400 20bc	............$. .
+	02c0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	02d0: 0000 0000 0000 0000 2400 20bc 0000 0000	........$. .....
+	02e0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	02f0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0300: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0310: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0320: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0330: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0340: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0350: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0360: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0370: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0380: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0390: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	03a0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	03b0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	03c0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	03d0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	03e0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	03f0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+Microsoft device response to control message 2, CMD 0x01:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000 0000 0001 25b9 46eb	............%.F.
+	0030: c0b3 6173 0000 0000 0000 0000 0000 0000	..as............
+	0040: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0050: 0000 0000 003e 0000 0000 0000 0000 3f3e	.....>........?>
+	0060: 0000 003f 3435 3637 3839 3a3b 3c3d 0000	...?456789:;<=..
+	0070: 0000 0000 0000 0102 0304 0506 0708 090a	................
+	0080: 0b0c 0d0e 0f10 1112 1314 1516 1718 1900	................
+	0090: 0000 0000 001a 1b1c 1d1e 1f20 2122 2324	........... !"#$
+	00a0: 2526 2728 292a 2b2c 2d2e 2f30 3132 3300	%&'()*+,-./0123.
+	00b0: 0000 0000 240c e95c 4900 4400 4600 4f00	....$..\I.D.F.O.
+	00c0: 5200 5300 4c00 4b00 348b 02ae b63a 588d	R.S.L.K.4....:X.
+	00d0: b6f5 383b 4647 b2cd f577 6731 aae8 3344	..8;FG...wg1..3D
+	00e0: 44db 9095 bb7f cc51 809d 2d3a 7fbd 4c08	D......Q..-:..L.
+	00f0: 45b1 a7e1 9081 9837 00cc 89a7 5724 72b9	E......7....W$r.
+	0100: c129 a362 d955 7404 027d 6e69 79e9 6ad9	.).b.Ut..}niy.j.
+	0110: 7a92 e4f3 4b6b 426c 4300 4500 5200 5400	z...KkBlC.E.R.T.
+	0120: 4300 4100 4300 4800 4dbf d90d d96e 8c9e	C.A.C.H.M....n..
+	0130: 325f 4f3d eca9 8459 6b5e 0686 e7e2 c28b	2_O=...Yk^......
+	0140: de14 4b29 2cec 4d1d 76fd 5a14 903a 1077	..K),.M.v.Z..:.w
+	0150: 45b1 a7e1 9081 9837 00cc 89a7 5724 72b9	E......7....W$r.
+	0160: c129 a362 d955 7404 027d 6e69 79e9 6ad9	.).b.Ut..}niy.j.
+	0170: 7a92 e4f3 4b6b 426c 4dbf d90d d96e 8c9e	z...KkBlM....n..
+	0180: 325f 4f3d eca9 8459 6b5e 0686 e7e2 c28b	2_O=...Yk^......
+	0190: de14 4b29 2cec 4d1d 76fd 5a14 903a 1077	..K),.M.v.Z..:.w
+	01a0: 240c f7ac 0000 0003 0000 0000 240c f7b4	$...........$...
+	01b0: 0000 0003 0100 0000 240c f7bc 0000 0002	........$.......
+	01c0: 0200 0000 240c f7c4 0000 0002 0300 0000	....$...........
+	01d0: 240c f7cc 0000 0002 0500 0000 240c f7d4	$...........$...
+	01e0: 0000 0002 0600 0000 240c f7dc 0000 0000	........$.......
+	01f0: 0700 0000 240c f7e4 0000 0001 0800 0000	....$...........
+	0200: 240c f89c 2406 2f64 240c f8a4 2406 2e80	$...$./d$...$...
+	0210: 240c f8ac 2406 330c 240c f8b4 2406 348c	$...$.3.$...$.4.
+	0220: 240c f8bc 2406 3100 240c f8c4 2406 35b0	$...$.1.$...$.5.
+	0230: 240c f8cc 2406 361c 240c f8d4 2406 3684	$...$.6.$...$.6.
+	0240: 240c f8dc 2406 368c 240d 0008 2406 3070	$...$.6.$...$.0p
+	0250: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0260: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0270: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0280: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0290: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	02a0: 0700 0a00 0000 0000 0000 0000 0000 0000	................
+	02b0: 0000 0000 0000 0000 0000 0000 2400 20bc	............$. .
+	02c0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	02d0: 0000 0000 0000 0000 2400 20bc 0000 0000	........$. .....
+	02e0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	02f0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0300: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0310: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0320: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0330: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0340: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0350: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0360: 0000 Unknown OPFF type 5
+Unknown OPFF type 5
+Unknown OPFF type 5
+0000 0000 0000 0000 0000 0000 0000	................
+	0370: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0380: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0390: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	03a0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	03b0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	03c0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	03d0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	03e0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	03f0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+Device info:
+   Manufacturer: iriver
+   Model: iriver T20
+   Device version:  MTP 1.01P
+   Serial number: T20-oodapfdoaaaaaalpcdada
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/WMDRMPD: 10.1
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Device Friendly Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 350000, STEP 1 READ ONLY
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumaUnknown OPFF type 5
+Unknown OPFF type 5
+ble UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 350000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 1045151744
+      FreeSpaceInBytes: 1043693568
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: FAT16 System
+      VolumeIdentifier: oodapfdoaaaaaalpcdadadfdadbdadbd
+Special directories:
+   Default music folder: 0x00030000
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: iriver T20
+   Synchronization partner: WMP 10; Napster; 
+   Battery level 4 of 4 (100%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   Ogg container format
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20050119 13:05:14Z#</VALUE><FLAG>DRM_CLK_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">CgoKCgoKCgoKCgoKCgoKCgoKCgo=</UNIQUEID><PUBLICKEY private="1">hlyUU+srTalkBBJJXsm5WJfoGG+cDAQ4ciNf1rwacpiENfUNqxqkfw==</PUBLICKEY><KEYDATA>FIfIfFBLeASr5lGJdTf6N0sQ9qs=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>DBAP9cxNWlPp5KdpzQ0k5qBeEFoSr+t9rwKffLletujBd2d8V/1zTw==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>iBBOxLKP9T+PdFIoqQJfBHGR+fU=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.102.3</SECURITYVERSION><CERTIFICATE private="1">hlyUU+srTalkBBJJXsm5WJfoGG+cDAQ4ciNf1rwacpiENfUNqxqkfwIEZgMEhLVvBJ/Jqw0ZeRjl4T4rNDC2R423VDfWyfMw2QZrsBc5IUYZmIVi</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>iRiver H10 Series</NAME><MANUFACTURER>iRiver</MANUFACTURER><MAKE>iRiver</MAKE><DISTRIBUTOR>ReignCom</DISTRIBUTOR><MODEL>H10</MODEL><SECURITYLEVEL>2000</SECURITYLEVEL><HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR><HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR><FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR><FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR><FEATURES><CLOCK>2</CLOCK><SECURECLOCK><URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL><PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY></SECURECLOCK><METERING>1</METERING><LICENSE_ACQ>1</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>1</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT></FEATURES><LIMITS><MAXCHAINDEPTH>2</MAXCHAINDEPTH><MAXLICENSESIZE>10240</MAXLICENSESIZE><MAXHEADERSIZE>5120</MAXHEADERSIPTP: Closing session
+ZE></LIMITS><PUBLICKEY>8jeq4PyJZUL8NpU2+/tgvUZC9ijn3RdlK3wd04Iws6oXHoA+D6vFfQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>HZ85tGf5VnDwKLGq2S0OlK/oJCKbCx3A2yudzMOv8ERwi6drHW5xOA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>359</AUTH_ID><PUBLICKEY>DpMhgaZkXUFNFIs4KJe7S9MZYwuE1bBic6AV6wAc7Ir0Stfx8U+SKw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>GWscwHnDoSazgB+YOP2D7xrqDifWEFztujqAWwrkM7onynIcfOBBMQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>QndHdJ4ZoSgvokVCOWsqVnvuckGL5cn6Vrua0j4tcGBrjD9PgNd0AA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+
+Device description WMPInfo.xml file:
+<DeviceInfo>

+    <WMP DeviceID="{2AD8E0B4-575C-4175-9816-CFD6BDB0531B}" RelationshipID="{00000000-0000-0000-0000-000000000000}"/>

+</DeviceInfo>

+
+OK.
diff --git a/logs/mtp-detect-iriver-t30.txt b/logs/mtp-detect-iriver-t30.txt
new file mode 100644
index 0000000..382111f
--- /dev/null
+++ b/logs/mtp-detect-iriver-t30.txt
@@ -0,0 +1,287 @@
+libmtp version: 0.2.1
+
+Attempting to connect device(s)
+PTP: Opening session
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 4102
+   idProduct: 1119
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x0000001c
+Microsoft device descriptor 0xee:
+        0000: 1203 4d00 5300 4600 5400 3100 3000 3000   ..M.S.F.T.1.0.0.
+        0010: 0100                                      ..
+Microsoft device response to control message 1, CMD 0x01:
+        0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............
+        0010: 0001 4d54 5000 0000 0000 0000 0000 0000   ..MTP...........
+        0020: 0000 0000 0000 0000 0000 0001 25b9 46eb   ............%.F.
+        0030: c0b3 6173 0000 0000 0000 0000 0000 0000   ..as............
+        0040: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0050: 0000 0000 003e 0000 0000 0000 0000 3f3e   .....>........?>
+        0060: 0000 003f 3435 3637 3839 3a3b 3c3d 0000   ...?456789:;<=..
+        0070: 0000 0000 0000 0102 0304 0506 0708 090a   ................
+        0080: 0b0c 0d0e 0f10 1112 1314 1516 1718 1900   ................
+        0090: 0000 0000 001a 1b1c 1d1e 1f20 2122 2324   ........... !"#$
+        00a0: 2526 2728 292a 2b2c 2d2e 2f30 3132 3300   %&'()*+,-./0123.
+        00b0: 0000 0000 240d 0fec 4900 4400 4600 4f00   ....$...I.D.F.O.
+        00c0: 5200 5300 4c00 4b00 348b 02ae b63a 588d   R.S.L.K.4....:X.
+        00d0: b6f5 383b 4647 b2cd f577 6731 aae8 3344   ..8;FG...wg1..3D
+        00e0: 44db 9095 bb7f cc51 809d 2d3a 7fbd 4c08   D......Q..-:..L.
+        00f0: 45b1 a7e1 9081 9837 00cc 89a7 5724 72b9   E......7....W$r.
+        0100: c129 a362 d955 7404 027d 6e69 79e9 6ad9   .).b.Ut..}niy.j.
+        0110: 7a92 e4f3 4b6b 426c 4300 4500 5200 5400   z...KkBlC.E.R.T.
+        0120: 4300 4100 4300 4800 4dbf d90d d96e 8c9e   C.A.C.H.M....n..
+        0130: 325f 4f3d eca9 8459 6b5e 0686 e7e2 c28b   2_O=...Yk^......
+        0140: de14 4b29 2cec 4d1d 76fd 5a14 903a 1077   ..K),.M.v.Z..:.w
+        0150: 45b1 a7e1 9081 9837 00cc 89a7 5724 72b9   E......7....W$r.
+        0160: c129 a362 d955 7404 027d 6e69 79e9 6ad9   .).b.Ut..}niy.j.
+        0170: 7a92 e4f3 4b6b 426c 4dbf d90d d96e 8c9e   z...KkBlM....n..
+        0180: 325f 4f3d eca9 8459 6b5e 0686 e7e2 c28b   2_O=...Yk^......
+        0190: de14 4b29 2cec 4d1d 76fd 5a14 903a 1077   ..K),.M.v.Z..:.w
+        01a0: 240d 1e3c 0000 0003 0000 0000 240d 1e44   $..<........$..D
+        01b0: 0000 0003 0100 0000 240d 1e4c 0000 0002   ........$..L....
+        01c0: 0200 0000 240d 1e54 0000 0002 0300 0000   ....$..T........
+        01d0: 240d 1e5c 0000 0002 0500 0000 240d 1e64   $..\........$..d
+        01e0: 0000 0002 0600 0000 240d 1e6c 0000 0000   ........$..l....
+        01f0: 0700 0000 240d 1e74 0000 0001 0800 0000   ....$..t........
+        0200: 240d 1f2c 2406 5a78 240d 1f34 2406 5994   $..,$.Zx$..4$.Y.
+        0210: 240d 1f3c 2406 5e20 240d 1f44 2406 5fa0   $..<$.^ $..D$._.
+        0220: 240d 1f4c 2406 5c14 240d 1f54 2406 60c4   $..L$.\.$..T$.`.
+        0230: 240d 1f5c 2406 6130 240d 1f64 2406 6198   $..\$.a0$..d$.a.
+        0240: 240d 1f6c 2406 61a0 240d 2698 2406 5b84   $..l$.a.$.&.$.[.
+        0250: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0260: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0270: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0280: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0290: 0000 0000 0000 0000 0000 0000 0700 0a00   ................
+        02a0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        02b0: 0000 0000 0000 0000 2400 2180 0000 0000   ........$.!.....
+        02c0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        02d0: 0000 0000 2400 2180 0000 0000 0000 0000   ....$.!.........
+        02e0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        02f0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0300: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0310: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0320: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0330: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0340: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0350: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0360: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0370: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0380: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0390: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        03a0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        03b0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        03c0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        03d0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        03e0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        03f0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+Microsoft device response to control message 2, CMD 0x01:
+        0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............
+        0010: 0001 4d54 5000 0000 0000 0000 0000 0000   ..MTP...........
+        0020: 0000 0000 0000 0000 0000 0001 25b9 46eb   ............%.F.
+        0030: c0b3 6173 0000 0000 0000 0000 0000 0000   ..as............
+        0040: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0050: 0000 0000 003e 0000 0000 0000 0000 3f3e   .....>........?>
+        0060: 0000 003f 3435 3637 3839 3a3b 3c3d 0000   ...?456789:;<=..
+        0070: 0000 0000 0000 0102 0304 0506 0708 090a   ................
+        0080: 0b0c 0d0e 0f10 1112 1314 1516 1718 1900   ................
+        0090: 0000 0000 001a 1b1c 1d1e 1f20 2122 2324   ........... !"#$
+        00a0: 2526 2728 292a 2b2c 2d2e 2f30 3132 3300   %&'()*+,-./0123.
+        00b0: 0000 0000 240d 0fec 4900 4400 4600 4f00   ....$...I.D.F.O.
+        00c0: 5200 5300 4c00 4b00 348b 02ae b63a 588d   R.S.L.K.4....:X.
+        00d0: b6f5 383b 4647 b2cd f577 6731 aae8 3344   ..8;FG...wg1..3D
+        00e0: 44db 9095 bb7f cc51 809d 2d3a 7fbd 4c08   D......Q..-:..L.
+        00f0: 45b1 a7e1 9081 9837 00cc 89a7 5724 72b9   E......7....W$r.
+        0100: c129 a362 d955 7404 027d 6e69 79e9 6ad9   .).b.Ut..}niy.j.
+        0110: 7a92 e4f3 4b6b 426c 4300 4500 5200 5400   z...KkBlC.E.R.T.
+        0120: 4300 4100 4300 4800 4dbf d90d d96e 8c9e   C.A.C.H.M....n..
+        0130: 325f 4f3d eca9 8459 6b5e 0686 e7e2 c28b   2_O=...Yk^......
+        0140: de14 4b29 2cec 4d1d 76fd 5a14 903a 1077   ..K),.M.v.Z..:.w
+        0150: 45b1 a7e1 9081 9837 00cc 89a7 5724 72b9   E......7....W$r.
+        0160: c129 a362 d955 7404 027d 6e69 79e9 6ad9   .).b.Ut..}niy.j.
+        0170: 7a92 e4f3 4b6b 426c 4dbf d90d d96e 8c9e   z...KkBlM....n..
+        0180: 325f 4f3d eca9 8459 6b5e 0686 e7e2 c28b   2_O=...Yk^......
+        0190: de14 4b29 2cec 4d1d 76fd 5a14 903a 1077   ..K),.M.v.Z..:.w
+        01a0: 240d 1e3c 0000 0003 0000 0000 240d 1e44   $..<........$..D
+        01b0: 0000 0003 0100 0000 240d 1e4c 0000 0002   ........$..L....
+        01c0: 0200 0000 240d 1e54 0000 0002 0300 0000   ....$..T........
+        01d0: 240d 1e5c 0000 0002 0500 0000 240d 1e64   $..\........$..d
+        01e0: 0000 0002 0600 0000 240d 1e6c 0000 0000   ........$..l....
+        01f0: 0700 0000 240d 1e74 0000 0001 0800 0000   ....$..t........
+        0200: 240d 1f2c 2406 5a78 240d 1f34 2406 5994   $..,$.Zx$..4$.Y.
+        0210: 240d 1f3c 2406 5e20 240d 1f44 2406 5fa0   $..<$.^ $..D$._.
+        0220: 240d 1f4c 2406 5c14 240d 1f54 2406 60c4   $..L$.\.$..T$.`.
+        0230: 240d 1f5c 2406 6130 240d 1f64 2406 6198   $..\$.a0$..d$.a.
+        0240: 240d 1f6c 2406 61a0 240d 2698 2406 5b84   $..l$.a.$.&.$.[.
+        0250: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0260: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0270: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0280: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0290: 0000 0000 0000 0000 0000 0000 0700 0a00   ................
+        02a0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        02b0: 0000 0000 0000 0000 2400 2180 0000 0000   ........$.!.....
+        02c0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        02d0: 0000 0000 2400 2180 0000 0000 0000 0000   ....$.!.........
+        02e0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        02f0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0300: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0310: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0320: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0330: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0340: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0350: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0360: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0370: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0380: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0390: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        03a0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        03b0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        03c0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        03d0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        03e0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        03f0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+Device info:
+   Manufacturer: iriver
+   Model: iriver T30
+   Device version: MTP 1.23P
+   Serial number: 6eb1d8d2000000fd3230303531313130
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/WMDRMPD: 10.1
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Device Friendly Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc95: MetaGenre UINT16 data type enumeration: 0, 1, 11, 12, 13, 14, 15, 21, 22, 23, 24, 25, 26, 27, 28, 30,  GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 350000, STEP 1 READ ONLY
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc95: MetaGenre UINT16 data type enumeration: 0, 1, 11, 12, 13, 14, 15, 21, 22, 23, 24, 25, 26, 27, 28, 30,  GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 350000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 1045151744
+      FreeSpaceInBytes: 629784576
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: FAT16 System
+      VolumeIdentifier: ogblincnaaaaaanpcdadadfdbdbdbdad
+Special directories:
+   Default music folder: 0x00030000
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: iriver T30
+   Synchronization partner: WMP 10; Napster; 
+   Battery level 4 of 4 (100%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   Ogg container format
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20071115 17:28:55Z#</VALUE><FLAG>DRM_CLK_NEEDS_REFRESH</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">CgoKCgoKCgoKCgoKCgoKCgoKCgo=</UNIQUEID><PUBLICKEY private="1">Fqb8j0UuoPItsjL2Az8gSpHrh2D89BaCb3LIGk3BSTrx+4Z2VgeLew==</PUBLICKEY><KEYDATA>lGoZKzHk8qu8nFJmBHtGCpKsAY4=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>LyIMBcOxxtTj9ZmBULhuS9Ibd1+BH+/HyKAXO1KPk1fslMW3D+QBMw==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>Q9EQB0qQlXpGezb6azJ16xq0reY=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.102.3</SECURITYVERSION><CERTIFICATE private="1">Fqb8j0UuoPItsjL2Az8gSpHrh2D89BaCb3LIGk3BSTrx+4Z2VgeLewIEZgP20xt7aGudp/I3E12+Ml4/khUdTGfPZrc5IBnf2x3MrdcA/oWyde00</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>iRiver H10 Series</NAME><MANUFACTURER>iRiver</MANUFACTURER><MAKE>iRiver</MAKE><DISTRIBUTOR>ReignCom</DISTRIBUTOR><MODEL>H10</MODEL><SECURITYLEVEL>2000</SECURITYLEVEL><HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR><HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR><FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR><FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR><FEATURES><CLOCK>2</CLOCK><SECURECLOCK><URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL><PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY></SECURECLOCK><METERING>1</METERING><LICENSE_ACQ>1</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>1</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT></FEATURES><LIMITS><MAXCHAINDEPTH>2</MAXCHAINDEPTH><MAXLICENSESIZE>10240</MAXLICENSESIZE><MAXHEADERSIZE>5120</MAXHEADERSIZE></LIMITS><PUBLICKEY>8jeq4PyJZUL8NpU2+/tgvUZC9ijn3RdlK3wd04Iws6oXHoA+D6vFfQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>HZ85tGf5VnDwKLGq2S0OlK/oJCKbCx3A2yudzMOv8ERwi6drHW5xOA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>359</AUTH_ID><PUBLICKEY>DpMhgaZkXUFNFIs4KJe7S9MZYwuE1bBic6AV6wAc7Ir0Stfx8U+SKw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>GWscwHnDoSazgB+YOP2D7xrqDifWEFztujqAWwrkM7onynIcfOBBMQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_
+ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>QndHdJ4ZoSgvokVCOWsqVnvuckGL5cn6Vrua0j4tcGBrjD9PgNd0AA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
diff --git a/logs/mtp-detect-iriver-t60.txt b/logs/mtp-detect-iriver-t60.txt
new file mode 100644
index 0000000..9f9e429
--- /dev/null
+++ b/logs/mtp-detect-iriver-t60.txt
@@ -0,0 +1,211 @@
+mtp-detect log:
+Autodetected device with VID=4102 and PID=1134 is UNKNOWN.
+Please report this VID/PID and the device model name etc to the
+libmtp development team!
+PTP: Opening session
+Connected to MTP device.
+ptp2/ptp_usb_getdata: read 1 bytes too much, expect problems!
+ptp2/ptp_usb_getdata: read 1 bytes too much, expect problems!
+ptp2/ptp_usb_getdata: read 1 bytes too much, expect problems!
+ptp2/ptp_usb_getdata: read 1 bytes too much, expect problems!
+ptp2/ptp_usb_getdata: read 1 bytes too much, expect problems!
+ptp2/ptp_usb_getdata: read 1 bytes too much, expect problems!
+ptp2/ptp_usb_getdata: read 1 bytes too much, expect problems!
+ptp2/ptp_usb_getdata: read 1 bytes too much, expect problems!
+ptp2/ptp_usb_getdata: read 1 bytes too much, expect problems!
+ptp2/ptp_usb_getdata: read 1 bytes too much, expect problems!
+ptp2/ptp_usb_getdata: read 1 bytes too much, expect problems!
+ptp2/ptp_usb_getdata: read 1 bytes too much, expect problems!
+USB low-level info:
+Using kernel interface "usbfs"
+bcdUSB: 512
+bDeviceClass: 0
+bDeviceSubClass: 0
+bDeviceProtocol: 0
+idVendor: 4102
+idProduct: 1134
+IN endpoint maxpacket: 512 bytes
+OUT endpoint maxpacket: 512 bytes
+Device flags: 0x00000000
+Device info:
+Manufacturer: iriver
+Model: iriver MP3 T60
+Device version: MTP-1.03-N-ENG
+Serial number: 1557c6f40000003a3230303630313031
+Vendor extension ID: 0x00000006
+Vendor extension description: microsoft.com/WMDRMPD: 10.1; audible.com:
+1.0
+Supported operations:
+1001: get device info
+1002: Open session
+1003: Close session
+1004: Get storage IDs
+1005: Get storage info
+1006: Get number of objects
+1007: Get object handles
+1008: Get object info
+1009: Get object
+100b: Delete object
+100c: Send object info
+100d: Send object
+100f: Format storage
+1014: Get device property description
+1015: Get device property value
+1016: Set device property value
+9801: Get object properties supported
+9802: Get object property description
+9803: Get object property value
+9804: Set object property value
+9805: Get object property list
+9810: Get object references
+9811: Set object references
+9101: Get secure time challenge
+9102: Get secure time response
+9103: Set license response
+9104: Get sync list
+9105: Send meter challenge query
+9106: Get meter challenge
+9107: Get meter response
+9108: Clean data store
+9109: Get license state
+910a: Send WMDRM-PD Command
+910b: Send WMDRM-PD Request
+Events supported:
+None.
+Device Properties Supported:
+0x5001: Battery Level
+0xd401: Synchronization Partner
+0xd402: Device Friendly Name
+0xd101: Secure Time
+0xd102: Device Certificate
+0xd100: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+3000: Undefined Type
+dc01: StorageID
+dc02: ObjectFormat
+dc04: ObjectSize
+dc07: ObjectFileName
+dc0b: ParentObject
+dc41: PersistantUniqueObjectIdentifier
+dc44: Name
+dc4f: NonConsumable
+3001: Association/Directory
+dc01: StorageID
+dc02: ObjectFormat
+dc04: ObjectSize
+dc07: ObjectFileName
+dc0b: ParentObject
+dc41: PersistantUniqueObjectIdentifier
+dc44: Name
+dc4f: NonConsumable
+3009: MP3
+dc01: StorageID
+dc02: ObjectFormat
+dc04: ObjectSize
+dc07: ObjectFileName
+dc0b: ParentObject
+dc41: PersistantUniqueObjectIdentifier
+dc44: Name
+dc4f: NonConsumable
+dc46: Artist
+dc95: MetaGenre
+de93: SampleRate
+de94: NumberOfChannels
+de99: AudioWAVECodec
+de9a: AudioBitRate
+b901: WMA
+dc01: StorageID
+dc02: ObjectFormat
+dc04: ObjectSize
+dc07: ObjectFileName
+dc0b: ParentObject
+dc41: PersistantUniqueObjectIdentifier
+dc44: Name
+dc4f: NonConsumable
+dc46: Artist
+dc95: MetaGenre
+de93: SampleRate
+de94: NumberOfChannels
+de99: AudioWAVECodec
+de9a: AudioBitRate
+b902: OGG
+dc01: StorageID
+dc02: ObjectFormat
+dc04: ObjectSize
+dc07: ObjectFileName
+dc0b: ParentObject
+dc41: PersistantUniqueObjectIdentifier
+dc44: Name
+dc4f: NonConsumable
+b904: Audible.com Codec
+dc01: StorageID
+dc02: ObjectFormat
+dc04: ObjectSize
+dc07: ObjectFileName
+dc0b: ParentObject
+dc41: PersistantUniqueObjectIdentifier
+dc44: Name
+dc4f: NonConsumable
+da00: unknown(da00)
+da01: unknown(da01)
+da02: unknown(da02)
+da03: unknown(da03)
+da04: unknown(da04)
+dc89: Duration
+ba05: Abstract Audio Video Playlist
+dc01: StorageID
+dc02: ObjectFormat
+dc04: ObjectSize
+dc07: ObjectFileName
+dc0b: ParentObject
+dc41: PersistantUniqueObjectIdentifier
+dc44: Name
+dc4f: NonConsumable
+Storage Devices:
+StorageID: 0x00010001
+StorageType: 0x0003
+FilesystemType: 0x0002
+AccessCapability: 0x0000
+MaxCapacity: 2009825280
+FreeSpaceInBytes: 209584128
+FreeSpaceInObjects: 4294967295
+StorageDescription: iriver MP3 T60 files
+VolumeIdentifier: fbhfgmepaaaaaakdcdadadgdadbdadbd
+Special directories:
+Default music folder: 0x00010000
+Default playlist folder: 0x00040000
+Default picture folder: 0x00000000
+Default video folder: 0x00000000
+Default organizer folder: 0x00000000
+Default zencast folder: 0x00000000
+Default album folder: 0x00000000
+Default text folder: 0x00000000
+MTP-specific device properties:
+Friendly name: iriver MP3 T60
+Synchronization partner: WMP 10; Napster;
+Battery level 3 of 4 (75%)
+libmtp supported (playable) filetypes:
+ISO MPEG-1 Audio Layer 3
+Microsoft Windows Media Audio
+Ogg container format
+Audible.com Audio Codec
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20070731
+19:24:07Z#</VALUE><FLAG>DRM_CLK_SET</FLAG></DRMCLOCK>
+LIBMTP panic: Found a bad handle, trying to ignore it.
+LIBMTP panic: Found a bad handle, trying to ignore it.
+ptp2/ptp_usb_getdata: read 1 bytes too much, expect problems!
+ptp2/ptp_usb_getdata: read 1 bytes too much, expect problems!
+ptp2/ptp_usb_getdata: read 1 bytes too much, expect problems!
+ptp2/ptp_usb_getdata: read 1 bytes too much, expect problems!
+ptp2/ptp_usb_getdata: read 1 bytes too much, expect problems!
+ptp2/ptp_usb_getdata: read 1 bytes too much, expect problems!
+ptp2/ptp_usb_getdata: read 1 bytes too much, expect problems!
+ptp2/ptp_usb_getdata: read 1 bytes too much, expect problems!
+ptp2/ptp_usb_getdata: read 1 bytes too much, expect problems!
+ptp2/ptp_usb_getdata: read 1 bytes too much, expect problems!
+ptp2/ptp_usb_getdata: read 1 bytes too much, expect problems!
+ptp2/ptp_usb_getdata: read 1 bytes too much, expect problems!
+PTP: Closing session
+OK.
diff --git a/logs/mtp-detect-iriver-t7-volcano.txt b/logs/mtp-detect-iriver-t7-volcano.txt
new file mode 100644
index 0000000..03ead6e
--- /dev/null
+++ b/logs/mtp-detect-iriver-t7-volcano.txt
@@ -0,0 +1,207 @@
+~$ mtp-detect
+
+libmtp version: 0.3.3
+
+Listing raw device(s)
+ Found 1 device(s):
+ 1043:1143 @ bus 0, dev 9
+Attempting to connect device(s)
+USB low-level info:
+ Using kernel interface "usbfs"
+ bcdUSB: 512
+ bDeviceClass: 255
+ bDeviceSubClass: 0
+ bDeviceProtocol: 0
+ idVendor: 1043
+ idProduct: 1143
+ IN endpoint maxpacket: 512 bytes
+ OUT endpoint maxpacket: 512 bytes
+ Raw device info:
+    Bus location: 0
+    Device number: 9
+    Device entry info:
+       Vendor: (null)
+       Vendor id: 0x1043
+       Product: (null)
+       Vendor id: 0x1143
+       Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+  0000: 1203 4d00 5300 4600 5400 3100 3000 3000    ..M.S.F.T.1.0.0.
+  0010: fe00                                       ..
+Microsoft device response to control message 1, CMD 0xfe:
+  0000: 2800 0000 0001 0400 0100 0000 0000 0000    (...............
+  0010: 0001 4d54 5000 0000 0000 0000 0000 0000    ..MTP...........
+  0020: 0000 0000 0000 0000                        ........
+Microsoft device response to control message 2, CMD 0xfe:
+  0000: 2800 0000 0001 0400 0100 0000 0000 0000    (...............
+  0010: 0001 4d54 5000 0000 0000 0000 0000 0000    ..MTP...........
+  0020: 0000 0000 0000 0000                        ........
+Device info:
+ Manufacturer: iriver
+ Model: iriver T7
+ Device version: MTP-1.01-N-ENG
+ Serial number: A00000600001
+ Vendor extension ID: 0x00000006
+ Vendor extension description: microsoft.com: 1.0;
+microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 10.0;
+ Detected object size: 64 bits
+Supported operations:
+ 1001: get device info
+ 1002: Open session
+ 1003: Close session
+ 1004: Get storage IDs
+ 1005: Get storage info
+ 1006: Get number of objects
+ 1007: Get object handles
+ 1008: Get object info
+ 1009: Get object
+ 100b: Delete object
+ 100c: Send object info
+ 100d: Send object
+ 100f: Format storage
+ 1010: Reset device
+ 1014: Get device property description
+ 1015: Get device property value
+ 1016: Set device property value
+ 9801: Get object properties supported
+ 9802: Get object property description
+ 9803: Get object property value
+ 9804: Set object property value
+ 9810: Get object references
+ 9811: Set object references
+ 9101: Get secure time challenge
+ 9102: Get secure time response
+ 9103: Set license response
+ 9104: Get sync list
+ 9105: Send meter challenge query
+ 9106: Get meter challenge
+ 9107: Get meter response
+ 9108: Clean data store
+ 9109: Get license state
+Events supported:
+ 0x4004
+ 0x4005
+Device Properties Supported:
+ 0xd101: Secure Time
+ 0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+ 3000: Undefined Type
+    dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+    dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+    dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+    dc04: ObjectSize UINT64 data type READ ONLY
+    dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+    dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+    dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+    dc44: Name STRING data type GET/SET
+    dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+ 3001: Association/Directory
+    dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+    dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+    dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+    dc04: ObjectSize UINT64 data type READ ONLY
+    dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+    dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+    dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+    dc44: Name STRING data type GET/SET
+    dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+ 3009: MP3
+    dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+    dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+    dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+    dc04: ObjectSize UINT64 data type READ ONLY
+    dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+    dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+    dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+    dc44: Name STRING data type GET/SET
+    dc46: Artist STRING data type GET/SET
+    dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+    dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+    dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+    dc8c: Genre STRING data type GET/SET
+    dc96: Composer STRING data type GET/SET
+    dc9a: AlbumName STRING data type GET/SET
+    de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+    de94: NumberOfChannels UINT16 data type enumeration: 2,  READ ONLY
+    de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 READ ONLY
+ b901: WMA
+    dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+    dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+    dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+    dc04: ObjectSize UINT64 data type READ ONLY
+    dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+    dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+    dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+    dc44: Name STRING data type GET/SET
+    dc46: Artist STRING data type GET/SET
+    dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+    dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+    dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+    dc8c: Genre STRING data type GET/SET
+    dc96: Composer STRING data type GET/SET
+    dc9a: AlbumName STRING data type GET/SET
+    de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+    de94: NumberOfChannels UINT16 data type enumeration: 2,  READ ONLY
+    de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 READ ONLY
+ ba03: Abstract Audio Album
+    dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+    dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+    dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+    dc04: ObjectSize UINT64 data type READ ONLY
+    dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+    dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+    dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+    dc44: Name STRING data type GET/SET
+    dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+    dc81: RepresentativeSampleFormat UINT16 data type enumeration:  READ ONLY
+    dc8c: Genre STRING data type GET/SET
+ ba05: Abstract Audio Video Playlist
+    dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+    dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+    dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+    dc04: ObjectSize UINT64 data type READ ONLY
+    dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+    dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+    dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+    dc44: Name STRING data type GET/SET
+    dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+ StorageID: 0x00010001
+    StorageType: 0x0004 removable RAM storage
+    FilesystemType: 0x0002 generic hierarchical
+    AccessCapability: 0x0000 read/write
+    MaxCapacity: 4059193344
+    FreeSpaceInBytes: 4059160576
+    FreeSpaceInObjects: 4294967295
+    StorageDescription: iriver T7 files
+    VolumeIdentifier: (null)
+Special directories:
+ Default music folder: 0x00000000
+ Default playlist folder: 0x00000000
+ Default picture folder: 0x00000000
+ Default video folder: 0x00000000
+ Default organizer folder: 0x00000000
+ Default zencast folder: 0x00000000
+ Default album folder: 0x00000000
+ Default text folder: 0x00000000
+MTP-specific device properties:
+ Friendly name: (NULL)
+ Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+ ISO MPEG-1 Audio Layer 3
+ Microsoft Windows Media Audio
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20080114
+19:26:48Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID
+private="1">nrDQMNYHb0qoz1fqYUDqxmFA6sY=</UNIQUEID><PUBLICKEY
+private="1">WbWEVwzD/6k56XKst4OnRTXFJSFurpcN/nEqZeM8/1nMhaqcqrUEQw==</PUBLICKEY><KEYDATA>yZBMmoENcUJrZlqoKjB3RqWbZBk=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>WbWEVwzD/6k56XKst4OnRTXFJSENGS5l+4hHr9gLDu1ThP1y59iwSQ==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>AZDXn3sieh4rYaQNQl/MdIAKcL0=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.111.31</SECURITYVERSION><CERTIFICATE
+private="1">WbWEVwzD/6k56XKst4OnRTXFJSFurpcN/nEqZeM8/1nMhaqcqrUEQwIEbx9ZtYRXDMP/qTnpcqy3g6dFNcUlIf4NogOPQJYt/s2w7iE5BAM/r9Iq</CERTIFICATE></FALLBACK><CERTIFICATE
+type="GROUP"><DATA><NAME>T7</NAME><MANUFACTURER>iriver</MANUFACTURER><MAKE>iriver</MAKE><DISTRIBUTOR>iriver</DISTRIBUTOR><MODEL>T7</MODEL><SECURITYLEVEL>2000</SECURITYLEVEL><HARDWARE_VER_MAJOR>1.0</HARDWARE_VER_MAJOR><HARDWARE_VER_MINOR>1.0</HARDWARE_VER_MINOR><FIRMWARE_VER_MAJOR>1.0</FIRMWARE_VER_MAJOR><FIRMWARE_VER_MINOR>1.0</FIRMWARE_VER_MINOR><FEATURES><CLOCK>2</CLOCK><SECURECLOCK><URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL><PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY></SECURECLOCK><METERING>1</METERING><LICENSE_ACQ>0</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>0</ENCRYPTION><SYMMETRIC_OPT>0</SYMMETRIC_OPT></FEATURES><LIMITS><MAXCHAINDEPTH>2</MAXCHAINDEPTH><MAXLICENSESIZE>6656</MAXLICENSESIZE><MAXHEADERSIZE>5120</MAXHEADERSIZE></LIMITS><PUBLICKEY>3BpF6JtA7FbR1nASAkawbHYRtEWT5o8TrP7a2L6Bvxb7/P0+i5NLLA==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>WRTND1A2JBpLj8Qsi40ZqMRWx4h/7FCW2OCTmtILKq2DJfeA99WGVg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>2691</AUTH_ID><PUBLICKEY>WmzVzzbfShRhYsmIVMx/NHFUoxx4e0Mw84ZZX/Jkb5TDaeO2+Y3whA==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>GU1KjL5g1ZWk23mePnHrT1lJSWscoAt36qwgV2jL+BX5R/uUTr3ADg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>97tzJe/maHwwV07tt0FoMe84Hn9adZfKZ7PJ9j3dWh11FiAzG8jxJA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+WMPInfo.xml Does not exist on this device
+OK.
diff --git a/logs/mtp-detect-iriver-u10.txt b/logs/mtp-detect-iriver-u10.txt
new file mode 100644
index 0000000..4660a26
--- /dev/null
+++ b/logs/mtp-detect-iriver-u10.txt
@@ -0,0 +1,169 @@
+Attempting to connect device(s)
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 4102
+   idProduct: 1116
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x0000001c
+Device info:
+   Manufacturer: iriver
+   Model: iriver U10
+   Device version: MTP-1.28-N-FRE
+   Serial number: 3e855e73000000fc323030353
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/WMDRMPD: 10.1
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Device Friendly Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc95: MetaGenre UINT16 data type enumeration: 0, 1, 11, 12, 13, 14, 15, 21, 22, 23, 24, 25, 26, 27, 28, 30,  GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 350000, STEP 1 READ ONLY
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type READ ONLY
+      dc95: MetaGenre UINT16 data type enumeration: 0, 1, 11, 12, 13, 14, 15, 21, 22, 23, 24, 25, 26, 27, 28, 30,  GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 350000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 1009516544
+      FreeSpaceInBytes: 994571924
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: iriver U10 files
+      VolumeIdentifier: odfiofdhaaaaaampcdadadfdadbdadbd
+Special directories:
+   Default music folder: 0x000b0000
+   Default playlist folder: 0x000e0000
+   Default picture folder: 0x00060000
+   Default video folder: 0x00070000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00080000
+MTP-specific device properties:
+   Friendly name: iriver U10
+   Synchronization partner: WMP 10; Napster; 
+   Battery level 4 of 4 (100%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   Ogg container format
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20070707 12:21:10Z#</VALUE><FLAG>DRM_CLK_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">CgoKCgoKCgoKCgoKCgoKCgoKCgo=</UNIQUEID><PUBLICKEY private="1">GBqHHaqO+pqv/ONmwK163V+99wcvhIGg8ejENGcqxmDRgatTYT5pLg==</PUBLICKEY><KEYDATA>ImdEQacSpOcuyTX8LShcPujn6ZU=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>8+8w53BteDaRuDYpCUnH7VqsGIXOACG0e1xxhphp0uWeZujfLD0HAQ==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>fJJmQt+jz3ss5lIu0d+AHqspSQo=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.102.3</SECURITYVERSION><CERTIFICATE private="1">GBqHHaqO+pqv/ONmwK163V+99wcvhIGg8ejENGcqxmDRgatTYT5pLgIEZgNTl1aNjjIDx38pP578Ybicaf16IAl67726OApjZ1Jz+QU3dxMnZ5hU</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>iRiver H10 Series</NAME><MANUFACTURER>iRiver</MANUFACTURER><MAKE>iRiver</MAKE><DISTRIBUTOR>ReignCom</DISTRIBUTOR><MODEL>H10</MODEL><SECURITYLEVEL>2000</SECURITYLEVEL><HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR><HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR><FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR><FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR><FEATURES><CLOCK>2</CLOCK><SECURECLOCK><URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL><PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY></SECURECLOCK><METERING>1</METERING><LICENSE_ACQ>1</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>1</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT></FEATURES><LIMITS><MAXCHAINDEPTH>2</MAXCHAINDEPTH><MAXLICENSESIZE>10240</MAXLICENSESIZE><MAXHEADERSIZE>5120</MAXHEADERSIZE></LIMITS><PUBLICKEY>8jeq4PyJZUL8NpU2+/tgvUZC9ijn3RdlK3wd04Iws6oXHoA+D6vFfQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>HZ85tGf5VnDwKLGq2S0OlK/oJCKbCx3A2yudzMOv8ERwi6drHW5xOA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>359</AUTH_ID><PUBLICKEY>DpMhgaZkXUFNFIs4KJe7S9MZYwuE1bBic6AV6wAc7Ir0Stfx8U+SKw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>GWscwHnDoSazgB+YOP2D7xrqDifWEFztujqAWwrkM7onynIcfOBBMQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>QndHdJ4ZoSgvokVCOWsqVnvuckGL5cn6Vrua0j4tcGBrjD9PgNd0AA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+
+Device description WMPInfo.xml file:
+<DeviceInfo>
+    <WMP DeviceID="{D5ED8A01-F396-4F84-A2E1-41D6776B2BBA}" RelationshipID="{00000000-0000-0000-0000-000000000000}"/>
+</DeviceInfo>
+
+OK.
diff --git a/logs/mtp-detect-jolla-jolla.txt b/logs/mtp-detect-jolla-jolla.txt
new file mode 100644
index 0000000..bdf3dde
--- /dev/null
+++ b/logs/mtp-detect-jolla-jolla.txt
@@ -0,0 +1,592 @@
+libmtp version: 1.1.11
+
+Listing raw device(s)
+   Found 1 device(s):
+   Jolla: Jolla (2931:0a07) @ bus 2, dev 10
+Attempting to connect device(s)
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 2931
+   idProduct: 0a07
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 10
+      Device entry info:
+         Vendor: Jolla
+         Vendor id: 0x2931
+         Product: Jolla
+         Vendor id: 0x0a07
+         Device flags: 0x00000000
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Jolla
+   Model: Jolla
+   Device version: 2.0.1.11 HW: 1.0.0.17
+   Serial number: 359745050206470
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com:1.0; microsoft.com/WMPPD:11.0; 
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        microsoft.com/WMPPD: 11.0
+Supported operations:
+   1001: Unknown(1001)
+   1002: Unknown(1002)
+   1003: Unknown(1003)
+   1004: Unknown(1004)
+   1005: Unknown(1005)
+   1006: Unknown(1006)
+   1007: Unknown(1007)
+   1008: Unknown(1008)
+   1009: Unknown(1009)
+   100b: Unknown(100b)
+   100c: Unknown(100c)
+   100d: Unknown(100d)
+   1014: Unknown(1014)
+   1015: Unknown(1015)
+   1016: Unknown(1016)
+   1019: Unknown(1019)
+   101a: Unknown(101a)
+   101b: Unknown(101b)
+   9801: Unknown(9801)
+   9802: Unknown(9802)
+   9803: Unknown(9803)
+   9804: Unknown(9804)
+   9805: Unknown(9805)
+   9806: Unknown(9806)
+   9808: Unknown(9808)
+   9810: Unknown(9810)
+   9811: Unknown(9811)
+Events supported:
+   0x4002
+   0x4003
+   0x4007
+   0xc801
+   0x4004
+   0x4005
+   0x400a
+   0x4009
+   0x400c
+   0x4008
+   0x4006
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd402: Friendly Device Name
+   0xd401: Synchronization Partner
+   0x501f: Copyright Info
+   0xd407: Perceived Device Type
+   0xd405: Device Icon
+   0xd403: Volume Level
+Playable File (Object) Types and Object Properties Supported:
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14344, 14347,  READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14344, 14347,  READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14344, 14347,  READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14344, 14347,  READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14344, 14347,  READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 22050, 44000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 85, 352, 353, 354, 16897, 41222, 34,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 22050, 44000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 85, 352, 353, 354, 16897, 41222, 34,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 22050, 44000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 85, 352, 353, 354, 16897, 41222, 34,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 22050, 44000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 85, 352, 353, 354, 16897, 41222, 34,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 22050, 44000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 85, 352, 353, 354, 16897, 41222, 34,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+   300a: MS AVI
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 1920, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 1080, STEP 1 GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 22050, 44000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 85, 352, 353, 354, 16897, 41222, 34,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 1145656899, 1162629709, 827544397, 827739479, 861293911, 875967048,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 100000, STEP 1 GET/SET
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 1920, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 1080, STEP 1 GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 22050, 44000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 85, 352, 353, 354, 16897, 41222, 34,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 1145656899, 1162629709, 827544397, 827739479, 861293911, 875967048,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 100000, STEP 1 GET/SET
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 1920, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 1080, STEP 1 GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 22050, 44000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 85, 352, 353, 354, 16897, 41222, 34,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 1145656899, 1162629709, 827544397, 827739479, 861293911, 875967048,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 100000, STEP 1 GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 1920, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 1080, STEP 1 GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 22050, 44000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 85, 352, 353, 354, 16897, 41222, 34,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 1145656899, 1162629709, 827544397, 827739479, 861293911, 875967048,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 100000, STEP 1 GET/SET
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 1920, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 1080, STEP 1 GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 22050, 44000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 85, 352, 353, 354, 16897, 41222, 34,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 1145656899, 1162629709, 827544397, 827739479, 861293911, 875967048,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 100000, STEP 1 GET/SET
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   bb82: vCard2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   bb83: vCard3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   be02: vCalendar1
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 14761832448
+      FreeSpaceInBytes: 9813463040
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Mass storage
+      VolumeIdentifier: media
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Sailfish
+   Synchronization partner: Sailfish
+   Battery level 0 of 100 (0%)
+libmtp supported (playable) filetypes:
+   JPEG file
+   GIF bitmap file
+   Portable Network Graphics
+   TIFF bitmap file
+   BMP bitmap file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Audio Video Interleave
+   MPEG video stream
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Microsoft Windows Media Video
+   Folder
+   Text file
+   HTML file
+   Abstract Album file
+   Abstract Playlist file
+   VCard version 2
+   VCard version 3
+   VCalendar version 1
+OK.
diff --git a/logs/mtp-detect-kindle-fire-hd6.txt b/logs/mtp-detect-kindle-fire-hd6.txt
new file mode 100644
index 0000000..a422afb
--- /dev/null
+++ b/logs/mtp-detect-kindle-fire-hd6.txt
@@ -0,0 +1,503 @@
+
+
+
+---
+
+** [bugs:#1353] Kindle fire hd6**
+
+**Status:** open
+**Group:** 1.1.9
+**Created:** Sun Jun 07, 2015 10:53 AM UTC by Anonymous
+**Last Updated:** Sun Jun 07, 2015 10:53 AM UTC
+**Owner:** nobody
+
+Listing raw device(s)
+Device 0 (VID=1949 and PID=00f2) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   1949:00f2 @ bus 1, dev 6
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+Error 1: Get Storage information failed.
+Error 2: PTP Layer error 02fe: get_handles_recursively(): could not get object handles.
+Error 2: Error 02fe: PTP: Protocol error, data expected
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 1949
+   idProduct: 00f2
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 6
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x1949
+         Product: (null)
+         Vendor id: 0x00f2
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Amazon
+   Model: Fire
+   Device version: 1.0
+   Serial number: 008808074XXXXX
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0xc801
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+boog@H:~$ mtp-connect
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.9
+
+Device 0 (VID=1949 and PID=00f2) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+Android device detected, assigning default bug flags
+Usage: connect <command1> <command2>
+Commands: --delete [filename]
+          --sendfile [source] [destination]
+          --sendtrack [source] [destination]
+          --getfile [source] [destination]
+          --newfolder [foldername]
+
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/bugs/1353/>
+
+
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/>
\ No newline at end of file
diff --git a/logs/mtp-detect-kindle-fire.txt b/logs/mtp-detect-kindle-fire.txt
new file mode 100644
index 0000000..8532260
--- /dev/null
+++ b/logs/mtp-detect-kindle-fire.txt
@@ -0,0 +1,463 @@
+$ mtp-detect 
+libmtp version: 1.1.5
+
+Listing raw device(s)
+Device 0 (VID=1949 and PID=000a) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   1949:000a @ bus 1, dev 18
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 1949
+   idProduct: 000a
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 18
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x1949
+         Product: (null)
+         Vendor id: 0x000a
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Amazon
+   Model: Kindle
+   Device version: 1.0
+   Serial number: D026A0A024670LQ2
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 5917487104
+      FreeSpaceInBytes: 5371793408
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000004
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-kobo-arc.txt b/logs/mtp-detect-kobo-arc.txt
new file mode 100644
index 0000000..562d1f0
--- /dev/null
+++ b/logs/mtp-detect-kobo-arc.txt
@@ -0,0 +1,460 @@
+libmtp version: 1.1.5
+
+Listing raw device(s)
+   Found 1 device(s):
+   Kobo Inc.: Arc (2237:d108) @ bus 1, dev 33
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 2237
+   idProduct: d108
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 33
+      Device entry info:
+         Vendor: Kobo Inc.
+         Vendor id: 0x2237
+         Product: Arc
+         Vendor id: 0xd108
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Kobo
+   Model: Arc
+   Device version: 1.0
+   Serial number: ZP2281600335T
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 5860294656
+      FreeSpaceInBytes: 4851900416
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal Storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-kobo-arc7-hd.log b/logs/mtp-detect-kobo-arc7-hd.log
new file mode 100644
index 0000000..61fcdf6
--- /dev/null
+++ b/logs/mtp-detect-kobo-arc7-hd.log
@@ -0,0 +1,473 @@
+libmtp version: 1.1.8
+
+Listing raw device(s)
+   Found 1 device(s):
+   2237:b108 @ bus 1, dev 10
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 2237
+   idProduct: b108
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 10
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x2237
+         Product: (null)
+         Vendor id: 0xb108
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Kobo
+   Model: arc 7HD
+   Device version: 1.0
+   Serial number: [EDITED FROM THE ACTUAL OUTPUT]
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 13986004992
+      FreeSpaceInBytes: 13097463808
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-kyocera-duraforce.txt b/logs/mtp-detect-kyocera-duraforce.txt
new file mode 100644
index 0000000..7bda436
--- /dev/null
+++ b/logs/mtp-detect-kyocera-duraforce.txt
@@ -0,0 +1,527 @@
+Device 0 (VID=0482 and PID=0a9a) is UNKNOWN in libmtp v1.1.11.
+Please report this VID/PID and the device model to the libmtp development team
+libmtp version: 1.1.11
+
+Listing raw device(s)
+   Found 1 device(s):
+   0482:0a9a @ bus 1, dev 11
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0482
+   idProduct: 0a9a
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 11
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0482
+         Product: (null)
+         Vendor id: 0x0a9a
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: kyocera
+   Model: E6790TM
+   Device version: 1.0
+   Serial number: 6c088eaf1c
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 9506975744
+      FreeSpaceInBytes: 5865775104
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 31486640128
+      FreeSpaceInBytes: 25094127616
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD card
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Battery level 99 of 100 (99%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-kyocera-hydro-elite-c6750.txt b/logs/mtp-detect-kyocera-hydro-elite-c6750.txt
new file mode 100644
index 0000000..fb74b72
--- /dev/null
+++ b/logs/mtp-detect-kyocera-hydro-elite-c6750.txt
@@ -0,0 +1,495 @@
+
+
+
+---
+
+** [feature-requests:#164] Kyocera Hydro Elite VID=0482 and PID=073c**
+
+**Status:** open
+**Group:** Future
+**Created:** Tue May 17, 2016 10:39 PM UTC by Anonymous
+**Last Updated:** Tue May 17, 2016 10:39 PM UTC
+**Owner:** nobody
+
+
+$ mtp-detect 
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6
+
+Listing raw device(s)
+Device 0 (VID=0482 and PID=073c) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0482:073c @ bus 1, dev 10
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0482
+   idProduct: 073c
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 10
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0482
+         Product: (null)
+         Vendor id: 0x073c
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: kyocera
+   Model: C6750
+   Device version: 1.0
+   Serial number: ca8c9869
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 9230417920
+      FreeSpaceInBytes: 8672575488
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: PHONE
+      VolumeIdentifier: (null)
+   StorageID: 0x00010001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 7939817472
+      FreeSpaceInBytes: 3287580672
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD card
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000005
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/feature-requests/164/>
+
+
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/>
\ No newline at end of file
diff --git a/logs/mtp-detect-kyocera-kc-s701.txt b/logs/mtp-detect-kyocera-kc-s701.txt
new file mode 100644
index 0000000..0878001
--- /dev/null
+++ b/logs/mtp-detect-kyocera-kc-s701.txt
@@ -0,0 +1,476 @@
+$sudo mtp-detect
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6
+
+Listing raw device(s)
+Device 0 (VID=0482 and PID=09cb) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0482:09cb @ bus 1, dev 14
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0482
+   idProduct: 09cb
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 14
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0482
+         Product: (null)
+         Vendor id: 0x09cb
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: KYOCERA
+   Model: KC-S701
+   Device version: 1.0
+   Serial number: 61993033
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 12892839936
+      FreeSpaceInBytes: 10967330816
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Mémoire de stockage interne
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-kyocera-kyl22.txt b/logs/mtp-detect-kyocera-kyl22.txt
new file mode 100644
index 0000000..6306b58
--- /dev/null
+++ b/logs/mtp-detect-kyocera-kyl22.txt
@@ -0,0 +1,478 @@
+
+$ mtp-detect
+
+Device 0 (VID=0482 and PID=0810) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+Unable to read MTPZ public exponent from ~/.mtpz-data, MTPZ disabledlibmtp version: 1.1.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   0482:0810 @ bus 2, dev 7
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0482
+   idProduct: 0810
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 7
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0482
+         Product: (null)
+         Vendor id: 0x0810
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: KYOCERA
+   Model: KYL22
+   Device version: 1.0
+   Serial number: 0089690
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 27927998464
+      FreeSpaceInBytes: 24233308160
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-lenovo-a10-70f.txt b/logs/mtp-detect-lenovo-a10-70f.txt
new file mode 100644
index 0000000..64b238f
--- /dev/null
+++ b/logs/mtp-detect-lenovo-a10-70f.txt
@@ -0,0 +1,509 @@
+
+
+
+---
+
+** [bugs:#1488] Unknown device Lenovo A10-70F**
+
+**Status:** open
+**Group:** unknown release (please set)
+**Created:** Tue Dec 08, 2015 05:14 PM UTC by Anonymous
+**Last Updated:** Tue Dec 08, 2015 05:14 PM UTC
+**Owner:** nobody
+
+
+Hi all,
+New USB device found, idVendor=17ef, idProduct=789a
+New USB device strings: Mfr=2, Product=3, SerialNumber=4
+Product: Lenovo A10-70F
+Manufacturer: Lenovo Inc.
+
+mtp-detect:
+Device 0 (VID=17ef and PID=789a) is UNKNOWN in libmtp v1.1.10.
+Please report this VID/PID and the device model to the libmtp development team
+libmtp version: 1.1.10
+
+Listing raw device(s)
+   Found 1 device(s):
+   17ef:789a @ bus 4, dev 34
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 17ef
+   idProduct: 789a
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 4
+      Device number: 34
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x17ef
+         Product: (null)
+         Vendor id: 0x789a
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: LENOVO
+   Model: Lenovo TAB 2 A10-70F
+   Device version: 1.0
+   Serial number: 6TMV59LJQGBIBUFE
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 28354383872
+      FreeSpaceInBytes: 27783520256
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Paměť telefonu
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: LenovoTAB2A10-70F
+   Synchronization partner: LenovoTAB2A10-70F
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
+
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/bugs/1488/>
+
+
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/>
\ No newline at end of file
diff --git a/logs/mtp-detect-lenovo-a1000.txt b/logs/mtp-detect-lenovo-a1000.txt
new file mode 100644
index 0000000..6f021f9
--- /dev/null
+++ b/logs/mtp-detect-lenovo-a1000.txt
@@ -0,0 +1,672 @@
+
+
+
+---
+
+** [bugs:#1465] Lenovo A1000 Smartphone detected ad UNKNOWN**
+
+**Status:** open
+**Group:** 1.1.10
+**Created:** Mon Nov 09, 2015 09:11 PM UTC by Volodymyr Nazarenko
+**Last Updated:** Mon Nov 09, 2015 09:11 PM UTC
+**Owner:** nobody
+
+
+Lenovo A1000 Smartphone detected as UNKNOWN on 1.1.8 version:
+
+root@laptop:/home/dex# mtp-detect 
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.
+libmtp version: 1.1.8
+
+Listing raw device(s)
+Device 0 (VID=17ef and PID=7928) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   17ef:7928 @ bus 2, dev 5
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+
+
+On 1.1.10 was the same, then I've added Vendor ID and Device ID to /src/music_players.h, compiled and everything works fine:
+  { "Lenovo", 0x17ef, "A1000", 0x7928,
+      DEVICE_FLAGS_ANDROID_BUGS },
+
+
+
+Vendor_ID: 0x17ef
+Device_ID: 0x7928
+
+
+Output of lsusb -v: 
+Bus 002 Device 018: ID 17ef:7928 Lenovo 
+Device Descriptor:
+  bLength                18
+  bDescriptorType         1
+  bcdUSB               2.00
+  bDeviceClass            0 (Defined at Interface level)
+  bDeviceSubClass         0 
+  bDeviceProtocol         0 
+  bMaxPacketSize0        64
+  idVendor           0x17ef Lenovo                                                                                                                                                              
+  idProduct          0x7928                                                                                                                                                                     
+  bcdDevice           ff.ff                                                                                                                                                                     
+  iManufacturer           2 LENOVO                                                                                                                                                              
+  iProduct                3 Lenovo A1000                                                                                                                                                        
+  iSerial                 4 0ANGUS008YN6058S000                                                                                                                                                 
+  bNumConfigurations      1                                                                                                                                                                     
+  Configuration Descriptor:                                                                                                                                                                     
+    bLength                 9                                                                                                                                                                   
+    bDescriptorType         2                                                                                                                                                                   
+    wTotalLength           62                                                                                                                                                                   
+    bNumInterfaces          2                                                                                                                                                                   
+    bConfigurationValue     1                                                                                                                                                                   
+    iConfiguration          0                                                                                                                                                                   
+    bmAttributes         0xc0                                                                                                                                                                   
+      Self Powered                                                                                                                                                                              
+    MaxPower              500mA                                                                                                                                                                 
+    Interface Descriptor:                                                                                                                                                                       
+      bLength                 9
+      bDescriptorType         4
+      bInterfaceNumber        0
+      bAlternateSetting       0
+      bNumEndpoints           3
+      bInterfaceClass       255 Vendor Specific Class
+      bInterfaceSubClass    255 Vendor Specific Subclass
+      bInterfaceProtocol      0 
+      iInterface              5 MTP
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x81  EP 1 IN
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x01  EP 1 OUT
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x82  EP 2 IN
+        bmAttributes            3
+          Transfer Type            Interrupt
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x001c  1x 28 bytes
+        bInterval               6
+    Interface Descriptor:
+      bLength                 9
+      bDescriptorType         4
+      bInterfaceNumber        1
+      bAlternateSetting       0
+      bNumEndpoints           2
+      bInterfaceClass         8 Mass Storage
+      bInterfaceSubClass      6 SCSI
+      bInterfaceProtocol     80 Bulk-Only
+      iInterface              1 Mass Storage
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x83  EP 3 IN
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x02  EP 2 OUT
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               1
+Device Qualifier (for other device speed):
+  bLength                10
+  bDescriptorType         6
+  bcdUSB               2.00
+  bDeviceClass            0 (Defined at Interface level)
+  bDeviceSubClass         0 
+  bDeviceProtocol         0 
+  bMaxPacketSize0        64
+  bNumConfigurations      1
+Device Status:     0x0001
+  Self Powered
+
+
+
+Output of mtp-detect, using modifyed 1.1.10 version of libmtpt:
+root@laptop:/home/dex# mtp-detect 
+libmtp version: 1.1.10
+
+Listing raw device(s)
+Device 0 (VID=17ef and PID=7928) is a Lenovo A1000.
+   Found 1 device(s):
+   Lenovo: A1000 (17ef:7928) @ bus 2, dev 18
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 17ef
+   idProduct: 7928
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 18
+      Device entry info:
+         Vendor: Lenovo
+         Vendor id: 0x17ef
+         Product: A1000
+         Vendor id: 0x7928
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: LENOVO
+   Model: Lenovo A1000
+   Device version: 1.0
+   Serial number: 0ANGUS108YN12345678
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 1029832704
+      FreeSpaceInBytes: 304742400
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Карта SD
+      VolumeIdentifier: (null)
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 4913975296
+      FreeSpaceInBytes: 2645798912
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Внутрішня пам’ять
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Battery level 73 of 100 (73%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/bugs/1465/>
+
+
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/>
\ No newline at end of file
diff --git a/logs/mtp-detect-lenovo-a3500f.txt b/logs/mtp-detect-lenovo-a3500f.txt
new file mode 100644
index 0000000..71d7246
--- /dev/null
+++ b/logs/mtp-detect-lenovo-a3500f.txt
@@ -0,0 +1,481 @@
+
+
+foo@bar:~$ mtp-detect
+libmtp version: 1.1.3
+
+Listing raw device(s)
+Device 0 (VID=17ef and PID=7737) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+Found 1 device(s):
+17ef:7737 @ bus 2, dev 8
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+Interface has a kernel driver attached.
+bcdUSB: 512
+bDeviceClass: 0
+bDeviceSubClass: 0
+bDeviceProtocol: 0
+idVendor: 17ef
+idProduct: 7737
+IN endpoint maxpacket: 512 bytes
+OUT endpoint maxpacket: 512 bytes
+Raw device info:
+Bus location: 2
+Device number: 8
+Device entry info:
+Vendor: (null)
+Vendor id: 0x17ef
+Product: (null)
+Vendor id: 0x7737
+Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+Interface description contains the string "MTP"
+Device recognized as MTP, no further probing.
+Device info:
+Manufacturer: LENOVO
+Model: Lenovo A3500-FL
+Device version: 1.0
+Serial number: 0123456789ABCDEF
+Vendor extension ID: 0x00000006
+Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+Detected object size: 64 bits
+Extensions:
+microsoft.com: 1.0
+android.com: 1.0
+Supported operations:
+1001: get device info
+1002: Open session
+1003: Close session
+1004: Get storage IDs
+1005: Get storage info
+1006: Get number of objects
+1007: Get object handles
+1008: Get object info
+1009: Get object
+100a: Get thumbnail
+100b: Delete object
+100c: Send object info
+100d: Send object
+1014: Get device property description
+1015: Get device property value
+1016: Set device property value
+1017: Reset device property value
+101b: Get partial object
+9801: Get object properties supported
+9802: Get object property description
+9803: Get object property value
+9804: Set object property value
+9805: Get object property list
+9810: Get object references
+9811: Set object references
+95c1: Unknown (95c1)
+95c2: Unknown (95c2)
+95c3: Unknown (95c3)
+95c4: Unknown (95c4)
+95c5: Unknown (95c5)
+Events supported:
+0x4002
+0x4003
+0x4004
+0x4005
+0x4007
+0x400c
+Device Properties Supported:
+0xd401: Synchronization Partner
+0xd402: Friendly Device Name
+0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+3000: Undefined Type
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+3001: Association/Directory
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+3004: Text
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+3005: HTML
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+3008: MS Wave
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc9b: Album Artist STRING data type READ ONLY
+dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc8c: Genre STRING data type READ ONLY
+dc96: Composer STRING data type READ ONLY
+3009: MP3
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc9b: Album Artist STRING data type READ ONLY
+dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc8c: Genre STRING data type READ ONLY
+dc96: Composer STRING data type READ ONLY
+300b: MPEG
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc48: Description STRING data type READ ONLY
+3801: JPEG
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc48: Description STRING data type READ ONLY
+3802: TIFF EP
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+3804: BMP
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc48: Description STRING data type READ ONLY
+3807: GIF
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc48: Description STRING data type READ ONLY
+3808: JFIF
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+380b: PNG
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc48: Description STRING data type READ ONLY
+380d: TIFF
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+b901: WMA
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc9b: Album Artist STRING data type READ ONLY
+dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc8c: Genre STRING data type READ ONLY
+dc96: Composer STRING data type READ ONLY
+b902: OGG
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc9b: Album Artist STRING data type READ ONLY
+dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc8c: Genre STRING data type READ ONLY
+dc96: Composer STRING data type READ ONLY
+b903: AAC
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc9b: Album Artist STRING data type READ ONLY
+dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc8c: Genre STRING data type READ ONLY
+dc96: Composer STRING data type READ ONLY
+b982: MP4
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+b983: MP2
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+b984: 3GP
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc48: Description STRING data type READ ONLY
+ba05: Abstract Audio Video Playlist
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+ba10: WPL Playlist
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+ba11: M3U Playlist
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+ba14: PLS Playlist
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+ba82: XMLDocument
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+b906: FLAC
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+ dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+StorageID: 0x00010001
+StorageType: 0x0003 fixed RAM storage
+FilesystemType: 0x0002 generic hierarchical
+AccessCapability: 0x0000 read/write
+MaxCapacity: 6342246400
+FreeSpaceInBytes: 923090944
+FreeSpaceInObjects: 1073741824
+StorageDescription: Interner Speicher
+VolumeIdentifier: (null)
+Special directories:
+Default music folder: 0x00000001
+Default playlist folder: 0xffffffff
+Default picture folder: 0x00000006
+Default video folder: 0xffffffff
+Default organizer folder: 0xffffffff
+Default zencast folder: 0xffffffff
+Default album folder: 0xffffffff
+Default text folder: 0xffffffff
+MTP-specific device properties:
+Friendly name: A3500-FL
+Synchronization partner: A3500-FL
+libmtp supported (playable) filetypes:
+Folder
+Text file
+HTML file
+RIFF WAVE file
+ISO MPEG-1 Audio Layer 3
+MPEG video stream
+JPEG file
+BMP bitmap file
+GIF bitmap file
+JFIF file
+Portable Network Graphics
+TIFF bitmap file
+Microsoft Windows Media Audio
+Ogg container format
+Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+ISO MPEG-1 Audio Layer 2
+Abstract Playlist file
+XML file
+Free Lossless Audio Codec (FLAC)
+OK
diff --git a/logs/mtp-detect-lenovo-a3500fl.txt b/logs/mtp-detect-lenovo-a3500fl.txt
new file mode 100644
index 0000000..f7674c6
--- /dev/null
+++ b/logs/mtp-detect-lenovo-a3500fl.txt
@@ -0,0 +1,517 @@
+
+
+
+---
+
+** [bugs:#1556]  New device: Lenovo A3500-FL **
+
+**Status:** open
+**Group:** 1.1.11
+**Labels:** 17ef:7738 
+**Created:** Fri May 13, 2016 02:51 PM UTC by Anonymous
+**Last Updated:** Fri May 13, 2016 02:51 PM UTC
+**Owner:** nobody
+
+
+That is the first ticket, that I created. I hope its all right. Could you add this Lenovo A7-40 / A3500-FL, please? Thanks in advance.
+
+foo@bar:~$ mtp-detect
+
+libmtp version: 1.1.11
+
+Listing raw device(s)
+Device 0 (VID=17ef and PID=7738) is UNKNOWN in libmtp v1.1.11.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   17ef:7738 @ bus 2, dev 9
+Attempting to connect device(s)
+ignoring libusb_claim_interface() = -6PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
+LIBMTP libusb: Attempt to reset device
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 17ef
+   idProduct: 7738
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 9
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x17ef
+         Product: (null)
+         Vendor id: 0x7738
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: LENOVO
+   Model: Lenovo A3500-FL
+   Device version: 1.0
+   Serial number: 0123456789ABCDEF
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 6342246400
+      FreeSpaceInBytes: 4485353472
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Interner Speicher
+      VolumeIdentifier: (null)
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 7952400384
+      FreeSpaceInBytes: 216891392
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD-Karte
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: A3500-FL
+   Synchronization partner: A3500-FL
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/bugs/1556/>
+
+
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/>
\ No newline at end of file
diff --git a/logs/mtp-detect-lenovo-a706.txt b/logs/mtp-detect-lenovo-a706.txt
new file mode 100644
index 0000000..c157dca
--- /dev/null
+++ b/logs/mtp-detect-lenovo-a706.txt
@@ -0,0 +1,449 @@
+libmtp version: 1.1.11
+
+Listing raw device(s)
+   Found 1 device(s):
+   17ef:7614 @ bus 1, dev 2
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 17ef
+   idProduct: 7614
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 2
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x17ef
+         Product: (null)
+         Vendor id: 0x7614
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: LENOVO
+   Model: Lenovo A706_ROW
+   Device version: 1.0
+   Serial number: MSM8225QSKUD
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-lenovo-a7600f.log b/logs/mtp-detect-lenovo-a7600f.log
new file mode 100644
index 0000000..d243c15
--- /dev/null
+++ b/logs/mtp-detect-lenovo-a7600f.log
@@ -0,0 +1,475 @@
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   17ef:7731 @ bus 1, dev 27
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 17ef
+   idProduct: 7731
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 27
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x17ef
+         Product: (null)
+         Vendor id: 0x7731
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Lenovo
+   Model: Lenovo A7600-F
+   Device version: 1.0
+   Serial number: HJA1FHJ3
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 13696122880
+      FreeSpaceInBytes: 8245829632
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: USB-opslag
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x000026a1
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x0000179f
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: A7600-F
+   Synchronization partner: A7600-F
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-lenovo-a850.txt b/logs/mtp-detect-lenovo-a850.txt
new file mode 100644
index 0000000..6644df5
--- /dev/null
+++ b/logs/mtp-detect-lenovo-a850.txt
@@ -0,0 +1,470 @@
+Device 0 (VID=17ef and PID=7718) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+Error 1: Get Storage information failed.
+Error 2: PTP Layer error 02fe: get_handles_recursively(): could not get object handles.
+Error 2: Error 02fe: PTP: Protocol error, data expected
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.9
+
+Listing raw device(s)
+   Found 1 device(s):
+   17ef:7718 @ bus 3, dev 41
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 17ef
+   idProduct: 7718
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 3
+      Device number: 41
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x17ef
+         Product: (null)
+         Vendor id: 0x7718
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: LENOVO
+   Model: Lenovo A850+
+   Device version: 1.0
+   Serial number: AEKR79D6FY5THQBY
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Lenovo A850+
+   Synchronization partner: anchi
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-lenovo-b-smartphone.txt b/logs/mtp-detect-lenovo-b-smartphone.txt
new file mode 100644
index 0000000..f654403
--- /dev/null
+++ b/logs/mtp-detect-lenovo-b-smartphone.txt
@@ -0,0 +1,559 @@
+
+
+
+---
+
+** [bugs:#1624] Lenovo B Smartphone: Device 0 (VID=17ef and PID=7a18) is UNKNOWN in libmtp v1.1.12.**
+
+**Status:** open
+**Group:** 1.1.12
+**Created:** Sat Oct 29, 2016 09:36 AM UTC by Anonymous
+**Last Updated:** Sat Oct 29, 2016 09:36 AM UTC
+**Owner:** nobody
+
+
+Hi!
+
+The Lenovo B Smartphone [0] seems to be missing from the device list:
+
+    Device 0 (VID=17ef and PID=7a18) is UNKNOWN in libmtp v1.1.12.
+
+The full output from mtp-detect is attached below.
+
+Best regards
+
+Alex
+
+[0] http://shop.lenovo.com/ae/en/smartphones/b-series/lenovo-b/
+
+alexander@shepard:~$ mtp-detect 
+libmtp version: 1.1.12
+
+Listing raw device(s)
+Device 0 (VID=17ef and PID=7a18) is UNKNOWN in libmtp v1.1.12.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   17ef:7a18 @ bus 2, dev 71
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 17ef
+   idProduct: 7a18
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 71
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x17ef
+         Product: (null)
+         Vendor id: 0x7a18
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: LENOVO
+   Model: Lenovo A2016a40
+   Device version: 1.0
+   Serial number: HA0MXX1Y
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: Unknown(1001)
+   1002: Unknown(1002)
+   1003: Unknown(1003)
+   1004: Unknown(1004)
+   1005: Unknown(1005)
+   1006: Unknown(1006)
+   1007: Unknown(1007)
+   1008: Unknown(1008)
+   1009: Unknown(1009)
+   100a: Unknown(100a)
+   100b: Unknown(100b)
+   100c: Unknown(100c)
+   100d: Unknown(100d)
+   1014: Unknown(1014)
+   1015: Unknown(1015)
+   1016: Unknown(1016)
+   1017: Unknown(1017)
+   101b: Unknown(101b)
+   9801: Unknown(9801)
+   9802: Unknown(9802)
+   9803: Unknown(9803)
+   9804: Unknown(9804)
+   9805: Unknown(9805)
+   9810: Unknown(9810)
+   9811: Unknown(9811)
+   95c1: Unknown(95c1)
+   95c2: Unknown(95c2)
+   95c3: Unknown(95c3)
+   95c4: Unknown(95c4)
+   95c5: Unknown(95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 4029890560
+      FreeSpaceInBytes: 1925152768
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+alexander@shepard:~$ 
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/bugs/1624/>
+
+
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/>
\ No newline at end of file
diff --git a/logs/mtp-detect-lenovo-ideapad-A2109.txt b/logs/mtp-detect-lenovo-ideapad-A2109.txt
new file mode 100644
index 0000000..3070661
--- /dev/null
+++ b/logs/mtp-detect-lenovo-ideapad-A2109.txt
@@ -0,0 +1,460 @@
+libmtp version: 1.1.4
+
+Listing raw device(s)
+   Found 1 device(s):
+   17ef:7542 @ bus 1, dev 85
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 17ef
+   idProduct: 7542
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 85
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x17ef
+         Product: (null)
+         Vendor id: 0x7542
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: LENOVO
+   Model: IdeaTabA2109A
+   Device version: 1.0
+   Serial number: ??????????
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 13867491328
+      FreeSpaceInBytes: 13104996352
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-lenovo-ideapad-s5000.txt b/logs/mtp-detect-lenovo-ideapad-s5000.txt
new file mode 100644
index 0000000..7510e1d
--- /dev/null
+++ b/logs/mtp-detect-lenovo-ideapad-s5000.txt
@@ -0,0 +1,477 @@
+Device 0 (VID=17ef and PID=76e8) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   17ef:76e8 @ bus 2, dev 13
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 17ef
+   idProduct: 76e8
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 13
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x17ef
+         Product: (null)
+         Vendor id: 0x76e8
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: LENOVO
+   Model: Lenovo S5000-F
+   Device version: 1.0
+   Serial number: 55CMRWZDW88LKFSC
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 13807509504
+      FreeSpaceInBytes: 13489381376
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: LenovoS5000-F
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-lenovo-ideapad.txt b/logs/mtp-detect-lenovo-ideapad.txt
new file mode 100644
index 0000000..60fe1f8
--- /dev/null
+++ b/logs/mtp-detect-lenovo-ideapad.txt
@@ -0,0 +1,450 @@
+libmtp version: 1.1.2
+
+Listing raw device(s)
+   Found 1 device(s):
+   18d1:740a @ bus 1, dev 6
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 18d1
+   idProduct: 740a
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 6
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x18d1
+         Product: (null)
+         Vendor id: 0x740a
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: LENOVO
+   Model: K1
+   Device version: 1.0
+   Serial number: ????????
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-lenovo-k1.txt b/logs/mtp-detect-lenovo-k1.txt
new file mode 100644
index 0000000..5fc71f5
--- /dev/null
+++ b/logs/mtp-detect-lenovo-k1.txt
@@ -0,0 +1,529 @@
+libmtp version: 1.0.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   17ef:740a @ bus 1, dev 12
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "dummy"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 17ef
+   idProduct: 740a
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 12
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x17ef
+         Product: (null)
+         Vendor id: 0x740a
+         Device flags: 0x00000000
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: LENOVO
+   Model: K1
+   Device version: 1.0
+   Serial number: ????????
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 26743701504
+      FreeSpaceInBytes: 26348908544
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Device Storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
+Bus 001 Device 012: ID 17ef:740a Lenovo 
+Device Descriptor:
+  bLength                18
+  bDescriptorType         1
+  bcdUSB               2.00
+  bDeviceClass            0 (Defined at Interface level)
+  bDeviceSubClass         0 
+  bDeviceProtocol         0 
+  bMaxPacketSize0        64
+  idVendor           0x17ef Lenovo
+  idProduct          0x740a 
+  bcdDevice           99.99
+  iManufacturer           1 lenovo
+  iProduct                2 IdeaPad Tablet K1
+  iSerial                 3 43c71c342200657
+  bNumConfigurations      1
+  Configuration Descriptor:
+    bLength                 9
+    bDescriptorType         2
+    wTotalLength           39
+    bNumInterfaces          1
+    bConfigurationValue     1
+    iConfiguration          0 
+    bmAttributes         0xc0
+      Self Powered
+    MaxPower              500mA
+    Interface Descriptor:
+      bLength                 9
+      bDescriptorType         4
+      bInterfaceNumber        0
+      bAlternateSetting       0
+      bNumEndpoints           3
+      bInterfaceClass       255 Vendor Specific Class
+      bInterfaceSubClass    255 Vendor Specific Subclass
+      bInterfaceProtocol      0 
+      iInterface              7 MTP
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x83  EP 3 IN
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x03  EP 3 OUT
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x84  EP 4 IN
+        bmAttributes            3
+          Transfer Type            Interrupt
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x001c  1x 28 bytes
+        bInterval               6
+Device Qualifier (for other device speed):
+  bLength                10
+  bDescriptorType         6
+  bcdUSB               2.00
+  bDeviceClass            0 (Defined at Interface level)
+  bDeviceSubClass         0 
+  bDeviceProtocol         0 
+  bMaxPacketSize0        64
+  bNumConfigurations      1
+Device Status:     0x0001
+  Self Powered
diff --git a/logs/mtp-detect-lenovo-k3-note.txt b/logs/mtp-detect-lenovo-k3-note.txt
new file mode 100644
index 0000000..c85035b
--- /dev/null
+++ b/logs/mtp-detect-lenovo-k3-note.txt
@@ -0,0 +1,547 @@
+MTP transfer is working fine as far as I can tell. Concurrent operations are very slow though. If I try to open another folder while copying files, the Thunar file manager freezes for a long time.
+
+
+---
+
+** [feature-requests:#162] VID=17ef and PID=7883**
+
+**Status:** open
+**Group:** Future
+**Created:** Mon May 02, 2016 06:48 AM UTC by Alexander Kostadinov
+**Last Updated:** Mon May 02, 2016 06:48 AM UTC
+**Owner:** nobody
+
+
+$ mtp-detect
+libmtp version: 1.1.9
+
+Listing raw device(s)
+Device 0 (VID=17ef and PID=7883) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   17ef:7883 @ bus 2, dev 6
+Attempting to connect device(s)
+ignoring libusb_claim_interface() = -6PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
+LIBMTP libusb: Attempt to reset device
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 17ef
+   idProduct: 7883
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 6
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x17ef
+         Product: (null)
+         Vendor id: 0x7883
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: LENOVO
+   Model: Lenovo A7000-a
+   Device version: 1.0
+   Serial number: SKTK7L4LMBRW5545
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 31395930112
+      FreeSpaceInBytes: 29246332928
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SanDisk SD card
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x0000001b
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x0000001d
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Lenovo A7000-a
+   Synchronization partner: (NULL)
+   Battery level 85 of 100 (85%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/feature-requests/162/>
+
+
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/>
\ No newline at end of file
diff --git a/logs/mtp-detect-lenovo-k4-vibe.txt b/logs/mtp-detect-lenovo-k4-vibe.txt
new file mode 100644
index 0000000..21d14a2
--- /dev/null
+++ b/logs/mtp-detect-lenovo-k4-vibe.txt
@@ -0,0 +1,556 @@
+
+
+
+---
+
+** [bugs:#1664] New smartphone - Lenovo K4 Vibe**
+
+**Status:** open
+**Group:** 1.1.12
+**Labels:** New device Lenovo K4 Vibe 
+**Created:** Sat Mar 04, 2017 09:40 AM UTC by Anonymous
+**Last Updated:** Sat Mar 04, 2017 09:40 AM UTC
+**Owner:** nobody
+
+
+Hey guys,
+
+   MTP does detect but it says to request a feature. The smartphone is Lenovo K4 Vibe. Here's the whole output:
+   
+   $ mtp-detect
+libmtp version: 1.1.12
+
+Listing raw device(s)
+Device 0 (VID=17ef and PID=79b7) is UNKNOWN in libmtp v1.1.12.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   17ef:79b7 @ bus 2, dev 9
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 17ef
+   idProduct: 79b7
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 9
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x17ef
+         Product: (null)
+         Vendor id: 0x79b7
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: LENOVO
+   Model: Lenovo VIBE C
+   Device version: 1.0
+   Serial number: df9aee99
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: Unknown(1001)
+   1002: Unknown(1002)
+   1003: Unknown(1003)
+   1004: Unknown(1004)
+   1005: Unknown(1005)
+   1006: Unknown(1006)
+   1007: Unknown(1007)
+   1008: Unknown(1008)
+   1009: Unknown(1009)
+   100a: Unknown(100a)
+   100b: Unknown(100b)
+   100c: Unknown(100c)
+   100d: Unknown(100d)
+   1014: Unknown(1014)
+   1015: Unknown(1015)
+   1016: Unknown(1016)
+   1017: Unknown(1017)
+   101b: Unknown(101b)
+   9801: Unknown(9801)
+   9802: Unknown(9802)
+   9803: Unknown(9803)
+   9804: Unknown(9804)
+   9805: Unknown(9805)
+   9810: Unknown(9810)
+   9811: Unknown(9811)
+   95c1: Unknown(95c1)
+   95c2: Unknown(95c2)
+   95c3: Unknown(95c3)
+   95c4: Unknown(95c4)
+   95c5: Unknown(95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+   0xc801
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 4411928576
+      FreeSpaceInBytes: 0
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 15514730496
+      FreeSpaceInBytes: 7654244352
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD card
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Battery level 0 of 100 (0%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/bugs/1664/>
+
+
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/>
\ No newline at end of file
diff --git a/logs/mtp-detect-lenovo-k5.txt b/logs/mtp-detect-lenovo-k5.txt
new file mode 100644
index 0000000..19539f7
--- /dev/null
+++ b/logs/mtp-detect-lenovo-k5.txt
@@ -0,0 +1,512 @@
+Device 0 (VID=17ef and PID=7993) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+Error 1: Get Storage information failed.
+Error 2: PTP Layer error 02fe: get_handles_recursively(): could not get object handles.
+Error 2: Error 02fe: PTP: Protocol error, data expected
+libmtp version: 1.1.8
+
+Listing raw device(s)
+   Found 1 device(s):
+   17ef:7993 @ bus 4, dev 6
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 17ef
+   idProduct: 7993
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 4
+      Device number: 6
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x17ef
+         Product: (null)
+         Vendor id: 0x7993
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: LENOVO
+   Model: Lenovo K5
+   Device version: 1.0
+   Serial number: 69c5de64
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+   0xc801
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Battery level 89 of 100 (88%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-lenovo-k900.txt b/logs/mtp-detect-lenovo-k900.txt
new file mode 100644
index 0000000..3fd58fb
--- /dev/null
+++ b/logs/mtp-detect-lenovo-k900.txt
@@ -0,0 +1,412 @@
+
+
+
+---
+
+** [bugs:#1529] Lenovo K900 **
+
+**Status:** open
+**Group:** 1.1.11
+**Created:** Sat Mar 12, 2016 03:17 PM UTC by Anonymous
+**Last Updated:** Sat Mar 12, 2016 03:17 PM UTC
+**Owner:** nobody
+
+
+Device 0 (VID=17ef and PID=75b3) is UNKNOWN in libmtp v1.1.11.
+Please report this VID/PID and the device model to the libmtp development team
+libmtp version: 1.1.11
+
+Listing raw device(s)
+   Found 1 device(s):
+   17ef:75b3 @ bus 3, dev 8
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 17ef
+   idProduct: 75b3
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 3
+      Device number: 8
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x17ef
+         Product: (null)
+         Vendor id: 0x75b3
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Lenovo
+   Model: Lenovo K900
+   Device version: 1.0
+   Serial number: MedfieldE150A5F7
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 d
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/bugs/1529/>
+
+
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/>
\ No newline at end of file
diff --git a/logs/mtp-detect-lenovo-lifetab-s1034x.log b/logs/mtp-detect-lenovo-lifetab-s1034x.log
new file mode 100644
index 0000000..20b924d
--- /dev/null
+++ b/logs/mtp-detect-lenovo-lifetab-s1034x.log
@@ -0,0 +1,477 @@
+libmtp version: 1.1.9
+
+Listing raw device(s)
+Device 0 (VID=17ef and PID=78ae) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   17ef:78ae @ bus 2, dev 3
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 528
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 17ef
+   idProduct: 78ae
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 3
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x17ef
+         Product: (null)
+         Vendor id: 0x78ae
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: LENOVO
+   Model: LIFETAB_S1034X
+   Device version: 1.0
+   Serial number: DEA6T0878E
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 27084546048
+      FreeSpaceInBytes: 24237031424
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Interner Speicher
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
diff --git a/logs/mtp-detect-lenovo-lifetab.txt b/logs/mtp-detect-lenovo-lifetab.txt
new file mode 100644
index 0000000..e23b7b5
--- /dev/null
+++ b/logs/mtp-detect-lenovo-lifetab.txt
@@ -0,0 +1,460 @@
+libmtp version: 1.1.3
+
+Listing raw device(s)
+   Found 1 device(s):
+   17ef:74cc @ bus 1, dev 6
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 17ef
+   idProduct: 74cc
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 6
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x17ef
+         Product: (null)
+         Vendor id: 0x74cc
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: LENOVO
+   Model: LIFETAB_S9512
+   Device version: 1.0
+   Serial number: FD00034638
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 14531231744
+      FreeSpaceInBytes: 12120420352
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Interner Speicher
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-lenovo-p1ma40.txt b/logs/mtp-detect-lenovo-p1ma40.txt
new file mode 100644
index 0000000..cb2831e
--- /dev/null
+++ b/logs/mtp-detect-lenovo-p1ma40.txt
@@ -0,0 +1,528 @@
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.10
+
+Listing raw device(s)
+   Found 1 device(s):
+   17ef:2008 @ bus 1, dev 5
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 17ef
+   idProduct: 2008
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 5
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x17ef
+         Product: (null)
+         Vendor id: 0x2008
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: LENOVO
+   Model: Lenovo P1ma40
+   Device version: 1.0
+   Serial number: KV4S5HYDKZVSQ4QG
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 12032098304
+      FreeSpaceInBytes: 7977357312
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Внутренняя память
+      VolumeIdentifier: (null)
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 7939817472
+      FreeSpaceInBytes: 5431164928
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: MicroSD
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Lenovo P1ma40
+   Synchronization partner: Lenovo P1ma40
+   Battery level 91 of 100 (91%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-lenovo-p2-phone.txt b/logs/mtp-detect-lenovo-p2-phone.txt
new file mode 100644
index 0000000..f8d3d70
--- /dev/null
+++ b/logs/mtp-detect-lenovo-p2-phone.txt
@@ -0,0 +1,512 @@
+$ sudo mtp-detect
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6
+
+Listing raw device(s)
+Device 0 (VID=17ef and PID=78fc) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   17ef:78fc @ bus 3, dev 5
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+Error 1: Get Storage information failed.
+Error 2: PTP Layer error 02fe: get_handles_recursively(): could not get object handles.
+Error 2: Error 02fe: PTP: Protocol error, data expected
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 17ef
+   idProduct: 78fc
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 3
+      Device number: 5
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x17ef
+         Product: (null)
+         Vendor id: 0x78fc
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: LENOVO
+   Model: Lenovo P2
+   Device version: 1.0
+   Serial number: ZY223SHXNJ
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Battery level 91 of 100 (91%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-lenovo-p700.txt b/logs/mtp-detect-lenovo-p700.txt
new file mode 100644
index 0000000..2873821
--- /dev/null
+++ b/logs/mtp-detect-lenovo-p700.txt
@@ -0,0 +1,464 @@
+xchesser@Homecomp ~ $ mtp-detect 
+libmtp version: 1.1.3
+
+Listing raw device(s)
+Device 0 (VID=17ef and PID=7497) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   17ef:7497 @ bus 2, dev 6
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 17ef
+   idProduct: 7497
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 6
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x17ef
+         Product: (null)
+         Vendor id: 0x7497
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: LENOVO
+   Model: Lenovo Device
+   Device version: 1.0
+   Serial number: 0123456789ABCDEF
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 1981181952
+      FreeSpaceInBytes: 1114603520
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: USB storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000077
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x0000006b
+   Default video folder: 0x000001b5
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
diff --git a/logs/mtp-detect-lenovo-p780.txt b/logs/mtp-detect-lenovo-p780.txt
new file mode 100644
index 0000000..38ede16
--- /dev/null
+++ b/logs/mtp-detect-lenovo-p780.txt
@@ -0,0 +1,485 @@
+ Device 0 (VID=17ef and PID=74a6) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+Found 1 device(s):
+17ef:74a6 @ bus 1, dev 12
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+Interface has a kernel driver attached.
+bcdUSB: 512
+bDeviceClass: 0
+bDeviceSubClass: 0
+bDeviceProtocol: 0
+idVendor: 17ef
+idProduct: 74a6
+IN endpoint maxpacket: 512 bytes
+OUT endpoint maxpacket: 512 bytes
+Raw device info:
+Bus location: 1
+Device number: 12
+Device entry info:
+Vendor: (null)
+Vendor id: 0x17ef
+Product: (null)
+Vendor id: 0x74a6
+Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+Interface description contains the string "MTP"
+Device recognized as MTP, no further probing.
+Device info:
+Manufacturer: LENOVO
+Model: Lenovo P780
+Device version: 1.0
+Serial number: 7TL7NZCUU8PJLRSK
+Vendor extension ID: 0x00000006
+Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+Detected object size: 64 bits
+Extensions:
+microsoft.com: 1.0
+android.com: 1.0
+Supported operations:
+1001: get device info
+1002: Open session
+1003: Close session
+1004: Get storage IDs
+1005: Get storage info
+1006: Get number of objects
+1007: Get object handles
+1008: Get object info
+1009: Get object
+100a: Get thumbnail
+100b: Delete object
+100c: Send object info
+100d: Send object
+1014: Get device property description
+1015: Get device property value
+1016: Set device property value
+1017: Reset device property value
+101b: Get partial object
+9801: Get object properties supported
+9802: Get object property description
+9803: Get object property value
+9804: Set object property value
+9805: Get object property list
+9810: Get object references
+9811: Set object references
+95c1: Get Partial Object (64bit Offset)
+95c2: Send Partial Object
+95c3: Truncate Object
+95c4: Begin Edit Object
+95c5: End Edit Object
+Events supported:
+0x4002
+0x4003
+0x4004
+0x4005
+0x4007
+0x400c
+Device Properties Supported:
+0xd401: Synchronization Partner
+0xd402: Friendly Device Name
+0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+3000: Undefined Type
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+3001: Association/Directory
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+3004: Text
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+3005: HTML
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+3008: MS Wave
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc9b: Album Artist STRING data type READ ONLY
+dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc8c: Genre STRING data type READ ONLY
+dc96: Composer STRING data type READ ONLY
+3009: MP3
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc9b: Album Artist STRING data type READ ONLY
+dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc8c: Genre STRING data type READ ONLY
+dc96: Composer STRING data type READ ONLY
+300b: MPEG
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc48: Description STRING data type READ ONLY
+3801: JPEG
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc48: Description STRING data type READ ONLY
+3802: TIFF EP
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+3804: BMP
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc48: Description STRING data type READ ONLY
+3807: GIF
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc48: Description STRING data type READ ONLY
+3808: JFIF
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+380b: PNG
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc48: Description STRING data type READ ONLY
+380d: TIFF
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+b901: WMA
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc9b: Album Artist STRING data type READ ONLY
+dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc8c: Genre STRING data type READ ONLY
+dc96: Composer STRING data type READ ONLY
+b902: OGG
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc9b: Album Artist STRING data type READ ONLY
+dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc8c: Genre STRING data type READ ONLY
+dc96: Composer STRING data type READ ONLY
+b903: AAC
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc9b: Album Artist STRING data type READ ONLY
+dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc8c: Genre STRING data type READ ONLY
+dc96: Composer STRING data type READ ONLY
+b982: MP4
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+b983: MP2
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+b984: 3GP
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc48: Description STRING data type READ ONLY
+ba05: Abstract Audio Video Playlist
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+ba10: WPL Playlist
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+ba11: M3U Playlist
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+ba14: PLS Playlist
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+ba82: XMLDocument
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+b906: FLAC
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+StorageID: 0x00010001
+StorageType: 0x0003 fixed RAM storage
+FilesystemType: 0x0002 generic hierarchical
+AccessCapability: 0x0000 read/write
+MaxCapacity: 2594488320
+FreeSpaceInBytes: 1477165056
+FreeSpaceInObjects: 1073741824
+StorageDescription: Внутренняя память
+VolumeIdentifier: (null)
+StorageID: 0x00020001
+StorageType: 0x0004 removable RAM storage
+FilesystemType: 0x0002 generic hierarchical
+AccessCapability: 0x0000 read/write
+MaxCapacity: 15923150848
+FreeSpaceInBytes: 4794056704
+FreeSpaceInObjects: 1073741824
+StorageDescription: MicroSD
+VolumeIdentifier: (null)
+Special directories:
+Default music folder: 0x00000f9f
+Default playlist folder: 0xffffffff
+Default picture folder: 0x0000001c
+Default video folder: 0xffffffff
+Default organizer folder: 0xffffffff
+Default zencast folder: 0xffffffff
+Default album folder: 0xffffffff
+Default text folder
+0xffffffff
+MTP-specific device properties:
+Friendly name: Lenovo P780
+Synchronization partner: P780_ROW
+libmtp supported (playable) filetypes:
+Folder
+Text file
+HTML file
+RIFF WAVE file
+ISO MPEG-1 Audio Layer 3
+MPEG video stream
+JPEG file
+BMP bitmap file
+GIF bitmap file
+JFIF file
+Portable Network Graphics
+TIFF bitmap file
+Microsoft Windows Media Audio
+Ogg container format
+Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+ISO MPEG-1 Audio Layer 2
+Abstract Playlist file
+XML file
+Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-lenovo-phab-plus.txt b/logs/mtp-detect-lenovo-phab-plus.txt
new file mode 100644
index 0000000..ffe8413
--- /dev/null
+++ b/logs/mtp-detect-lenovo-phab-plus.txt
@@ -0,0 +1,517 @@
+libmtp version: 1.1.8
+
+Listing raw device(s)
+   Found 1 device(s):
+   17ef:78d1 @ bus 1, dev 7
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 17ef
+   idProduct: 78d1
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 7
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x17ef
+         Product: (null)
+         Vendor id: 0x78d1
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: LENOVO
+   Model: Lenovo PHAB Plus
+   Device version: 1.0
+   Serial number: acdc6e9
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0xc801
+   0x4004
+   0x4005
+   0x4006
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 27319820288
+      FreeSpaceInBytes: 23240355840
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Integrované úložiště
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Battery level 48 of 100 (47%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-lenovo-s660.txt b/logs/mtp-detect-lenovo-s660.txt
new file mode 100644
index 0000000..17c8dde
--- /dev/null
+++ b/logs/mtp-detect-lenovo-s660.txt
@@ -0,0 +1,485 @@
+Unable to read MTPZ public exponent from ~/.mtpz-data, MTPZ disabledlibmtp version: 1.1.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   17ef:74f8 @ bus 3, dev 3
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 17ef
+   idProduct: 74f8
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 3
+      Device number: 3
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x17ef
+         Product: (null)
+         Vendor id: 0x74f8
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: LENOVO
+   Model: Lenovo A316i
+   Device version: 1.0
+   Serial number: E679T8WWS8JV5S6L
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 2517671936
+      FreeSpaceInBytes: 1398390784
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Phone storage
+      VolumeIdentifier: (null)
+   StorageID: 0x00010001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 15711862784
+      FreeSpaceInBytes: 1365377024
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD card
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x000009fc
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: A316i
+   Synchronization partner: A316i
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-lenovo-s9714.txt b/logs/mtp-detect-lenovo-s9714.txt
new file mode 100644
index 0000000..f69e36b
--- /dev/null
+++ b/logs/mtp-detect-lenovo-s9714.txt
@@ -0,0 +1,461 @@
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6
+
+Listing raw device(s)
+Device 0 (VID=0489 and PID=e111) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0489:e111 @ bus 2, dev 4
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+Error 1: Get Storage information failed.
+Error 2: PTP Layer error 02fe: get_handles_recursively(): could not get object handles.
+Error 2: Error 02fe: PTP: Protocol error, data expected
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0489
+   idProduct: e111
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 4
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0489
+         Product: (null)
+         Vendor id: 0xe111
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: LENOVO
+   Model: LIFETAB_S9714
+   Device version: 1.0
+   Serial number: S97140CEA3
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0; microsoft.com/WMPPD: 11.0; microsoft.com/WMPPD: 10.0; microsoft.com/WMDRMPD:10.1; microsoft.com/playready:1.10;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+        microsoft.com/WMPPD: 11.0
+        microsoft.com/WMPPD: 10.0
+        microsoft.com/WMDRMPD: 10.1
+        microsoft.com/playready: 1.10
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: LIFETAB_S9714
+   Synchronization partner: (NULL)
+   Battery level 91 of 100 (91%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-lenovo-thinkpad-tablet.txt b/logs/mtp-detect-lenovo-thinkpad-tablet.txt
new file mode 100644
index 0000000..81a34f0
--- /dev/null
+++ b/logs/mtp-detect-lenovo-thinkpad-tablet.txt
@@ -0,0 +1,569 @@
+=================
+mtp-detect output
+=================
+
+libmtp version: 1.1.0
+
+Listing raw device(s)
+Device 0 (VID=17ef and PID=741c) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   17ef:741c @ bus 1, dev 27
+Attempting to connect device(s)
+PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
+LIBMTP libusb: Attempt to reset device
+Error 1: Get Storage information failed.
+Error 2: PTP Layer error 02fe: get_all_metadata_fast(): could not get proplist of all objects.
+Error 2: (Look this up in ptp.h for an explanation.)
+Error 2: PTP Layer error 02fe: get_handles_recursively(): could not get object handles.
+Error 2: (Look this up in ptp.h for an explanation.)
+USB low-level info:
+   Using kernel interface "dummy"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 17ef
+   idProduct: 741c
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 27
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x17ef
+         Product: (null)
+         Vendor id: 0x741c
+         Device flags: 0x00000000
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Lenovo
+   Model: Lenovo ThinkPad Tablet
+   Device version: 1.0
+   Serial number: MP032EA
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
+
+===============
+lsusb -v output
+===============
+
+Bus 001 Device 027: ID 17ef:741c Lenovo 
+Device Descriptor:
+  bLength                18
+  bDescriptorType         1
+  bcdUSB               2.00
+  bDeviceClass            0 (Defined at Interface level)
+  bDeviceSubClass         0 
+  bDeviceProtocol         0 
+  bMaxPacketSize0        64
+  idVendor           0x17ef Lenovo
+  idProduct          0x741c 
+  bcdDevice           99.99
+  iManufacturer           1 Lenovo
+  iProduct                2 ThinkPad Tablet
+  iSerial                 3 43c7008447fc617
+  bNumConfigurations      1
+  Configuration Descriptor:
+    bLength                 9
+    bDescriptorType         2
+    wTotalLength           62
+    bNumInterfaces          2
+    bConfigurationValue     1
+    iConfiguration          0 
+    bmAttributes         0xc0
+      Self Powered
+    MaxPower              500mA
+    Interface Descriptor:
+      bLength                 9
+      bDescriptorType         4
+      bInterfaceNumber        0
+      bAlternateSetting       0
+      bNumEndpoints           3
+      bInterfaceClass       255 Vendor Specific Class
+      bInterfaceSubClass    255 Vendor Specific Subclass
+      bInterfaceProtocol      0 
+      iInterface              7 MTP
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x83  EP 3 IN
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x03  EP 3 OUT
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x84  EP 4 IN
+        bmAttributes            3
+          Transfer Type            Interrupt
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x001c  1x 28 bytes
+        bInterval               6
+    Interface Descriptor:
+      bLength                 9
+      bDescriptorType         4
+      bInterfaceNumber        1
+      bAlternateSetting       0
+      bNumEndpoints           2
+      bInterfaceClass       255 Vendor Specific Class
+      bInterfaceSubClass     66 
+      bInterfaceProtocol      1 
+      iInterface              0 
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x86  EP 6 IN
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x05  EP 5 OUT
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+Device Qualifier (for other device speed):
+  bLength                10
+  bDescriptorType         6
+  bcdUSB               2.00
+  bDeviceClass            0 (Defined at Interface level)
+  bDeviceSubClass         0 
+  bDeviceProtocol         0 
+  bMaxPacketSize0        64
+  bNumConfigurations      1
+Device Status:     0x0001
+  Self Powered
+
diff --git a/logs/mtp-detect-lenovo-vibe-k5-note.txt b/logs/mtp-detect-lenovo-vibe-k5-note.txt
new file mode 100644
index 0000000..02d6e71
--- /dev/null
+++ b/logs/mtp-detect-lenovo-vibe-k5-note.txt
@@ -0,0 +1,508 @@
+libmtp version: 1.1.10
+
+Listing raw device(s)
+   Found 1 device(s):
+   17ef:7999 @ bus 2, dev 15
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 528
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 17ef
+   idProduct: 7999
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 15
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x17ef
+         Product: (null)
+         Vendor id: 0x7999
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: LENOVO
+   Model: Lenovo A7020a40
+   Device version: 1.0
+   Serial number: ****************
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: VIBE K5 Note
+   Synchronization partner: (NULL)
+   Battery level 35 of 100 (34%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-lenovo-vibe-z2.txt b/logs/mtp-detect-lenovo-vibe-z2.txt
new file mode 100644
index 0000000..86ac76f
--- /dev/null
+++ b/logs/mtp-detect-lenovo-vibe-z2.txt
@@ -0,0 +1,464 @@
+libmtp version: 1.1.8
+
+Listing raw device(s)
+   Found 1 device(s):
+   17ef:77ea @ bus 1, dev 5
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 17ef
+   idProduct: 77ea
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 5
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x17ef
+         Product: (null)
+         Vendor id: 0x77ea
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: LENOVO
+   Model: VIBE Z2
+   Device version: 1.0
+   Serial number: 78d740de
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4007
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-lenovo-yoga-tab10.txt b/logs/mtp-detect-lenovo-yoga-tab10.txt
new file mode 100644
index 0000000..deaa321
--- /dev/null
+++ b/logs/mtp-detect-lenovo-yoga-tab10.txt
@@ -0,0 +1,484 @@
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   17ef:76ff @ bus 2, dev 17
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 17ef
+   idProduct: 76ff
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 17
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x17ef
+         Product: (null)
+         Vendor id: 0x76ff
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: LENOVO
+   Model: Lenovo B8000-H
+   Device version: 1.0
+   Serial number: 0123456789ABCDEF
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 13903028224
+      FreeSpaceInBytes: 11922616320
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: USB-Speicher
+      VolumeIdentifier: (null)
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 31644975104
+      FreeSpaceInBytes: 24252678144
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD-Karte
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: YOGA TABLET
+   Synchronization partner: LenovoB8000-H
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-lephone-t7.txt b/logs/mtp-detect-lephone-t7.txt
new file mode 100644
index 0000000..a96a748
--- /dev/null
+++ b/logs/mtp-detect-lephone-t7.txt
@@ -0,0 +1,587 @@
+
+
+
+---
+
+** [feature-requests:#194] Device 0 (VID=1782 and PID=4001) is UNKNOWN**
+
+**Status:** open
+**Group:** Future
+**Created:** Thu Dec 01, 2016 03:41 PM UTC by Anonymous
+**Last Updated:** Thu Dec 01, 2016 03:41 PM UTC
+**Owner:** Marcus Meissner
+
+
+On Debian 8 Jessie. The device is lephone T7+ (Android version 6.0)
+~~~
+$ cat /etc/debian_version 
+8.6
+$ uname -rv
+3.16.0-4-amd64 #1 SMP Debian 3.16.36-1+deb8u2 (2016-10-19)
+$ gcc --version | head -n 1
+gcc (Debian 4.9.2-10) 4.9.2 
+~~~
+
+jmtpfs directory/ :
+~~~
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.
+Device 0 (**VID=1782 and PID=4001**) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
+LIBMTP libusb: Attempt to reset device
+LIBMTP PANIC: failed to open session on second attempt
+terminate called after throwing an instance of 'MtpErrorCantOpenDevice'
+  what():  Can't open device
+Aborted
+~~~
+
+mtp-detect
+~~~
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.
+libmtp version: 1.1.8
+
+Listing raw device(s)
+Device 0 (VID=1782 and PID=4001) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   1782:4001 @ bus 3, dev 45
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 1782
+   idProduct: 4001
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 3
+      Device number: 45
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x1782
+         Product: (null)
+         Vendor id: 0x4001
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Blephone
+   Model: lephone T7+
+   Device version: 1.0
+   Serial number: QWL16K0718869
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 12697890816
+      FreeSpaceInBytes: 11443998720
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: 内部存储设备
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Battery level 60 of 100 (60%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+~~~
+again:
+~~~
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.
+libmtp version: 1.1.8
+
+Listing raw device(s)
+Device 0 (VID=1782 and PID=4001) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   1782:4001 @ bus 3, dev 45
+Attempting to connect device(s)
+PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
+LIBMTP libusb: Attempt to reset device
+LIBMTP PANIC: failed to open session on second attempt
+Unable to open raw device 0
+OK.
+
+~~~
+
+
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/feature-requests/194/>
+
+
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/>
\ No newline at end of file
diff --git a/logs/mtp-detect-letv-s1x500.txt b/logs/mtp-detect-letv-s1x500.txt
new file mode 100644
index 0000000..2c32df0
--- /dev/null
+++ b/logs/mtp-detect-letv-s1x500.txt
@@ -0,0 +1,505 @@
+root@NB200:~# mtp-detect 
+libmtp version: 1.1.11
+
+Listing raw device(s)
+Device 0 (VID=2b0e and PID=1700) is UNKNOWN in libmtp v1.1.11.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   2b0e:1700 @ bus 1, dev 10
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 528
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 2b0e
+   idProduct: 1700
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 10
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x2b0e
+         Product: (null)
+         Vendor id: 0x1700
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Letv
+   Model: Letv X500
+   Device version: 1.0
+   Serial number: DI6DS8RSJZ89S8HQ
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 27480133632
+      FreeSpaceInBytes: 16734461952
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Emmagatzematge del telèfon
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Le1s_CN
+   Synchronization partner: Le1s_CN
+   Battery level 76 of 100 (76%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
\ No newline at end of file
diff --git a/logs/mtp-detect-lg-e610.txt b/logs/mtp-detect-lg-e610.txt
new file mode 100644
index 0000000..9c9b729
--- /dev/null
+++ b/logs/mtp-detect-lg-e610.txt
@@ -0,0 +1,519 @@
+libmtp version: 1.1.3
+
+Listing raw device(s)
+   Found 1 device(s):
+   1004:631c @ bus 2, dev 3
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 1004
+   idProduct: 631c
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 3
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x1004
+         Product: (null)
+         Vendor id: 0x631c
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: LGE
+   Model: LG-E610
+   Device version: 1.0
+   Serial number: 81434af0
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   300a: MS AVI
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY
+   ba83: Microsoft Word Document
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba85: Microsoft Excel Spreadsheet (.xls)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba86: Microsoft Powerpoint (.ppt)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   Portable Network Graphics
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+   Audio Video Interleave
+   Microsoft Advanced Systems Format
+   BMP bitmap file
+   DOC file
+   XLS file
+   PPT file
+OK.
diff --git a/logs/mtp-detect-lg-e617g.txt b/logs/mtp-detect-lg-e617g.txt
new file mode 100644
index 0000000..fcd6f70
--- /dev/null
+++ b/logs/mtp-detect-lg-e617g.txt
@@ -0,0 +1,526 @@
+Device 0 (VID=1004 and PID=631c) is UNKNOWN.

+Please report this VID/PID and the device model to the libmtp development team

+PTP_ERROR_IO: failed to open session, trying again after resetting USB interface

+LIBMTP libusb: Attempt to reset device

+Error 1: Get Storage information failed.

+Error 2: PTP Layer error 02fe: get_handles_recursively(): could not get object handles.

+Error 2: (Look this up in ptp.h for an explanation.)

+libmtp version: 1.1.3

+

+Listing raw device(s)

+   Found 1 device(s):

+   1004:631c @ bus 3, dev 3

+Attempting to connect device(s)

+Android device detected, assigning default bug flags

+USB low-level info:

+   Interface has a kernel driver attached.

+   bcdUSB: 512

+   bDeviceClass: 0

+   bDeviceSubClass: 0

+   bDeviceProtocol: 0

+   idVendor: 1004

+   idProduct: 631c

+   IN endpoint maxpacket: 512 bytes

+   OUT endpoint maxpacket: 512 bytes

+   Raw device info:

+      Bus location: 3

+      Device number: 3

+      Device entry info:

+         Vendor: (null)

+         Vendor id: 0x1004

+         Product: (null)

+         Vendor id: 0x631c

+         Device flags: 0x08008106

+Configuration 0, interface 0, altsetting 0:

+   Interface description contains the string "MTP"

+   Device recognized as MTP, no further probing.

+Device info:

+   Manufacturer: LGE

+   Model: LG-E617G

+   Device version: 1.0

+   Serial number: xxxxxxxx

+   Vendor extension ID: 0x00000006

+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;

+   Detected object size: 64 bits

+   Extensions:

+        microsoft.com: 1.0

+        android.com: 1.0

+Supported operations:

+   1001: get device info

+   1002: Open session

+   1003: Close session

+   1004: Get storage IDs

+   1005: Get storage info

+   1006: Get number of objects

+   1007: Get object handles

+   1008: Get object info

+   1009: Get object

+   100a: Get thumbnail

+   100b: Delete object

+   100c: Send object info

+   100d: Send object

+   1014: Get device property description

+   1015: Get device property value

+   1016: Set device property value

+   1017: Reset device property value

+   101b: Get partial object

+   9801: Get object properties supported

+   9802: Get object property description

+   9803: Get object property value

+   9804: Set object property value

+   9805: Get object property list

+   9810: Get object references

+   9811: Set object references

+   95c1: Unknown (95c1)

+   95c2: Unknown (95c2)

+   95c3: Unknown (95c3)

+   95c4: Unknown (95c4)

+   95c5: Unknown (95c5)

+Events supported:

+   0x4002

+   0x4003

+   0x4004

+   0x4005

+Device Properties Supported:

+   0xd401: Synchronization Partner

+   0xd402: Friendly Device Name

+   0x5003: Image Size

+Playable File (Object) Types and Object Properties Supported:

+   3000: Undefined Type

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+   3001: Association/Directory

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+   3004: Text

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+   3005: HTML

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+   3008: MS Wave

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+      dc46: Artist STRING data type READ ONLY

+      dc9a: Album Name STRING data type READ ONLY

+      dc9b: Album Artist STRING data type READ ONLY

+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY

+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc8c: Genre STRING data type READ ONLY

+      dc96: Composer STRING data type READ ONLY

+   3009: MP3

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+      dc46: Artist STRING data type READ ONLY

+      dc9a: Album Name STRING data type READ ONLY

+      dc9b: Album Artist STRING data type READ ONLY

+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY

+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc8c: Genre STRING data type READ ONLY

+      dc96: Composer STRING data type READ ONLY

+   300b: MPEG

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+      dc46: Artist STRING data type READ ONLY

+      dc9a: Album Name STRING data type READ ONLY

+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc48: Description STRING data type READ ONLY

+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY

+   3801: JPEG

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+      dc48: Description STRING data type READ ONLY

+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY

+   3807: GIF

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+      dc48: Description STRING data type READ ONLY

+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY

+   380b: PNG

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+      dc48: Description STRING data type READ ONLY

+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY

+   b901: WMA

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+      dc46: Artist STRING data type READ ONLY

+      dc9a: Album Name STRING data type READ ONLY

+      dc9b: Album Artist STRING data type READ ONLY

+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY

+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc8c: Genre STRING data type READ ONLY

+      dc96: Composer STRING data type READ ONLY

+   b902: OGG

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+      dc46: Artist STRING data type READ ONLY

+      dc9a: Album Name STRING data type READ ONLY

+      dc9b: Album Artist STRING data type READ ONLY

+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY

+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc8c: Genre STRING data type READ ONLY

+      dc96: Composer STRING data type READ ONLY

+   b903: AAC

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+      dc46: Artist STRING data type READ ONLY

+      dc9a: Album Name STRING data type READ ONLY

+      dc9b: Album Artist STRING data type READ ONLY

+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY

+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc8c: Genre STRING data type READ ONLY

+      dc96: Composer STRING data type READ ONLY

+   b982: MP4

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+      dc46: Artist STRING data type READ ONLY

+      dc9a: Album Name STRING data type READ ONLY

+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc48: Description STRING data type READ ONLY

+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY

+   b984: 3GP

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+      dc46: Artist STRING data type READ ONLY

+      dc9a: Album Name STRING data type READ ONLY

+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc48: Description STRING data type READ ONLY

+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY

+   ba05: Abstract Audio Video Playlist

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+   ba10: WPL Playlist

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+   ba11: M3U Playlist

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+   ba14: PLS Playlist

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+   ba82: XMLDocument

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+   b906: FLAC

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+   300a: MS AVI

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+      dc46: Artist STRING data type READ ONLY

+      dc9a: Album Name STRING data type READ ONLY

+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc48: Description STRING data type READ ONLY

+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY

+   300c: ASF

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+      dc46: Artist STRING data type READ ONLY

+      dc9a: Album Name STRING data type READ ONLY

+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc48: Description STRING data type READ ONLY

+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY

+   3804: BMP

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+      dc48: Description STRING data type READ ONLY

+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY

+   ba83: Microsoft Word Document

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+   ba85: Microsoft Excel Spreadsheet (.xls)

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+   ba86: Microsoft Powerpoint (.ppt)

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY

+Special directories:

+   Default music folder: 0xffffffff

+   Default playlist folder: 0xffffffff

+   Default picture folder: 0xffffffff

+   Default video folder: 0xffffffff

+   Default organizer folder: 0xffffffff

+   Default zencast folder: 0xffffffff

+   Default album folder: 0xffffffff

+   Default text folder: 0xffffffff

+MTP-specific device properties:

+   Friendly name: (NULL)

+   Synchronization partner: (NULL)

+libmtp supported (playable) filetypes:

+   Folder

+   Text file

+   HTML file

+   RIFF WAVE file

+   ISO MPEG-1 Audio Layer 3

+   MPEG video stream

+   JPEG file

+   GIF bitmap file

+   Portable Network Graphics

+   Microsoft Windows Media Audio

+   Ogg container format

+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3

+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)

+   Abstract Playlist file

+   XML file

+   Free Lossless Audio Codec (FLAC)

+   Audio Video Interleave

+   Microsoft Advanced Systems Format

+   BMP bitmap file

+   DOC file

+   XLS file

+   PPT file

+OK.

diff --git a/logs/mtp-detect-lg-g3.txt b/logs/mtp-detect-lg-g3.txt
new file mode 100644
index 0000000..c8c694c
--- /dev/null
+++ b/logs/mtp-detect-lg-g3.txt
@@ -0,0 +1,38 @@
+Listing raw device(s)
+Device 0 (VID=1004 and PID=633e) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   1004:633e @ bus 2, dev 4
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 528
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 1004
+   idProduct: 633e
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 4
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x1004
+         Product: (null)
+         Vendor id: 0x633e
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: LGE
+   Model: G3
+   Device version: 1.0
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
diff --git a/logs/mtp-detect-lg-gr500.txt b/logs/mtp-detect-lg-gr500.txt
new file mode 100644
index 0000000..c339f6e
--- /dev/null
+++ b/logs/mtp-detect-lg-gr500.txt
@@ -0,0 +1,144 @@
+libmtp version: 1.0.1
+
+Listing raw device(s)
+Device 0 (VID=1004 and PID=611b) is a LG Electronics Inc. GR-500 Music Sync Player.
+   Found 1 device(s):
+   LG Electronics Inc.: GR-500 Music Sync Player (1004:611b) @ bus 2, dev 7
+Attempting to connect device(s)
+LIBMTP PANIC: could not inspect object property descriptions!
+LIBMTP PANIC: could not inspect object property descriptions!
+LIBMTP PANIC: could not inspect object property descriptions!
+LIBMTP PANIC: could not inspect object property descriptions!
+LIBMTP PANIC: could not inspect object property descriptions!
+LIBMTP PANIC: could not inspect object property descriptions!
+LIBMTP PANIC: could not inspect object property descriptions!
+LIBMTP PANIC: could not inspect object property descriptions!
+LIBMTP PANIC: could not inspect object property descriptions!
+LIBMTP PANIC: could not inspect object property descriptions!
+LIBMTP PANIC: could not inspect object property descriptions!
+LIBMTP PANIC: could not inspect object property descriptions!
+LIBMTP PANIC: could not inspect object property descriptions!
+Error 7: Unable to read Maximum Battery Level for this device even though the device supposedly supports this functionality
+Error 1: Get Storage information failed.
+Error 2: PTP Layer error 02fe: get_handles_recursively(): could not get object handles.
+Error 2: (Look this up in ptp.h for an explanation.)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 1004
+   idProduct: 611b
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 7
+      Device entry info:
+         Vendor: LG Electronics Inc.
+         Vendor id: 0x1004
+         Product: GR-500 Music Sync Player
+         Vendor id: 0x611b
+         Device flags: 0x00000804
+Configuration 0, interface 0, altsetting 0:
+   Interface implements PTP class, no further probing.
+Device info:
+   Manufacturer: LGE
+   Model: GR500 Music Sync Player
+   Device version: 1.00
+   Serial number: 00000000000000000011793007979534
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 11.0; microsoft.com/WMPPD: 10.0; vodafone.com/omadrmv2: 1.0;
+   Detected object size: 32 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9810: Get object references
+   9811: Set object references
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+Events supported:
+   0x4004
+   0x4005
+   0x400a
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   b984: 3GP
+   3000: Undefined Type
+   3001: Association/Directory
+   3008: MS Wave
+   3009: MP3
+   300c: ASF
+   3801: JPEG
+   b901: WMA
+   b902: OGG
+   b903: AAC
+   ba03: Abstract Audio Album
+   ba05: Abstract Audio Video Playlist
+   ba10: WPL Playlist
+Special directories:
+   Default music folder: 0x00000000
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Advanced Systems Format
+   JPEG file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Abstract Album file
+   Abstract Playlist file
+Unable to acquire device certificate, perhaps this device does not support this
+Error 2: PTP Layer error 02fe: get_device_unicode_property(): failed to get unicode property.
+Error 2: (Look this up in ptp.h for an explanation.)
+OK.
diff --git a/logs/mtp-detect-lg-km900.txt b/logs/mtp-detect-lg-km900.txt
new file mode 100644
index 0000000..21b41a6
--- /dev/null
+++ b/logs/mtp-detect-lg-km900.txt
@@ -0,0 +1,334 @@
+libmtp version: 0.3.0
+
+Listing raw device(s)
+Device 0 (VID=1004 and PID=6132) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development
+team
+Found 1 device(s):
+1004:6132 @ bus 0, dev 14
+Attempting to connect device(s)
+PTP: Opening session
+USB low-level info:
+Using kernel interface "usbfs"
+bcdUSB: 512
+bDeviceClass: 0
+bDeviceSubClass: 0
+bDeviceProtocol: 0
+idVendor: 1004
+idProduct: 6132
+IN endpoint maxpacket: 512 bytes
+OUT endpoint maxpacket: 512 bytes
+Raw device info:
+Bus location: 0
+Device number: 14
+Device entry info:
+Vendor: (null)
+Vendor id: 0x1004
+Product: (null)
+Vendor id: 0x6132
+Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+0000: 1203 4d00 5300 4600 5400 3100 3000 3000 ..M.S.F.T.1.0.0.
+0010: fa00 ..
+Microsoft device response to control message 1, CMD 0xfa:
+0000: 2800 0000 0001 0400 0100 0000 0000 0000 (...............
+0010: 0001 4d54 5000 0000 0000 3034 0000 0000 ..MTP.....04....
+0020: 0000 0000 0000 0000 ........
+Microsoft device response to control message 2, CMD 0xfa:
+0000: 2800 0000 0001 0400 0100 0000 0000 0000 (...............
+0010: 0001 4d54 5000 0000 0000 3034 0000 0000 ..MTP.....04....
+0020: 0000 0000 0000 0000 ........
+Device info:
+Manufacturer: LG Electronics
+Model: ����0Mu
+Device version: Sync Pla
+Serial number: : <[EDIT]deleted garbled info[/EDIT]>
+Vendor extension ID: 0x00000006
+Vendor extension description: microsoft.com/WMPPD: 10.0;
+LGElectronics.com/Dispatcher: 0.0a; microsoft.com/WMPPD: 11.0;
+vodafone.com/omadrmv2: 1.0;
+Detected object size: 64 bits
+Supported operations:
+1010: Reset device
+1013: Power down device
+1017: Reset device property value
+1001: get device info
+1002: Open session
+1003: Close session
+1004: Get storage IDs
+1005: Get storage info
+1006: Get number of objects
+1007: Get object handles
+1008: Get object info
+1009: Get object
+100b: Delete object
+100c: Send object info
+100d: Send object
+100f: Format storage
+1014: Get device property description
+1015: Get device property value
+1016: Set device property value
+101b: Get partial object
+9801: Get object properties supported
+9802: Get object property description
+9803: Get object property value
+9810: Get object references
+9811: Set object references
+9805: Get object property list
+9804: Set object property value
+9806: Set object property list
+9202: Report Acquired Items
+9203: Get transferable playlist types
+9201: Report Added/Deleted Items
+Events supported:
+0x4004
+0x4005
+Device Properties Supported:
+0x5001: Battery Level
+0x501f: Copyright Info
+0xd401: Synchronization Partner
+0xd402: Friendly Device Name
+0xd404: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+b984: 3GP
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, READ ONLY
+dc07: ObjectFileName STRING data type GET/SET
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc44: Name STRING data type GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+de99: AudioWAVECodec UINT32 data type enumeration: 85, 352, 353, 354,
+GET/SET
+de94: NumberOfChannels UINT16 data type enumeration: 2, 1, GET/SET
+de93: SampleRate UINT32 data type range: MIN 32768, MAX 45158, STEP 1
+GET/SET
+de9a: AudioBitRate UINT32 data type range: MIN 8192, MAX 196608, STEP
+1 READ ONLY
+dc9b: AlbumArtist STRING data type GET/SET
+dc9a: AlbumName STRING data type GET/SET
+dc46: Artist STRING data type GET/SET
+dc8c: Genre STRING data type GET/SET
+dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+dc96: Composer STRING data type GET/SET
+dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1
+GET/SET
+dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+db01: unknown(db01) UINT8 data type enumeration: 0, 1, GET/SET
+db02: unknown(db02) array of UINT8 data type byte array: GET/SET
+dc9d: DRMStatus UINT16 data type enumeration: 2, 0, 1, 2, GET/SET
+b901: WMA
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, READ ONLY
+dc07: ObjectFileName STRING data type GET/SET
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc44: Name STRING data type GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+de99: AudioWAVECodec UINT32 data type enumeration: 85, 352, 353, 354,
+GET/SET
+de94: NumberOfChannels UINT16 data type enumeration: 2, 1, GET/SET
+de93: SampleRate UINT32 data type range: MIN 32768, MAX 45158, STEP 1
+GET/SET
+de9a: AudioBitRate UINT32 data type range: MIN 8192, MAX 196608, STEP
+1 READ ONLY
+dc9b: AlbumArtist STRING data type GET/SET
+dc9a: AlbumName STRING data type GET/SET
+dc46: Artist STRING data type GET/SET
+dc8c: Genre STRING data type GET/SET
+dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+dc96: Composer STRING data type GET/SET
+dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1
+GET/SET
+dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+db01: unknown(db01) UINT8 data type enumeration: 0, 1, GET/SET
+db02: unknown(db02) array of UINT8 data type byte array: GET/SET
+dc9d: DRMStatus UINT16 data type enumeration: 2, 0, 1, 2, GET/SET
+3009: MP3
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, READ ONLY
+dc07: ObjectFileName STRING data type GET/SET
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc44: Name STRING data type GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+de99: AudioWAVECodec UINT32 data type enumeration: 85, 352, 353, 354,
+GET/SET
+de94: NumberOfChannels UINT16 data type enumeration: 2, 1, GET/SET
+de93: SampleRate UINT32 data type range: MIN 32768, MAX 45158, STEP 1
+GET/SET
+de9a: AudioBitRate UINT32 data type range: MIN 8192, MAX 196608, STEP
+1 READ ONLY
+dc9b: AlbumArtist STRING data type GET/SET
+dc9a: AlbumName STRING data type GET/SET
+dc46: Artist STRING data type GET/SET
+dc8c: Genre STRING data type GET/SET
+dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+dc96: Composer STRING data type GET/SET
+dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1
+GET/SET
+dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+3008: MS Wave
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, READ ONLY
+dc07: ObjectFileName STRING data type GET/SET
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc44: Name STRING data type GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+de99: AudioWAVECodec UINT32 data type enumeration: 85, 352, 353, 354,
+GET/SET
+de94: NumberOfChannels UINT16 data type enumeration: 2, 1, GET/SET
+de93: SampleRate UINT32 data type range: MIN 32768, MAX 45158, STEP 1
+GET/SET
+de9a: AudioBitRate UINT32 data type range: MIN 8192, MAX 196608, STEP
+1 READ ONLY
+dc9b: AlbumArtist STRING data type GET/SET
+dc9a: AlbumName STRING data type GET/SET
+dc46: Artist STRING data type GET/SET
+dc8c: Genre STRING data type GET/SET
+dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+dc96: Composer STRING data type GET/SET
+dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1
+GET/SET
+dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+ba05: Abstract Audio Video Playlist
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, READ ONLY
+dc07: ObjectFileName STRING data type GET/SET
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc44: Name STRING data type GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+ba10: WPL Playlist
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, READ ONLY
+dc07: ObjectFileName STRING data type GET/SET
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc44: Name STRING data type GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+3000: Undefined Type
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, READ ONLY
+dc07: ObjectFileName STRING data type GET/SET
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc44: Name STRING data type GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+b902: OGG
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, READ ONLY
+dc07: ObjectFileName STRING data type GET/SET
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc44: Name STRING data type GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+de99: AudioWAVECodec UINT32 data type enumeration: 85, 352, 353, 354,
+GET/SET
+de94: NumberOfChannels UINT16 data type enumeration: 2, 1, GET/SET
+de93: SampleRate UINT32 data type range: MIN 32768, MAX 45158, STEP 1
+GET/SET
+de9a: AudioBitRate UINT32 data type range: MIN 8192, MAX 196608, STEP
+1 READ ONLY
+dc9b: AlbumArtist STRING data type GET/SET
+dc9a: AlbumName STRING data type GET/SET
+dc46: Artist STRING data type GET/SET
+dc8c: Genre STRING data type GET/SET
+dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+dc96: Composer STRING data type GET/SET
+dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1
+GET/SET
+300c: ASF
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, READ ONLY
+dc07: ObjectFileName STRING data type GET/SET
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc44: Name STRING data type GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+de99: AudioWAVECodec UINT32 data type enumeration: 85, 352, 353, 354,
+GET/SET
+de94: NumberOfChannels UINT16 data type enumeration: 2, 1, GET/SET
+de93: SampleRate UINT32 data type range: MIN 32768, MAX 45158, STEP 1
+GET/SET
+de9a: AudioBitRate UINT32 data type range: MIN 8192, MAX 196608, STEP
+1 READ ONLY
+dc9b: AlbumArtist STRING data type GET/SET
+dc9a: AlbumName STRING data type GET/SET
+dc46: Artist STRING data type GET/SET
+dc8c: Genre STRING data type GET/SET
+dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+dc96: Composer STRING data type GET/SET
+dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1
+GET/SET
+dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+3001: Association/Directory
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, READ ONLY
+dc07: ObjectFileName STRING data type GET/SET
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc44: Name STRING data type GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+Storage Devices:
+StorageID: 0x12345678
+StorageType: 0x0003
+FilesystemType: 0x0002
+AccessCapability: 0x0000
+MaxCapacity: 7485345792
+FreeSpaceInBytes: 7235375104
+FreeSpaceInObjects: 0
+StorageDescription: Internal Drv
+VolumeIdentifier: 1234500LG000000000
+Special directories:
+Default music folder: 0x00000000
+Default playlist folder: 0x00000000
+Default picture folder: 0x00000000
+Default video folder: 0x00000000
+Default organizer folder: 0x00000000
+Default zencast folder: 0x00000000
+Default album folder: 0x00000000
+Default text folder: 0x00000000
+MTP-specific device properties:
+Friendly name: KM900 Music Sync Player
+Synchronization partner: Longhorn Sync Engine
+Battery level 10 of 100 (10%)
+libmtp supported (playable) filetypes:
+Microsoft Windows Media Audio
+ISO MPEG-1 Audio Layer 3
+RIFF WAVE file
+Ogg container format
+Microsoft Advanced Systems Format
+Unable to acquire device certificate, perhaps this device does not support
+this
+WMPInfo.xml Does not exist on this device
+PTP: Closing session
+OK.
diff --git a/logs/mtp-detect-lg-nexus-4.txt b/logs/mtp-detect-lg-nexus-4.txt
new file mode 100644
index 0000000..3eecfbc
--- /dev/null
+++ b/logs/mtp-detect-lg-nexus-4.txt
@@ -0,0 +1,479 @@
+:~$ mtp-detect
+libmtp version: 1.1.4
+
+Listing raw device(s)
+Device 0 (VID=18d1 and PID=4ee1) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   18d1:4ee1 @ bus 1, dev 12
+Attempting to connect device(s)
+PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
+LIBMTP libusb: Attempt to reset device
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 18d1
+   idProduct: 4ee1
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 12
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x18d1
+         Product: (null)
+         Vendor id: 0x4ee1
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: LGE
+   Model: Nexus 4
+   Device version: 1.0
+   Serial number: [removed]
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 13874561024
+      FreeSpaceInBytes: 12694528000
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Interner Speicher
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-lg-p970.txt b/logs/mtp-detect-lg-p970.txt
new file mode 100644
index 0000000..38ede2c
--- /dev/null
+++ b/logs/mtp-detect-lg-p970.txt
@@ -0,0 +1,450 @@
+libmtp version: 1.1.4
+
+Listing raw device(s)
+   Found 1 device(s):
+   1004:631c @ bus 1, dev 7
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 1004
+   idProduct: 631c
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 7
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x1004
+         Product: (null)
+         Vendor id: 0x631c
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: LGE
+   Model: LG-P970
+   Device version: 1.0
+   Serial number: ????????
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-lg-p990.txt b/logs/mtp-detect-lg-p990.txt
new file mode 100644
index 0000000..11386a5
--- /dev/null
+++ b/logs/mtp-detect-lg-p990.txt
@@ -0,0 +1,456 @@
+Device 0 (VID=18d1 and PID=d109) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+Error 1: Get Storage information failed.
+Error 2: PTP Layer error 02fe: get_handles_recursively(): could not get
+object handles.
+Error 2: (Look this up in ptp.h for an explanation.)
+libmtp version: 1.1.3
+
+Listing raw device(s)
+   Found 1 device(s):
+   18d1:d109 @ bus 1, dev 5
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 18d1
+   idProduct: d109
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 5
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x18d1
+         Product: (null)
+         Vendor id: 0xd109
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: LGE
+   Model: LG-P990
+   Device version: 1.0
+   Serial number: 411fd49702804148
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-lg-v10.txt b/logs/mtp-detect-lg-v10.txt
new file mode 100644
index 0000000..97b0639
--- /dev/null
+++ b/logs/mtp-detect-lg-v10.txt
@@ -0,0 +1,562 @@
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   LG Electronics Inc.: LG G Flex 2 (1004:633e) @ bus 3, dev 2
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 1004
+   idProduct: 633e
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 3
+      Device number: 2
+      Device entry info:
+         Vendor: LG Electronics Inc.
+         Vendor id: 0x1004
+         Product: LG G Flex 2
+         Vendor id: 0x633e
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: LGE
+   Model: V10
+   Device version: 1.0
+   Serial number: LGH9608ea95bc0
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x400c
+   0x4007
+   0x4006
+   0xc801
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+   300a: MS AVI
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY
+   ba83: Microsoft Word Document
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+   ba85: Microsoft Excel Spreadsheet (.xls)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+   ba86: Microsoft Powerpoint (.ppt)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: V10
+   Synchronization partner: (NULL)
+   Battery level 80 of 100 (80%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   Portable Network Graphics
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+   Audio Video Interleave
+   Microsoft Advanced Systems Format
+   DOC file
+   XLS file
+   PPT file
+OK.
diff --git a/logs/mtp-detect-lg-v909.txt b/logs/mtp-detect-lg-v909.txt
new file mode 100644
index 0000000..d8d7ddd
--- /dev/null
+++ b/logs/mtp-detect-lg-v909.txt
@@ -0,0 +1,452 @@
+libmtp version: 1.0.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   1004:61f9 @ bus 2, dev 7
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "dummy"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 1004
+   idProduct: 61f9
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 7
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x1004
+         Product: (null)
+         Vendor id: 0x61f9
+         Device flags: 0x00000000
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: LGE
+   Model: LG-V909
+   Device version: 1.0
+   Serial number: 012629000419954
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 30541213696
+      FreeSpaceInBytes: 29864947712
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Device Storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
diff --git a/logs/mtp-detect-lg-vs950.txt b/logs/mtp-detect-lg-vs950.txt
new file mode 100644
index 0000000..0e118f8
--- /dev/null
+++ b/logs/mtp-detect-lg-vs950.txt
@@ -0,0 +1,531 @@
+Device 0 (VID=1004 and PID=622a) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   1004:622a @ bus 2, dev 109
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 1004
+   idProduct: 622a
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 109
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x1004
+         Product: (null)
+         Vendor id: 0x622a
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: LGE
+   Model: VS950 4G
+   Device version: 1.0
+   Serial number: 48090e46
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+   300a: MS AVI
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY
+   ba83: Microsoft Word Document
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+   ba85: Microsoft Excel Spreadsheet (.xls)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+   ba86: Microsoft Powerpoint (.ppt)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 27845365760
+      FreeSpaceInBytes: 23856656384
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   Portable Network Graphics
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+   Audio Video Interleave
+   Microsoft Advanced Systems Format
+   BMP bitmap file
+   DOC file
+   XLS file
+   PPT file
+OK.
diff --git a/logs/mtp-detect-lg-vs980.txt b/logs/mtp-detect-lg-vs980.txt
new file mode 100644
index 0000000..8df7481
--- /dev/null
+++ b/logs/mtp-detect-lg-vs980.txt
@@ -0,0 +1,533 @@
+[chris@localhost ~]$ mtp-detect 

+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6

+

+Listing raw device(s)

+Device 0 (VID=1004 and PID=621c) is UNKNOWN.

+Please report this VID/PID and the device model to the libmtp development team

+   Found 1 device(s):

+   1004:621c @ bus 2, dev 3

+Attempting to connect device(s)

+Android device detected, assigning default bug flags

+USB low-level info:

+   bcdUSB: 528

+   bDeviceClass: 0

+   bDeviceSubClass: 0

+   bDeviceProtocol: 0

+   idVendor: 1004

+   idProduct: 621c

+   IN endpoint maxpacket: 512 bytes

+   OUT endpoint maxpacket: 512 bytes

+   Raw device info:

+      Bus location: 2

+      Device number: 3

+      Device entry info:

+         Vendor: (null)

+         Vendor id: 0x1004

+         Product: (null)

+         Vendor id: 0x621c

+         Device flags: 0x08008106

+Configuration 0, interface 0, altsetting 0:

+   Interface description contains the string "MTP"

+   Device recognized as MTP, no further probing.

+Device info:

+   Manufacturer: LGE

+   Model: VS980 4G

+   Device version: 1.0

+   Serial number: 0289f3a5a19099bc

+   Vendor extension ID: 0x00000006

+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;

+   Detected object size: 64 bits

+   Extensions:

+        microsoft.com: 1.0

+        android.com: 1.0

+Supported operations:

+   1001: get device info

+   1002: Open session

+   1003: Close session

+   1004: Get storage IDs

+   1005: Get storage info

+   1006: Get number of objects

+   1007: Get object handles

+   1008: Get object info

+   1009: Get object

+   100a: Get thumbnail

+   100b: Delete object

+   100c: Send object info

+   100d: Send object

+   1014: Get device property description

+   1015: Get device property value

+   1016: Set device property value

+   1017: Reset device property value

+   1019: Move object

+   101b: Get partial object

+   9801: Get object properties supported

+   9802: Get object property description

+   9803: Get object property value

+   9804: Set object property value

+   9805: Get object property list

+   9810: Get object references

+   9811: Set object references

+   95c1: Get Partial Object (64bit Offset)

+   95c2: Send Partial Object

+   95c3: Truncate Object

+   95c4: Begin Edit Object

+   95c5: End Edit Object

+Events supported:

+   0x4002

+   0x4003

+   0x4004

+   0x4005

+   0x400c

+Device Properties Supported:

+   0xd401: Synchronization Partner

+   0xd402: Friendly Device Name

+   0x5003: Image Size

+Playable File (Object) Types and Object Properties Supported:

+   3000: Undefined Type

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dc08: Date Created STRING data type DATETIME FORM READ ONLY

+   3001: Association/Directory

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dc08: Date Created STRING data type DATETIME FORM READ ONLY

+   3004: Text

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dc08: Date Created STRING data type DATETIME FORM READ ONLY

+   3005: HTML

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dc08: Date Created STRING data type DATETIME FORM READ ONLY

+   3008: MS Wave

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc08: Date Created STRING data type DATETIME FORM READ ONLY

+      dc46: Artist STRING data type READ ONLY

+      dc9a: Album Name STRING data type READ ONLY

+      dc9b: Album Artist STRING data type READ ONLY

+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY

+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc8c: Genre STRING data type READ ONLY

+      dc96: Composer STRING data type READ ONLY

+   3009: MP3

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc08: Date Created STRING data type DATETIME FORM READ ONLY

+      dc46: Artist STRING data type READ ONLY

+      dc9a: Album Name STRING data type READ ONLY

+      dc9b: Album Artist STRING data type READ ONLY

+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY

+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc8c: Genre STRING data type READ ONLY

+      dc96: Composer STRING data type READ ONLY

+   300b: MPEG

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc08: Date Created STRING data type DATETIME FORM READ ONLY

+      dc46: Artist STRING data type READ ONLY

+      dc9a: Album Name STRING data type READ ONLY

+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc48: Description STRING data type READ ONLY

+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY

+   3801: JPEG

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc08: Date Created STRING data type DATETIME FORM READ ONLY

+      dc48: Description STRING data type READ ONLY

+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY

+   3804: BMP

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc08: Date Created STRING data type DATETIME FORM READ ONLY

+      dc48: Description STRING data type READ ONLY

+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY

+   3807: GIF

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc08: Date Created STRING data type DATETIME FORM READ ONLY

+      dc48: Description STRING data type READ ONLY

+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY

+   380b: PNG

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc08: Date Created STRING data type DATETIME FORM READ ONLY

+      dc48: Description STRING data type READ ONLY

+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY

+   b901: WMA

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc08: Date Created STRING data type DATETIME FORM READ ONLY

+      dc46: Artist STRING data type READ ONLY

+      dc9a: Album Name STRING data type READ ONLY

+      dc9b: Album Artist STRING data type READ ONLY

+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY

+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc8c: Genre STRING data type READ ONLY

+      dc96: Composer STRING data type READ ONLY

+   b902: OGG

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc08: Date Created STRING data type DATETIME FORM READ ONLY

+      dc46: Artist STRING data type READ ONLY

+      dc9a: Album Name STRING data type READ ONLY

+      dc9b: Album Artist STRING data type READ ONLY

+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY

+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc8c: Genre STRING data type READ ONLY

+      dc96: Composer STRING data type READ ONLY

+   b903: AAC

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc08: Date Created STRING data type DATETIME FORM READ ONLY

+      dc46: Artist STRING data type READ ONLY

+      dc9a: Album Name STRING data type READ ONLY

+      dc9b: Album Artist STRING data type READ ONLY

+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY

+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc8c: Genre STRING data type READ ONLY

+      dc96: Composer STRING data type READ ONLY

+   b982: MP4

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc08: Date Created STRING data type DATETIME FORM READ ONLY

+      dc46: Artist STRING data type READ ONLY

+      dc9a: Album Name STRING data type READ ONLY

+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc48: Description STRING data type READ ONLY

+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY

+   b984: 3GP

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc08: Date Created STRING data type DATETIME FORM READ ONLY

+      dc46: Artist STRING data type READ ONLY

+      dc9a: Album Name STRING data type READ ONLY

+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc48: Description STRING data type READ ONLY

+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY

+   ba05: Abstract Audio Video Playlist

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dc08: Date Created STRING data type DATETIME FORM READ ONLY

+   ba10: WPL Playlist

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dc08: Date Created STRING data type DATETIME FORM READ ONLY

+   ba11: M3U Playlist

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dc08: Date Created STRING data type DATETIME FORM READ ONLY

+   ba14: PLS Playlist

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dc08: Date Created STRING data type DATETIME FORM READ ONLY

+   ba82: XMLDocument

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dc08: Date Created STRING data type DATETIME FORM READ ONLY

+   b906: FLAC

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dc08: Date Created STRING data type DATETIME FORM READ ONLY

+   300a: MS AVI

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc08: Date Created STRING data type DATETIME FORM READ ONLY

+      dc46: Artist STRING data type READ ONLY

+      dc9a: Album Name STRING data type READ ONLY

+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc48: Description STRING data type READ ONLY

+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY

+   300c: ASF

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dce0: Display Name STRING data type READ ONLY

+      dc08: Date Created STRING data type DATETIME FORM READ ONLY

+      dc46: Artist STRING data type READ ONLY

+      dc9a: Album Name STRING data type READ ONLY

+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc48: Description STRING data type READ ONLY

+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY

+   ba83: Microsoft Word Document

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dc08: Date Created STRING data type DATETIME FORM READ ONLY

+   ba85: Microsoft Excel Spreadsheet (.xls)

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dc08: Date Created STRING data type DATETIME FORM READ ONLY

+   ba86: Microsoft Powerpoint (.ppt)

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc44: Name STRING data type READ ONLY

+      dc08: Date Created STRING data type DATETIME FORM READ ONLY

+Storage Devices:

+   StorageID: 0x00010001

+      StorageType: 0x0003 fixed RAM storage

+      FilesystemType: 0x0002 generic hierarchical

+      AccessCapability: 0x0000 read/write

+      MaxCapacity: 25899925504

+      FreeSpaceInBytes: 15790100480

+      FreeSpaceInObjects: 1073741824

+      StorageDescription: Internal storage

+      VolumeIdentifier: (null)

+Special directories:

+   Default music folder: 0x00000001

+   Default playlist folder: 0xffffffff

+   Default picture folder: 0x00000006

+   Default video folder: 0xffffffff

+   Default organizer folder: 0xffffffff

+   Default zencast folder: 0xffffffff

+   Default album folder: 0xffffffff

+   Default text folder: 0xffffffff

+MTP-specific device properties:

+   Friendly name: (NULL)

+   Synchronization partner: (NULL)

+libmtp supported (playable) filetypes:

+   Folder

+   Text file

+   HTML file

+   RIFF WAVE file

+   ISO MPEG-1 Audio Layer 3

+   MPEG video stream

+   JPEG file

+   BMP bitmap file

+   GIF bitmap file

+   Portable Network Graphics

+   Microsoft Windows Media Audio

+   Ogg container format

+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3

+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)

+   Abstract Playlist file

+   XML file

+   Free Lossless Audio Codec (FLAC)

+   Audio Video Interleave

+   Microsoft Advanced Systems Format

+   DOC file

+   XLS file

+   PPT file

+OK.
\ No newline at end of file
diff --git a/logs/mtp-detect-lg-vx8550.txt b/logs/mtp-detect-lg-vx8550.txt
new file mode 100644
index 0000000..a6eb101
--- /dev/null
+++ b/logs/mtp-detect-lg-vx8550.txt
@@ -0,0 +1,255 @@
+libmtp version: 0.3.0
+
+Listing raw device(s)
+   Found 1 device(s):
+   LG Electronics, Inc.: V CAST Mobile Phone - VX8550 (1004:6010) @ bus 0, dev 7
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 272
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 1004
+   idProduct: 6010
+   IN endpoint maxpacket: 64 bytes
+   OUT endpoint maxpacket: 64 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 7
+      Device entry info:
+         Vendor: LG Electronics, Inc.
+         Vendor id: 0x1004
+         Product: V CAST Mobile Phone - VX8550
+         Vendor id: 0x6010
+         Device flags: 0x00000804
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: fe00                                   	..
+Microsoft device response to control message 1, CMD 0xfe:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Microsoft device response to control message 2, CMD 0xfe:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Device info:
+   Manufacturer: Verizon
+   Model: Verizon Music Phone
+   Device version: 01.02.046(1198)
+   Serial number: 801D4298
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; 
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1007: Get object handles
+   1008: Get object info
+   9806: Set object property list
+   9808: Send object property list
+   100d: Send object
+   1009: Get object
+   100b: Delete object
+   9802: Get object property description
+   1014: Get device property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9805: Get object property list
+   9810: Get object references
+   1015: Get device property value
+   1016: Set device property value
+   9811: Set object references
+   d402: Unknown (d402)
+   9804: Set object property value
+   1006: Get number of objects
+   100c: Send object info
+   1012: Set object protection
+   9103: Set license response
+   9104: Get sync list
+   9109: Get license state
+   9201: Report Added/Deleted Items
+Events supported:
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd402: Friendly Device Name
+   0xd401: Synchronization Partner
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 32000, 44100,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 196608, STEP 1000 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353, 354,  READ ONLY
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 32000, 44100,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 196608, STEP 1000 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  READ ONLY
+   ba03: Abstract Audio Album
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  GET/SET
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 65536, STEP 1 READ ONLY
+      dc8c: Genre STRING data type GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+   3801: JPEG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0000
+      AccessCapability: 0x0000
+      MaxCapacity: 64744960
+      FreeSpaceInBytes: 57827328
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Phone Internal Memory
+      VolumeIdentifier: 801D4298
+   StorageID: 0x00020001
+      StorageType: 0x0004
+      FilesystemType: 0x0000
+      AccessCapability: 0x0000
+      MaxCapacity: 4098195456
+      FreeSpaceInBytes: 3340582912
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Removable Storage Card
+      VolumeIdentifier: 000002974391892
+Special directories:
+   Default music folder: 0x0000000a
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: V CAST Mobile Phone
+   Synchronization partner: V CAST Sync Partner
+libmtp supported (playable) filetypes:
+   Microsoft Windows Media Audio
+   ISO MPEG-1 Audio Layer 3
+   JPEG file
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">mEIdgDCFOgBgCnUAwBTqAIAp1AE=</UNIQUEID><PUBLICKEY private="1">a5hvmorJaWvi5sBflFHdeJmOBTZNRxdP8XYiGUyrJ1VhbOJkkhzWHQ==</PUBLICKEY><KEYDATA>VysFTyNiAJDnKHdHIqd6sP1Q3zk=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>11iF3zhT3lFjAh6Vf3pkyovXyzUItI6H2eT4VQEpOWcCJIhmxXOrAA==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>HIc5E/Oj7ugNsH1tKPGZTwq8bqQ=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.107.79</SECURITYVERSION><CERTIFICATE private="1">a5hvmorJaWvi5sBflFHdeJmOBTZNRxdP8XYiGUyrJ1VhbOJkkhzWHQIEa0/edOvHOI0SjKYcBvmy1ry3ENZXeiSk4zoVXvAvWpQxHRH/G5PAzC8x</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>LG VX-8550</NAME>
+
+    <MANUFACTURER>LG</MANUFACTURER>
+
+    <MAKE>8550</MAKE>
+
+    <DISTRIBUTOR>Verizon Wireless</DISTRIBUTOR>
+
+    <MODEL>MOD 01.02.003</MODEL>
+
+    <SECURITYLEVEL>2000</SECURITYLEVEL>
+
+    <HARDWARE_VER_MAJOR>1.0</HARDWARE_VER_MAJOR>
+
+    <HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR>
+
+    <FIRMWARE_VER_MAJOR>1.0</FIRMWARE_VER_MAJOR>
+
+    <FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>
+
+    <FEATURES>
+
+        <CLOCK>1</CLOCK>
+
+        <METERING>0</METERING>
+
+        <LICENSE_ACQ>1</LICENSE_ACQ>
+
+        <LICENSE_SYNC>1</LICENSE_SYNC>
+
+        <ENCRYPTION>1</ENCRYPTION>
+
+        <SYMMETRIC_OPT>1</SYMMETRIC_OPT>
+
+    </FEATURES>
+
+    <LIMITS>
+
+        <MAXCHAINDEPTH>2</MAXCHAINDEPTH>
+
+        <MAXLICENSESIZE>10240</MAXLICENSESIZE>
+
+        <MAXHEADERSIZE>5120</MAXHEADERSIZE>
+
+    </LIMITS><PUBLICKEY>PqQw8EcWiY/L8UeL3rdKtolpZRpG+ZBaHacknE9/Vf68r3elwwNbAg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>XZ9/hQdwYM1MwVhvrQL3Bkwvek95+Lr1KcUVtIc6br8ufRXz5aC8KA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1715</AUTH_ID><PUBLICKEY>TM9uz8oinDQEzw5K3a2A9FXR+Byfqjj2MsY4vHzPZCi8ssv1EP/ICQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>dmvVMtOpecD5jQBdFQCzl0XVGG4TKYC8RyLovM0+dTdGA6dw7smaEg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>QhbZYfTjjdEwhSQKvbM7cLPVJ2alLFSir10y4CKybbA3upe/QXX7dQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+WMPInfo.xml Does not exist on this device
+OK.
diff --git a/logs/mtp-detect-lge-vs425pp.txt b/logs/mtp-detect-lge-vs425pp.txt
new file mode 100644
index 0000000..70c662c
--- /dev/null
+++ b/logs/mtp-detect-lge-vs425pp.txt
@@ -0,0 +1,574 @@
+Device 0 (VID=1004 and PID=62ce) is UNKNOWN in libmtp v1.1.10.
+Please report this VID/PID and the device model to the libmtp development team
+libmtp version: 1.1.10
+
+Listing raw device(s)
+   Found 1 device(s):
+   1004:62ce @ bus 3, dev 12
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 1004
+   idProduct: 62ce
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 3
+      Device number: 12
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x1004
+         Product: (null)
+         Vendor id: 0x62ce
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: LGE
+   Model: VS425PP
+   Device version: 1.0
+   Serial number: VS425PP28337739
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x400c
+   0x4007
+   0x4006
+   0xc801
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+   300a: MS AVI
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc47: Date Authored STRING data type DATETIME FORM READ ONLY
+   ba83: Microsoft Word Document
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+   ba85: Microsoft Excel Spreadsheet (.xls)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+   ba86: Microsoft Powerpoint (.ppt)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 4444696576
+      FreeSpaceInBytes: 402866176
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   Portable Network Graphics
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+   Audio Video Interleave
+   Microsoft Advanced Systems Format
+   DOC file
+   XLS file
+   PPT file
+OK.
diff --git a/logs/mtp-detect-logik-dax-dab.txt b/logs/mtp-detect-logik-dax-dab.txt
new file mode 100644
index 0000000..a36b459
--- /dev/null
+++ b/logs/mtp-detect-logik-dax-dab.txt
@@ -0,0 +1,220 @@
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 13d1
+   idProduct: 7002
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000000
+Device info:
+   Manufacturer: Logik Inc.
+   Model: DAX MTP-JANUS Player v8.75
+   Device version: v8.75
+   Serial number: 000000112F6A7BE20605252207080096
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/WMDRMPD: 10.1;audible.com: 1.0;
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   101b: Get partial object
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Device Friendly Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3009: MP3
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      dc9a: AlbumName STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+   b901: WMA
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      dc9a: AlbumName STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+   3001: Association/Directory
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+   3000: Undefined Type
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+   b802: Firmware
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+   ba03: Abstract Audio Album
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 926679040
+      FreeSpaceInBytes: 650257204
+      FreeSpaceInObjects: 6810
+      StorageDescription: Internal Storage
+      VolumeIdentifier: 000000112F6A7BE20605252207080096
+Special directories:
+   Default music folder: 0x20000003
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: DAX MTP-JANUS Player v8.75
+   Synchronization partner: Longhorn Sync Engine
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   Firmware file
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#19770910 02:52:42Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>AG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">AAAAES9qe+IGBSUiBwgAlgAAAAA=</UNIQUEID><PUBLICKEY private="1">TRqeXBB6zG7j2kGKAfFxRhVlPlE82SQkAADhG7FRyayFstleVHwdcg==</PUBLICKEY><KEYDATA>RJuD+zWQkDXKTXTUHS1TtDPofUc=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>vwSZqybBO84HJ4PIEUrrfERmm3RSfQ96ROVEnfZm6IK45oyfc+jjfw==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>Y/rqtWkS9t77w9h53qsX3CUxpms=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.104.231</SECURITYVERSION><CERTIFICATE private="1">TRqeXBB6zG7j2kGKAfFxRhVlPlE82SQkAADhG7FRyayFstleVHwdcgIEaOcnJejTsr/nPw0ea7XdnSvFZSZ9DIQPENAPbBW/AoR0C6zOFOHePdkN</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>DIXONS</NAME><MANUFACTURER>AMAX</MANUFACTURER><MAKE>AMAX</MAKE><DISTRIBUTOR>DIXONS</DISTRIBUTOR><MODEL>LogikDAX1GB</MODEL><SECURITYLEVEL>2000</SECURITYLEVEL><HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR><HARDWARE_VER_MINOR>1.1</HARDWARE_VER_MINOR><FIRMWARE_VER_MAJOR>8</FIRMWARE_VER_MAJOR><FIRMWARE_VER_MINOR>75</FIRMWARE_VER_MINOR><FEATURES><CLOCK>2</CLOCK><SECURECLOCK><URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL><PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY></SECURECLOCK><METERING>1</METERING><LICENSE_ACQ>0</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>0</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT></FEATURES><LIMITS><MAXCHAINDEPTH>2</MAXCHAINDEPTH><MAXLICENSESIZE>10240</MAXLICENSESIZE><MAXHEADERSIZE>5120</MAXHEADERSIZE></LIMITS><PUBLICKEY>9/31dQvE0FSIdy9UUT5sgJ+qk2OpaqSf3rbRiGaC5g6wuwUuu65pWg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>EsneZWhjXJo79Skt2B+ywpSAw3bmPuSxZlFiAzPlyZxZlVUdBYBXVA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1099</AUTH_ID><PUBLICKEY>EFOteztjJaNJacTdQjaRNtV5XBS0vQjYHy/0jjC9TPPYH3ypgt7FdQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>2OH2NwflQYtMSxqwf7Hsx5FFu0qA9TOp9hjf6LefaBADPfYFp0DJDA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DPTP: Closing session
+ATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>6sck/NeJa1EWjMolvlX/kNbm5jNnDkD7MmWBay/AyxPaTuHNu3RPIg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+
+Device description WMPInfo.xml file:
+<DeviceInfo>
+    <WMP DeviceID="{C32790AF-4DE3-45E3-9529-BBD40A53360C}" RelationshipID="{00000000-0000-0000-0000-000000000000}"/>
+</DeviceInfo>
+
+OK.
diff --git a/logs/mtp-detect-marshall-london.txt b/logs/mtp-detect-marshall-london.txt
new file mode 100644
index 0000000..02a0970
--- /dev/null
+++ b/logs/mtp-detect-marshall-london.txt
@@ -0,0 +1,494 @@
+libmtp version: 1.1.10
+
+Listing raw device(s)
+Device 0 (VID=2ad9 and PID=000a) is UNKNOWN in libmtp v1.1.10.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   2ad9:000a @ bus 2, dev 10
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+Error 1: Get Storage information failed.
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 2ad9
+   idProduct: 000a
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 10
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x2ad9
+         Product: (null)
+         Vendor id: 0x000a
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Zound Industries Smartphones AB
+   Model: London
+   Device version: 1.0
+   Serial number: cb76f2a2
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: London
+   Synchronization partner: London
+   Battery level 46 of 100 (46%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-maxfield-g-flash-ng-1GB.txt b/logs/mtp-detect-maxfield-g-flash-ng-1GB.txt
new file mode 100644
index 0000000..bcf85ac
--- /dev/null
+++ b/logs/mtp-detect-maxfield-g-flash-ng-1GB.txt
@@ -0,0 +1,145 @@
+Device 0 (VID=066f and PID=846c) is a Maxfield G-Flash NG 1GB.
+Error 2: PTP Layer error 02ff: get_device_unicode_property(): failed to get unicode property.
+Error 2: (Look this up in ptp.h for an explanation.)
+ERROR: Could not close session!
+inep: usb_get_endpoint_status(): No such device
+outep: usb_get_endpoint_status(): No such device
+usb_clear_halt() on IN endpoint: No such device
+usb_clear_halt() on OUT endpoint: No such device
+usb_clear_halt() on INTERRUPT endpoint: No such device
+libmtp version: 0.3.7
+
+Listing raw device(s)
+   Found 1 device(s):
+   Maxfield: G-Flash NG 1GB (066f:846c) @ bus 0, dev 30
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 066f
+   idProduct: 846c
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 30
+      Device entry info:
+         Vendor: Maxfield
+         Vendor id: 0x066f
+         Product: G-Flash NG 1GB
+         Vendor id: 0x846c
+         Device flags: 0x00000006
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: 0100                                   	..
+Device info:
+   Manufacturer: SigmaTel
+   Model: MTP Player
+   Device version: SDK4.210
+   Serial number: 0002FA82174ED9C80002FA82174ACA0C
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 10.0
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   101b: Get partial object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   100f: Format storage
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   97f1: Unknown (97f1)
+   97f2: Unknown (97f2)
+   97f3: Unknown (97f3)
+   1010: Reset device
+Events supported:
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd402: Friendly Device Name
+   0xd401: Synchronization Partner
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3009: MP3
+   3008: MS Wave
+   b901: WMA
+   b902: OGG
+   3007: AIFF
+   b903: AAC
+   300c: ASF
+   3001: Association/Directory
+   ba05: Abstract Audio Video Playlist
+   3801: JPEG
+   ba11: M3U Playlist
+   ba03: Abstract Audio Album
+   3000: Undefined Type
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 990117888
+      FreeSpaceInBytes: 478984104
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Internal Storage
+      VolumeIdentifier: 0002FA82174ED9C80002FA82174ACA0C
+Special directories:
+   Default music folder: 0x00000000
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   RIFF WAVE file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Microsoft Advanced Systems Format
+   JPEG file
+Unable to acquire device certificate, perhaps this device does not support this
+OK.
+
+ 	  	 
diff --git a/logs/mtp-detect-medion-lifetab-p9514.txt b/logs/mtp-detect-medion-lifetab-p9514.txt
new file mode 100644
index 0000000..08ffa4b
--- /dev/null
+++ b/logs/mtp-detect-medion-lifetab-p9514.txt
@@ -0,0 +1,158 @@
+libmtp version: 1.1.3
+
+Listing raw device(s)
+Device 0 (VID=0408 and PID=b00a) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0408:b00a @ bus 2, dev 27
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 20475
+   bDeviceClass: 63
+   bDeviceSubClass: 127
+   bDeviceProtocol: 0
+   idVendor: 9f27
+   idProduct: 4fc9
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 27
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0408
+         Product: (null)
+         Vendor id: 0xb00a
+         Device flags: 0x08008106
+Device info:
+   Manufacturer: MEDION
+   Model: LIFETAB_P9514
+   Device version: 1.0
+   Serial number: 037c61c24140d657
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+   3001: Association/Directory
+   3004: Text
+   3005: HTML
+   3008: MS Wave
+   3009: MP3
+   300b: MPEG
+   3801: JPEG
+   3802: TIFF EP
+   3807: GIF
+   3808: JFIF
+   380b: PNG
+   380d: TIFF
+   b901: WMA
+   b902: OGG
+   b903: AAC
+   b982: MP4
+   b983: MP2
+   b984: 3GP
+   ba05: Abstract Audio Video Playlist
+   ba10: WPL Playlist
+   ba11: M3U Playlist
+   ba14: PLS Playlist
+   ba82: XMLDocument
+   b906: FLAC
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 30042714112
+      FreeSpaceInBytes: 552730524
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal Storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000002
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+ERROR: Could not close session!
+inep: usb_get_endpoint_status(): No such device
+outep: usb_get_endpoint_status(): No such device
+usb_clear_halt() on IN endpoint: No such device
+usb_clear_halt() on OUT endpoint: No such device
+usb_clear_halt() on INTERRUPT endpoint: No such device
+OK.
diff --git a/logs/mtp-detect-medion-lifetab-p9516.txt b/logs/mtp-detect-medion-lifetab-p9516.txt
new file mode 100644
index 0000000..b10798b
--- /dev/null
+++ b/logs/mtp-detect-medion-lifetab-p9516.txt
@@ -0,0 +1,471 @@
+Device 0 (VID=17ef and PID=7483) is UNKNOWN.
+
+libmtp version: 1.1.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   17ef:7483 @ bus 1, dev 13
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 17ef
+   idProduct: 7483
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 13
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x17ef
+         Product: (null)
+         Vendor id: 0x7483
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: MEDION
+   Model: MD_LIFETAB_P9516
+   Device version: 1.0
+   Serial number: 0a5c01c340008357
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 31902400512
+      FreeSpaceInBytes: 31869861888
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD-Karte
+      VolumeIdentifier: (null)
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 27177234432
+      FreeSpaceInBytes: 26894258076
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Interner Speicher
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-meizu-m2note.txt b/logs/mtp-detect-meizu-m2note.txt
new file mode 100644
index 0000000..8eb58ad
--- /dev/null
+++ b/logs/mtp-detect-meizu-m2note.txt
@@ -0,0 +1,518 @@
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.9
+
+Listing raw device(s)
+   Found 1 device(s):
+   2a45:2008 @ bus 2, dev 4
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 2a45
+   idProduct: 2008
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 4
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x2a45
+         Product: (null)
+         Vendor id: 0x2008
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Meizu
+   Model: m2 note
+   Device version: 1.0
+   Serial number: 81HEBM222T85
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 12443893760
+      FreeSpaceInBytes: 8228728832
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Память телефона
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000003
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: m2 note
+   Synchronization partner: m2 note
+   Battery level 21 of 100 (20%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-meizu-mx4.txt b/logs/mtp-detect-meizu-mx4.txt
new file mode 100644
index 0000000..4561fd4
--- /dev/null
+++ b/logs/mtp-detect-meizu-mx4.txt
@@ -0,0 +1,478 @@
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.
+Device 0 (VID=2a45 and PID=0c02) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+libmtp version: 1.1.8
+
+Listing raw device(s)
+   Found 1 device(s):
+   2a45:0c02 @ bus 2, dev 34
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 528
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 2a45
+   idProduct: 0c02
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 34
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x2a45
+         Product: (null)
+         Vendor id: 0x0c02
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Meizu
+   Model: MX4
+   Device version: 1.0
+   Serial number: 75HACKND53UU
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 28483907584
+      FreeSpaceInBytes: 20446560256
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Память телефона
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000003
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: meizu_mx4
+   Synchronization partner: meizu_mx4
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-memorex-mmp8585.txt b/logs/mtp-detect-memorex-mmp8585.txt
new file mode 100644
index 0000000..f08909a
--- /dev/null
+++ b/logs/mtp-detect-memorex-mmp8585.txt
@@ -0,0 +1,327 @@
+libmtp version: 0.2.6.1
+
+Attempting to connect device(s)
+Detect: No Devices have been found
+steven@blacks-plum:~$ mtp-detect --help
+libmtp version: 0.2.6.1
+
+Attempting to connect device(s)
+PTP: Opening session
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 255
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 10d6
+   idProduct: 2300
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+        0000: 1203 4d00 5300 4600 5400 3100 3000 3000   ..M.S.F.T.1.0.0.
+        0010: fe00                                      ..
+Microsoft device response to control message 1, CMD 0xfe:
+        0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............
+        0010: 0001 4d54 5000 0000 0000 0000 0000 0000   ..MTP...........
+        0020: 0000 0000 0000 0000                       ........
+Microsoft device response to control message 2, CMD 0xfe:
+        0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............
+        0010: 0001 4d54 5000 0000 0000 0000 0000 0000   ..MTP...........
+        0020: 0000 0000 0000 0000                       ........
+Device info:
+   Manufacturer: .
+   Model: NOYA player
+   Device version: ucos
+   Serial number: 㜱䐰䐹㤱あ㈱㘶㤴㝂㡄㘸㠷䑅㌰㜶㐸
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0;
+microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 10.0;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   101b: Get partial object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9201: Report Added/Deleted Items
+Events supported:
+   None.
+Device Properties Supported:
+   0xd101: Secure Time
+   0xd401: Synchronization Partner
+   0x5001: Battery Level
+   0xd102: Device Certificate
+   0xd402: Friendly Device Name
+Playable File (Object) Types and Object Properties Supported:
+   3009: MP3
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX 800000, STEP 1 READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 384000, STEP 1 READ ONLY
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+   b901: WMA
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX 800000, STEP 1 READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 384000, STEP 1 READ ONLY
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+   300c: ASF
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX 800000, STEP 1 READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      de97: ScanDepth UINT16 data type enumeration: 1,  READ ONLY
+      de91: TotalBitRate UINT32 data type range: MIN 1, MAX 1234000, STEP 1 READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 384000, STEP 1 READ ONLY
+      dc8c: Genre STRING data type GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      dc94: ParentalRating STRING data type GET/SET
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 15000, MAX 30000, STEP 1 GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911, 0, 859189832, 958804552, 1195724877, 827739479, 844516695,  GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 1, MAX 850000, STEP 1 READ ONLY
+   b981: WMV
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX 800000, STEP 1 READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      de97: ScanDepth UINT16 data type enumeration: 1,  READ ONLY
+      de91: TotalBitRate UINT32 data type range: MIN 1, MAX 1234000, STEP 1 READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 384000, STEP 1 READ ONLY
+      dc8c: Genre STRING data type GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      dc94: ParentalRating STRING data type GET/SET
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 15000, MAX 30000, STEP 1 GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911, 0, 859189832, 958804552, 1195724877, 827739479, 844516695,  GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 1, MAX 850000, STEP 1 READ ONLY
+   3801: JPEG
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+   3001: Association/Directory
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+   ba03: Abstract Audio Album
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+   3000: Undefined Type
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+   300a: MS AVI
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc89: Duration UINT32 data type range: MIN 1, MAX 800000, STEP 1 READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      de97: ScanDepth UINT16 data type enumeration: 1,  READ ONLY
+      de91: TotalBitRate UINT32 data type range: MIN 1, MAX 1234000, STEP 1 READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 384000, STEP 1 READ ONLY
+      dc8c: Genre STRING data type GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      dc94: ParentalRating STRING data type GET/SET
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 15000, MAX 30000, STEP 1 GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911, 0, 859189832, 958804552, 1195724877, 827739479, 844516695,  GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 1, MAX 850000, STEP 1 READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 4047237120
+      FreeSpaceInBytes: 4028313600
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Removable Media
+      VolumeIdentifier: Rainer
+Special directories:
+   Default music folder: 0x00000000
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: Media Player
+   Synchronization partner: Longhorn Sync Engine
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   Microsoft Advanced Systems Format
+   Microsoft Windows Media Video
+   JPEG file
+   Audio Video Interleave
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20001002
+17:41:03Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID
+private="1">Vf4G7F7CHUSxavhMPZKiVz2Solc=</UNIQUEID><PUBLICKEY
+private="1">6m7P50bEUpy3fEiaEX533yEmiG2TMuLXgmMMbaSUYa+xKSgdNwb7Ww==</PUBLICKEY><KEYDATA>n1mXuPlGTaLiPj5NZE0H7vvK5qc=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>6m7P50bEUpy3fEiaEX533yEmiG1evdnY42hjERHyhFlEwHDKyujsSw==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>GwyTmoHExxzUKB6eDtAntomKoNQ=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.104.69</SECURITYVERSION><CERTIFICATE
+private="1">6m7P50bEUpy3fEiaEX533yEmiG2TMuLXgmMMbaSUYa+xKSgdNwb7WwIEaEXqbs/nRsRSnLd8SJoRfnffISaIbRBYD89+qo2XreQfCNh+Z3EgqBMZ</CERTIFICATE></FALLBACK><CERTIFICATE
+type="GROUP"><DATA><NAME>AJT2135</NAME><MANUFACTURER>ACE</MANUFACTURER><MAKE>2007</MAKE><DISTRIBUTOR>ACE</DISTRIBUTOR><MODEL>ATJ2135</MODEL><SECURITYLEVEL>2000</SECURITYLEVEL><HARDWARE_VER_MAJOR>2</HARDWARE_VER_MAJOR><HARDWARE_VER_MINOR>1</HARDWARE_VER_MINOR><FIRMWARE_VER_MAJOR>3</FIRMWARE_VER_MAJOR><FIRMWARE_VER_MINOR>1</FIRMWARE_VER_MINOR><FEATURES><CLOCK>2</CLOCK><SECURECLOCK><URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL><PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY></SECURECLOCK><METERING>1</METERING><LICENSE_ACQ>0</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>0</ENCRYPTION><SYMMETRIC_OPT>0</SYMMETRIC_OPT></FEATURES><LIMITS><MAXCHAINDEPTH>2</MAXCHAINDEPTH><MAXLICENSESIZE>6656</MAXLICENSESIZE><MAXHEADERSIZE>5120</MAXHEADERSIZE></LIMITS><PUBLICKEY>aKn63Nc++pV7Pef8YSt+O3OkKoMsEzcIOkyRf1CmG4G2Uvyla6lrPA==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>U/dFrSbAAh3r1KcuXqAE++lgKyItgTBSAM8GLKqllDCOcl+wpVMJEQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>937</AUTH_ID><PUBLICKEY>f7dKS06DZFDxQ7ABffaZncjGHzWgeOqlqzqRPGIo5e35oFjJCE9kMQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>X0GQwjWqnUQiZLnEX1jqDQrgghwGDFi3TJT9jWGBQXX72aCg4MKiMg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>X2ZRVidfxhHFEoYrvpXpT7O/9oOsaMx3mIeuj88knrszG9b5M9PDbw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+WMPInfo.xml Does not exist on this device
+PTP: Closing session
+usb_clear_halt() on INTERRUPT endpoint: Broken pipe
+OK.
diff --git a/logs/mtp-detect-microsoft-kin-1.txt b/logs/mtp-detect-microsoft-kin-1.txt
new file mode 100644
index 0000000..37d62e7
--- /dev/null
+++ b/logs/mtp-detect-microsoft-kin-1.txt
@@ -0,0 +1,797 @@
+Potential MTP Device with VendorID:045e and ProductID:0640 responded to control message 2 with a response that was too short. Problems may arrise but continuing
+Device 0 (VID=045e and PID=0640) is UNKNOWN.                                    
+Please report this VID/PID and the device model to the libmtp development team  
+   Found 1 device(s):                                                           
+   045e:0640 @ bus 1, dev 3                                                     
+Attempting to connect device(s)                                                 
+USB low-level info:                                                             
+   Using kernel interface "dummy"                                               
+   bcdUSB: 512                                                                  
+   bDeviceClass: 255                                                            
+   bDeviceSubClass: 0                                                           
+   bDeviceProtocol: 0                                                           
+   idVendor: 045e                                                               
+   idProduct: 0640                                                              
+   IN endpoint maxpacket: 512 bytes                                             
+   OUT endpoint maxpacket: 512 bytes                                            
+   Raw device info:                                                             
+      Bus location: 1                                                           
+      Device number: 3                                                          
+      Device entry info:                                                        
+         Vendor: (null)                                                         
+         Vendor id: 0x045e                                                      
+         Product: (null)                                                        
+         Vendor id: 0x0640                                                      
+         Device flags: 0x00000000                                               
+Microsoft device descriptor 0xee:                                               
+        0000: 1203 4d00 5300 4600 5400 3100 3000 3000   ..M.S.F.T.1.0.0.        
+        0010: fe00                                      ..                      
+Microsoft device response to control message 1, CMD 0xfe:                       
+        0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............        
+        0010: 0001 4d54 505a 0000 0000 0000 0000 0000   ..MTPZ..........        
+        0020: 0000 0000 0000 0000                       ........                
+Potential MTP Device with VendorID:045e and ProductID:0640 responded to control message 2 with a response that was too short. Problems may arrise but continuing
+Device info:                                                                    
+   Manufacturer: NVIDIA APX_2500                                                
+   Model: KIN                                                                   
+   Device version: 03.00.04704.00-03.00.04704.00-03.00.04704.00                 
+   Serial number: ac037cb3 - 160fc247 - a97202da - d61d3080                     
+   Vendor extension ID: 0x00000006                                              
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 11.1; microsoft.com/AAVT: 1.0; microsoft.com/WMDRMND: 1.0; microsoft.com/MTPZ: 1.0;                                                      
+   Detected object size: 64 bits                                                
+Supported operations:                                                           
+   1001: get device info                                                        
+   1002: Open session                                                           
+   1003: Close session                                                          
+   1004: Get storage IDs                                                        
+   1005: Get storage info                                                       
+   1006: Get number of objects                                                  
+   1007: Get object handles                                                     
+   1008: Get object info                                                        
+   1009: Get object                                                             
+   100b: Delete object                                                          
+   100c: Send object info                                                       
+   100d: Send object                                                            
+   100f: Format storage                                                         
+   1010: Reset device                                                           
+   1013: Power down device                                                      
+   1014: Get device property description                                        
+   1015: Get device property value                                              
+   1016: Set device property value                                              
+   1019: Move object                                                            
+   101b: Get partial object                                                     
+   9810: Get object references                                                  
+   9811: Set object references                                                  
+   9802: Get object property description                                        
+   9807: Get interdependent property description                                
+   9801: Get object properties supported                                        
+   9803: Get object property value                                              
+   9804: Set object property value                                              
+   9805: Get object property list                                               
+   9806: Set object property list                                               
+   9808: Send object property list                                              
+   9229: Unknown (9229)                                                         
+   922a: Unknown (922a)                                                         
+   922e: Unknown (922e)                                                         
+   922f: Unknown (922f)                                                         
+   9230: Unknown (9230)                                                         
+   9231: Unknown (9231)                                                         
+   9101: Get secure time challenge                                              
+   9102: Get secure time response                                               
+   9103: Set license response                                                   
+   9104: Get sync list                                                          
+   9105: Send meter challenge query                                             
+   9106: Get meter challenge                                                    
+   9107: Get meter response                                                     
+   9108: Clean data store                                                       
+   9109: Get license state                                                      
+   910a: Send WMDRM-PD Command                                                  
+   910b: Send WMDRM-PD Request                                                  
+   9218: Unknown (9218)                                                         
+   9219: Unknown (9219)                                                         
+   9204: Unknown (9204)                                                         
+   9217: Unknown (9217)                                                         
+   9232: Unknown (9232)                                                         
+   9226: Unknown (9226)                                                         
+   9225: Unknown (9225)                                                         
+   9224: Unknown (9224)                                                         
+   9227: Unknown (9227)                                                         
+   9228: Unknown (9228)                                                         
+   9212: Send WMDRM-PD Application Request                                      
+   9213: Get WMDRM-PD Application Response                                      
+   9214: Enable trusted file operations                                         
+   9215: Disable trusted file operations                                        
+   9216: End trusted application session                                        
+   9170: Open Media Session                                                     
+   9171: Close Media Session                                                    
+   9172: Get Next Data Block                                                    
+   921a: Unknown (921a)                                                         
+   921b: Unknown (921b)                                                         
+   921c: Unknown (921c)                                                         
+   921d: Unknown (921d)                                                         
+   9180: Send Registration Request                                              
+   9181: Get Registration Response                                              
+   9182: Get Proximity Challenge                                                
+   9183: Send Proximity Response                                                
+   9184: Send WMDRM-ND License Request                                          
+   9185: Get WMDRM-ND License Response                                          
+   9220: Unknown (9220)                                                         
+   9221: Unknown (9221)                                                         
+   9222: Unknown (9222)                                                         
+   9223: Unknown (9223)                                                         
+   6108: Unknown (6108)                                                         
+Events supported:                                                               
+   0x400c                                                                       
+   0x4003                                                                       
+   0xc701                                                                       
+   0xc702                                                                       
+Device Properties Supported:                                                    
+   0xd501: Unknown property                                                     
+   0xd221: Unknown property                                                     
+   0xd101: Secure Time                                                          
+   0xd401: Synchronization Partner                                              
+   0x5001: Battery Level                                                        
+   0xd102: Device Certificate                                                   
+   0xd402: Friendly Device Name                                                 
+   0x5002: Functional Mode                                                      
+   0xd219: Unknown property                                                     
+   0xd218: Unknown property                                                     
+   0xd22f: Unknown property                                                     
+   0xd405: Device Icon                                                          
+   0xd225: Unknown property                                                     
+   0xd21c: Unknown property                                                     
+   0xd226: Unknown property                                                     
+   0xd406: Session Initiator Info                                               
+   0xd217: Unknown property                                                     
+   0xd103: Revocation Info                                                      
+   0xd21a: Unknown property                                                     
+   0xd232: Unknown property                                                     
+   0xd235: Unknown property                                                     
+   0xd233: Unknown property                                                     
+   0xd234: Unknown property                                                     
+   0xd21b: Unknown property                                                     
+   0xd21f: Unknown property                                                     
+   0xd100: Unknown property                                                     
+   0xd220: Unknown property                                                     
+   0xd230: Unknown property                                                     
+   0xd227: Unknown property                                                     
+   0xd228: Unknown property                                                     
+   0xd22a: Unknown property                                                     
+   0xd22b: Unknown property                                                     
+   0xd22c: Unknown property                                                     
+   0xd229: Unknown property                                                     
+   0xd22d: Unknown property                                                     
+   0xd22e: Unknown property                                                     
+   0xd231: Unknown property                                                     
+Playable File (Object) Types and Object Properties Supported:                   
+   b217: Unknown(b217)                                                          
+      da99: Unknown property UINT128 data type GET/SET                          
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY                                                                
+      dc44: Name STRING data type GET/SET                                       
+      dc04: Object Size UINT64 data type READ ONLY                              
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET        
+      dab7: Unknown property STRING data type GET/SET                           
+      da97: Unknown property UINT128 data type GET/SET                          
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET          
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET                
+      dc07: Object File Name STRING data type GET/SET                           
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY       
+      dc4b: Copyright Information array of UINT16 data type ANY 16BIT VALUE form GET/SET                                                                        
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY       
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  GET/SET                                                                          
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY          
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY     
+      daba: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET      
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET                                                                            
+      dc46: Artist STRING data type GET/SET                                     
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET  
+      dc8c: Genre STRING data type GET/SET                                      
+      dc94: Parental Rating STRING data type GET/SET                            
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY                                                               
+   b218: Unknown(b218)                                                          
+      da99: Unknown property UINT128 data type GET/SET                          
+      dc44: Name STRING data type GET/SET                                       
+      dc04: Object Size UINT64 data type READ ONLY                              
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET        
+      da97: Unknown property UINT128 data type GET/SET                          
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET          
+      dc07: Object File Name STRING data type GET/SET                           
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY       
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY       
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY          
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY     
+   ba0b: Abstract Mediacast                                                     
+      da99: Unknown property UINT128 data type GET/SET                          
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY                                                                
+      dc44: Name STRING data type GET/SET                                       
+      dc04: Object Size UINT64 data type READ ONLY                              
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET        
+      da97: Unknown property UINT128 data type GET/SET                          
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET          
+      dc07: Object File Name STRING data type GET/SET                           
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY       
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY       
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  GET/SET                                                                          
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY          
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY     
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET                                                                            
+      dc46: Artist STRING data type GET/SET                                     
+      da9c: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET        
+      da9d: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET      
+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET   
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY                                                               
+   b802: Firmware                                                               
+      da99: Unknown property UINT128 data type GET/SET                          
+      dc04: Object Size UINT64 data type READ ONLY                              
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET        
+      da97: Unknown property UINT128 data type GET/SET                          
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET          
+      dc07: Object File Name STRING data type GET/SET                           
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY       
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY       
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY          
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY     
+   3000: Undefined Type                                                         
+      da99: Unknown property UINT128 data type GET/SET                          
+      dc04: Object Size UINT64 data type READ ONLY                              
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET        
+      da97: Unknown property UINT128 data type GET/SET                          
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET          
+      dc07: Object File Name STRING data type GET/SET                           
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY       
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY       
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY          
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY     
+   b211: Media Card                                                             
+      da99: Unknown property UINT128 data type GET/SET                          
+      dc84: Representative Sample Width UINT32 data type ANY 32BIT VALUE form READ ONLY                                                                         
+      dc44: Name STRING data type GET/SET                                       
+      dc04: Object Size UINT64 data type READ ONLY                              
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET        
+      da97: Unknown property UINT128 data type GET/SET                          
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET          
+      dc07: Object File Name STRING data type GET/SET                           
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY       
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY       
+      dc81: Representative Sample Format UINT16 data type ANY 16BIT VALUE form GET/SET                                                                          
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY          
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY     
+      da95: Unknown property array of UINT8 data type byte array:  GET/SET      
+      dc83: Representative Sample Height UINT32 data type ANY 32BIT VALUE form READ ONLY                                                                        
+      daa3: Unknown property UINT64 data type GET/SET                           
+      da96: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET      
+      dab1: Unknown property STRING data type GET/SET                           
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET                                                                            
+   ba05: Abstract Audio Video Playlist                                          
+      da99: Unknown property UINT128 data type GET/SET                          
+      dc44: Name STRING data type GET/SET                                       
+      dc04: Object Size UINT64 data type READ ONLY                              
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET        
+      da97: Unknown property UINT128 data type GET/SET                          
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET          
+      dc07: Object File Name STRING data type GET/SET                           
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY       
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY       
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY          
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY     
+      da9f: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET        
+      daa3: Unknown property UINT64 data type GET/SET                           
+      dab3: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET        
+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET   
+   ba03: Abstract Audio Album                                                   
+      dab9: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET      
+      da99: Unknown property UINT128 data type GET/SET                          
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY                                                                
+      dc44: Name STRING data type GET/SET                                       
+      dc04: Object Size UINT64 data type READ ONLY                              
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET        
+      da97: Unknown property UINT128 data type GET/SET                          
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET          
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET                
+      dc07: Object File Name STRING data type GET/SET                           
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY       
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY       
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  GET/SET                                                                          
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY          
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY     
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET                                                                            
+      dc46: Artist STRING data type GET/SET                                     
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY                                                               
+   3001: Association/Directory                                                  
+      da99: Unknown property UINT128 data type GET/SET                          
+      dc04: Object Size UINT64 data type READ ONLY                              
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET        
+      da97: Unknown property UINT128 data type GET/SET                          
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET          
+      dc07: Object File Name STRING data type GET/SET                           
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY       
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY       
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY          
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY     
+   3801: JPEG                                                                   
+      da99: Unknown property UINT128 data type GET/SET                          
+      dc04: Object Size UINT64 data type READ ONLY                              
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET        
+      da97: Unknown property UINT128 data type GET/SET                          
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET          
+      dc87: Width UINT32 data type range: MIN 0, MAX 800, STEP 1 GET/SET        
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET                
+      dc07: Object File Name STRING data type GET/SET                           
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY       
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY       
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY          
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY     
+      dc88: Height UINT32 data type range: MIN 0, MAX 600, STEP 1 GET/SET       
+   b981: WMV                                                                    
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353, 354,  READ ONLY 
+      da99: Unknown property UINT128 data type GET/SET                          
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY                                                                
+      dc44: Name STRING data type GET/SET                                       
+      dc04: Object Size UINT64 data type READ ONLY                              
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET        
+      de97: Scan Depth UINT16 data type enumeration: 1,  READ ONLY              
+      da97: Unknown property UINT128 data type GET/SET                          
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET          
+      dc87: Width UINT32 data type range: MIN 48, MAX 1280, STEP 2 GET/SET      
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET                
+      dc07: Object File Name STRING data type GET/SET                           
+      da82: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET        
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET         
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY       
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY       
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  GET/SET                                                                          
+      dea1: Encoding Profile STRING data type READ ONLY                         
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY          
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY     
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET                                                                            
+      dc46: Artist STRING data type GET/SET                                     
+      de9b: Video Four CC Codec UINT32 data type enumeration: 861293911, 826496599,  READ ONLY                                                                  
+      da9b: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET        
+      dc88: Height UINT32 data type range: MIN 32, MAX 720, STEP 2 GET/SET      
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET  
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 10000, MAX 30100, STEP 1 READ ONLY                                                          
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET             
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET              
+      dab6: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET      
+      dab5: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET      
+      dc95: Meta Genre UINT16 data type ANY 16BIT VALUE form GET/SET            
+      de9e: Key Frame Distance UINT32 data type enumeration: 3,  READ ONLY      
+      da9e: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET      
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 563200, STEP 1 READ ONLY                                                                       
+      da9a: Unknown property STRING data type GET/SET                           
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 10,  READ ONLY                                                                               
+      dc94: Parental Rating STRING data type GET/SET                            
+      de91: Total Bit Rate UINT32 data type range: MIN 12000, MAX 15302656, STEP 1 READ ONLY                                                                    
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET             
+      dc4c: Source STRING data type GET/SET                                     
+      dea0: Encoding Quality UINT32 data type enumeration: 50,  READ ONLY       
+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET   
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET       
+      da98: Unknown property STRING data type GET/SET                           
+      de92: Bit Rate Type UINT16 data type enumeration: 1,  READ ONLY           
+      de9f: Buffer Size UINT32 data type enumeration: 3,  READ ONLY             
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY                                                               
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY                                                                          
+      de9c: Video Bit Rate UINT32 data type range: MIN 4000, MAX 14680064, STEP 1 READ ONLY                                                                     
+   b982: MP4                                                                    
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  READ ONLY    
+      da99: Unknown property UINT128 data type GET/SET                          
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY                                                                
+      dc44: Name STRING data type GET/SET                                       
+      dc04: Object Size UINT64 data type READ ONLY                              
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET        
+      de97: Scan Depth UINT16 data type enumeration: 1,  READ ONLY              
+      da97: Unknown property UINT128 data type GET/SET                          
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET          
+      dc87: Width UINT32 data type range: MIN 48, MAX 1280, STEP 2 GET/SET      
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET                
+      dc07: Object File Name STRING data type GET/SET                           
+      da82: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET        
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET         
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY       
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY       
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  GET/SET                                                                          
+      dea1: Encoding Profile STRING data type READ ONLY                         
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY          
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY     
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET                                                                            
+      dc46: Artist STRING data type GET/SET                                     
+      de9b: Video Four CC Codec UINT32 data type enumeration: 826496577, 844313677,  READ ONLY                                                                  
+      da9b: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET        
+      dc88: Height UINT32 data type range: MIN 32, MAX 720, STEP 2 GET/SET      
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET  
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 10000, MAX 30100, STEP 1 READ ONLY                                                          
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET             
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET              
+      dab6: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET      
+      dab5: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET      
+      dc95: Meta Genre UINT16 data type ANY 16BIT VALUE form GET/SET            
+      de9e: Key Frame Distance UINT32 data type ANY 32BIT VALUE form READ ONLY  
+      da9e: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET      
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 327680, STEP 1 READ ONLY                                                                      
+      da9a: Unknown property STRING data type GET/SET                           
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  READ ONLY   
+      dc94: Parental Rating STRING data type GET/SET                            
+      de91: Total Bit Rate UINT32 data type range: MIN 25000, MAX 15067136, STEP 1 READ ONLY                                                                    
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET             
+      dc4c: Source STRING data type GET/SET                                     
+      dea0: Encoding Quality UINT32 data type ANY 32BIT VALUE form READ ONLY    
+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET   
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET       
+      da98: Unknown property STRING data type GET/SET                           
+      de92: Bit Rate Type UINT16 data type enumeration: 2, 1,  READ ONLY        
+      de9f: Buffer Size UINT32 data type ANY 32BIT VALUE form READ ONLY         
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY                                                               
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY                                                                          
+      de9c: Video Bit Rate UINT32 data type range: MIN 4000, MAX 14680064, STEP 1 READ ONLY                                                                     
+   b216: Unknown(b216)                                                          
+      de99: Audio WAVE Codec UINT32 data type enumeration: 5633,  READ ONLY     
+      da99: Unknown property UINT128 data type GET/SET                          
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY                                                                
+      dc44: Name STRING data type GET/SET                                       
+      dc04: Object Size UINT64 data type READ ONLY                              
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET        
+      de97: Scan Depth UINT16 data type enumeration: 1,  READ ONLY              
+      da97: Unknown property UINT128 data type GET/SET                          
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET          
+      dc87: Width UINT32 data type range: MIN 48, MAX 1280, STEP 2 GET/SET      
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET                
+      dc07: Object File Name STRING data type GET/SET                           
+      da82: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET        
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET         
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY       
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY       
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  GET/SET                                                                          
+      dea1: Encoding Profile STRING data type READ ONLY                         
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY          
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY     
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET                                                                            
+      dc46: Artist STRING data type GET/SET                                     
+      de9b: Video Four CC Codec UINT32 data type enumeration: 826496577, 844313677,  READ ONLY                                                                  
+      da9b: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET        
+      dc88: Height UINT32 data type range: MIN 32, MAX 720, STEP 2 GET/SET      
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET  
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 10000, MAX 30100, STEP 1 READ ONLY                                                          
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET             
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET              
+      dab6: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET      
+      dab5: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET      
+      dc95: Meta Genre UINT16 data type ANY 16BIT VALUE form GET/SET            
+      de9e: Key Frame Distance UINT32 data type ANY 32BIT VALUE form READ ONLY  
+      da9e: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET      
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 327680, STEP 1 READ ONLY                                                                      
+      da9a: Unknown property STRING data type GET/SET                           
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  READ ONLY   
+      dc94: Parental Rating STRING data type GET/SET                            
+      de91: Total Bit Rate UINT32 data type range: MIN 25000, MAX 15067136, STEP 1 READ ONLY                                                                    
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET             
+      dc4c: Source STRING data type GET/SET                                     
+      dea0: Encoding Quality UINT32 data type ANY 32BIT VALUE form READ ONLY    
+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET   
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET       
+      da98: Unknown property STRING data type GET/SET                           
+      de92: Bit Rate Type UINT16 data type enumeration: 2, 1,  READ ONLY        
+      de9f: Buffer Size UINT32 data type ANY 32BIT VALUE form READ ONLY         
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY                                                               
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY                                                                          
+      de9c: Video Bit Rate UINT32 data type range: MIN 4000, MAX 14680064, STEP 1 READ ONLY                                                                     
+   b903: AAC                                                                    
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  READ ONLY    
+      dab9: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET      
+      da99: Unknown property UINT128 data type GET/SET                          
+      dc84: Representative Sample Width UINT32 data type ANY 32BIT VALUE form READ ONLY                                                                         
+      dc44: Name STRING data type GET/SET                                       
+      dc04: Object Size UINT64 data type READ ONLY                              
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET        
+      da97: Unknown property UINT128 data type GET/SET                          
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET          
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET                
+      dc07: Object File Name STRING data type GET/SET                           
+      da02: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET      
+      da82: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET        
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET         
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY       
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET                 
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY       
+      da01: Unknown property STRING data type GET/SET                           
+      dc81: Representative Sample Format UINT16 data type ANY 16BIT VALUE form GET/SET                                                                          
+      d901: Buy flag UINT8 data type enumeration: 0, 1,  GET/SET                
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY          
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY     
+      da9b: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET        
+      dabb: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY    
+      dc9b: Album Artist STRING data type READ ONLY                             
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 323000, STEP 1 READ ONLY                                                                      
+      da9a: Unknown property STRING data type GET/SET                           
+      dc9a: Album Name STRING data type READ ONLY                               
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET                                                                            
+      dc46: Artist STRING data type GET/SET                                     
+      dab2: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET        
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET  
+      dab8: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET      
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET             
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET              
+      dabc: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET      
+      dc8c: Genre STRING data type GET/SET                                      
+      dc95: Meta Genre UINT16 data type ANY 16BIT VALUE form GET/SET            
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET             
+      da9e: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET      
+      da00: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET      
+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET   
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET       
+      da03: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET       
+      dc83: Representative Sample Height UINT32 data type ANY 32BIT VALUE form READ ONLY                                                                        
+      da05: Unknown property STRING data type GET/SET                           
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY                                                                          
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  READ ONLY   
+   b215: M4A                                                                    
+      de99: Audio WAVE Codec UINT32 data type enumeration: 5633,  READ ONLY     
+      dab9: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET      
+      da99: Unknown property UINT128 data type GET/SET                          
+      dc84: Representative Sample Width UINT32 data type ANY 32BIT VALUE form READ ONLY                                                                         
+      dc44: Name STRING data type GET/SET                                       
+      dc04: Object Size UINT64 data type READ ONLY                              
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET        
+      da97: Unknown property UINT128 data type GET/SET                          
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET          
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET                
+      dc07: Object File Name STRING data type GET/SET                           
+      da02: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET      
+      da82: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET        
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET         
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY       
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET                 
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY       
+      da01: Unknown property STRING data type GET/SET                           
+      dc81: Representative Sample Format UINT16 data type ANY 16BIT VALUE form GET/SET                                                                          
+      d901: Buy flag UINT8 data type enumeration: 0, 1,  GET/SET                
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY          
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY     
+      da9b: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET        
+      dabb: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY    
+      dc9b: Album Artist STRING data type READ ONLY                             
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 323000, STEP 1 READ ONLY                                                                      
+      da9a: Unknown property STRING data type GET/SET                           
+      dc9a: Album Name STRING data type READ ONLY                               
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET                                                                            
+      dc46: Artist STRING data type GET/SET                                     
+      dab2: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET        
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET  
+      dab8: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET      
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET             
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET              
+      dabc: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET      
+      dc8c: Genre STRING data type GET/SET                                      
+      dc95: Meta Genre UINT16 data type ANY 16BIT VALUE form GET/SET            
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET             
+      da9e: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET      
+      da00: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET      
+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET   
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET       
+      da03: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET       
+      dc83: Representative Sample Height UINT32 data type ANY 32BIT VALUE form READ ONLY                                                                        
+      da05: Unknown property STRING data type GET/SET                           
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY                                                                          
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  READ ONLY   
+   300c: ASF                                                                    
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353, 354,  READ ONLY 
+      da99: Unknown property UINT128 data type GET/SET                          
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY                                                                
+      dc44: Name STRING data type GET/SET                                       
+      dc04: Object Size UINT64 data type READ ONLY                              
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET        
+      de97: Scan Depth UINT16 data type enumeration: 1,  READ ONLY              
+      da97: Unknown property UINT128 data type GET/SET                          
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET          
+      dc87: Width UINT32 data type range: MIN 48, MAX 1280, STEP 2 GET/SET      
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET                
+      dc07: Object File Name STRING data type GET/SET                           
+      da82: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET        
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET         
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY       
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY       
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  GET/SET                                                                          
+      dea1: Encoding Profile STRING data type READ ONLY                         
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY          
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY     
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET                                                                            
+      dc46: Artist STRING data type GET/SET                                     
+      de9b: Video Four CC Codec UINT32 data type enumeration: 861293911,  READ ONLY                                                                             
+      da9b: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET        
+      dc88: Height UINT32 data type range: MIN 32, MAX 720, STEP 2 GET/SET      
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET  
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 10000, MAX 30000, STEP 1 READ ONLY                                                          
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET             
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET              
+      dab6: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET      
+      dab5: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET      
+      dc95: Meta Genre UINT16 data type ANY 16BIT VALUE form GET/SET            
+      de9e: Key Frame Distance UINT32 data type enumeration: 3,  READ ONLY      
+      da9e: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET      
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 563200, STEP 1 READ ONLY                                                                       
+      da9a: Unknown property STRING data type GET/SET                           
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  READ ONLY   
+      dc94: Parental Rating STRING data type GET/SET                            
+      de91: Total Bit Rate UINT32 data type range: MIN 12000, MAX 15302656, STEP 1 READ ONLY                                                                    
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET             
+      dc4c: Source STRING data type GET/SET                                     
+      dea0: Encoding Quality UINT32 data type enumeration: 50,  READ ONLY       
+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET   
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET       
+      da98: Unknown property STRING data type GET/SET                           
+      de92: Bit Rate Type UINT16 data type enumeration: 1,  READ ONLY           
+      de9f: Buffer Size UINT32 data type enumeration: 3,  READ ONLY             
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY                                                               
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY                                                                          
+      de9c: Video Bit Rate UINT32 data type range: MIN 4000, MAX 14680064, STEP 1 READ ONLY                                                                     
+   b901: WMA                                                                    
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353, 354, 355,  READ ONLY                                                                            
+      dab9: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET      
+      da99: Unknown property UINT128 data type GET/SET                          
+      dc84: Representative Sample Width UINT32 data type ANY 32BIT VALUE form READ ONLY                                                                         
+      dc44: Name STRING data type GET/SET                                       
+      dc04: Object Size UINT64 data type READ ONLY                              
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET        
+      da97: Unknown property UINT128 data type GET/SET                          
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET          
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET                
+      dc07: Object File Name STRING data type GET/SET                           
+      da02: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET      
+      da82: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET        
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET         
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY       
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET                 
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY       
+      da01: Unknown property STRING data type GET/SET                           
+      dc81: Representative Sample Format UINT16 data type ANY 16BIT VALUE form GET/SET                                                                          
+      d901: Buy flag UINT8 data type enumeration: 0, 1,  GET/SET                
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY          
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY     
+      da9b: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET        
+      dabb: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY    
+      dc9b: Album Artist STRING data type READ ONLY                             
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1572864, STEP 1 READ ONLY                                                                      
+      da9a: Unknown property STRING data type GET/SET                           
+      dc9a: Album Name STRING data type READ ONLY                               
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET                                                                            
+      dc46: Artist STRING data type GET/SET                                     
+      dab2: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET        
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET  
+      dab8: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET      
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET             
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET              
+      dabc: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET      
+      dc8c: Genre STRING data type GET/SET                                      
+      dc95: Meta Genre UINT16 data type ANY 16BIT VALUE form GET/SET            
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET             
+      da9e: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET      
+      da00: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET      
+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET   
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET       
+      da03: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET       
+      dc83: Representative Sample Height UINT32 data type ANY 32BIT VALUE form READ ONLY                                                                        
+      da05: Unknown property STRING data type GET/SET                           
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY                                                                          
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  READ ONLY   
+   3009: MP3                                                                    
+      de99: Audio WAVE Codec UINT32 data type enumeration: 85,  READ ONLY       
+      dab9: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET      
+      da99: Unknown property UINT128 data type GET/SET                          
+      dc84: Representative Sample Width UINT32 data type ANY 32BIT VALUE form READ ONLY                                                                         
+      dc44: Name STRING data type GET/SET                                       
+      dc04: Object Size UINT64 data type READ ONLY                              
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET        
+      da97: Unknown property UINT128 data type GET/SET                          
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET          
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET                
+      dc07: Object File Name STRING data type GET/SET                           
+      da02: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET      
+      da82: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET        
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET         
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY       
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET                 
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY       
+      da01: Unknown property STRING data type GET/SET                           
+      dc81: Representative Sample Format UINT16 data type ANY 16BIT VALUE form GET/SET                                                                          
+      d901: Buy flag UINT8 data type enumeration: 0, 1,  GET/SET                
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY          
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY     
+      da9b: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET        
+      dabb: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY    
+      dc9b: Album Artist STRING data type READ ONLY                             
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 323000, STEP 1 READ ONLY                                                                      
+      da9a: Unknown property STRING data type GET/SET                           
+      dc9a: Album Name STRING data type READ ONLY                               
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET                                                                            
+      dc46: Artist STRING data type GET/SET                                     
+      dab2: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET        
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET  
+      dab8: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET      
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET             
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET              
+      dabc: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET      
+      dc8c: Genre STRING data type GET/SET                                      
+      dc95: Meta Genre UINT16 data type ANY 16BIT VALUE form GET/SET            
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET             
+      da9e: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET      
+      da00: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET      
+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET   
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET       
+      da03: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET       
+      dc83: Representative Sample Height UINT32 data type ANY 32BIT VALUE form READ ONLY                                                                        
+      da05: Unknown property STRING data type GET/SET                           
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY                                                                          
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  READ ONLY   
+Storage Devices:                                                                
+   StorageID: 0x00010001                                                        
+      StorageType: 0x0003 fixed RAM storage                                     
+      FilesystemType: 0x0002 generic hierarchical                               
+      AccessCapability: 0x0000 read/write                                       
+      MaxCapacity: 3099361280                                                   
+      FreeSpaceInBytes: 3467120640                                              
+      FreeSpaceInObjects: 4294967295                                            
+      StorageDescription: Storage                                               
+      VolumeIdentifier: ac037cb3 - 160fc247 - a97202da - d61d3080               
+Special directories:                                                            
+   Default music folder: 0x00000000                                             
+   Default playlist folder: 0x00000000                                          
+   Default picture folder: 0x05000005                                           
+   Default video folder: 0x00000000                                             
+   Default organizer folder: 0x00000000                                         
+   Default zencast folder: 0x00000000                                           
+   Default album folder: 0x00000000                                             
+   Default text folder: 0x00000000                                              
+MTP-specific device properties:                                                 
+   Friendly name: (NULL)                                                        
+   Synchronization partner: (NULL)                                              
+   Battery level 50 of 100 (50%)                                                
+libmtp supported (playable) filetypes:                                          
+   Firmware file                                                                
+   MediaCard                                                                    
+   Abstract Playlist file                                                       
+   Abstract Album file                                                          
+   JPEG file                                                                    
+   Microsoft Windows Media Video                                                
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)                       
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3                      
+   MPEG-4 Part 14 Container Format (Audio Emphasis)                             
+   Microsoft Advanced Systems Format                                            
+   Microsoft Windows Media Audio                                                
+   ISO MPEG-1 Audio Layer 3                                                     
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20101288 77:49:16Z#</VALUE><FLAG>DRM_CLK_NEEDS_REFRESH</FLAG></DRMCLOCK>                                                        
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">R6SOEK9cywS7BkCO2x+ikT3ZURc=</UNIQUEID><PUBLICKEY private="1">qpQpp3UAtPHr+zkAf+1mmmTmCH5yP+OJeScOZUrkEZJ+04sdwVbKdQ==</PUBLICKEY><KEYDATA>JbNKLh0kRl9aM0j/+BpTXTX1Hbc=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>jKZLDucWKqEakm67j9J0tC12+2J6MExzbr64DonTLwkCUEyhl96xgA==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>032yJf4EGxEBd4z7tXnmXXPv8Ek=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.115.199</SECURITYVERSION><CERTIFICATE private="1">qpQpp3UAtPHr+zkAf+1mmmTmCH5yP+OJeScOZUrkEZJ+04sdwVbKdQIEc8dwcmbTjPdGp92t0j+hggnPEAZqH1oUQXAKu3pPB32wyNgs9V9nBdIH</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>PMX WMDRM Device</NAME>     
+    <MANUFACTURER>Microsoft Corporation</MANUFACTURER>                          
+    <MAKE>PMX Device</MAKE>                                                     
+    <DISTRIBUTOR>Microsoft</DISTRIBUTOR>                                        
+    <MODEL>PMX Device</MODEL>                                                   
+    <SECURITYLEVEL>2000</SECURITYLEVEL>                                         
+    <HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR>                                  
+    <HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR>                                  
+    <FIRMWARE_VER_MAJOR>0</FIRMWARE_VER_MAJOR>
+    <FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>
+    <FEATURES>
+        <CLOCK>2</CLOCK>
+        <SECURECLOCK>
+            <URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL>
+            <PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY>
+        </SECURECLOCK>
+        <METERING>1</METERING>
+        <LICENSE_ACQ>1</LICENSE_ACQ>
+        <LICENSE_SYNC>1</LICENSE_SYNC>
+        <ENCRYPTION>0</ENCRYPTION>
+        <SYMMETRIC_OPT>1</SYMMETRIC_OPT>
+        <SUPPORT_REVOCATION>
+             <GUID>{CD75E604-543D-4A9C-9F09-FE6D24E8BF90}</GUID>
+             <GUID>{3129E375-CEB0-47D5-9CCA-9DB74CFD4332}</GUID>
+        </SUPPORT_REVOCATION>
+    </FEATURES>
+    <LIMITS>
+        <MAXCHAINDEPTH>2</MAXCHAINDEPTH>
+        <MAXLICENSESIZE>10240</MAXLICENSESIZE>
+        <MAXHEADERSIZE>5120</MAXHEADERSIZE>
+    </LIMITS><PUBLICKEY>gj6wpqMghvYjzKubfzbHTwc1MH1I/Q10m2BEL9Jlv/3tRTXe6QMyYA==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>NO4IxuUhfh5JPbZ6VykaopT/AjkNtYGZYSObZtN5Fvt1LYSI0nJjYA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>3883</AUTH_ID><PUBLICKEY>UMqcTd9OeyhIew8EBUddK1imSChCSSe00RlnqBWuD40SxGFnsoilGQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>X5C8TxQl7lrBAP665eki4CJ8pDT2xc2Jtv09wu5gCqCOxi0dSM8rPQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>BF3w21hpCkWEae71Ee/NCV6Wf3bfZlvQrCv8e5m6P9y80nC/H1N+FA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+OK. 
diff --git a/logs/mtp-detect-microsoft-kin-twom.txt b/logs/mtp-detect-microsoft-kin-twom.txt
new file mode 100644
index 0000000..6b2ccd4
--- /dev/null
+++ b/logs/mtp-detect-microsoft-kin-twom.txt
@@ -0,0 +1,772 @@
+libmtp version: 1.1.2
+
+Listing raw device(s)
+   Found 1 device(s):
+   045e:0641 @ bus 2, dev 5
+Attempting to connect device(s)
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 255
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 045e
+   idProduct: 0641
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 5
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x045e
+         Product: (null)
+         Vendor id: 0x0641
+         Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: fe00                                   	..
+Microsoft device response to control message 1, CMD 0xfe:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 505a 0000 0000 0000 0000 0000	..MTPZ..........
+	0020: 0000 0000 0000 0000                    	........
+Device responds to control message 2 with some data.
+Device info:
+   Manufacturer: NVIDIA APX_2500
+   Model: KIN
+   Device version: 03.00.04704.00-03.00.04704.00-03.00.04704.00
+   Serial number: ac037cb3 - 160fc247 - a9720ea1 - 18763080
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 11.1; microsoft.com/AAVT: 1.0; microsoft.com/WMDRMND: 1.0; microsoft.com/MTPZ: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        microsoft.com/WMDRMPD: 10.1
+        microsoft.com/WMPPD: 11.1
+        microsoft.com/AAVT: 1.0
+        microsoft.com/WMDRMND: 1.0
+        microsoft.com/MTPZ: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1010: Reset device
+   1013: Power down device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1019: Move object
+   101b: Get partial object
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9807: Get interdependent property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9229: Unknown (9229)
+   922a: Unknown (922a)
+   922e: Unknown (922e)
+   922f: Unknown (922f)
+   9230: Unknown (9230)
+   9231: Unknown (9231)
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9218: Unknown (9218)
+   9219: Unknown (9219)
+   9204: Unknown (9204)
+   9217: Unknown (9217)
+   9232: Unknown (9232)
+   9226: Unknown (9226)
+   9225: Unknown (9225)
+   9224: Unknown (9224)
+   9227: Unknown (9227)
+   9228: Unknown (9228)
+   9212: Send WMDRM-PD Application Request
+   9213: Get WMDRM-PD Application Response
+   9214: Enable trusted file operations
+   9215: Disable trusted file operations
+   9216: End trusted application session
+   9170: Open Media Session
+   9171: Close Media Session
+   9172: Get Next Data Block
+   921a: Unknown (921a)
+   921b: Unknown (921b)
+   921c: Unknown (921c)
+   921d: Unknown (921d)
+   9180: Send Registration Request
+   9181: Get Registration Response
+   9182: Get Proximity Challenge
+   9183: Send Proximity Response
+   9184: Send WMDRM-ND License Request
+   9185: Get WMDRM-ND License Response
+   9220: Unknown (9220)
+   9221: Unknown (9221)
+   9222: Unknown (9222)
+   9223: Unknown (9223)
+   6108: Unknown (6108)
+Events supported:
+   0x400c
+   0x4003
+   0xc701
+   0xc702
+Device Properties Supported:
+   0xd501: Unknown property
+   0xd221: Unknown property
+   0xd101: Secure Time
+   0xd401: Synchronization Partner
+   0x5001: Battery Level
+   0xd102: Device Certificate
+   0xd402: Friendly Device Name
+   0x5002: Functional Mode
+   0xd219: Unknown property
+   0xd218: Unknown property
+   0xd22f: Unknown property
+   0xd405: Device Icon
+   0xd225: Unknown property
+   0xd21c: Unknown property
+   0xd226: Unknown property
+   0xd406: Session Initiator Info
+   0xd217: Unknown property
+   0xd103: Revocation Info
+   0xd21a: Unknown property
+   0xd232: Unknown property
+   0xd235: Unknown property
+   0xd233: Unknown property
+   0xd234: Unknown property
+   0xd21b: Unknown property
+   0xd21f: Unknown property
+   0xd100: Unknown property
+   0xd220: Unknown property
+   0xd230: Unknown property
+   0xd227: Unknown property
+   0xd228: Unknown property
+   0xd22a: Unknown property
+   0xd22b: Unknown property
+   0xd22c: Unknown property
+   0xd229: Unknown property
+   0xd22d: Unknown property
+   0xd22e: Unknown property
+   0xd231: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   b217: Unknown(b217)
+      da99: Unknown property UINT128 data type GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      dab7: Unknown property STRING data type GET/SET
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4b: Copyright Information array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      daba: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc94: Parental Rating STRING data type GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+   b218: Unknown(b218)
+      da99: Unknown property UINT128 data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   ba0b: Abstract Mediacast
+      da99: Unknown property UINT128 data type GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc46: Artist STRING data type GET/SET
+      da9c: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      da9d: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+   b802: Firmware
+      da99: Unknown property UINT128 data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   3000: Undefined Type
+      da99: Unknown property UINT128 data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   b211: Media Card
+      da99: Unknown property UINT128 data type GET/SET
+      dc84: Representative Sample Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc81: Representative Sample Format UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      da95: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc83: Representative Sample Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      daa3: Unknown property UINT64 data type GET/SET
+      da96: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dab1: Unknown property STRING data type GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   ba05: Abstract Audio Video Playlist
+      da99: Unknown property UINT128 data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      da9f: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      daa3: Unknown property UINT64 data type GET/SET
+      dab3: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET
+   ba03: Abstract Audio Album
+      dab9: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da99: Unknown property UINT128 data type GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+   3001: Association/Directory
+      da99: Unknown property UINT128 data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   3801: JPEG
+      da99: Unknown property UINT128 data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 800, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 600, STEP 1 GET/SET
+   b981: WMV
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353, 354,  READ ONLY
+      da99: Unknown property UINT128 data type GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 1,  READ ONLY
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 48, MAX 1280, STEP 2 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      da82: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  GET/SET
+      dea1: Encoding Profile STRING data type READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc46: Artist STRING data type GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 861293911, 826496599,  READ ONLY
+      da9b: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      dc88: Height UINT32 data type range: MIN 32, MAX 720, STEP 2 GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 10000, MAX 30100, STEP 1 READ ONLY
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dab6: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dab5: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc95: Meta Genre UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9e: Key Frame Distance UINT32 data type enumeration: 3,  READ ONLY
+      da9e: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 563200, STEP 1 READ ONLY
+      da9a: Unknown property STRING data type GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 10,  READ ONLY
+      dc94: Parental Rating STRING data type GET/SET
+      de91: Total Bit Rate UINT32 data type range: MIN 12000, MAX 15302656, STEP 1 READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc4c: Source STRING data type GET/SET
+      dea0: Encoding Quality UINT32 data type enumeration: 50,  READ ONLY
+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      da98: Unknown property STRING data type GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 1,  READ ONLY
+      de9f: Buffer Size UINT32 data type enumeration: 3,  READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 4000, MAX 14680064, STEP 1 READ ONLY
+   b982: MP4
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  READ ONLY
+      da99: Unknown property UINT128 data type GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 1,  READ ONLY
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 48, MAX 1280, STEP 2 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      da82: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  GET/SET
+      dea1: Encoding Profile STRING data type READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc46: Artist STRING data type GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 826496577, 844313677,  READ ONLY
+      da9b: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      dc88: Height UINT32 data type range: MIN 32, MAX 720, STEP 2 GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 10000, MAX 30100, STEP 1 READ ONLY
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dab6: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dab5: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc95: Meta Genre UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9e: Key Frame Distance UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da9e: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 327680, STEP 1 READ ONLY
+      da9a: Unknown property STRING data type GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  READ ONLY
+      dc94: Parental Rating STRING data type GET/SET
+      de91: Total Bit Rate UINT32 data type range: MIN 25000, MAX 15067136, STEP 1 READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc4c: Source STRING data type GET/SET
+      dea0: Encoding Quality UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      da98: Unknown property STRING data type GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 2, 1,  READ ONLY
+      de9f: Buffer Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 4000, MAX 14680064, STEP 1 READ ONLY
+   b216: Unknown(b216)
+      de99: Audio WAVE Codec UINT32 data type enumeration: 5633,  READ ONLY
+      da99: Unknown property UINT128 data type GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 1,  READ ONLY
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 48, MAX 1280, STEP 2 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      da82: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  GET/SET
+      dea1: Encoding Profile STRING data type READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc46: Artist STRING data type GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 826496577, 844313677,  READ ONLY
+      da9b: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      dc88: Height UINT32 data type range: MIN 32, MAX 720, STEP 2 GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 10000, MAX 30100, STEP 1 READ ONLY
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dab6: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dab5: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc95: Meta Genre UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9e: Key Frame Distance UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da9e: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 327680, STEP 1 READ ONLY
+      da9a: Unknown property STRING data type GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  READ ONLY
+      dc94: Parental Rating STRING data type GET/SET
+      de91: Total Bit Rate UINT32 data type range: MIN 25000, MAX 15067136, STEP 1 READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc4c: Source STRING data type GET/SET
+      dea0: Encoding Quality UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      da98: Unknown property STRING data type GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 2, 1,  READ ONLY
+      de9f: Buffer Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 4000, MAX 14680064, STEP 1 READ ONLY
+   b903: AAC
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  READ ONLY
+      dab9: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da99: Unknown property UINT128 data type GET/SET
+      dc84: Representative Sample Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      da02: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da82: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da01: Unknown property STRING data type GET/SET
+      dc81: Representative Sample Format UINT16 data type ANY 16BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      da9b: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      dabb: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 323000, STEP 1 READ ONLY
+      da9a: Unknown property STRING data type GET/SET
+      dc9a: Album Name STRING data type READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dab2: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dab8: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dabc: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc95: Meta Genre UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      da9e: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da00: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      da03: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET
+      dc83: Representative Sample Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da05: Unknown property STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  READ ONLY
+   b215: M4A
+      de99: Audio WAVE Codec UINT32 data type enumeration: 5633,  READ ONLY
+      dab9: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da99: Unknown property UINT128 data type GET/SET
+      dc84: Representative Sample Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      da02: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da82: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da01: Unknown property STRING data type GET/SET
+      dc81: Representative Sample Format UINT16 data type ANY 16BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      da9b: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      dabb: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 323000, STEP 1 READ ONLY
+      da9a: Unknown property STRING data type GET/SET
+      dc9a: Album Name STRING data type READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dab2: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dab8: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dabc: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc95: Meta Genre UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      da9e: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da00: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      da03: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET
+      dc83: Representative Sample Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da05: Unknown property STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  READ ONLY
+   300c: ASF
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353, 354,  READ ONLY
+      da99: Unknown property UINT128 data type GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 1,  READ ONLY
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 48, MAX 1280, STEP 2 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      da82: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  GET/SET
+      dea1: Encoding Profile STRING data type READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc46: Artist STRING data type GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 861293911,  READ ONLY
+      da9b: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      dc88: Height UINT32 data type range: MIN 32, MAX 720, STEP 2 GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 10000, MAX 30000, STEP 1 READ ONLY
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dab6: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dab5: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc95: Meta Genre UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9e: Key Frame Distance UINT32 data type enumeration: 3,  READ ONLY
+      da9e: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 563200, STEP 1 READ ONLY
+      da9a: Unknown property STRING data type GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  READ ONLY
+      dc94: Parental Rating STRING data type GET/SET
+      de91: Total Bit Rate UINT32 data type range: MIN 12000, MAX 15302656, STEP 1 READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc4c: Source STRING data type GET/SET
+      dea0: Encoding Quality UINT32 data type enumeration: 50,  READ ONLY
+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      da98: Unknown property STRING data type GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 1,  READ ONLY
+      de9f: Buffer Size UINT32 data type enumeration: 3,  READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 4000, MAX 14680064, STEP 1 READ ONLY
+   b901: WMA
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353, 354, 355,  READ ONLY
+      dab9: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da99: Unknown property UINT128 data type GET/SET
+      dc84: Representative Sample Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      da02: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da82: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da01: Unknown property STRING data type GET/SET
+      dc81: Representative Sample Format UINT16 data type ANY 16BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      da9b: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      dabb: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1572864, STEP 1 READ ONLY
+      da9a: Unknown property STRING data type GET/SET
+      dc9a: Album Name STRING data type READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dab2: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dab8: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dabc: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc95: Meta Genre UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      da9e: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da00: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      da03: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET
+      dc83: Representative Sample Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da05: Unknown property STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  READ ONLY
+   3009: MP3
+      de99: Audio WAVE Codec UINT32 data type enumeration: 85,  READ ONLY
+      dab9: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da99: Unknown property UINT128 data type GET/SET
+      dc84: Representative Sample Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      da02: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da82: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da01: Unknown property STRING data type GET/SET
+      dc81: Representative Sample Format UINT16 data type ANY 16BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      da9b: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      dabb: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 323000, STEP 1 READ ONLY
+      da9a: Unknown property STRING data type GET/SET
+      dc9a: Album Name STRING data type READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dab2: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dab8: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dabc: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc95: Meta Genre UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      da9e: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da00: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      da03: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET
+      dc83: Representative Sample Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da05: Unknown property STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 7208763392
+      FreeSpaceInBytes: 6559933879
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Storage
+      VolumeIdentifier: ac037cb3 - 160fc247 - a9720ea1 - 18763080
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x050005ee
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: {67A1C107-5965-4951-98EA-4B91903A7465}
+   Battery level 60 of 100 (60%)
+libmtp supported (playable) filetypes:
+   Firmware file
+   MediaCard
+   Abstract Playlist file
+   Abstract Album file
+   Folder
+   JPEG file
+   Microsoft Windows Media Video
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio Emphasis)
+   Microsoft Advanced Systems Format
+   Microsoft Windows Media Audio
+   ISO MPEG-1 Audio Layer 3
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20123314 99:17:55Z#</VALUE><FLAG>DRM_CLK_NEEDS_REFRESH</FLAG></DRMCLOCK>
+OK.
diff --git a/logs/mtp-detect-microsoft-portkit.txt b/logs/mtp-detect-microsoft-portkit.txt
new file mode 100644
index 0000000..34dc20d
--- /dev/null
+++ b/logs/mtp-detect-microsoft-portkit.txt
@@ -0,0 +1,302 @@
+libmtp version: 0.2.6.1
+
+Attempting to connect device(s)
+PTP: Opening session
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 045e
+   idProduct: 0622
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000000
+Device info:
+   Manufacturer: Microsoft Corporation
+   Model: Windows Media Mobile Platform Solutions
+   Device version: 100
+   Serial number: 12345
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMPPD: 11.0
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   1012: Set object protection
+   100d: Send object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   1019: Move object
+   101a: Copy object
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9810: Get object references
+   9811: Set object references
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 1, 0,  GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 1, 0,  GET/SET
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 0, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 0, MAX 5000000, STEP 1 READ ONLY
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 1, 0,  GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      de95: AudioBitDepth UINT32 data type enumeration: 0, 8, 10, 12, 16, 24, 32,  GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 1, 0,  GET/SET
+   300c: ASF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 0, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 0, MAX 5000000, STEP 1 READ ONLY
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 1500, STEP 1 GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 1, 0,  GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      de95: AudioBitDepth UINT32 data type enumeration: 0, 8, 10, 12, 16, 24, 32,  GET/SET
+      de97: ScanDepth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 1, MAX 100000000, STEP 1 GET/SET
+      de9d: FramesPerThousandSeconds UINT32 data type enumeration: 0, 15000, 25000, 29970, 60000,  GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      dea0: EncodingQuality UINT32 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 1, 0,  GET/SET
+   3801: JPEG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 1500, STEP 1 GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 1, 0,  GET/SET
+   b802: Firmware
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 1, 0,  GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 0, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 0, MAX 5000000, STEP 1 READ ONLY
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 1, 0,  GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      de95: AudioBitDepth UINT32 data type enumeration: 0, 8, 10, 12, 16, 24, 32,  GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 1, 0,  GET/SET
+   b981: WMV
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de93: SampleRate UINT32 data type range: MIN 0, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 0, MAX 5000000, STEP 1 READ ONLY
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 1500, STEP 1 GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 1, 0,  GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      de97: ScanDepth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 1, MAX 100000000, STEP 1 GET/SET
+      de9d: FramesPerThousandSeconds UINT32 data type enumeration: 0, 15000, 25000, 29970, 60000,  GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      dea0: EncodingQuality UINT32 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 1, 0,  GET/SET
+   ba03: Abstract Audio Album
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 1, 0,  GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 1, 0,  GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 270917632
+      FreeSpaceInBytes: 266870272
+      FreeSpaceInObjects: 0
+      StorageDescription: MTP Store - 65537
+      VolumeIdentifier: MTP Volume - 65537
+Special directories:
+   Default music folder: 0x00000000
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Battery level 0 of 100 (0%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Advanced Systems Format
+   JPEG file
+   Firmware file
+   Microsoft Windows Media Audio
+   Microsoft Windows Media Video
+Unable to acquire device certificate, perhaps this device does not support this
+WMPInfo.xml Does not exist on this device
+PTP: Closing session
+OK.
diff --git a/logs/mtp-detect-microsoft-windows-phone-nokia-lumia-800.txt b/logs/mtp-detect-microsoft-windows-phone-nokia-lumia-800.txt
new file mode 100644
index 0000000..d1c9836
--- /dev/null
+++ b/logs/mtp-detect-microsoft-windows-phone-nokia-lumia-800.txt
@@ -0,0 +1,814 @@
+libmtp version: 1.1.2
+
+Listing raw device(s)
+Device 0 (VID=045e and PID=04ec) is a Microsoft Windows Phone.
+   Found 1 device(s):
+   Microsoft: Windows Phone (045e:04ec) @ bus 1, dev 5
+Attempting to connect device(s)
+MTPZ device detected. Authenticating...
+(MTPZ) Setting session initiator info: success.
+(MTPZ) Resetting handshake: success.
+(MTPZ) Sending application certificate message: failure.
+Error 7: Unable to read Maximum Battery Level for this device even
+though the device supposedly supports this functionality
+Error 2: PTP Layer error 02fe: get_all_metadata_fast(): could not get
+proplist of all objects.
+Error 2: (Look this up in ptp.h for an explanation.)
+Error 2: PTP Layer error 02fe: get_handles_recursively(): could not
+get object handles.
+Error 2: (Look this up in ptp.h for an explanation.)
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 239
+   bDeviceSubClass: 2
+   bDeviceProtocol: 1
+   idVendor: 045e
+   idProduct: 04ec
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 5
+      Device entry info:
+         Vendor: Microsoft
+         Vendor id: 0x045e
+         Product: Windows Phone
+         Vendor id: 0x04ec
+         Device flags: 0x00000000
+Device info:
+   Manufacturer: NOKIA
+   Model: Lumia 800
+   Device version: 07.10.08107.03-00.00.00000.00-00.00.00000.00
+   Serial number: 0e2b8f1a - 0d3d479c - 9ff89ac1 - 9b1760bc
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0;
+microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 11.1;
+microsoft.com/AAVT: 1.0; microsoft.com/WMDRMND: 1.0;
+microsoft.com/MTPZ: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        microsoft.com/WMDRMPD: 10.1
+        microsoft.com/WMPPD: 11.1
+        microsoft.com/AAVT: 1.0
+        microsoft.com/WMDRMND: 1.0
+        microsoft.com/MTPZ: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1010: Reset device
+   1013: Power down device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1019: Move object
+   101b: Get partial object
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9807: Get interdependent property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9229: Unknown (9229)
+   922a: Unknown (922a)
+   922e: Unknown (922e)
+   922f: Unknown (922f)
+   9230: Unknown (9230)
+   9231: Unknown (9231)
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9218: Unknown (9218)
+   9219: Unknown (9219)
+   9204: Unknown (9204)
+   9217: Unknown (9217)
+   9232: Unknown (9232)
+   9233: Unknown (9233)
+   9212: Send WMDRM-PD Application Request
+   9213: Get WMDRM-PD Application Response
+   9214: Enable trusted file operations
+   9215: Disable trusted file operations
+   9216: End trusted application session
+   9220: Unknown (9220)
+   9221: Unknown (9221)
+   9222: Unknown (9222)
+   9223: Unknown (9223)
+   6108: Unknown (6108)
+   6101: Unknown (6101)
+   6102: Unknown (6102)
+   6103: Unknown (6103)
+   6104: Unknown (6104)
+   6105: Unknown (6105)
+   6106: Unknown (6106)
+   6109: Unknown (6109)
+   610a: Unknown (610a)
+   610b: Unknown (610b)
+   610d: Unknown (610d)
+   6107: Unknown (6107)
+   9300: Unknown (9300)
+   9301: Unknown (9301)
+   9306: Unknown (9306)
+   9302: Unknown (9302)
+   9303: Unknown (9303)
+   9304: Unknown (9304)
+   9305: Unknown (9305)
+   930b: Unknown (930b)
+   930c: Unknown (930c)
+   930d: Unknown (930d)
+   930e: Unknown (930e)
+   9312: Unknown (9312)
+   9313: Unknown (9313)
+   9314: Unknown (9314)
+   9360: Unknown (9360)
+   9361: Unknown (9361)
+   9362: Unknown (9362)
+   9363: Unknown (9363)
+   9364: Unknown (9364)
+   9365: Unknown (9365)
+   9366: Unknown (9366)
+   9234: Unknown (9234)
+Events supported:
+   0x400c
+   0x4003
+   0xc701
+   0xc702
+Device Properties Supported:
+   0xd301: Unknown property
+   0xd501: Unknown property
+   0xd221: Unknown property
+   0xd101: Secure Time
+   0xd401: Synchronization Partner
+   0x5001: Battery Level
+   0xd302: Unknown property
+   0xd102: Device Certificate
+   0xd402: Friendly Device Name
+   0x5002: Functional Mode
+   0xd219: Unknown property
+   0xd238: Unknown property
+   0xd218: Unknown property
+   0xd30f: Unknown property
+   0xd22f: Unknown property
+   0xd305: Unknown property
+   0xd405: Device Icon
+   0xd225: Unknown property
+   0xd21c: Unknown property
+   0xd226: Unknown property
+   0xd406: Session Initiator Info
+   0xd237: Unknown property
+   0xd217: Unknown property
+   0xd103: Revocation Info
+   0xd21a: Unknown property
+   0xd232: Unknown property
+   0xd235: Unknown property
+   0xd233: Unknown property
+   0xd234: Unknown property
+   0xd21b: Unknown property
+   0xd21f: Unknown property
+   0xd300: Unknown property
+   0xd100: Unknown property
+   0xd220: Unknown property
+   0xd230: Unknown property
+   0xd307: Unknown property
+   0xd227: Unknown property
+   0xd308: Unknown property
+   0xd228: Unknown property
+   0xd30a: Unknown property
+   0xd22a: Unknown property
+   0xd30b: Unknown property
+   0xd22b: Unknown property
+   0xd30c: Unknown property
+   0xd22c: Unknown property
+   0xd309: Unknown property
+   0xd229: Unknown property
+   0xd30d: Unknown property
+   0xd22d: Unknown property
+   0xd30e: Unknown property
+   0xd22e: Unknown property
+   0xd231: Unknown property
+   0xd304: Unknown property
+   0xd236: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   bb80: Undefined Contact
+      da99: Unknown property UINT128 data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   b218: Unknown(b218)
+      da99: Unknown property UINT128 data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dac6: Unknown property STRING data type GET/SET
+   ba0b: Abstract Mediacast
+      da99: Unknown property UINT128 data type GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+   b401: Unknown(b401)
+      da99: Unknown property UINT128 data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   3000: Undefined Type
+      da99: Unknown property UINT128 data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   b211: Media Card
+      da99: Unknown property UINT128 data type GET/SET
+      dc84: Representative Sample Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc81: Representative Sample Format UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      da95: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc83: Representative Sample Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      daa3: Unknown property UINT64 data type GET/SET
+      da96: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dab1: Unknown property STRING data type GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   ba05: Abstract Audio Video Playlist
+      da99: Unknown property UINT128 data type GET/SET
+      dac4: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      da9f: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      daa3: Unknown property UINT64 data type GET/SET
+      dab3: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      dac5: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET
+   ba03: Abstract Audio Album
+      dab9: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da99: Unknown property UINT128 data type GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dac6: Unknown property STRING data type GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+   3001: Association/Directory
+      da99: Unknown property UINT128 data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   3801: JPEG
+      da99: Unknown property UINT128 data type GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 480, STEP 1 READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 1224, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dac2: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  GET/SET
+      dac1: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 2040, STEP 1 GET/SET
+      dac0: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 640, STEP 1 READ ONLY
+      dac3: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   b981: WMV
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353, 354,  READ ONLY
+      da99: Unknown property UINT128 data type GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 1,  READ ONLY
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 48, MAX 800, STEP 2 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      da82: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  GET/SET
+      dea1: Encoding Profile STRING data type READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dac6: Unknown property STRING data type GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc46: Artist STRING data type GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 861293911, 826496599,  READ ONLY
+      da9b: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      dc88: Height UINT32 data type range: MIN 32, MAX 600, STEP 2 GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 10000, MAX 30100, STEP 1 READ ONLY
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dab6: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dab5: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc95: Meta Genre UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9e: Key Frame Distance UINT32 data type enumeration: 3,  READ ONLY
+      da9e: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 550000, STEP 1 READ ONLY
+      da9a: Unknown property STRING data type GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  READ ONLY
+      dc94: Parental Rating STRING data type GET/SET
+      de91: Total Bit Rate UINT32 data type range: MIN 12000, MAX 10608000, STEP 1 READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc4c: Source STRING data type GET/SET
+      dea0: Encoding Quality UINT32 data type enumeration: 50,  READ ONLY
+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      da98: Unknown property STRING data type GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 1,  READ ONLY
+      de9f: Buffer Size UINT32 data type enumeration: 3,  READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 4000, MAX 10000000, STEP 1 READ ONLY
+   b982: MP4
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  READ ONLY
+      da99: Unknown property UINT128 data type GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 1,  READ ONLY
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 48, MAX 800, STEP 2 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      da82: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  GET/SET
+      dea1: Encoding Profile STRING data type READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dac6: Unknown property STRING data type GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc46: Artist STRING data type GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 826496577, 844313677, 1446269005, 875967048, 875967080, 875967064, 875967096,  READ ONLY
+      da9b: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      dc88: Height UINT32 data type range: MIN 32, MAX 600, STEP 2 GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 10000, MAX 30100, STEP 1 READ ONLY
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dab6: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dab5: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc95: Meta Genre UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9e: Key Frame Distance UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da9e: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 320000, STEP 1 READ ONLY
+      da9a: Unknown property STRING data type GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  READ ONLY
+      dc94: Parental Rating STRING data type GET/SET
+      de91: Total Bit Rate UINT32 data type range: MIN 25000, MAX 10378000, STEP 1 READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc4c: Source STRING data type GET/SET
+      dea0: Encoding Quality UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      da98: Unknown property STRING data type GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 2, 1,  READ ONLY
+      de9f: Buffer Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 4000, MAX 10000000, STEP 1 READ ONLY
+   b216: Unknown(b216)
+      de99: Audio WAVE Codec UINT32 data type enumeration: 5633,  READ ONLY
+      da99: Unknown property UINT128 data type GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 1,  READ ONLY
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 48, MAX 800, STEP 2 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      da82: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  GET/SET
+      dea1: Encoding Profile STRING data type READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dac6: Unknown property STRING data type GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc46: Artist STRING data type GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 826496577, 844313677, 1446269005, 875967048, 875967080, 875967064, 875967096,  READ ONLY
+      da9b: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      dc88: Height UINT32 data type range: MIN 32, MAX 600, STEP 2 GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 10000, MAX 30100, STEP 1 READ ONLY
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dab6: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dab5: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc95: Meta Genre UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9e: Key Frame Distance UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da9e: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 320000, STEP 1 READ ONLY
+      da9a: Unknown property STRING data type GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  READ ONLY
+      dc94: Parental Rating STRING data type GET/SET
+      de91: Total Bit Rate UINT32 data type range: MIN 25000, MAX 10378000, STEP 1 READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc4c: Source STRING data type GET/SET
+      dea0: Encoding Quality UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      da98: Unknown property STRING data type GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 2, 1,  READ ONLY
+      de9f: Buffer Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 4000, MAX 10000000, STEP 1 READ ONLY
+   b903: AAC
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  READ ONLY
+      dab9: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da99: Unknown property UINT128 data type GET/SET
+      dc84: Representative Sample Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      da02: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da82: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da01: Unknown property STRING data type GET/SET
+      dc81: Representative Sample Format UINT16 data type ANY 16BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      da9b: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      dabb: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 323000, STEP 1 READ ONLY
+      da9a: Unknown property STRING data type GET/SET
+      dc9a: Album Name STRING data type READ ONLY
+      dac6: Unknown property STRING data type GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dab2: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dab8: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dabc: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc95: Meta Genre UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      da9e: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da00: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      da03: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET
+      dc83: Representative Sample Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da05: Unknown property STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  READ ONLY
+   b215: M4A
+      de99: Audio WAVE Codec UINT32 data type enumeration: 5633,  READ ONLY
+      dab9: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da99: Unknown property UINT128 data type GET/SET
+      dc84: Representative Sample Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      da02: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da82: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da01: Unknown property STRING data type GET/SET
+      dc81: Representative Sample Format UINT16 data type ANY 16BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      da9b: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      dabb: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 323000, STEP 1 READ ONLY
+      da9a: Unknown property STRING data type GET/SET
+      dc9a: Album Name STRING data type READ ONLY
+      dac6: Unknown property STRING data type GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dab2: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dab8: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dabc: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc95: Meta Genre UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      da9e: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da00: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      da03: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET
+      dc83: Representative Sample Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da05: Unknown property STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  READ ONLY
+   300c: ASF
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353, 354,  READ ONLY
+      da99: Unknown property UINT128 data type GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 1,  READ ONLY
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 48, MAX 800, STEP 2 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      da82: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  GET/SET
+      dea1: Encoding Profile STRING data type READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dac6: Unknown property STRING data type GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc46: Artist STRING data type GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 861293911,  READ ONLY
+      da9b: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      dc88: Height UINT32 data type range: MIN 32, MAX 600, STEP 2 GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 10000, MAX 30100, STEP 1 READ ONLY
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dab6: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dab5: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc95: Meta Genre UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9e: Key Frame Distance UINT32 data type enumeration: 3,  READ ONLY
+      da9e: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 550000, STEP 1 READ ONLY
+      da9a: Unknown property STRING data type GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  READ ONLY
+      dc94: Parental Rating STRING data type GET/SET
+      de91: Total Bit Rate UINT32 data type range: MIN 12000, MAX 10608000, STEP 1 READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc4c: Source STRING data type GET/SET
+      dea0: Encoding Quality UINT32 data type enumeration: 50,  READ ONLY
+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      da98: Unknown property STRING data type GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 1,  READ ONLY
+      de9f: Buffer Size UINT32 data type enumeration: 3,  READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 4000, MAX 10000000, STEP 1 READ ONLY
+   b901: WMA
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353, 354,  READ ONLY
+      dab9: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da99: Unknown property UINT128 data type GET/SET
+      dc84: Representative Sample Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      da02: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da82: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da01: Unknown property STRING data type GET/SET
+      dc81: Representative Sample Format UINT16 data type ANY 16BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      da9b: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      dabb: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 768000, STEP 1 READ ONLY
+      da9a: Unknown property STRING data type GET/SET
+      dc9a: Album Name STRING data type READ ONLY
+      dac6: Unknown property STRING data type GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dab2: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dab8: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dabc: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc95: Meta Genre UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      da9e: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da00: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      da03: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET
+      dc83: Representative Sample Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da05: Unknown property STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  READ ONLY
+   3009: MP3
+      de99: Audio WAVE Codec UINT32 data type enumeration: 85,  READ ONLY
+      dab9: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da99: Unknown property UINT128 data type GET/SET
+      dc84: Representative Sample Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      da02: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da82: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da01: Unknown property STRING data type GET/SET
+      dc81: Representative Sample Format UINT16 data type ANY 16BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      da9b: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      dabb: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 323000, STEP 1 READ ONLY
+      da9a: Unknown property STRING data type GET/SET
+      dc9a: Album Name STRING data type READ ONLY
+      dac6: Unknown property STRING data type GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dab2: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dab8: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dabc: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc95: Meta Genre UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      da9e: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da00: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      da03: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET
+      dc83: Representative Sample Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da05: Unknown property STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 14298365952
+      FreeSpaceInBytes: 1297350656
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Storage
+      VolumeIdentifier: 0e2b8f1a - 0d3d479c - 9ff89ac1 - 9b1760bc
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   MediaCard
+   Abstract Playlist file
+   Abstract Album file
+   Folder
+   JPEG file
+   Microsoft Windows Media Video
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio Emphasis)
+   Microsoft Advanced Systems Format
+   Microsoft Windows Media Audio
+   ISO MPEG-1 Audio Layer 3
+OK.
diff --git a/logs/mtp-detect-microsoft-zune-hd.txt b/logs/mtp-detect-microsoft-zune-hd.txt
new file mode 100644
index 0000000..a848a50
--- /dev/null
+++ b/logs/mtp-detect-microsoft-zune-hd.txt
@@ -0,0 +1,870 @@
+libmtp version: 1.0.1
+
+Listing raw device(s)
+avoid probing device using kernel interface "uvcvideo"
+avoid probing device using kernel interface "uvcvideo"
+   Found 1 device(s):
+   Microsoft: Zune HD (045e:063e) @ bus 0, dev 2
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 255
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 045e
+   idProduct: 063e
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 2
+      Device entry info:
+         Vendor: Microsoft
+         Vendor id: 0x045e
+         Product: Zune HD
+         Vendor id: 0x063e
+         Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+        0000: 1203 4d00 5300 4600 5400 3100 3000 3000   ..M.S.F.T.1.0.0.
+        0010: fe00                                      ..
+Microsoft device response to control message 1, CMD 0xfe:
+        0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............
+        0010: 0001 4d54 505a 0000 0000 0000 0000 0000   ..MTPZ..........
+        0020: 0000 0000 0000 0000                       ........
+Device info:
+   Manufacturer: Microsoft
+   Model: Zune
+   Device version: 04.01.00137.00-04.01.00137.00-04.01.00137.00
+   Serial number: c9b755ae - 541be440 - aa77fe2b - c9263080
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 11.1; microsoft.com/AAVT: 1.0; microsoft.com/WMDRMND: 1.0; microsoft.com/MTPZ: 1.0; audible.com: 1.0;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1010: Reset device
+   1013: Power down device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1019: Move object
+   101b: Get partial object
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9807: Get interdependent property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9229: Unknown (9229)
+   922a: Unknown (922a)
+   922e: Unknown (922e)
+   922f: Unknown (922f)
+   9230: Unknown (9230)
+   9231: Unknown (9231)
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9218: Unknown (9218)
+   9219: Unknown (9219)
+   9204: Unknown (9204)
+   9217: Unknown (9217)
+   9232: Unknown (9232)
+   9226: Unknown (9226)
+   9225: Unknown (9225)
+   9224: Unknown (9224)
+   9227: Unknown (9227)
+   9228: Unknown (9228)
+   9212: Send WMDRM-PD Application Request
+   9213: Get WMDRM-PD Application Response
+   9214: Enable trusted file operations
+   9215: Disable trusted file operations
+   9216: End trusted application session
+   9170: Open Media Session
+   9171: Close Media Session
+   9172: Get Next Data Block
+   921a: Unknown (921a)
+   921b: Unknown (921b)
+   921c: Unknown (921c)
+   921d: Unknown (921d)
+   9180: Send Registration Request
+   9181: Get Registration Response
+   9182: Get Proximity Challenge
+   9183: Send Proximity Response
+   9184: Send WMDRM-ND License Request
+   9185: Get WMDRM-ND License Response
+   9220: Unknown (9220)
+   9221: Unknown (9221)
+   9222: Unknown (9222)
+   9223: Unknown (9223)
+   922b: Unknown (922b)
+   922c: Unknown (922c)
+   922d: Unknown (922d)
+   6108: Unknown (6108)
+Events supported:
+   0x400c
+   0x4003
+   0xc701
+   0xc702
+Device Properties Supported:
+   0xd501: Unknown property
+   0xd221: Unknown property
+   0xd101: Secure Time
+   0xd401: Synchronization Partner
+   0x5001: Battery Level
+   0xd102: Device Certificate
+   0xd402: Friendly Device Name
+   0x5002: Functional Mode
+   0xd219: Unknown property
+   0xd218: Unknown property
+   0xd22f: Unknown property
+   0xd405: Device Icon
+   0xd225: Unknown property
+   0xd21c: Unknown property
+   0xd226: Unknown property
+   0xd406: Session Initiator Info
+   0xd217: Unknown property
+   0xd103: Revocation Info
+   0xd21a: Unknown property
+   0xd232: Unknown property
+   0xd235: Unknown property
+   0xd233: Unknown property
+   0xd234: Unknown property
+   0xd21b: Unknown property
+   0xd21f: Unknown property
+   0xd100: Unknown property
+   0xd220: Unknown property
+   0xd230: Unknown property
+   0xd227: Unknown property
+   0xd228: Unknown property
+   0xd22a: Unknown property
+   0xd22b: Unknown property
+   0xd22c: Unknown property
+   0xd229: Unknown property
+   0xd22d: Unknown property
+   0xd22e: Unknown property
+   0xd231: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3009: MP3
+      de99: Audio WAVE Codec UINT32 data type enumeration: 85,  READ ONLY
+      dab9: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da99: Unknown property UINT128 data type GET/SET
+      dc84: Representative Sample Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      da02: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da82: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da01: Unknown property STRING data type GET/SET
+      dc81: Representative Sample Format UINT16 data type ANY 16BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      da9b: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      dabb: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 323000, STEP 1 READ ONLY
+      da9a: Unknown property STRING data type GET/SET
+      dc9a: Album Name STRING data type READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dab2: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dab8: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dabc: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc95: Meta Genre UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      da9e: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da00: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      da03: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET
+      dc83: Representative Sample Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da05: Unknown property STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  READ ONLY
+   b901: WMA
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353, 354, 355,  READ ONLY
+      dab9: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da99: Unknown property UINT128 data type GET/SET
+      dc84: Representative Sample Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      da02: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da82: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da01: Unknown property STRING data type GET/SET
+      dc81: Representative Sample Format UINT16 data type ANY 16BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      da9b: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      dabb: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1572864, STEP 1 READ ONLY
+      da9a: Unknown property STRING data type GET/SET
+      dc9a: Album Name STRING data type READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dab2: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dab8: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dabc: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc95: Meta Genre UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      da9e: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da00: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      da03: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET
+      dc83: Representative Sample Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da05: Unknown property STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  READ ONLY
+   300c: ASF
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353, 354,  READ ONLY
+      da99: Unknown property UINT128 data type GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 1,  READ ONLY
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 48, MAX 1280, STEP 2 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      da82: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  GET/SET
+      dea1: Encoding Profile STRING data type READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc46: Artist STRING data type GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 861293911,  READ ONLY
+      da9b: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      dc88: Height UINT32 data type range: MIN 32, MAX 720, STEP 2 GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 10000, MAX 30000, STEP 1 READ ONLY
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dab6: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dab5: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc95: Meta Genre UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9e: Key Frame Distance UINT32 data type enumeration: 3,  READ ONLY
+      da9e: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 563200, STEP 1 READ ONLY
+      da9a: Unknown property STRING data type GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  READ ONLY
+      dc94: Parental Rating STRING data type GET/SET
+      de91: Total Bit Rate UINT32 data type range: MIN 12000, MAX 15302656, STEP 1 READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc4c: Source STRING data type GET/SET
+      dea0: Encoding Quality UINT32 data type enumeration: 50,  READ ONLY
+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      da98: Unknown property STRING data type GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 1,  READ ONLY
+      de9f: Buffer Size UINT32 data type enumeration: 3,  READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 4000, MAX 14680064, STEP 1 READ ONLY
+   b215: M4A
+      de99: Audio WAVE Codec UINT32 data type enumeration: 5633,  READ ONLY
+      dab9: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da99: Unknown property UINT128 data type GET/SET
+      dc84: Representative Sample Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      da02: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da82: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da01: Unknown property STRING data type GET/SET
+      dc81: Representative Sample Format UINT16 data type ANY 16BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      da9b: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      dabb: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 323000, STEP 1 READ ONLY
+      da9a: Unknown property STRING data type GET/SET
+      dc9a: Album Name STRING data type READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dab2: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dab8: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dabc: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc95: Meta Genre UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      da9e: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da00: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      da03: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET
+      dc83: Representative Sample Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da05: Unknown property STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  READ ONLY
+   b903: AAC
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  READ ONLY
+      dab9: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da99: Unknown property UINT128 data type GET/SET
+      dc84: Representative Sample Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      da02: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da82: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da01: Unknown property STRING data type GET/SET
+      dc81: Representative Sample Format UINT16 data type ANY 16BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      da9b: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      dabb: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 323000, STEP 1 READ ONLY
+      da9a: Unknown property STRING data type GET/SET
+      dc9a: Album Name STRING data type READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dab2: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dab8: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dabc: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc95: Meta Genre UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      da9e: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da00: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      da03: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET
+      dc83: Representative Sample Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da05: Unknown property STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  READ ONLY
+   b904: Audible.com Codec
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dab9: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da99: Unknown property UINT128 data type GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      da02: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da82: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da01: Unknown property STRING data type GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  GET/SET
+      d901: Buy flag UINT8 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      da9b: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      dabb: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      de9a: Audio Bit Rate UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da9a: Unknown property STRING data type GET/SET
+      dc9a: Album Name STRING data type READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dab2: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dab8: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dabc: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc95: Meta Genre UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      da9e: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da00: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      da03: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+      da05: Unknown property STRING data type GET/SET
+      de93: Sample Rate UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY
+   b301: Unknown(b301)
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dab9: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da99: Unknown property UINT128 data type GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      da02: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da82: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da01: Unknown property STRING data type GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  GET/SET
+      d901: Buy flag UINT8 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      da9b: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      dabb: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      de9a: Audio Bit Rate UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da9a: Unknown property STRING data type GET/SET
+      dc9a: Album Name STRING data type READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dab2: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dab8: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dabc: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc95: Meta Genre UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      da9e: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da00: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      da03: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+      da05: Unknown property STRING data type GET/SET
+      de93: Sample Rate UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de94: Number Of Channels UINT16 data type ANY 16BIT VALUE form READ ONLY
+   b216: Unknown(b216)
+      de99: Audio WAVE Codec UINT32 data type enumeration: 5633,  READ ONLY
+      da99: Unknown property UINT128 data type GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 1,  READ ONLY
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 48, MAX 1280, STEP 2 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      da82: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  GET/SET
+      dea1: Encoding Profile STRING data type READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc46: Artist STRING data type GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 826496577, 844313677,  READ ONLY
+      da9b: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      dc88: Height UINT32 data type range: MIN 32, MAX 720, STEP 2 GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 10000, MAX 30100, STEP 1 READ ONLY
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dab6: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dab5: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc95: Meta Genre UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9e: Key Frame Distance UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da9e: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 327680, STEP 1 READ ONLY
+      da9a: Unknown property STRING data type GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  READ ONLY
+      dc94: Parental Rating STRING data type GET/SET
+      de91: Total Bit Rate UINT32 data type range: MIN 25000, MAX 15067136, STEP 1 READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc4c: Source STRING data type GET/SET
+      dea0: Encoding Quality UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      da98: Unknown property STRING data type GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 2, 1,  READ ONLY
+      de9f: Buffer Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 4000, MAX 14680064, STEP 1 READ ONLY
+   b982: MP4
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  READ ONLY
+      da99: Unknown property UINT128 data type GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 1,  READ ONLY
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 48, MAX 1280, STEP 2 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      da82: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  GET/SET
+      dea1: Encoding Profile STRING data type READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc46: Artist STRING data type GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 826496577, 844313677,  READ ONLY
+      da9b: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      dc88: Height UINT32 data type range: MIN 32, MAX 720, STEP 2 GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 10000, MAX 30100, STEP 1 READ ONLY
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dab6: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dab5: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc95: Meta Genre UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9e: Key Frame Distance UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da9e: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 327680, STEP 1 READ ONLY
+      da9a: Unknown property STRING data type GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  READ ONLY
+      dc94: Parental Rating STRING data type GET/SET
+      de91: Total Bit Rate UINT32 data type range: MIN 25000, MAX 15067136, STEP 1 READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc4c: Source STRING data type GET/SET
+      dea0: Encoding Quality UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      da98: Unknown property STRING data type GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 2, 1,  READ ONLY
+      de9f: Buffer Size UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 4000, MAX 14680064, STEP 1 READ ONLY
+   b981: WMV
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353, 354,  READ ONLY
+      da99: Unknown property UINT128 data type GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 1,  READ ONLY
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 48, MAX 1280, STEP 2 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      da82: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  GET/SET
+      dea1: Encoding Profile STRING data type READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc46: Artist STRING data type GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 861293911, 826496599,  READ ONLY
+      da9b: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      dc88: Height UINT32 data type range: MIN 32, MAX 720, STEP 2 GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 10000, MAX 30100, STEP 1 READ ONLY
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dab6: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dab5: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc95: Meta Genre UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9e: Key Frame Distance UINT32 data type enumeration: 3,  READ ONLY
+      da9e: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 563200, STEP 1 READ ONLY
+      da9a: Unknown property STRING data type GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 10,  READ ONLY
+      dc94: Parental Rating STRING data type GET/SET
+      de91: Total Bit Rate UINT32 data type range: MIN 12000, MAX 15302656, STEP 1 READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc4c: Source STRING data type GET/SET
+      dea0: Encoding Quality UINT32 data type enumeration: 50,  READ ONLY
+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      da98: Unknown property STRING data type GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 1,  READ ONLY
+      de9f: Buffer Size UINT32 data type enumeration: 3,  READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 4000, MAX 14680064, STEP 1 READ ONLY
+   3801: JPEG
+      da99: Unknown property UINT128 data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 480, STEP 1 GET/SET
+   3001: Association/Directory
+      da99: Unknown property UINT128 data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   ba03: Abstract Audio Album
+      dab9: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da99: Unknown property UINT128 data type GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+   ba05: Abstract Audio Video Playlist
+      da99: Unknown property UINT128 data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      da9f: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      daa3: Unknown property UINT64 data type GET/SET
+      dab3: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET
+   b211: Media Card
+      da99: Unknown property UINT128 data type GET/SET
+      dc84: Representative Sample Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc81: Representative Sample Format UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      da95: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc83: Representative Sample Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      daa3: Unknown property UINT64 data type GET/SET
+      da96: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dab1: Unknown property STRING data type GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   3000: Undefined Type
+      da99: Unknown property UINT128 data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   b802: Firmware
+      da99: Unknown property UINT128 data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   ba0b: Abstract Mediacast
+      da99: Unknown property UINT128 data type GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc46: Artist STRING data type GET/SET
+      da9c: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      da9d: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+   b218: Unknown(b218)
+      da99: Unknown property UINT128 data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   b217: Unknown(b217)
+      da99: Unknown property UINT128 data type GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET
+      dab7: Unknown property STRING data type GET/SET
+      da97: Unknown property UINT128 data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4b: Copyright Information array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      daba: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc94: Parental Rating STRING data type GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 31746572288
+      FreeSpaceInBytes: 31543918592
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Storage
+      VolumeIdentifier: c9b755ae - 541be440 - aa77fe2b - c9263080
+Special directories:
+   Default music folder: 0x0500001c
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x05000005
+   Default video folder: 0x05000004
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x0500001f
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: xxx
+   Synchronization partner: {752AD5E2-2C6D-4356-A95A-13B9B87F916C}
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   Microsoft Advanced Systems Format
+   MPEG-4 Part 14 Container Format (Audio Emphasis)
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Audible.com Audio Codec
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Microsoft Windows Media Video
+   JPEG file
+   Abstract Album file
+   Abstract Playlist file
+   MediaCard
+   Firmware file
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20099918 22:0㘵:12Z#</VALUE><FLAG>DRM_CLK_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">siOdLQqXdwVo1VN/Q8pZ1zbRikQ=</UNIQUEID><PUBLICKEY private="1">qDyWet0BKkPhySaPHfDLWNEXIG9sK7TSIwWJapePZG2GlzKeVnRmQg==</PUBLICKEY><KEYDATA>SGpdUEtk8vfyYvizDdz/BmhkuXQ=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>PahW9kaVx1Km2kEs/fzImgrW2m+DLeqXw2TgxB7bD51DZDuoWBJ1fw==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>ULICGRa6+UOF6JEgNNRykLdB+/U=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.108.103</SECURITYVERSION><CERTIFICATE private="1">qDyWet0BKkPhySaPHfDLWNEXIG9sK7TSIwWJapePZG2GlzKeVnRmQgIEbGe0r6JPEW9TEk4L9CxfkUjd69tKX+JFsP9xbIhzOlljOZzMsu2myRU7</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>Zune</NAME><MANUFACTURER>Microsoft</MANUFACTURER><MAKE>Zune Player 2000</MAKE><DISTRIBUTOR>Microsoft</DISTRIBUTOR><SECURITYLEVEL>2000</SECURITYLEVEL><HARDWARE_VER_MAJOR>2</HARDWARE_VER_MAJOR><HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR><FIRMWARE_VER_MAJOR>2</FIRMWARE_VER_MAJOR><FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR><FEATURES><CLOCK>2</CLOCK><SECURECLOCK><URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL><PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY></SECURECLOCK><METERING>1</METERING><LICENSE_ACQ>0</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>0</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT><SUPPORT_REVOCATION><GUID>{CD75E604-543D-4A9C-9F09-FE6D24E8BF90}</GUID><GUID>{3129E375-CEB0-47D5-9CCA-9DB74CFD4332}</GUID></SUPPORT_REVOCATION></FEATURES><LIMITS><MAXCHAINDEPTH>2</MAXCHAINDEPTH><MAXLICENSESIZE>10240</MAXLICENSESIZE><MAXHEADERSIZE>5120</MAXHEADERSIZE></LIMITS><PUBLICKEY>LjWLgeif+Ue4/06aIPeTVTK8e3ttaqCg4yNabfoxQqIX+2Vv9TS3bg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>jvsLWyGOOgieG3lLC2wudZOxYw2T+G2wo6Ufq2TKoT+2iRo5DaXzgw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1995</AUTH_ID><PUBLICKEY>4+ObAtx0vpJMy3DmQd+UXwSaaiF6iyere4WlO9/Iil64r08E2d5adQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>PuyXDeLMOmTA2bmaMBfFNaaHulzZotjYzcQPYLhPCm/ctWqWwEd6Ng==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>dEfdsbzELDUptTDoUNYCYuWWHl6zEfZ3QW+JdJA2FH9O7BdB4cFUcQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+OK.
diff --git a/logs/mtp-detect-motorola-atrix-mb860.txt b/logs/mtp-detect-motorola-atrix-mb860.txt
new file mode 100644
index 0000000..0b16930
--- /dev/null
+++ b/logs/mtp-detect-motorola-atrix-mb860.txt
@@ -0,0 +1,521 @@
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.5
+
+Listing raw device(s)
+   Found 1 device(s):
+   Motorola: Atrix MB860 (MTP mode) (22b8:7088) @ bus 4, dev 71
+Attempting to connect device(s)
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 22b8
+   idProduct: 7088
+   IN endpoint maxpacket: 64 bytes
+   OUT endpoint maxpacket: 64 bytes
+   Raw device info:
+      Bus location: 4
+      Device number: 71
+      Device entry info:
+         Vendor: Motorola
+         Vendor id: 0x22b8
+         Product: Atrix MB860 (MTP mode)
+         Vendor id: 0x7088
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Motorola
+   Model: MB860
+   Device version: V1.1
+   Serial number: 12345678901234561234567890123456
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/WMPPD: 10.0; microsoft.com/DeviceServices:1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com/WMPPD: 10.0
+        microsoft.com/DeviceServices: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1010: Reset device
+   1012: Set object protection
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9807: Get interdependent property description
+   9301: Unknown (9301)
+   9302: Unknown (9302)
+   9303: Unknown (9303)
+   9304: Unknown (9304)
+   9305: Unknown (9305)
+   9306: Unknown (9306)
+   9307: Unknown (9307)
+   9308: Unknown (9308)
+   9309: Unknown (9309)
+   100a: Get thumbnail
+Events supported:
+   0x4001
+   0x4004
+   0x4005
+   0x400a
+   0x400b
+   0xc303
+Device Properties Supported:
+   0x5011: Date & Time
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd405: Device Icon
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 864000000, STEP 1 READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 352, 353, 384, 41222, 85,  READ ONLY
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 320000, STEP 1 READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 480, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 959853128, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1000, MAX 2048000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1000, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 864000000, STEP 1 READ ONLY
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 352, 353, 384, 41222, 85,  READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 480, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 384000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 959853128, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1000, MAX 2048000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1000, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 864000000, STEP 1 READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 352, 353, 384, 41222, 85,  READ ONLY
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 320000, STEP 1 READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 864000000, STEP 1 READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 352, 353, 384, 41222, 85,  READ ONLY
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 320000, STEP 1 READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 864000000, STEP 1 READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 352, 353, 384, 41222, 85,  READ ONLY
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 320000, STEP 1 READ ONLY
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1200, STEP 1 GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1600, STEP 1 GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 4920, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 4920, STEP 1 GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1200, STEP 1 GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1600, STEP 1 GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 4194304, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 4920, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 4920, STEP 1 GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1200, STEP 1 GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1600, STEP 1 GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 4194304, STEP 1 READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 4920, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 4920, STEP 1 GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1200, STEP 1 GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1600, STEP 1 GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 4194304, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 4194304, STEP 1 READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 4920, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 4920, STEP 1 GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1200, STEP 1 GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1600, STEP 1 GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 4194304, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+   3800: Defined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 864000000, STEP 1 READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 352, 353, 384, 41222, 85,  READ ONLY
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 320000, STEP 1 READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 480, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 959853128, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1000, MAX 2048000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1000, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 864000000, STEP 1 READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 352, 353, 384, 41222, 85,  READ ONLY
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 320000, STEP 1 READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 480, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 959853128, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1000, MAX 2048000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1000, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 864000000, STEP 1 READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 352, 353, 384, 41222, 85,  READ ONLY
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 320000, STEP 1 READ ONLY
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 13541736448
+      FreeSpaceInBytes: 4892884992
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Removable Storage
+      VolumeIdentifier: 954733058
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0x0000057b
+   Default picture folder: 0x0000059f
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0x0000057d
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: MB860
+   Synchronization partner: Moto Media Sync Engine
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   Microsoft Advanced Systems Format
+   Microsoft Windows Media Video
+   ISO MPEG-1 Audio Layer 3
+   RIFF WAVE file
+   Microsoft Windows Media Audio
+   Abstract Album file
+   Abstract Playlist file
+   Folder
+   JPEG file
+   GIF bitmap file
+   BMP bitmap file
+   Portable Network Graphics
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+
+WMPInfo.xml file contents:
+<DeviceInfo>

+    <WMP DeviceID="{69AE1F11-EB18-49A3-B232-F50177CEC050}" RelationshipID="{00000000-0000-0000-0000-000000000000}"/>

+</DeviceInfo>

+
+OK.
diff --git a/logs/mtp-detect-motorola-atrix-xt687.txt b/logs/mtp-detect-motorola-atrix-xt687.txt
new file mode 100644
index 0000000..5dd39b6
--- /dev/null
+++ b/logs/mtp-detect-motorola-atrix-xt687.txt
@@ -0,0 +1,460 @@
+libmtp version: 1.1.3
+
+Listing raw device(s)
+   Found 1 device(s):
+   22b8:64cf @ bus 2, dev 7
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 22b8
+   idProduct: 64cf
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 7
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x22b8
+         Product: (null)
+         Vendor id: 0x64cf
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Motorola
+   Model: XT687
+   Device version: 1.0
+   Serial number: MSM7627A
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 31851704320
+      FreeSpaceInBytes: 28557107200
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD Card
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000d21
+   Default video folder: 0x00000ade
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-motorola-defy.txt b/logs/mtp-detect-motorola-defy.txt
new file mode 100644
index 0000000..11e84e2
--- /dev/null
+++ b/logs/mtp-detect-motorola-defy.txt
@@ -0,0 +1,408 @@
+libmtp version: 1.0.3
+
+Listing raw device(s)
+   Found 1 device(s):
+   22b8:41d6 @ bus 1, dev 10
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 22b8
+   idProduct: 41d6
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 10
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x22b8
+         Product: (null)
+         Vendor id: 0x41d6
+         Device flags: 0x00000000
+Configuration 0, interface 0, altsetting 0:
+   Interface implements PTP class, no further probing.
+Device info:
+   Manufacturer: Motorola
+   Model: MB525
+   Device version: V1.1
+   Serial number: 4d080002ffd80000015f1b940d01802c
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/WMPPD: 11.0; microsoft.com/WMDRMPD: 10.1; microsoft.com/DeviceServices:1.0;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1010: Reset device
+   1012: Set object protection
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9201: Report Added/Deleted Items
+   9203: Get transferable playlist types
+   9202: Report Acquired Items
+   9807: Get interdependent property description
+   9103: Set license response
+   9109: Get license state
+   9104: Get sync list
+   9108: Clean data store
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9106: Get meter challenge
+   9107: Get meter response
+   9105: Send meter challenge query
+   9301: Unknown (9301)
+   9302: Unknown (9302)
+   9303: Unknown (9303)
+   9304: Unknown (9304)
+   9305: Unknown (9305)
+   9306: Unknown (9306)
+   9307: Unknown (9307)
+   9308: Unknown (9308)
+   9309: Unknown (9309)
+   100a: Get thumbnail
+Events supported:
+   0x4001
+   0x4004
+   0x4005
+   0x400a
+   0x400b
+   0xc303
+Device Properties Supported:
+   0x5011: Date & Time
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd405: Device Icon
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 864000000, STEP 1 READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 352, 353, 384, 41222, 85,  READ ONLY
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 320000, STEP 1 READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 480, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 959853128, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1000, MAX 2048000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1000, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 864000000, STEP 1 READ ONLY
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 352, 353, 384, 41222, 85,  READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 480, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 384000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 959853128, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1000, MAX 2048000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1000, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 864000000, STEP 1 READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 352, 353, 384, 41222, 85,  READ ONLY
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 320000, STEP 1 READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 864000000, STEP 1 READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 352, 353, 384, 41222, 85,  READ ONLY
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 320000, STEP 1 READ ONLY
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1200, STEP 1 GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1600, STEP 1 GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 4920, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 4920, STEP 1 GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1200, STEP 1 GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1600, STEP 1 GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 4194304, STEP 1 READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+   3800: Defined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 864000000, STEP 1 READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 352, 353, 384, 41222, 85,  READ ONLY
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 320000, STEP 1 READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 480, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 959853128, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1000, MAX 2048000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1000, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 864000000, STEP 1 READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 352, 353, 384, 41222, 85,  READ ONLY
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 320000, STEP 1 READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 480, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 959853128, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1000, MAX 2048000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1000, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 2002419712
+      FreeSpaceInBytes: 1999241216
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Removable Storage
+      VolumeIdentifier: 880674748
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: MB525
+   Synchronization partner: Moto Media Sync Engine
+libmtp supported (playable) filetypes:
+   Microsoft Advanced Systems Format
+   Microsoft Windows Media Video
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   Abstract Album file
+   Abstract Playlist file
+   JPEG file
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20113355 23:33:24Z#</VALUE><FLAG>DRM_CLK_SET</FLAG></DRMCLOCK>AG></DRMCLOCK>
+OK.
diff --git a/logs/mtp-detect-motorola-droid-turbo-2.txt b/logs/mtp-detect-motorola-droid-turbo-2.txt
new file mode 100644
index 0000000..5f1671c
--- /dev/null
+++ b/logs/mtp-detect-motorola-droid-turbo-2.txt
@@ -0,0 +1,583 @@
+
+
+
+---
+
+** [bugs:#1539] New Device: Motorola Droid Turbo 2**
+
+**Status:** open
+**Group:** 1.1.11
+**Labels:** New device 
+**Created:** Mon Apr 11, 2016 04:25 AM UTC by Anonymous
+**Last Updated:** Mon Apr 11, 2016 04:25 AM UTC
+**Owner:** nobody
+
+
+Device: Motorla Droid Turbo 2
+
+VID=22b8
+PID=2e61
+
+$ mtp-detect
+libmtp version: 1.1.11
+
+Listing raw device(s)
+Device 0 (VID=22b8 and PID=2e61) is UNKNOWN in libmtp v1.1.11.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   22b8:2e61 @ bus 1, dev 6
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 22b8
+   idProduct: 2e61
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 6
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x22b8
+         Product: (null)
+         Vendor id: 0x2e61
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: motorola
+   Model: XT1585
+   Device version: 1.0
+   Serial number: ZY2233JPTF
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0; mot-mobility.com/DSU: 1.2
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+   9001: Unknown (9001)
+   9002: Unknown (9002)
+   9003: Unknown (9003)
+   9004: Unknown (9004)
+   9005: Unknown (9005)
+   9006: Unknown (9006)
+   9007: Unknown (9007)
+   9008: Unknown (9008)
+   9009: Unknown (9009)
+   900a: Unknown (900a)
+   900b: Unknown (900b)
+   900c: Unknown (900c)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 959853128, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 959853128, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 959853128, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 25830490112
+      FreeSpaceInBytes: 16134205440
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Battery level 72 of 100 (72%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+   Microsoft Windows Media Video
+
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/bugs/1539/>
+
+
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/>
\ No newline at end of file
diff --git a/logs/mtp-detect-motorola-milestone.txt b/logs/mtp-detect-motorola-milestone.txt
new file mode 100644
index 0000000..ef1d5cf
--- /dev/null
+++ b/logs/mtp-detect-motorola-milestone.txt
@@ -0,0 +1,379 @@
+libmtp version: 1.0.2
+
+Listing raw device(s)
+   Found 1 device(s):
+   22b8:41dc @ bus 1, dev 49
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 255
+   bDeviceSubClass: 255
+   bDeviceProtocol: 255
+   idVendor: 22b8
+   idProduct: 41dc
+   IN endpoint maxpacket: 64 bytes
+   OUT endpoint maxpacket: 64 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 49
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x22b8
+         Product: (null)
+         Vendor id: 0x41dc
+         Device flags: 0x00000000
+Configuration 0, interface 0, altsetting 0:
+   Interface implements PTP class, no further probing.
+Device info:
+   Manufacturer: Motorola
+   Model: Milestone
+   Device version: V1.1
+   Serial number: 1486000400000000040368141900f00b
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/WMPPD: 10.0;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1010: Reset device
+   1012: Set object protection
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9201: Report Added/Deleted Items
+   9203: Get transferable playlist types
+   9202: Report Acquired Items
+   9807: Get interdependent property description
+   100a: Get thumbnail
+Events supported:
+   0x4001
+   0x4004
+   0x4005
+   0x400a
+   0x400b
+Device Properties Supported:
+   0x5011: Date & Time
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd405: Device Icon
+Playable File (Object) Types and Object Properties Supported:
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 864000000, STEP 1000 READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 100 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 320000, STEP 1000 READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 220, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 176, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1000, MAX 384000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1000, MAX 15000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 864000000, STEP 1000 READ ONLY
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 220, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 176, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 100 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 320000, STEP 1000 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1000, MAX 384000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1000, MAX 15000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 864000000, STEP 1000 READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 100 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 320000, STEP 1000 READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 864000000, STEP 1000 READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 100 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 320000, STEP 1000 READ ONLY
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1200, STEP 1 GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1600, STEP 1 GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 4920, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 4920, STEP 1 GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1200, STEP 1 GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1600, STEP 1 GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+   3800: Defined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 864000000, STEP 1000 READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 100 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 320000, STEP 1000 READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 220, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 176, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1000, MAX 384000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1000, MAX 15000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 864000000, STEP 1000 READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 100 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 320000, STEP 1000 READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 220, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 176, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1000, MAX 384000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1000, MAX 15000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 7943979008
+      FreeSpaceInBytes: 5896830976
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Removable Storage
+      VolumeIdentifier: 1680958561
+Special directories:
+   Default music folder: 0x0000000b
+   Default playlist folder: 0x000001ad
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0x000001af
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Milestone
+   Synchronization partner: Moto Media Sync Engine
+libmtp supported (playable) filetypes:
+   Microsoft Advanced Systems Format
+   Microsoft Windows Media Video
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   Abstract Album file
+   Abstract Playlist file
+   JPEG file
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+
+WMPInfo.xml file contents:
+<DeviceInfo>

+    <WMP DeviceID="{73846F3C-EE74-4FF2-A1C6-E9EF872173C3}" RelationshipID="{0DADC439-32D6-48F3-9D9C-BF3E26C2CCDA}"/>

+</DeviceInfo>

+
+OK.
+
+ 	  	 
diff --git a/logs/mtp-detect-motorola-moto-e.txt b/logs/mtp-detect-motorola-moto-e.txt
new file mode 100644
index 0000000..ba81c38
--- /dev/null
+++ b/logs/mtp-detect-motorola-moto-e.txt
@@ -0,0 +1,508 @@
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   22b8:2e76 @ bus 2, dev 93
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 22b8
+   idProduct: 2e76
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 93
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x22b8
+         Product: (null)
+         Vendor id: 0x2e76
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: motorola
+   Model: XT1021
+   Device version: 1.0
+   Serial number: ZX1B23286G
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0; mot-mobility.com/DSU: 1.2
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+   9001: Unknown (9001)
+   9002: Unknown (9002)
+   9003: Unknown (9003)
+   9004: Unknown (9004)
+   9005: Unknown (9005)
+   9006: Unknown (9006)
+   9007: Unknown (9007)
+   9008: Unknown (9008)
+   9009: Unknown (9009)
+   900a: Unknown (900a)
+   900b: Unknown (900b)
+   900c: Unknown (900c)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 959853128, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 959853128, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 959853128, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 2327707648
+      FreeSpaceInBytes: 1712074752
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Almacenamiento interno
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+   Microsoft Windows Media Video
+OK.
diff --git a/logs/mtp-detect-motorola-moto-x.txt b/logs/mtp-detect-motorola-moto-x.txt
new file mode 100644
index 0000000..666f76d
--- /dev/null
+++ b/logs/mtp-detect-motorola-moto-x.txt
@@ -0,0 +1,514 @@
+mtp-detect
+libmtp version: 1.1.3
+
+Listing raw device(s)
+Device 0 (VID=22b8 and PID=2e62) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   22b8:2e62 @ bus 3, dev 2
+Attempting to connect device(s)
+PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
+LIBMTP libusb: Attempt to reset device
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 22b8
+   idProduct: 2e62
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 3
+      Device number: 2
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x22b8
+         Product: (null)
+         Vendor id: 0x2e62
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: motorola
+   Model: XT1060
+   Device version: 1.0
+   Serial number: T0620061B0
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0; mot-mobility.com/DSU: 1.2
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+   9001: Unknown (9001)
+   9002: Unknown (9002)
+   9003: Unknown (9003)
+   9004: Unknown (9004)
+   9005: Unknown (9005)
+   9006: Unknown (9006)
+   9007: Unknown (9007)
+   9008: Unknown (9008)
+   9009: Unknown (9009)
+   900a: Unknown (900a)
+   900b: Unknown (900b)
+   900c: Unknown (900c)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 959853128, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 959853128, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 959853128, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 28267364352
+      FreeSpaceInBytes: 22202208256
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+   Microsoft Windows Media Video
+OK.
diff --git a/logs/mtp-detect-motorola-razr2-v8.txt b/logs/mtp-detect-motorola-razr2-v8.txt
new file mode 100644
index 0000000..a6688d2
--- /dev/null
+++ b/logs/mtp-detect-motorola-razr2-v8.txt
@@ -0,0 +1,259 @@
+libmtp version: 0.2.2
+
+Attempting to connect device(s)
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 22b8
+   idProduct: 6415
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000040
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: 1c00                                   	..
+Microsoft device response to control message 1, CMD 0x1c:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 3030 0000 0000	..MTP.....00....
+	0020: 0000 0000 0000 0000                    	........
+Device info:
+   Manufacturer: Motorola
+   Model: V8
+   Device version: 1.0
+   Serial number: 515325ba0b060c090909090909090909
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/WMDRMPD: 10.1;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1010: Reset device
+   1012: Set object protection
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9103: Set license response
+   9109: Get license state
+   9104: Get sync list
+   9108: Clean data store
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9106: Get meter challenge
+   9107: Get meter response
+   9105: Send meter challenge query
+   9001: Unknown (9001)
+   9002: Unknown (9002)
+Events supported:
+   0x4001
+   0x4004
+   0x4005
+   0x400b
+Device Properties Supported:
+   0x5011: Date & Time
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd405: Device Icon
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 100 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 13000, MAX 320000, STEP 1000 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 6, 7, 352, 353, 384, 41222, 85,  READ ONLY
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 100 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 13000, MAX 320000, STEP 1000 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 6, 7, 352, 353, 384, 41222, 85,  READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 100 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 13000, MAX 320000, STEP 1000 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 6, 7, 352, 353, 384, 41222, 85,  READ ONLY
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+   3800: Defined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0004
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 439676928
+      FreeSpaceInBytes: 438157312
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: MOBILE HANDSET
+      VolumeIdentifier: 515325ba0b060c090909090909090909
+Special directories:
+   Default music folder: 0x00000002
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000001
+   Default video folder: 0x00000003
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: V8
+   Synchronization partner: Longhorn Sync Engine
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#19700101 05:31:05Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>AG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">UVMlugsGDAkJCQkJCQkJCQ==</UNIQUEID><PUBLICKEY private="1">8gLBM3CeXtn5rhBza8uo/2k/dTMhmuIKAvHciC5hFEwV/mFTTbVQWQ==</PUBLICKEY><KEYDATA>eTjqCXKYG7xT8cY89W0Oar6oluU=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>XsYC8ZCZ0j4vJSYWmSTusMQwlH1TXvWMa8VklHyTtmNCMPMq+379RQ==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>IkEHcjT8b3/UaTzIHlLXC7hNRpg=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.105.89</SECURITYVERSION><CERTIFICATE private="1">8gLBM3CeXtn5rhBza8uo/2k/dTMhmuIKAvHciC5hFEwV/mFTTbVQWQIEaVlM/bOOuQjoeXG6v8kErFX1rbnbTG0dFI8dr6C8SdOdCyVwCsQidEBu</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>3GPP_Handset</NAME>

+    <MANUFACTURER>Motorola</MANUFACTURER>

+    <MAKE>ZAS_Platform</MAKE>

+    <DISTRIBUTOR>Motorola-DC</DISTRIBUTOR>

+    <MODEL>LJ-6.1</MODEL>

+    <UNIQUEID>0000036845B7</UNIQUEID>

+    <SECURITYLEVEL>2000</SECURITYLEVEL>

+    <HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR>

+    <HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR>

+    <FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR>

+    <FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>

+    <FEATURES>

+        <CLOCK>2</CLOCK>

+        <SECURECLOCK>

+            <URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL>

+            <PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY>

+        </SECURECLOCK>

+        <METERING>1</METERING>

+        <LICENSE_ACQ>0</LICENSE_ACQ>

+        <LICENSE_SYNC>1</LICENSE_SYNC>

+        <ENCRYPTION>0</ENCRYPTION>

+        <SYMMETRIC_OPT>1</SYMMETRIC_OPT>

+    </FEATURES>

+    <LIMITS>

+        <MAXCHAINDEPTH>2</MAXCHAINDEPTH>

+        <MAXLICENSESIZE>10240</MAXLICENSESIZE>

+        <MAXHEADERSIZE>5120</MAXHEADERSIZE>

+    </LIMITS><PUBLICKEY>odbHAfgr2dCWzzmVFXqmyFmYXWlEWcK18VTRgfPhORtQque5YDpGiQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>hAL/qmJIFaZVR9EZNLXfyVvMbQq5OuXRDSZSeO2a2V0WaXXm1TMBgg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1213</AUTH_ID><PUBLICKEY>YwNxtTBKGnuG3NMofm4zTndS9A2mFPoFzDSAWNv5RMNwc8yYok11eQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>0peErT6+EQChZUE788n4ExBoPFdUZbCzKeE2FEJOniRg6HuvkfrhcA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>Byrq7t94b/xMrbc1q5z+icY+PgViUS4ok9e+5S9HWDs+SRbTIq7vTw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+WMPInfo.xml Does not exist on this device
+OK.
diff --git a/logs/mtp-detect-motorola-u9.txt b/logs/mtp-detect-motorola-u9.txt
new file mode 100644
index 0000000..1beadb3
--- /dev/null
+++ b/logs/mtp-detect-motorola-u9.txt
@@ -0,0 +1,269 @@
+casanemir:/ # mtp-detect
+libmtp version: 0.2.1
+
+Attempting to connect device(s)
+Potential MTP Device with VendorID:22b8 and ProductID:6415 responded to control message 2 with a response that was too short. Problems may arrise but continuing
+Device 1 (VID=22b8 and PID=6415) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+PTP: Opening session
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 272
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 22b8
+   idProduct: 6415
+   IN endpoint maxpacket: 64 bytes
+   OUT endpoint maxpacket: 64 bytes
+   Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+        0000: 1203 4d00 5300 4600 5400 3100 3000 3000   ..M.S.F.T.1.0.0.
+        0010: 1c00                                      ..
+Microsoft device response to control message 1, CMD 0x1c:
+        0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............
+        0010: 0001 4d54 5000 0000 0000 3030 0000 0000   ..MTP.....00....
+        0020: 0000 0000 0000 0000                       ........
+Potential MTP Device with VendorID:22b8 and ProductID:6415 responded to control message 2 with a response that was too short. Problems may arrise but continuing
+Device info:
+   Manufacturer: Motorola
+   Model: U9
+   Device version: 1.0
+   Serial number: 4d5436ba11090a090909090909090909
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/WMDRMPD: 10.1;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1010: Reset device
+   1012: Set object protection
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9103: Set license response
+   9109: Get license state
+   9104: Get sync list
+   9108: Clean data store
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9106: Get meter challenge
+   9107: Get meter response
+   9105: Send meter challenge query
+   9001: Unknown (9001)
+   9002: Unknown (9002)
+Events supported:
+   0x4001
+   0x4004
+   0x4005
+   0x400b
+Device Properties Supported:
+   0x5011: Date & Time
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd405: Device Icon
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 864000000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 100 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 13000, MAX 320000, STEP 1000 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 6, 7, 352, 353, 384, 41222, 85,  READ ONLY
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 864000000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 100 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 13000, MAX 320000, STEP 1000 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 6, 7, 352, 353, 384, 41222, 85,  READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 864000000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 100 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 13000, MAX 320000, STEP 1000 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 6, 7, 352, 353, 384, 41222, 85,  READ ONLY
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+   3800: Defined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0004
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 1014333440
+      FreeSpaceInBytes: 941441024
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: MOBILE HANDSET
+      VolumeIdentifier: 836883371494885110243112801240213
+Special directories:
+   Default music folder: 0x00000000
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000006
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: U9
+   Synchronization partner: Longhorn Sync Engine
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20080310 12:33:22Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>AG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">TVQ2uhEJCgkJCQkJCQkJCQ==</UNIQUEID><PUBLICKEY private="1">7ZDJ31Pa+dO6LMg26VeMgoWTew/n9bjodn3JBIxLkH2PJRJSazoCPQ==</PUBLICKEY><KEYDATA>s3tDZlwM53qXMeytm+/oB9Ih4vE=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>OA+buWUJHsKfO1NKWyAhM9lhGDZ2NuN5CeA4MV4vckvpLy9W/fR6aA==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>jzs9w5rQTOPy6Y+UprqQW10wk9s=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.105.91</SECURITYVERSION><CERTIFICATE private="1">7ZDJ31Pa+dO6LMg26VeMgoWTew/n9bjodn3JBIxLkH2PJRJSazoCPQIEaVsF0hiSXY7x9KhL49eqRe+HCW98fMAsrLtdFpeGrStzGXC75LS5QdMy</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>3GPP_Handset</NAME>
+    <MANUFACTURER>Motorola</MANUFACTURER>
+    <MAKE>ZAS_Platform</MAKE>
+    <DISTRIBUTOR>Motorola-DC</DISTRIBUTOR>
+    <MODEL>LJ-6.3</MODEL>
+    <UNIQUEID>000003E4BB78</UNIQUEID>
+    <SECURITYLEVEL>2000</SECURITYLEVEL>
+    <HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR>
+    <HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR>
+    <FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR>
+    <FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>
+    <FEATURES>
+        <CLOCK>2</CLOCK>
+        <SECURECLOCK>
+            <URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL>
+            <PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY>
+        </SECURECLOCK>
+        <METERING>1</METERING>
+        <LICENSE_ACQ>0</LICENSE_ACQ>
+        <LICENSE_SYNC>1</LICENSE_SYNC>
+        <ENCRYPTION>0</ENCRYPTION>
+        <SYMMETRIC_OPT>1</SYMMETRIC_OPT>
+    </FEATURES>
+    <LIMITS>
+        <MAXCHAINDEPTH>2</MAXCHAINDEPTH>
+        <MAXLICENSESIZE>10240</MAXLICENSESIZE>
+        <MAXHEADERSIZE>5120</MAXHEADERSIZE>
+    </LIMITS><PUBLICKEY>G8NVi0eYxdB0Nef+7nvtFzE8KC+OqIoGcwRV0vRF+Qur5Qmar0j1Mw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>+j4/EL6V/RoqltVaUiVlV8ihbzlpxvb7moppuNmp0j6X0ySEsjd2gw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1215</AUTH_ID><PUBLICKEY>ax39VTcv1D9Hxgx4Cer5+3fzmARsQuTGF8cF6uhSoGYFvAxBLTPkMw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>yig2bY4W/wlGBfQcSzZXZ7wuP1OEf4xrnza3bi7ozrRCDCWyFDA1Wg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>v6L1ULETofKiIE7BJYwbzpTd8QI1xrOdQfa2WIJwVIu2qGBvtBavPg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+WMPInfo.xml Does not exist on this device
+PTP: Closing session
+OK.
diff --git a/logs/mtp-detect-motorola-v3m-verizon.txt b/logs/mtp-detect-motorola-v3m-verizon.txt
new file mode 100644
index 0000000..4484615
--- /dev/null
+++ b/logs/mtp-detect-motorola-v3m-verizon.txt
@@ -0,0 +1,150 @@
+libmtp version: 0.2.6.1
+
+Attempting to connect device(s)
+PTP: Opening session
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 272
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 22b8
+   idProduct: 2a65
+   IN endpoint maxpacket: 64 bytes
+   OUT endpoint maxpacket: 64 bytes
+   Device flags: 0x00000101
+Microsoft device descriptor 0xee:
+        0000: 1203 4d00 5300 4600 5400 3100 3000 3000   ..M.S.F.T.1.0.0.
+        0010: fe00                                      ..
+Microsoft device response to control message 1, CMD 0xfe:
+        0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............
+        0010: 0001 4d54 5000 0000 0000 0000 0000 0000   ..MTP...........
+        0020: 0000 0000 0000 0000                       ........
+Microsoft device response to control message 2, CMD 0xfe:
+        0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............
+        0010: 0001 4d54 5000 0000 0000 0000 0000 0000   ..MTP...........
+        0020: 0000 0000 0000 0000                       ........
+Device info:
+   Manufacturer: Verizon
+   Model: Verizon Music Phone
+   Device version: 01.01.008(8084)
+   Serial number: 14B00F17
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/WMDRMPD: 10.1; 
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1007: Get object handles
+   1008: Get object info
+   100d: Send object
+   9808: Send object property list
+   9802: Get object property description
+   1014: Get device property description
+   1015: Get device property value
+   9801: Get object properties supported
+   9803: Get object property value
+   9805: Get object property list
+   9810: Get object references
+   1009: Get object
+   100b: Delete object
+   9806: Set object property list
+   9103: Set license response
+   9104: Get sync list
+   9109: Get license state
+Events supported:
+   None.
+Device Properties Supported:
+   0xd402: Friendly Device Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 32000, 44100,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 192000, STEP 1000 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type ANY 32BIT VALUE form READ ONLY
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+Storage Devices:
+   StorageID: 0x00000001
+      StorageType: 0x0001
+      FilesystemType: 0x0000
+      AccessCapability: 0x0000
+      MaxCapacity: 23298863
+      FreeSpaceInBytes: 7446959
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Phone Internal Memory
+      VolumeIdentifier: 14B00F17
+   StorageID: 0x00000002
+      StorageType: 0x0002
+      FilesystemType: 0x0000
+      AccessCapability: 0x0000
+      MaxCapacity: 1015808000
+      FreeSpaceInBytes: 1179648
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Removable Storage Card
+      VolumeIdentifier: SU01G€15204864
+Special directories:
+   Default music folder: 0x00000000
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: V CAST Mobile Phone
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Microsoft Windows Media Audio
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">Fw+wFC4eYClcPMBSuHiApXDxAEs=</UNIQUEID><PUBLICKEY private="1">1hp1UWLVxX31SJBARq+jAOvmE2i1n7d5Tw0B/K6I3TTzawZ4AspYhg==</PUBLICKEY><KEYDATA>XWSKRW03C02IZBazt7616CIlh2Y=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>1ByoWiOq6aFG2tEa/8Zm7p/0wH08rAJHkQF7lzKFn3nzY+4tafu4Fw==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>MVLZEMS3kGCK6aSAWJC0/xq4Vwo=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.104.17</SECURITYVERSION><CERTIFICATE private="1">1hp1UWLVxX31SJBARq+jAOvmE2i1n7d5Tw0B/K6I3TTzawZ4AspYhgIEaBGdBaa43tDT4ly9ha+OssesmhgHZxsVZR61+HdUoZ9oFTgRTV6FpFE5</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>V3m</NAME>
+    <MANUFACTURER>Motorola</MANUFACTURER>
+    <MAKE>V3m</MAKE>
+    <DISTRIBUTOR>Verizon Wireless</DISTRIBUTOR>
+    <MODEL>MOD 1.0.0</MODEL>
+    <SECURITYLEVEL>2000</SECURITYLEVEL>
+    <HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR>
+    <HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR>
+    <FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR>
+    <FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>
+    <FEATURES>
+        <CLOCK>1</CLOCK>
+        <METERING>0</METERING>
+        <LICENSE_ACQ>1</LICENSE_ACQ>
+        <LICENSE_SYNC>1</LICENSE_SYNC>
+        <ENCRYPTION>1</ENCRYPTION>
+        <SYMMETRIC_OPT>1</SYMMETRIC_OPT>
+    </FEATURES>
+    <LIMITS>
+        <MAXCHAINDEPTH>2</MAXCHAINDEPTH>
+        <MAXLICENSESIZE>10240</MAXLICENSESIZE>
+        <MAXHEADERSIZE>5120</MAXHEADERSIZE>
+    </LIMITS><PUBLICKEY>w9sptKYU2s6pTa+PNmYtZ8dlSGb0aJEPpMIsst819+vGsllK+IViMg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>JIH185LxQeN5XXsdEZtUAag7MycUvSWgRd5vViP4VDt4E6XbEfj/Bw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>885</AUTH_ID><PUBLICKEY>MMAVZgWISRBBMxtNJXyxjpVymz8oNEBWJdEb6gjJCEniO/F8JGo3Sg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>aXt99Bc+fjwpul3XroBZCPToxWSHwbwSXVnXZeAuCQA3aifv0G8sdA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>6UxCYjXbq9X5f58EqQ49Nf51uQ9JyXIcjZ7HDXL8f9cpc39oj5fOPA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+WMPInfo.xml Does not exist on this device
+PTP: Closing session
+OK.
diff --git a/logs/mtp-detect-motorola-v750.txt b/logs/mtp-detect-motorola-v750.txt
new file mode 100644
index 0000000..4e554b1
--- /dev/null
+++ b/logs/mtp-detect-motorola-v750.txt
@@ -0,0 +1,313 @@
+libmtp version: 0.2.6.1
+
+Attempting to connect device(s)
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 22b8
+   idProduct: 2a65
+   IN endpoint maxpacket: 64 bytes
+   OUT endpoint maxpacket: 64 bytes
+   Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: fe00                                   	..
+Microsoft device response to control message 1, CMD 0xfe:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Microsoft device response to control message 2, CMD 0xfe:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Device info:
+   Manufacturer: Motorola V750
+   Model: Verizon Music Phone
+   Device version: 02.06.023(0)
+   Serial number: 5CA17800
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; 
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1007: Get object handles
+   1008: Get object info
+   9806: Set object property list
+   9808: Send object property list
+   100d: Send object
+   1009: Get object
+   100b: Delete object
+   9802: Get object property description
+   1014: Get device property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9805: Get object property list
+   9810: Get object references
+   1015: Get device property value
+   1016: Set device property value
+   9811: Set object references
+   d402: Unknown (d402)
+   9804: Set object property value
+   1006: Get number of objects
+   100c: Send object info
+   1012: Set object protection
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9109: Get license state
+   9201: Report Added/Deleted Items
+Events supported:
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd402: Friendly Device Name
+   0xd401: Synchronization Partner
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 32000, 44100,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 196608, STEP 1000 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353, 354,  READ ONLY
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 32000, 44100,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 196608, STEP 1000 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  READ ONLY
+   b700: Unknown(b700)
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 32000, 44100,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 196608, STEP 1000 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration:  READ ONLY
+   b701: Unknown(b701)
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 32000, 44100,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 196608, STEP 1000 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration:  READ ONLY
+   b702: Unknown(b702)
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 32000, 44100,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 196608, STEP 1000 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration:  READ ONLY
+   ba03: Abstract Audio Album
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337, 14344,  GET/SET
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 65536, STEP 1 READ ONLY
+      dc8c: Genre STRING data type GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+   3801: JPEG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+   3808: JFIF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0004
+      FilesystemType: 0x0000
+      AccessCapability: 0x0000
+      MaxCapacity: 2030960640
+      FreeSpaceInBytes: 2001518592
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Removable Storage Card
+      VolumeIdentifier: SU02G0002102463
+Special directories:
+   Default music folder: 0x000000c8
+   Default playlist folder: 0x000000cc
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: V CAST Mobile Phone - External Memory
+   Synchronization partner: V CAST Sync Partner
+libmtp supported (playable) filetypes:
+   Microsoft Windows Media Audio
+   ISO MPEG-1 Audio Layer 3
+   JPEG file
+   JFIF file
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">AHihXA4AAADwQrkcAAAA4IVyOAA=</UNIQUEID><PUBLICKEY private="1">RaB8z89Dq+RzzGZeVO96vOT7dQM+j9EuxaJHdxb/KyzYZX4HHYykdg==</PUBLICKEY><KEYDATA>oTkhLfogUau7ar5YqiXAEyFv51w=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>ifREcA5re+6fpjk/gByYMRYYKCVRoV7SoWx+LMWF19J6F2JiHuSZJw==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>hR+lm6Q7o39wOregV793mlwduYU=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.109.185</SECURITYVERSION><CERTIFICATE private="1">RaB8z89Dq+RzzGZeVO96vOT7dQM+j9EuxaJHdxb/KyzYZX4HHYykdgIEbbl5VxN+LV4GTXGi/VofwLMhe63CRhorPBDredoTTUgn5+Pq4XckG2Bn</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>Charlotte</NAME>
+    <MANUFACTURER>Motorola</MANUFACTURER>
+    <MAKE>V750</MAKE>
+    <DISTRIBUTOR>Verizon Wireless</DISTRIBUTOR>
+    <MODEL>MOD 2.6</MODEL>
+    <SECURITYLEVEL>2000</SECURITYLEVEL>
+    <HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR>
+    <HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR>
+    <FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR>
+    <FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>
+    <FEATURES>
+        <CLOCK>1</CLOCK>
+        <METERING>1</METERING>
+        <LICENSE_ACQ>1</LICENSE_ACQ>
+        <LICENSE_SYNC>1</LICENSE_SYNC>
+        <ENCRYPTION>1</ENCRYPTION>
+        <SYMMETRIC_OPT>1</SYMMETRIC_OPT>
+    </FEATURES>
+    <LIMITS>
+        <MAXCHAINDEPTH>2</MAXCHAINDEPTH>
+        <MAXLICENSESIZE>10240</MAXLICENSESIZE>
+        <MAXHEADERSIZE>5120</MAXHEADERSIZE>
+    </LIMITS><PUBLICKEY>fU9lcJB/UX7Ocvydt+6tzdxVXn5e44G7Bggv01bd4VQD6N5SG4r1DA==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>a96iQXnE5Xw8HyDhCO1Qk0rE/Xpw/8Q1ClwfeSUoVbvI+WToCsY8gQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>2333</AUTH_ID><PUBLICKEY>o/NVnyFd6QQ80djHP4LE6y624CGY6QE2gXZXSyFDXCsE+9634ZofXw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>DQqD3lqmRsUe501nUIpNaj1csGHYN5RgiManegaHd3ZsS7YL7MsDPw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>8NPt7xp/Wu7Q0Do3RKXOH2eLrD+KgihwtIzjnfAesj7oQTXz4AsUZw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+WMPInfo.xml Does not exist on this device
+OK.
diff --git a/logs/mtp-detect-motorola-x-2014-pure.txt b/logs/mtp-detect-motorola-x-2014-pure.txt
new file mode 100644
index 0000000..546dd15
--- /dev/null
+++ b/logs/mtp-detect-motorola-x-2014-pure.txt
@@ -0,0 +1,533 @@
+Device 0 (VID=22b8 and PID=2e82) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+ignoring libusb_claim_interface() = -6PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
+LIBMTP libusb: Attempt to reset device
+Error 1: Get Storage information failed.
+Error 2: PTP Layer error 02fe: get_handles_recursively(): could not get object handles.
+Error 2: Error 02fe: PTP: Protocol error, data expected
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   22b8:2e82 @ bus 3, dev 5
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 22b8
+   idProduct: 2e82
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 3
+      Device number: 5
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x22b8
+         Product: (null)
+         Vendor id: 0x2e82
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: motorola
+   Model: XT1095
+   Device version: 1.0
+   Serial number: TAxxxxxxxx
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0; mot-mobility.com/DSU: 1.2
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+   9001: Unknown (9001)
+   9002: Unknown (9002)
+   9003: Unknown (9003)
+   9004: Unknown (9004)
+   9005: Unknown (9005)
+   9006: Unknown (9006)
+   9007: Unknown (9007)
+   9008: Unknown (9008)
+   9009: Unknown (9009)
+   900a: Unknown (900a)
+   900b: Unknown (900b)
+   900c: Unknown (900c)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 959853128, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 959853128, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 959853128, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+   Microsoft Windows Media Video
+OK.
diff --git a/logs/mtp-detect-motorola-xoom.txt b/logs/mtp-detect-motorola-xoom.txt
new file mode 100644
index 0000000..5c1aa41
--- /dev/null
+++ b/logs/mtp-detect-motorola-xoom.txt
@@ -0,0 +1,435 @@
+libmtp version: 1.0.2
+
+Listing raw device(s)
+   Found 1 device(s):
+   22b8:70a8 @ bus 2, dev 10
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 22b8
+   idProduct: 70a8
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 10
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x22b8
+         Product: (null)
+         Vendor id: 0x70a8
+         Device flags: 0x00000000
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Google, Inc.
+   Model: Xoom
+   Device version: 1.0
+   Serial number: 027c100643003497
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+Events supported:
+   0x4002
+   0x4003
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 30907240448
+      FreeSpaceInBytes: 19928780800
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Device Storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000018
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000005
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+OK.
diff --git a/logs/mtp-detect-motorola-xt1080.txt b/logs/mtp-detect-motorola-xt1080.txt
new file mode 100644
index 0000000..e2de3da
--- /dev/null
+++ b/logs/mtp-detect-motorola-xt1080.txt
@@ -0,0 +1,1043 @@
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.9
+
+Listing raw device(s)
+   Found 1 device(s):
+   22b8:2e66 @ bus 3, dev 67
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 22b8
+   idProduct: 2e66
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 3
+      Device number: 67
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x22b8
+         Product: (null)
+         Vendor id: 0x2e66
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: motorola
+   Model: XT1080
+   Device version: 1.0
+   Serial number: TA4310A0DM
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0; mot-mobility.com/DSU: 1.2
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+   9001: Unknown (9001)
+   9002: Unknown (9002)
+   9003: Unknown (9003)
+   9004: Unknown (9004)
+   9005: Unknown (9005)
+   9006: Unknown (9006)
+   9007: Unknown (9007)
+   9008: Unknown (9008)
+   9009: Unknown (9009)
+   900a: Unknown (900a)
+   900b: Unknown (900b)
+   900c: Unknown (900c)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 959853128, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 959853128, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 959853128, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 27357200384
+      FreeSpaceInBytes: 20464386048
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00004c17
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+   Microsoft Windows Media Video
+OK.
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/bugs/1323/>
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/>
+--===============3618449353698719416==
+MIME-Version: 1.0
+Content-Type: text/html; charset="us-ascii"
+Content-Transfer-Encoding: 7bit
+
+<div class="markdown_content"><hr />
+<p><strong> <a class="alink" href="http://sourceforge.net/p/libmtp/bugs/1323">[bugs:#1323]</a> Motorola XT1080 was working until recently - now unknown</strong></p>
+<p><strong>Status:</strong> open<br />
+<strong>Group:</strong> 1.1.9<br />
+<strong>Labels:</strong> XT1080 <br />
+<strong>Created:</strong> Thu Apr 16, 2015 01:05 PM UTC by Anonymous<br />
+<strong>Last Updated:</strong> Thu Apr 16, 2015 01:05 PM UTC<br />
+<strong>Owner:</strong> nobody</p>
+<p>It was working fine until this past weekend on Ubuntu 14.04. It still works fine via win7. I plugged the xt1080 into my laptop to transfer pics from our vacation and got the 'libmtp: unable to send object info' error when I tried to move the pics to my laptop. I did see that there were some folders with strange characters in the folder names that were not there before. Unplugged - rebooted and tried again but this time all info on the emulated storage was gone - music and photos. Hasn't worked right since under ubuntu. It still mounts and I can browse it but can't move anything to it or rename anything. Below is the output of sudo mtp-detect:</p>
+<p>Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.9</p>
+<p>Listing raw device(s)<br />
+   Found 1 device(s):<br />
+   22b8:2e66 @ bus 3, dev 67<br />
+Attempting to connect device(s)<br />
+Android device detected, assigning default bug flags<br />
+USB low-level info:<br />
+   bcdUSB: 512<br />
+   bDeviceClass: 0<br />
+   bDeviceSubClass: 0<br />
+   bDeviceProtocol: 0<br />
+   idVendor: 22b8<br />
+   idProduct: 2e66<br />
+   IN endpoint maxpacket: 512 bytes<br />
+   OUT endpoint maxpacket: 512 bytes<br />
+   Raw device info:<br />
+      Bus location: 3<br />
+      Device number: 67<br />
+      Device entry info:<br />
+         Vendor: (null)<br />
+         Vendor id: 0x22b8<br />
+         Product: (null)<br />
+         Vendor id: 0x2e66<br />
+         Device flags: 0x08008106<br />
+Configuration 0, interface 0, altsetting 0:<br />
+   Interface description contains the string "MTP"<br />
+   Device recognized as MTP, no further probing.<br />
+Device info:<br />
+   Manufacturer: motorola<br />
+   Model: XT1080<br />
+   Device version: 1.0<br />
+   Serial number: TA4310A0DM<br />
+   Vendor extension ID: 0x00000006<br />
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0; mot-mobility.com/DSU: 1.2<br />
+   Detected object size: 64 bits<br />
+   Extensions:<br />
+        microsoft.com: 1.0<br />
+        android.com: 1.0<br />
+Supported operations:<br />
+   1001: get device info<br />
+   1002: Open session<br />
+   1003: Close session<br />
+   1004: Get storage IDs<br />
+   1005: Get storage info<br />
+   1006: Get number of objects<br />
+   1007: Get object handles<br />
+   1008: Get object info<br />
+   1009: Get object<br />
+   100a: Get thumbnail<br />
+   100b: Delete object<br />
+   100c: Send object info<br />
+   100d: Send object<br />
+   1014: Get device property description<br />
+   1015: Get device property value<br />
+   1016: Set device property value<br />
+   1017: Reset device property value<br />
+   101b: Get partial object<br />
+   9801: Get object properties supported<br />
+   9802: Get object property description<br />
+   9803: Get object property value<br />
+   9804: Set object property value<br />
+   9805: Get object property list<br />
+   9810: Get object references<br />
+   9811: Set object references<br />
+   95c1: Get Partial Object (64bit Offset)<br />
+   95c2: Send Partial Object<br />
+   95c3: Truncate Object<br />
+   95c4: Begin Edit Object<br />
+   95c5: End Edit Object<br />
+   9001: Unknown (9001)<br />
+   9002: Unknown (9002)<br />
+   9003: Unknown (9003)<br />
+   9004: Unknown (9004)<br />
+   9005: Unknown (9005)<br />
+   9006: Unknown (9006)<br />
+   9007: Unknown (9007)<br />
+   9008: Unknown (9008)<br />
+   9009: Unknown (9009)<br />
+   900a: Unknown (900a)<br />
+   900b: Unknown (900b)<br />
+   900c: Unknown (900c)<br />
+Events supported:<br />
+   0x4002<br />
+   0x4003<br />
+   0x4004<br />
+   0x4005<br />
+Device Properties Supported:<br />
+   0xd401: Synchronization Partner<br />
+   0xd402: Friendly Device Name<br />
+   0x5003: Image Size<br />
+Playable File (Object) Types and Object Properties Supported:<br />
+   3000: Undefined Type<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+   3001: Association/Directory<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+   3004: Text<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+   3005: HTML<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+   3008: MS Wave<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dce0: Display Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+      dc46: Artist STRING data type READ ONLY<br />
+      dc9a: Album Name STRING data type READ ONLY<br />
+      dc9b: Album Artist STRING data type READ ONLY<br />
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY<br />
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc8c: Genre STRING data type READ ONLY<br />
+      dc96: Composer STRING data type READ ONLY<br />
+   3009: MP3<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dce0: Display Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+      dc46: Artist STRING data type READ ONLY<br />
+      dc9a: Album Name STRING data type READ ONLY<br />
+      dc9b: Album Artist STRING data type READ ONLY<br />
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY<br />
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc8c: Genre STRING data type READ ONLY<br />
+      dc96: Composer STRING data type READ ONLY<br />
+   300b: MPEG<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dce0: Display Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+      dc46: Artist STRING data type READ ONLY<br />
+      dc9a: Album Name STRING data type READ ONLY<br />
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc48: Description STRING data type READ ONLY<br />
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 959853128, 1195724877, 827739479, 844516695, 861293911,  GET/SET<br />
+      dea1: Encoding Profile STRING data type GET/SET<br />
+   3801: JPEG<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dce0: Display Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+      dc48: Description STRING data type READ ONLY<br />
+   3802: TIFF EP<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+   3804: BMP<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dce0: Display Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+      dc48: Description STRING data type READ ONLY<br />
+   3807: GIF<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dce0: Display Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+      dc48: Description STRING data type READ ONLY<br />
+   3808: JFIF<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+   380b: PNG<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dce0: Display Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+      dc48: Description STRING data type READ ONLY<br />
+   380d: TIFF<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+   b901: WMA<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dce0: Display Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+      dc46: Artist STRING data type READ ONLY<br />
+      dc9a: Album Name STRING data type READ ONLY<br />
+      dc9b: Album Artist STRING data type READ ONLY<br />
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY<br />
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc8c: Genre STRING data type READ ONLY<br />
+      dc96: Composer STRING data type READ ONLY<br />
+   b902: OGG<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dce0: Display Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+      dc46: Artist STRING data type READ ONLY<br />
+      dc9a: Album Name STRING data type READ ONLY<br />
+      dc9b: Album Artist STRING data type READ ONLY<br />
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY<br />
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc8c: Genre STRING data type READ ONLY<br />
+      dc96: Composer STRING data type READ ONLY<br />
+   b903: AAC<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dce0: Display Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+      dc46: Artist STRING data type READ ONLY<br />
+      dc9a: Album Name STRING data type READ ONLY<br />
+      dc9b: Album Artist STRING data type READ ONLY<br />
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY<br />
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc8c: Genre STRING data type READ ONLY<br />
+      dc96: Composer STRING data type READ ONLY<br />
+   b982: MP4<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+   b983: MP2<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+   b984: 3GP<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dce0: Display Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+      dc46: Artist STRING data type READ ONLY<br />
+      dc9a: Album Name STRING data type READ ONLY<br />
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc48: Description STRING data type READ ONLY<br />
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 959853128, 1195724877, 827739479, 844516695, 861293911,  GET/SET<br />
+      dea1: Encoding Profile STRING data type GET/SET<br />
+   ba05: Abstract Audio Video Playlist<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+   ba10: WPL Playlist<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+   ba11: M3U Playlist<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+   ba14: PLS Playlist<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+   ba82: XMLDocument<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+   b906: FLAC<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+   b981: WMV<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dce0: Display Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+      dc46: Artist STRING data type READ ONLY<br />
+      dc9a: Album Name STRING data type READ ONLY<br />
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc48: Description STRING data type READ ONLY<br />
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 959853128, 1195724877, 827739479, 844516695, 861293911,  GET/SET<br />
+      dea1: Encoding Profile STRING data type GET/SET<br />
+Storage Devices:<br />
+   StorageID: 0x00010001<br />
+      StorageType: 0x0003 fixed RAM storage<br />
+      FilesystemType: 0x0002 generic hierarchical<br />
+      AccessCapability: 0x0000 read/write<br />
+      MaxCapacity: 27357200384<br />
+      FreeSpaceInBytes: 20464386048<br />
+      FreeSpaceInObjects: 1073741824<br />
+      StorageDescription: Internal storage<br />
+      VolumeIdentifier: (null)<br />
+Special directories:<br />
+   Default music folder: 0x00004c17<br />
+   Default playlist folder: 0xffffffff<br />
+   Default picture folder: 0xffffffff<br />
+   Default video folder: 0xffffffff<br />
+   Default organizer folder: 0xffffffff<br />
+   Default zencast folder: 0xffffffff<br />
+   Default album folder: 0xffffffff<br />
+   Default text folder: 0xffffffff<br />
+MTP-specific device properties:<br />
+   Friendly name: (NULL)<br />
+   Synchronization partner: (NULL)<br />
+libmtp supported (playable) filetypes:<br />
+   Folder<br />
+   Text file<br />
+   HTML file<br />
+   RIFF WAVE file<br />
+   ISO MPEG-1 Audio Layer 3<br />
+   MPEG video stream<br />
+   JPEG file<br />
+   BMP bitmap file<br />
+   GIF bitmap file<br />
+   JFIF file<br />
+   Portable Network Graphics<br />
+   TIFF bitmap file<br />
+   Microsoft Windows Media Audio<br />
+   Ogg container format<br />
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3<br />
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)<br />
+   ISO MPEG-1 Audio Layer 2<br />
+   Abstract Playlist file<br />
+   XML file<br />
+   Free Lossless Audio Codec (FLAC)<br />
+   Microsoft Windows Media Video<br />
+OK.</p>
+<hr />
+<p>Sent from sourceforge.net because you indicated interest in <a href="https://sourceforge.net/p/libmtp/bugs/1323">https://sourceforge.net/p/libmtp/bugs/1323/</a></p>
+<p>To unsubscribe from further messages, please visit <a href="https://sourceforge.net/auth/subscriptions">https://sourceforge.net/auth/subscriptions/</a></p></div>
+--===============3618449353698719416==--
+--===============0036358242694652951==--
+
+
diff --git a/logs/mtp-detect-motorola-xt1524.txt b/logs/mtp-detect-motorola-xt1524.txt
new file mode 100644
index 0000000..b4d7f13
--- /dev/null
+++ b/logs/mtp-detect-motorola-xt1524.txt
@@ -0,0 +1,526 @@
+libmtp version: 1.1.9
+
+Listing raw device(s)
+   Found 1 device(s):
+   22b8:002e @ bus 2, dev 14
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 22b8
+   idProduct: 002e
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 14
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x22b8
+         Product: (null)
+         Vendor id: 0x002e
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: motorola
+   Model: XT1524
+   Device version: 1.0
+   Serial number: TA36402SJU
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+   0xc801
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 5366480896
+      FreeSpaceInBytes: 4071981056
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Interner Speicher
+      VolumeIdentifier: (null)
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 30899732480
+      FreeSpaceInBytes: 28354117632
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD-Karte
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Battery level 83 of 100 (82%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-motorola-xt890.txt b/logs/mtp-detect-motorola-xt890.txt
new file mode 100644
index 0000000..ac4b86c
--- /dev/null
+++ b/logs/mtp-detect-motorola-xt890.txt
@@ -0,0 +1,507 @@
+libmtp version: 1.1.3
+
+Listing raw device(s)
+   Found 1 device(s):
+   22b8:710d @ bus 1, dev 5
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 22b8
+   idProduct: 710d
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 5
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x22b8
+         Product: (null)
+         Vendor id: 0x710d
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Motorola
+   Model: XT890
+   Device version: 1.0
+   Serial number: TA23701WA9
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9808: Send object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 959853128, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 959853128, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 959853128, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 31902400512
+      FreeSpaceInBytes: 30552817664
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD-Karte
+      VolumeIdentifier: 62336438
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 5643771904
+      FreeSpaceInBytes: 5223702528
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Interner Speicher
+      VolumeIdentifier: TA23701WA9
+Special directories:
+   Default music folder: 0x0000053d
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+   Microsoft Windows Media Video
+OK.
diff --git a/logs/mtp-detect-motorola-xt897.txt b/logs/mtp-detect-motorola-xt897.txt
new file mode 100644
index 0000000..6cf4d4f
--- /dev/null
+++ b/logs/mtp-detect-motorola-xt897.txt
@@ -0,0 +1,474 @@
+$ mtp-detect 
+libmtp version: 1.1.6
+
+Listing raw device(s)
+Device 0 (VID=22b8 and PID=2e33) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   22b8:2e33 @ bus 2, dev 2
+Attempting to connect device(s)
+PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
+LIBMTP libusb: Attempt to reset device
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 22b8
+   idProduct: 2e33
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 2
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x22b8
+         Product: (null)
+         Vendor id: 0x2e33
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: motorola
+   Model: XT897
+   Device version: 1.0
+   Serial number: __removed__
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 14749908992
+      FreeSpaceInBytes: 4211867648
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD card
+      VolumeIdentifier: (null)
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 4924987392
+      FreeSpaceInBytes: 4267790236
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00002dd8
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-motorola-z6.txt b/logs/mtp-detect-motorola-z6.txt
new file mode 100644
index 0000000..1e63a7d
--- /dev/null
+++ b/logs/mtp-detect-motorola-z6.txt
@@ -0,0 +1,278 @@
+libmtp version: 0.2.1
+
+Attempting to connect device(s)
+Potential MTP Device with VendorID:22b8 and ProductID:6415 responded to
+control message 2 with a response that was too short. Problems may arrise
+but continuing
+Device 1 (VID=22b8 and PID=6415) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development
+team
+PTP: Opening session
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 22b8
+   idProduct: 6415
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+        0000: 1203 4d00 5300 4600 5400 3100 3000 3000   ..M.S.F.T.1.0.0.
+        0010: 1c00                                      ..
+Microsoft device response to control message 1, CMD 0x1c:
+        0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............
+        0010: 0001 4d54 5000 0000 0000 3030 0000 0000   ..MTP.....00....
+        0020: 0000 0000 0000 0000                       ........
+Potential MTP Device with VendorID:22b8 and ProductID:6415 responded to
+control message 2 with a response that was too short. Problems may arrise
+but continuing
+Device info:
+   Manufacturer: Motorola
+   Model: Z6
+   Device version: 1.0
+   Serial number: 495534ba190810090909090909090909
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/WMDRMPD: 10.1;
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1010: Reset device
+   1012: Set object protection
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9103: Set license response
+   9109: Get license state
+   9104: Get sync list
+   9108: Clean data store
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9106: Get meter challenge
+   9107: Get meter response
+   9105: Send meter challenge query
+   9001: Unknown(9001)
+   9002: Unknown(9002)
+Events supported:
+   0x4001
+   0x4004
+   0x4005
+   0x400b
+Device Properties Supported:
+   0x5011: Date Time
+   0xd401: Synchronization Partner
+   0xd402: Device Friendly Name
+   0xd405: Device Icon
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 100 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2, GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 13000, MAX 320000, STEP 1000 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 6, 7, 352, 353, 384, 41222, 85,  READ ONLY
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 100 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2, GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 13000, MAX 320000, STEP 1000 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 6, 7, 352, 353, 384, 41222, 85,  READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 100 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2, GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 13000, MAX 320000, STEP 1000 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 6, 7, 352, 353, 384, 41222, 85,  READ ONLY
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+   3800: Defined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0004
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 1015529472
+      FreeSpaceInBytes: 969621504
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: MOBILE HANDSET
+      VolumeIdentifier: 8368833714948858796012801180231
+Special directories:
+   Default music folder: 0x00000003
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: Z6
+   Synchronization partner: Longhorn Sync Engine
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20080228
+06:36:23Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>AG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID
+private="1">SVU0uhkIEAkJCQkJCQkJCQ==</UNIQUEID><PUBLICKEY
+private="1">vBZNMF813hLjiTNHakidsssC1ROzq/ZsKaZuYq8Lx+BfTSoWtmRPAA==</PUBLICKEY><KEYDATA>aBcxvmEvrGKMYj39oM8TS1rC2jQ=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>4yDw58JWBJxZbm6mb/hi7D2M5wuC7q+ZPZq2tCJji55UbK0K9K9WEQ==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>9offoJrDJLDbLVosgEOG9+qyGEk=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.105.89</SECURITYVERSION><CERTIFICATE
+private="1">vBZNMF813hLjiTNHakidsssC1ROzq/ZsKaZuYq8Lx+BfTSoWtmRPAAIEaVld8BI9om04YtcY4IgxUhX9tBuJJG3L1N6zdUZn2fIHDAHRnlOYc14o</CERTIFICATE></FALLBACK><CERTIFICATE
+type="GROUP"><DATA><NAME>3GPP_Handset</NAME>
+    <MANUFACTURER>Motorola</MANUFACTURER>
+    <MAKE>ZAS_Platform</MAKE>
+    <DISTRIBUTOR>Motorola-DC</DISTRIBUTOR>
+    <MODEL>LJ-6.1</MODEL>
+    <UNIQUEID>000002B55D10</UNIQUEID>
+    <SECURITYLEVEL>2000</SECURITYLEVEL>
+    <HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR>
+    <HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR>
+    <FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR>
+    <FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>
+    <FEATURES>
+        <CLOCK>2</CLOCK>
+        <SECURECLOCK>
+            <URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL>
+           
+<PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY>
+        </SECURECLOCK>
+        <METERING>1</METERING>
+        <LICENSE_ACQ>0</LICENSE_ACQ>
+        <LICENSE_SYNC>1</LICENSE_SYNC>
+        <ENCRYPTION>0</ENCRYPTION>
+        <SYMMETRIC_OPT>1</SYMMETRIC_OPT>
+    </FEATURES>
+    <LIMITS>
+        <MAXCHAINDEPTH>2</MAXCHAINDEPTH>
+        <MAXLICENSESIZE>10240</MAXLICENSESIZE>
+        <MAXHEADERSIZE>5120</MAXHEADERSIZE>
+   
+</LIMITS><PUBLICKEY>XnNQqctLaFox9EIXUgTJqz4Wn2+TVTSVljA2KpkHc8rJOmLJu9SUhg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>OV6UDd4l2t4FwQuj8UwgUJZXanPrPQJgwMO0XM1BY5t+4ACL6AUnQw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1213</AUTH_ID><PUBLICKEY>YwNxtTBKGnuG3NMofm4zTndS9A2mFPoFzDSAWNv5RMNwc8yYok11eQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>0peErT6+EQChZUE788n4ExBoPFdUZbCzKeE2FEJOniRg6HuvkfrhcA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>Byrq7t94b/xMrbc1q5z+icY+PgViUS4ok9e+5S9HWDs+SRbTIq7vTw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+WMPInfo.xml Does not exist on this device
+PTP: Closing session
+OK.
diff --git a/logs/mtp-detect-mymusix-pd6070.txt b/logs/mtp-detect-mymusix-pd6070.txt
new file mode 100644
index 0000000..0461a47
--- /dev/null
+++ b/logs/mtp-detect-mymusix-pd6070.txt
@@ -0,0 +1,124 @@
+Listing raw device(s)
+  Found 1 device(s):
+  MyMusix: PD-6070 (0aa6:9601) @ bus 0, dev 16
+Attempting to connect device(s)
+PTP_ERROR_IO: Trying again after re-initializing USB interface
+USB low-level info:
+  Using kernel interface "usbfs"
+  bcdUSB: 512
+  bDeviceClass: 0
+  bDeviceSubClass: 0
+  bDeviceProtocol: 0
+  idVendor: 0aa6
+  idProduct: 9601
+  IN endpoint maxpacket: 64 bytes
+  OUT endpoint maxpacket: 64 bytes
+  Raw device info:
+     Bus location: 0
+     Device number: 16
+     Device entry info:
+        Vendor: MyMusix
+        Vendor id: 0x0aa6
+        Product: PD-6070
+        Vendor id: 0x9601
+        Device flags: 0x00000002
+Microsoft device descriptor 0xee:
+       0000: 1203 4d00 5300 4600 5400 3100 3000 3000   ..M.S.F.T.1.0.0.
+       0010: 0100                                      ..
+Device info:
+  Manufacturer: Generic
+  Model: Audio Player
+  Device version: RAD2010005%OUT_PAD:128%
+  Serial number: F03A085089ECCB0C
+  Vendor extension ID: 0x00000006
+  Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1
+  Detected object size: 64 bits
+Supported operations:
+  1001: get device info
+  1002: Open session
+  1003: Close session
+  1004: Get storage IDs
+  1005: Get storage info
+  1006: Get number of objects
+  1007: Get object handles
+  1008: Get object info
+  1009: Get object
+  100b: Delete object
+  100c: Send object info
+  100d: Send object
+  1014: Get device property description
+  1015: Get device property value
+  1016: Set device property value
+  9802: Get object property description
+  9801: Get object properties supported
+  9803: Get object property value
+  9804: Set object property value
+  9805: Get object property list
+  9806: Set object property list
+  9808: Send object property list
+  9101: Get secure time challenge
+  9102: Get secure time response
+  9103: Set license response
+  9104: Get sync list
+  9105: Send meter challenge query
+  9106: Get meter challenge
+  9107: Get meter response
+  9108: Clean data store
+  9109: Get license state
+  910a: Send WMDRM-PD Command
+  910b: Send WMDRM-PD Request
+  100f: Format storage
+  97f1: Unknown (97f1)
+  97f2: Unknown (97f2)
+Events supported:
+  0x4002
+  0x4003
+Device Properties Supported:
+  0xd101: Secure Time
+  0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+  3009: MP3
+  3008: MS Wave
+  b901: WMA
+  3001: Association/Directory
+  3000: Undefined Type
+Storage Devices:
+  StorageID: 0x00010001
+     StorageType: 0x0003 fixed RAM storage
+     FilesystemType: 0x0002 generic hierarchical
+     AccessCapability: 0x0000 read/write
+     MaxCapacity: 1010696192
+     FreeSpaceInBytes: 896000000
+     FreeSpaceInObjects: 4294967295
+     StorageDescription: Internal Storage
+     VolumeIdentifier: (null)
+Special directories:
+  Default music folder: 0x00000002
+  Default playlist folder: 0x00000000
+  Default picture folder: 0x00000000
+  Default video folder: 0x00000000
+  Default organizer folder: 0x00000000
+  Default zencast folder: 0x00000000
+  Default album folder: 0x00000000
+  Default text folder: 0x00000000
+MTP-specific device properties:
+  Friendly name: (NULL)
+  Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+  ISO MPEG-1 Audio Layer 3
+  RIFF WAVE file
+  Microsoft Windows Media Audio
+Unable to acquire device certificate, perhaps this device does not support this
+Error 2: PTP Layer error 02ff: get_device_unicode_property(): failed to get
+unicode property.
+Error 2: (Look this up in ptp.h for an explanation.)
+Error 2: PTP Layer error 02ff: LIBMTP_Get_File_To_File_Descriptor(): Could not
+get file from device.
+Error 2: (Look this up in ptp.h for an explanation.)
+ERROR: Could not close session!
+inep: usb_get_endpoint_status(): No such device
+outep: usb_get_endpoint_status(): No such device
+usb_clear_halt() on IN endpoint: No such device
+usb_clear_halt() on OUT endpoint: No such device
+usb_clear_halt() on INTERRUPT endpoint: No such device
+OK.
diff --git a/logs/mtp-detect-nec-foma-n01a.txt b/logs/mtp-detect-nec-foma-n01a.txt
new file mode 100644
index 0000000..4053928
--- /dev/null
+++ b/logs/mtp-detect-nec-foma-n01a.txt
@@ -0,0 +1,208 @@
+libmtp version: 1.0.2
+
+Listing raw device(s)
+   Found 1 device(s):
+   0409:0242 @ bus 6, dev 17
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0409
+   idProduct: 0242
+   IN endpoint maxpacket: 64 bytes
+   OUT endpoint maxpacket: 64 bytes
+   Raw device info:
+      Bus location: 6
+      Device number: 17
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0409
+         Product: (null)
+         Vendor id: 0x0242
+         Device flags: 0x00000000
+Configuration 0, interface 0, altsetting 0:
+   Interface implements PTP class, no further probing.
+Device info:
+   Manufacturer: NTT DOCOMO, INC.
+   Model: FOMA N01A
+   Device version: 1.0
+   Serial number: 3599500127217370
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.1; microsoft.com/WMPPD: 11.0; microsoft.com/WMDRMPD: 10.1; 
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9810: Get object references
+   9811: Set object references
+   9805: Get object property list
+   9806: Set object property list
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response  { "Pantech", 0x106c, "Crux", 0xf003, DEVICE_FLAG_NONE },
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   None.
+Device Properties Supported:
+   0xd402: Friendly Device Name
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 32000, 44100,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353, 354, 356,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 32768, MAX 196608, STEP 1 GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14343, 14344,  GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 204800, STEP 1 GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 854, STEP 1 GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 480, STEP 1 GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64  { "Pantech", 0x106c, "Crux", 0xf003, DEVICE_FLAG_NONE }, data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 7949438976
+      FreeSpaceInBytes: 7816052736
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: micro SD
+      VolumeIdentifier: TMSD08G8
+Special directories:
+   Default music folder: 0x0000005e
+   Default playlist folder: 0x00000036
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0x00000037
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: FOMA N01A
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Microsoft Windows Media Audio
+   Abstract Playlist file
+   Abstract Album file
+   JPEG file
+   GIF bitmap file
+   JFIF file
+
+WMPInfo.xml file contents:
+<DeviceInfo>
+    <WMP DeviceID="{2FB5D785-9F20-4392-BFC9-21067CAD4079}" RelationshipID="{00000000-0000-0000-0000-000000000000}"/>
+</DeviceInfo>
+
+OK.
diff --git a/logs/mtp-detect-neffos-c5-max.txt b/logs/mtp-detect-neffos-c5-max.txt
new file mode 100644
index 0000000..9e53ed7
--- /dev/null
+++ b/logs/mtp-detect-neffos-c5-max.txt
@@ -0,0 +1,643 @@
+
+
+
+---
+
+** [feature-requests:#197] Device 0 (VID=2357 and PID=031a) is UNKNOWN in libmtp v1.1.12.**
+
+**Status:** open
+**Group:** Future
+**Created:** Fri Dec 02, 2016 11:55 PM UTC by Mikhail Morfikov
+**Last Updated:** Fri Dec 02, 2016 11:55 PM UTC
+**Owner:** nobody
+
+
+My PC:
+
+~~~
+$ cat /etc/debian_version
+stretch/sid
+
+$ uname -rv
+4.8.0-1-amd64 #1 SMP Debian 4.8.7-1 (2016-11-13)
+
+$ gcc --version | head -n 1
+gcc (Debian 6.2.1-5) 6.2.1 20161124
+~~~
+
+I have a smartphone model Neffos C5 MAX from TP-LINK:
+
+~~~
+$ lsusb -vvv -d 2357:031a
+
+Bus 002 Device 036: ID 2357:031a
+Device Descriptor:
+  bLength                18
+  bDescriptorType         1
+  bcdUSB               2.00
+  bDeviceClass            0 (Defined at Interface level)
+  bDeviceSubClass         0
+  bDeviceProtocol         0
+  bMaxPacketSize0        64
+  idVendor           0x2357
+  idProduct          0x031a
+  bcdDevice           ff.ff
+  iManufacturer           2 TP-LINK
+  iProduct                3 Neffos
+  iSerial                 4 8HCMMZFI89ROBI9H
+  bNumConfigurations      1
+  Configuration Descriptor:
+    bLength                 9
+    bDescriptorType         2
+    wTotalLength           39
+    bNumInterfaces          1
+    bConfigurationValue     1
+    iConfiguration          0
+    bmAttributes         0xc0
+      Self Powered
+    MaxPower              500mA
+    Interface Descriptor:
+      bLength                 9
+      bDescriptorType         4
+      bInterfaceNumber        0
+      bAlternateSetting       0
+      bNumEndpoints           3
+      bInterfaceClass       255 Vendor Specific Class
+      bInterfaceSubClass    255 Vendor Specific Subclass
+      bInterfaceProtocol      0
+      iInterface             17 MTP
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x81  EP 1 IN
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x01  EP 1 OUT
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x82  EP 2 IN
+        bmAttributes            3
+          Transfer Type            Interrupt
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x001c  1x 28 bytes
+        bInterval               6
+Device Qualifier (for other device speed):
+  bLength                10
+  bDescriptorType         6
+  bcdUSB               2.00
+  bDeviceClass            0 (Defined at Interface level)
+  bDeviceSubClass         0
+  bDeviceProtocol         0
+  bMaxPacketSize0        64
+  bNumConfigurations      1
+Device Status:     0x0001
+  Self Powered
+~~~
+
+~~~
+$ mtp-detect
+libmtp version: 1.1.12
+
+Listing raw device(s)
+Device 0 (VID=2357 and PID=031a) is UNKNOWN in libmtp v1.1.12.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   2357:031a @ bus 2, dev 36
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 2357
+   idProduct: 031a
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 36
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x2357
+         Product: (null)
+         Vendor id: 0x031a
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: TP-LINK
+   Model: Neffos C5 Max
+   Device version: 1.0
+   Serial number: 8HCMMZFI89ROBI9H
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: Unknown(1001)
+   1002: Unknown(1002)
+   1003: Unknown(1003)
+   1004: Unknown(1004)
+   1005: Unknown(1005)
+   1006: Unknown(1006)
+   1007: Unknown(1007)
+   1008: Unknown(1008)
+   1009: Unknown(1009)
+   100a: Unknown(100a)
+   100b: Unknown(100b)
+   100c: Unknown(100c)
+   100d: Unknown(100d)
+   1014: Unknown(1014)
+   1015: Unknown(1015)
+   1016: Unknown(1016)
+   1017: Unknown(1017)
+   101b: Unknown(101b)
+   9801: Unknown(9801)
+   9802: Unknown(9802)
+   9803: Unknown(9803)
+   9804: Unknown(9804)
+   9805: Unknown(9805)
+   9810: Unknown(9810)
+   9811: Unknown(9811)
+   95c1: Unknown(95c1)
+   95c2: Unknown(95c2)
+   95c3: Unknown(95c3)
+   95c4: Unknown(95c4)
+   95c5: Unknown(95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 10489024512
+      FreeSpaceInBytes: 6714171392
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Pamięć telefonu
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Neffos C5 Max
+   Synchronization partner: Neffos C5 Max
+   Battery level 99 of 100 (99%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+~~~
+
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/feature-requests/197/>
+
+
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/>
\ No newline at end of file
diff --git a/logs/mtp-detect-neffos-y5.txt b/logs/mtp-detect-neffos-y5.txt
new file mode 100644
index 0000000..344343e
--- /dev/null
+++ b/logs/mtp-detect-neffos-y5.txt
@@ -0,0 +1,641 @@
+
+
+
+---
+
+** [feature-requests:#195] Device 0 (VID=2357 and PID=0328) is UNKNOWN in libmtp v1.1.12**
+
+**Status:** open
+**Group:** Future
+**Created:** Fri Dec 02, 2016 11:46 PM UTC by Mikhail Morfikov
+**Last Updated:** Fri Dec 02, 2016 11:46 PM UTC
+**Owner:** nobody
+
+
+My PC:
+~~~
+$ cat /etc/debian_version
+stretch/sid
+
+$ uname -rv
+4.8.0-1-amd64 #1 SMP Debian 4.8.7-1 (2016-11-13)
+
+$ gcc --version | head -n 1
+gcc (Debian 6.2.1-5) 6.2.1 20161124
+~~~
+
+I have a smartphone model Neffos Y5 from TP-LINK:
+
+~~~
+$ lsusb -vvv -d 2357:0328
+
+Bus 002 Device 032: ID 2357:0328
+Device Descriptor:
+  bLength                18
+  bDescriptorType         1
+  bcdUSB               2.00
+  bDeviceClass            0 (Defined at Interface level)
+  bDeviceSubClass         0
+  bDeviceProtocol         0
+  bMaxPacketSize0        64
+  idVendor           0x2357
+  idProduct          0x0328
+  bcdDevice            3.10
+  iManufacturer           1 Android
+  iProduct                2 Android
+  iSerial                 3 90169635
+  bNumConfigurations      1
+  Configuration Descriptor:
+    bLength                 9
+    bDescriptorType         2
+    wTotalLength           39
+    bNumInterfaces          1
+    bConfigurationValue     1
+    iConfiguration          0
+    bmAttributes         0x80
+      (Bus Powered)
+    MaxPower              500mA
+    Interface Descriptor:
+      bLength                 9
+      bDescriptorType         4
+      bInterfaceNumber        0
+      bAlternateSetting       0
+      bNumEndpoints           3
+      bInterfaceClass       255 Vendor Specific Class
+      bInterfaceSubClass    255 Vendor Specific Subclass
+      bInterfaceProtocol      0
+      iInterface              4 MTP
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x81  EP 1 IN
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x01  EP 1 OUT
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x82  EP 2 IN
+        bmAttributes            3
+          Transfer Type            Interrupt
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x001c  1x 28 bytes
+        bInterval               6
+Device Qualifier (for other device speed):
+  bLength                10
+  bDescriptorType         6
+  bcdUSB               2.00
+  bDeviceClass            0 (Defined at Interface level)
+  bDeviceSubClass         0
+  bDeviceProtocol         0
+  bMaxPacketSize0        64
+  bNumConfigurations      1
+Device Status:     0x0000
+  (Bus Powered)
+~~~
+
+
+~~~
+$ mtp-detect
+libmtp version: 1.1.12
+
+Listing raw device(s)
+Device 0 (VID=2357 and PID=0328) is UNKNOWN in libmtp v1.1.12.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   2357:0328 @ bus 2, dev 32
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 2357
+   idProduct: 0328
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 32
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x2357
+         Product: (null)
+         Vendor id: 0x0328
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: TP-LINK
+   Model: Neffos Y5
+   Device version: 1.0
+   Serial number: 90169635
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: Unknown(1001)
+   1002: Unknown(1002)
+   1003: Unknown(1003)
+   1004: Unknown(1004)
+   1005: Unknown(1005)
+   1006: Unknown(1006)
+   1007: Unknown(1007)
+   1008: Unknown(1008)
+   1009: Unknown(1009)
+   100a: Unknown(100a)
+   100b: Unknown(100b)
+   100c: Unknown(100c)
+   100d: Unknown(100d)
+   1014: Unknown(1014)
+   1015: Unknown(1015)
+   1016: Unknown(1016)
+   1017: Unknown(1017)
+   101b: Unknown(101b)
+   9801: Unknown(9801)
+   9802: Unknown(9802)
+   9803: Unknown(9803)
+   9804: Unknown(9804)
+   9805: Unknown(9805)
+   9810: Unknown(9810)
+   9811: Unknown(9811)
+   95c1: Unknown(95c1)
+   95c2: Unknown(95c2)
+   95c3: Unknown(95c3)
+   95c4: Unknown(95c4)
+   95c5: Unknown(95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 12677419008
+      FreeSpaceInBytes: 8558137344
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Pamięć wewnętrzna
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Battery level 99 of 100 (99%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+~~~
+
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/feature-requests/195/>
+
+
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/>
\ No newline at end of file
diff --git a/logs/mtp-detect-neffos-y5l.txt b/logs/mtp-detect-neffos-y5l.txt
new file mode 100644
index 0000000..6f3604e
--- /dev/null
+++ b/logs/mtp-detect-neffos-y5l.txt
@@ -0,0 +1,633 @@
+
+
+
+---
+
+** [feature-requests:#196] Device 0 (VID=2357 and PID=0320) is UNKNOWN in libmtp v1.1.12**
+
+**Status:** open
+**Group:** Future
+**Created:** Fri Dec 02, 2016 11:51 PM UTC by Mikhail Morfikov
+**Last Updated:** Fri Dec 02, 2016 11:51 PM UTC
+**Owner:** nobody
+
+
+My PC:
+
+~~~
+$ cat /etc/debian_version
+stretch/sid
+
+$ uname -rv
+4.8.0-1-amd64 #1 SMP Debian 4.8.7-1 (2016-11-13)
+
+$ gcc --version | head -n 1
+gcc (Debian 6.2.1-5) 6.2.1 20161124
+~~~
+
+I have a smartphone model Neffos Y5L from TP-LINK:
+
+~~~
+$ lsusb -vvv -d 2357:0320
+
+Bus 002 Device 034: ID 2357:0320
+Device Descriptor:
+  bLength                18
+  bDescriptorType         1
+  bcdUSB               2.00
+  bDeviceClass            0 (Defined at Interface level)
+  bDeviceSubClass         0
+  bDeviceProtocol         0
+  bMaxPacketSize0        64
+  idVendor           0x2357
+  idProduct          0x0320
+  bcdDevice            3.10
+  iManufacturer           1 Android
+  iProduct                2 Android
+  iSerial                 3 8a8f289
+  bNumConfigurations      1
+  Configuration Descriptor:
+    bLength                 9
+    bDescriptorType         2
+    wTotalLength           39
+    bNumInterfaces          1
+    bConfigurationValue     1
+    iConfiguration          0
+    bmAttributes         0x80
+      (Bus Powered)
+    MaxPower              500mA
+    Interface Descriptor:
+      bLength                 9
+      bDescriptorType         4
+      bInterfaceNumber        0
+      bAlternateSetting       0
+      bNumEndpoints           3
+      bInterfaceClass       255 Vendor Specific Class
+      bInterfaceSubClass    255 Vendor Specific Subclass
+      bInterfaceProtocol      0
+      iInterface              4 MTP
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x81  EP 1 IN
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x01  EP 1 OUT
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x82  EP 2 IN
+        bmAttributes            3
+          Transfer Type            Interrupt
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x001c  1x 28 bytes
+        bInterval               6
+Device Qualifier (for other device speed):
+  bLength                10
+  bDescriptorType         6
+  bcdUSB               2.00
+  bDeviceClass            0 (Defined at Interface level)
+  bDeviceSubClass         0
+  bDeviceProtocol         0
+  bMaxPacketSize0        64
+  bNumConfigurations      1
+Device Status:     0x0000
+  (Bus Powered)
+~~~
+
+
+~~~
+$ mtp-detect
+libmtp version: 1.1.12
+
+Listing raw device(s)
+Device 0 (VID=2357 and PID=0320) is UNKNOWN in libmtp v1.1.12.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   2357:0320 @ bus 2, dev 34
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+Error 1: Get Storage information failed.
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 2357
+   idProduct: 0320
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 34
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x2357
+         Product: (null)
+         Vendor id: 0x0320
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: TP-LINK
+   Model: Neffos Y5L
+   Device version: 1.0
+   Serial number: 8a8f289
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: Unknown(1001)
+   1002: Unknown(1002)
+   1003: Unknown(1003)
+   1004: Unknown(1004)
+   1005: Unknown(1005)
+   1006: Unknown(1006)
+   1007: Unknown(1007)
+   1008: Unknown(1008)
+   1009: Unknown(1009)
+   100a: Unknown(100a)
+   100b: Unknown(100b)
+   100c: Unknown(100c)
+   100d: Unknown(100d)
+   1014: Unknown(1014)
+   1015: Unknown(1015)
+   1016: Unknown(1016)
+   1017: Unknown(1017)
+   101b: Unknown(101b)
+   9801: Unknown(9801)
+   9802: Unknown(9802)
+   9803: Unknown(9803)
+   9804: Unknown(9804)
+   9805: Unknown(9805)
+   9810: Unknown(9810)
+   9811: Unknown(9811)
+   95c1: Unknown(95c1)
+   95c2: Unknown(95c2)
+   95c3: Unknown(95c3)
+   95c4: Unknown(95c4)
+   95c5: Unknown(95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Battery level 96 of 100 (95%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+~~~
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/feature-requests/196/>
+
+
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/>
\ No newline at end of file
diff --git a/logs/mtp-detect-nextbit-robin.txt b/logs/mtp-detect-nextbit-robin.txt
new file mode 100644
index 0000000..7324601
--- /dev/null
+++ b/logs/mtp-detect-nextbit-robin.txt
@@ -0,0 +1,554 @@
+
+
+
+---
+
+** [bugs:#1663] Vendor ID for Nextbit Robin**
+
+**Status:** open
+**Group:** 1.1.12
+**Created:** Thu Mar 02, 2017 09:20 AM UTC by Elvis Angelaccio
+**Last Updated:** Thu Mar 02, 2017 09:20 AM UTC
+**Owner:** nobody
+
+
+Hello, the Nextbit Robin android phone is marked as unknown by mtp 1.1.12:
+
+> Device 0 (VID=2c3f and PID=0001) is UNKNOWN in libmtp v1.1.12.
+Please report this VID/PID and the device model to the libmtp development team
+
+Output of mtp-detect:
+
+```
+$ mtp-detect 
+libmtp version: 1.1.12
+
+Listing raw device(s)
+Device 0 (VID=2c3f and PID=0001) is UNKNOWN in libmtp v1.1.12.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   2c3f:0001 @ bus 3, dev 7
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 768
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 2c3f
+   idProduct: 0001
+   IN endpoint maxpacket: 1024 bytes
+   OUT endpoint maxpacket: 1024 bytes
+   Raw device info:
+      Bus location: 3
+      Device number: 7
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x2c3f
+         Product: (null)
+         Vendor id: 0x0001
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Nextbit
+   Model: Robin
+   Device version: 1.0
+   Serial number: NBQGLMB652604549
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: Unknown(1001)
+   1002: Unknown(1002)
+   1003: Unknown(1003)
+   1004: Unknown(1004)
+   1005: Unknown(1005)
+   1006: Unknown(1006)
+   1007: Unknown(1007)
+   1008: Unknown(1008)
+   1009: Unknown(1009)
+   100a: Unknown(100a)
+   100b: Unknown(100b)
+   100c: Unknown(100c)
+   100d: Unknown(100d)
+   1014: Unknown(1014)
+   1015: Unknown(1015)
+   1016: Unknown(1016)
+   1017: Unknown(1017)
+   101b: Unknown(101b)
+   9801: Unknown(9801)
+   9802: Unknown(9802)
+   9803: Unknown(9803)
+   9804: Unknown(9804)
+   9805: Unknown(9805)
+   9810: Unknown(9810)
+   9811: Unknown(9811)
+   95c1: Unknown(95c1)
+   95c2: Unknown(95c2)
+   95c3: Unknown(95c3)
+   95c4: Unknown(95c4)
+   95c5: Unknown(95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+   0xc801
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 26696560640
+      FreeSpaceInBytes: 21171634176
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Memoria interna
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Battery level 78 of 100 (77%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+```
+
+Thanks.
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/bugs/1663/>
+
+
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/>
\ No newline at end of file
diff --git a/logs/mtp-detect-noblex-t7a21.txt b/logs/mtp-detect-noblex-t7a21.txt
new file mode 100644
index 0000000..f1e26ce
--- /dev/null
+++ b/logs/mtp-detect-noblex-t7a21.txt
@@ -0,0 +1,475 @@
+Listing raw device(s)
+Device 0 (VID=8087 and PID=0a16) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+Found 1 device(s):
+8087:0a16 @ bus 1, dev 35
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+Interface has a kernel driver attached.
+bcdUSB: 512
+bDeviceClass: 0
+bDeviceSubClass: 0
+bDeviceProtocol: 0
+idVendor: 8087
+idProduct: 0a16
+IN endpoint maxpacket: 512 bytes
+OUT endpoint maxpacket: 512 bytes
+Raw device info:
+Bus location: 1
+Device number: 35
+Device entry info:
+Vendor: (null)
+Vendor id: 0x8087
+Product: (null)
+Vendor id: 0x0a16
+Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+Interface description contains the string "MTP"
+Device recognized as MTP, no further probing.
+Device info:
+Manufacturer: Newsan
+Model: NBX-T7A2I
+Device version: 1.0
+Serial number: CLVD25B4A3C
+Vendor extension ID: 0x00000006
+Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+Detected object size: 64 bits
+Extensions:
+microsoft.com: 1.0
+android.com: 1.0
+Supported operations:
+1001: get device info
+1002: Open session
+1003: Close session
+1004: Get storage IDs
+1005: Get storage info
+1006: Get number of objects
+1007: Get object handles
+1008: Get object info
+1009: Get object
+100a: Get thumbnail
+100b: Delete object
+100c: Send object info
+100d: Send object
+1014: Get device property description
+1015: Get device property value
+1016: Set device property value
+1017: Reset device property value
+101b: Get partial object
+9801: Get object properties supported
+9802: Get object property description
+9803: Get object property value
+9804: Set object property value
+9805: Get object property list
+9810: Get object references
+9811: Set object references
+95c1: Get Partial Object (64bit Offset)
+95c2: Send Partial Object
+95c3: Truncate Object
+95c4: Begin Edit Object
+95c5: End Edit Object
+Events supported:
+0x4002
+0x4003
+0x4004
+0x4005
+0x400c
+Device Properties Supported:
+0xd401: Synchronization Partner
+0xd402: Friendly Device Name
+0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+3000: Undefined Type
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+3001: Association/Directory
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+3004: Text
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+3005: HTML
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+3008: MS Wave
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc9b: Album Artist STRING data type READ ONLY
+dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc8c: Genre STRING data type READ ONLY
+dc96: Composer STRING data type READ ONLY
+3009: MP3
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc9b: Album Artist STRING data type READ ONLY
+dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc8c: Genre STRING data type READ ONLY
+dc96: Composer STRING data type READ ONLY
+300b: MPEG
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc48: Description STRING data type READ ONLY
+3801: JPEG
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc48: Description STRING data type READ ONLY
+3802: TIFF EP
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+3804: BMP
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc48: Description STRING data type READ ONLY
+3807: GIF
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc48: Description STRING data type READ ONLY
+3808: JFIF
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+380b: PNG
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc48: Description STRING data type READ ONLY
+380d: TIFF
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+b901: WMA
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc9b: Album Artist STRING data type READ ONLY
+dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc8c: Genre STRING data type READ ONLY
+dc96: Composer STRING data type READ ONLY
+b902: OGG
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc9b: Album Artist STRING data type READ ONLY
+dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc8c: Genre STRING data type READ ONLY
+dc96: Composer STRING data type READ ONLY
+b903: AAC
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc9b: Album Artist STRING data type READ ONLY
+dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc8c: Genre STRING data type READ ONLY
+dc96: Composer STRING data type READ ONLY
+b982: MP4
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+b983: MP2
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+b984: 3GP
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc48: Description STRING data type READ ONLY
+ba05: Abstract Audio Video Playlist
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+ba10: WPL Playlist
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+ba11: M3U Playlist
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+ba14: PLS Playlist
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+ba82: XMLDocument
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+b906: FLAC
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+StorageID: 0x00010001
+StorageType: 0x0003 fixed RAM storage
+FilesystemType: 0x0002 generic hierarchical
+AccessCapability: 0x0000 read/write
+MaxCapacity: 12323135488
+FreeSpaceInBytes: 11372605440
+FreeSpaceInObjects: 1073741824
+StorageDescription: Almacenamiento interno
+VolumeIdentifier: (null)
+Special directories:
+Default music folder: 0x00000001
+Default playlist folder: 0xffffffff
+Default picture folder: 0x00000006
+Default video folder: 0xffffffff
+Default organizer folder: 0xffffffff
+Default zencast folder: 0xffffffff
+Default album folder: 0xffffffff
+Default text folder: 0xffffffff
+MTP-specific device properties:
+Friendly name: (NULL)
+Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+Folder
+Text file
+HTML file
+RIFF WAVE file
+ISO MPEG-1 Audio Layer 3
+MPEG video stream
+JPEG file
+BMP bitmap file
+GIF bitmap file
+JFIF file
+Portable Network Graphics
+TIFF bitmap file
+Microsoft Windows Media Audio
+Ogg container format
+Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+ISO MPEG-1 Audio Layer 2
+Abstract Playlist file
+XML file
+Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-nokia-300.txt b/logs/mtp-detect-nokia-300.txt
new file mode 100644
index 0000000..acd0ec3
--- /dev/null
+++ b/logs/mtp-detect-nokia-300.txt
@@ -0,0 +1,652 @@
+[oleg@o ~]$ mtp-detect
+libmtp version: 1.1.8
+
+Listing raw device(s)
+Device 0 (VID=0421 and PID=0524) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0421:0524 @ bus 1, dev 6
+Attempting to connect device(s)
+ignoring libusb_claim_interface() = -6PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
+LIBMTP libusb: Attempt to reset device
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 2
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0421
+   idProduct: 0524
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 6
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0421
+         Product: (null)
+         Vendor id: 0x0524
+         Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: fe00                                   	..
+Microsoft device response to control message 1, CMD 0xfe:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000 1203 4d00 5300 4600	..........M.S.F.
+	0030: 5400 3100 3000 3000 fe00 1203 5000 4300	T.1.0.0.....P.C.
+	0040: 2000 5300 7500 6900 7400 6500 1e03 5200	 .S.u.i.t.e...R.
+	0050: 6500 6d00 6f00 7600 6100 6200 6c00 6500	e.m.o.v.a.b.l.e.
+	0060: 2000 4400 6900 7300 6b00 1e03 4d00 6500	 .D.i.s.k...M.e.
+	0070: 6400 6900 6100 2000 5400 7200 6100 6e00	d.i.a. .T.r.a.n.
+	0080: 7300 6600 6500 7200 0000 0000 4f58 1df0	s.f.e.r.....OX..
+	0090: 8986 9df0 e442 7bf0 b75d 1df0 9186 9df0	.....B{..]......
+	00a0: e442 7bf0 bd5a 1df0 9a86 9df0 e442 7bf0	.B{..Z.......B{.
+	00b0: ff5b 1df0 b386 9df0 e442 7bf0 5167 1df0	.[.......B{.Qg..
+	00c0: c286 9df0 e442 7bf0 6969 1df0 d786 9df0	.....B{.ii......
+	00d0: e442 7bf0 cf69 1df0 f186 9df0 e442 7bf0	.B{..i.......B{.
+	00e0: e75f 1df0 ff86 9df0 e442 7bf0 8760 1df0	._.......B{..`..
+	00f0: 1587 9df0 e442 7bf0 b760 1df0 2e87 9df0	.....B{..`......
+	0100: e442 7bf0 1161 1df0 4787 9df0 e442 7bf0	.B{..a..G....B{.
+	0110: e761 1df0 5887 9df0 e841 7bf0 bb62 1df0	.a..X....A{..b..
+	0120: 6987 9df0 e841 7bf0 2d63 1df0 7c87 9df0	i....A{.-c..|...
+	0130: e841 7bf0 bb63 1df0 9287 9df0 f042 7bf0	.A{..c.......B{.
+	0140: 0966 1df0 a187 9df0 f042 7bf0 3566 1df0	.f.......B{.5f..
+	0150: b387 9df0 e841 7bf0 8366 1df0 c587 9df0	.....A{..f......
+	0160: e841 7bf0 9367 1df0 e087 9df0 e841 7bf0	.A{..g.......A{.
+	0170: 4368 1df0 fe87 9df0 e841 7bf0 c168 1df0	Ch.......A{..h..
+	0180: 1488 9df0 e841 7bf0 d558 1df0 2388 9df0	.....A{..X..#...
+	0190: e841 7bf0 4f65 1df0 4388 9df0 7573 6268	.A{.Oe..C...usbh
+	01a0: 5f73 7461 7274 5f73 7461 636b 0075 7362	_start_stack.usb
+	01b0: 685f 7374 6f70 5f73 7461 636b 0075 7362	h_stop_stack.usb
+	01c0: 685f 7374 6172 745f 7374 6163 6b5f 6861	h_start_stack_ha
+	01d0: 6e64 6c65 7200 7573 6268 5f73 746f 705f	ndler.usbh_stop_
+	01e0: 7374 6163 6b5f 6861 6e64 6c65 7200 7573	stack_handler.us
+	01f0: 6268 5f73 6574 5f73 7461 636b 5f73 7461	bh_set_stack_sta
+	0200: 7475 7300 7573 625f 6d61 7463 6800 7573	tus.usb_match.us
+	0210: 625f 6174 7461 6368 0075 7362 5f65 7665	b_attach.usb_eve
+	0220: 6e74 5f74 6173 6b00 7573 625f 776f 726b	nt_task.usb_work
+	0230: 696e 675f 7461 736b 0000 0000 8601 0000	ing_task........
+	0240: 0000 0000 0000 0000 0000 0000 8901 0000	................
+	0250: 0000 0000 0000 0000 0000 0000 8801 0000	................
+	0260: 0000 0000 0000 0000 0000 0000 7573 6263	............usbc
+	0270: 746c 7072 696e 7400 7573 625f 6469 7363	tlprint.usb_disc
+	0280: 6f76 6572 0075 7362 5f6e 6565 6473 5f65	over.usb_needs_e
+	0290: 7870 6c6f 7265 0075 7362 5f61 6374 6976	xplore.usb_activ
+	02a0: 6174 6500 7573 625f 6465 7461 6368 0075	ate.usb_detach.u
+	02b0: 7362 5f68 6f73 745f 7265 715f 6861 6e64	sb_host_req_hand
+	02c0: 6c65 7200 7561 7564 696f 5f6d 6174 6368	ler.uaudio_match
+	02d0: 0075 6175 6469 6f5f 7375 7370 656e 645f	.uaudio_suspend_
+	02e0: 7469 6d65 725f 6362 0075 6175 6469 6f5f	timer_cb.uaudio_
+	02f0: 7374 6f70 5f73 7573 7065 6e64 5f74 696d	stop_suspend_tim
+	0300: 6572 0075 6175 6469 6f5f 7374 6172 745f	er.uaudio_start_
+	0310: 7375 7370 656e 645f 7469 6d65 7200 7561	suspend_timer.ua
+	0320: 7564 696f 5f61 7474 6163 6800 7561 7564	udio_attach.uaud
+	0330: 696f 5f61 6374 6976 6174 6500 7561 7564	io_activate.uaud
+	0340: 696f 5f64 6574 6163 6800 7561 7564 696f	io_detach.uaudio
+	0350: 5f66 696e 645f 6966 6163 6500 7561 7564	_find_iface.uaud
+	0360: 696f 5f6d 6978 6572 5f61 6464 5f63 746c	io_mixer_add_ctl
+	0370: 0075 6175 6469 6f5f 6765 745f 636c 7573	.uaudio_get_clus
+	0380: 7465 7200 7561 7564 696f 5f61 6464 5f69	ter.uaudio_add_i
+	0390: 6e70 7574 0075 6175 6469 6f5f 6164 645f	nput.uaudio_add_
+	03a0: 6f75 7470 7574 0075 6175 6469 6f5f 6164	output.uaudio_ad
+	03b0: 645f 6d69 7865 7200 7561 7564 696f 5f61	d_mixer.uaudio_a
+	03c0: 6464 5f73 656c 6563 746f 7200 7561 7564	dd_selector.uaud
+	03d0: 696f 5f61 6464 5f66 6561 7475 7265 0075	io_add_feature.u
+	03e0: 6175 6469 6f5f 696e 7075 745f 6973 5f6d	audio_input_is_m
+	03f0: 6963 0075 6175 6469 6f5f 696e 7075 745f	ic.uaudio_input_
+Device responds to control message 2 with some data.
+Device info:
+   Manufacturer: Nokia
+   Model: Nokia 300
+   Device version: V 07.65 31-10-12 RM-781 (c) Nokia            
+   Serial number: 00000000000000000351686056635429
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMPPD: 11.0; microsoft.com/WMDRMPD: 10.1; www.openmobilealliance.org/omadrmv2: 1.0
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        microsoft.com/WMPPD: 11.0
+        microsoft.com/WMDRMPD: 10.1
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   101b: Get partial object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   9203: Get transferable playlist types
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   0x4009
+   0x4003
+   0x4002
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3002: Script
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      da11: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      da11: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      da11: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      da11: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      da11: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      da11: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      da11: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET
+   bb82: vCard2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      da11: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET
+   bb83: vCard3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      da11: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET
+   be02: vCalendar1
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      da11: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      da11: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      da11: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      da11: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      da11: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      da11: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      da11: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 11025, 22050, 44000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      da11: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 11025, 22050, 44000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 2, 2, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222, 41222, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 576000, STEP 1 READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      da11: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 11025, 22050, 44000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 352, 353,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      da11: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 11025, 22050, 44000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 2, 2, 1, 1,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 6, 7,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 32000, MAX 1536000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      da11: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      da11: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 11025, 22050, 44000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 2, 2, 2, 1, 1,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222, 41222, 41222, 16897, 16897,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 4750, MAX 576000, STEP 1 READ ONLY
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      da11: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 11025, 22050, 44000, 44100, 48000,  READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX 1024000, STEP 1 READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type enumeration: 30000, 30000,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0,  GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 352, 353, 354,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 1024000, STEP 1 READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 480, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 320, STEP 1 READ ONLY
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      da11: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 11025, 22050, 44000, 44100, 48000,  READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX 1024000, STEP 1 READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type enumeration: 30000, 30000,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0,  GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 352, 353, 354,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 1024000, STEP 1 READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 480, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 320, STEP 1 READ ONLY
+   300a: MS AVI
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      da11: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 11025, 22050, 44000, 44100, 48000,  READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX 2048000, STEP 1 READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type enumeration: 30000,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0,  GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 320000, STEP 1 READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 480, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 320, STEP 1 READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 194334720
+      FreeSpaceInBytes: 17940480
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Phone memory (C)
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0x10000084
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: 䭏䅉ĀȐ̐АԐؐܐࠐऐਐଐఐഐᬐᐐᔐᘐĐʘΘҘ֘႘ᆘƘʒΒƒʑΑґ֑ڑޑ࢑঑ઑ஑Ƒ˔Ӕǔˑˑ0İа԰ֺ̰芺莻ʻ涾捩潲潳瑦挮浯›⸱㬰洠捩潲潳瑦挮浯圯偍䑐›ㄱ〮
+   Synchronization partner: 䍉佒体呆䴠䑅䅉䱐奁剅
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   Abstract Album file
+   Abstract Playlist file
+   VCard version 2
+   VCard version 3
+   VCalendar version 1
+   GIF bitmap file
+   JPEG file
+   Portable Network Graphics
+   BMP bitmap file
+   JFIF file
+   ISO MPEG-1 Audio Layer 3
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Microsoft Windows Media Audio
+   RIFF WAVE file
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Microsoft Advanced Systems Format
+   Microsoft Windows Media Video
+   Audio Video Interleave
+OK.
+
diff --git a/logs/mtp-detect-nokia-3109c.txt b/logs/mtp-detect-nokia-3109c.txt
new file mode 100644
index 0000000..cf00f6a
--- /dev/null
+++ b/logs/mtp-detect-nokia-3109c.txt
@@ -0,0 +1,470 @@
+From noreply@sourceforge.net Sat Mar 29 00:55:50 2008
+Date: Fri, 28 Mar 2008 16:55:38 -0700
+From: SourceForge.net <noreply@sourceforge.net>
+To: noreply@sourceforge.net
+Subject: [ libmtp-Bugs-1927490 ] New device: Nokia 3109 classic
+
+        [ The following text is in the "UTF-8" character set. ]

+        [ Your display is set for the "ISO-8859-1" character set.  ]

+        [ Some characters may be displayed incorrectly. ]
+
+Bugs item #1927490, was opened at 2008-03-27 22:03
+Message generated for change (Comment added) made by snirkel
+You can respond by visiting: 
+https://sourceforge.net/tracker/?func=detail&atid=809061&aid=1927490&group_id=158745
+
+Please note that this message will contain a full copy of the comment thread,
+including the initial issue submission, for this request,
+not just the latest update.
+Category: None
+Group: None
+>Status: Closed
+>Resolution: Fixed
+Priority: 5
+Private: No
+Submitted By: Vasily (spc-)
+>Assigned to: Linus Walleij (snirkel)
+Summary: New device: Nokia 3109 classic
+
+Initial Comment:
+Must be very similar to 3110c
+
+$ mtp-detect
+libmtp version: 0.2.6.1
+
+Attempting to connect device(s)
+Potential MTP Device with VendorID:0421 and ProductID:0065 responded to control message 2 with a response that was too short. Problems may arrise but continuing
+Device 1 (VID=0421 and PID=0065) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+PTP: Opening session
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0421
+   idProduct: 0065
+   IN endpoint maxpacket: 64 bytes
+   OUT endpoint maxpacket: 64 bytes
+   Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+        0000: 1203 4d00 5300 4600 5400 3100 3000 3000   ..M.S.F.T.1.0.0.
+        0010: fe00                                      ..
+Microsoft device response to control message 1, CMD 0xfe:
+        0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............
+        0010: 0001 4d54 5000 0000 0000 0000 0000 0000   ..MTP...........
+        0020: 0000 0000 0000 0000 1203 4d00 5300 4600   ..........M.S.F.
+        0030: 5400 3100 3000 3000 fe00 0000 0000 0000   T.1.0.0.........
+        0040: 0000 0000 0000 0000 0100 0000 0000 0000   ................
+        0050: 0200 0000 0000 0000 0300 0000 0000 0000   ................
+        0060: 0400 0000 0000 0000 0002 0402 0216 0000   ................
+        0070: 0000 0000 53fd 8cf0 9ffc 8cf0 75fb 8cf0   ....S.......u...
+        0080: a9fe 8cf0 2fff 8cf0 b7ff 8cf0 2500 8df0   ..../.......%...
+        0090: c700 8df0 e900 8df0 3701 8df0 9101 8df0   ........7.......
+        00a0: 0000 0000 9d08 8df0 510a 8df0 c509 8df0   ........Q.......
+        00b0: 2b0b 8df0 e30e 8df0 650f 8df0 df04 8df0   +.......e.......
+        00c0: 0000 0000 0000 0000 0000 0000 0900 0000   ................
+        00d0: 0000 0000 0000 0000 0000 0000 0b00 0000   ................
+        00e0: 2828 2830 7830 3030 3021 3d6c 6369 6429   (((0x0000!=lcid)
+        00f0: 2026 2620 2830 7830 3030 303d 3d72 6369    && (0x0000==rci
+        0100: 6429 2920 7c7c 2028 2830 7830 3030 303d   d)) || ((0x0000=
+        0110: 3d6c 6369 6429 2026 2620 2830 7830 3030   =lcid) && (0x000
+        0120: 3021 3d72 6369 6429 2929 0000 a002 0000   0!=rcid)))......
+        0130: 2100 0000 1700 0000 0000 0000 0100 0000   !...............
+        0140: cbcd a2f0 edcd a2f0 0100 0000 f5cd a2f0   ................
+        0150: 27ce a2f0 0100 0000 3dce a2f0 51ce a2f0   '.......=...Q...
+        0160: 0100 0000 59ce a2f0 7fce a2f0 2828 3020   ....Y.......((0 
+        0170: 213d 2067 5f6d 6365 5f73 6563 5f61 6374   != g_mce_sec_act
+        0180: 6976 655f 7365 635f 7072 6f63 2920 2626   ive_sec_proc) &&
+        0190: 2028 6964 203d 3d20 675f 6d63 655f 7365    (id == g_mce_se
+        01a0: 635f 6163 7469 7665 5f73 6563 5f70 726f   c_active_sec_pro
+        01b0: 632d 3e74 696d 6572 5f69 6429 2900 0000   c->timer_id))...
+        01c0: 2828 4d43 455f 5345 435f 5354 5f43 414e   ((MCE_SEC_ST_CAN
+        01d0: 4345 4c4c 4544 203d 3d20 675f 6d63 655f   CELLED == g_mce_
+        01e0: 7365 635f 6163 7469 7665 5f73 6563 5f70   sec_active_sec_p
+        01f0: 726f 632d 3e73 7461 7465 2920 7c7c 2028   roc->state) || (
+        0200: 4d43 455f 5345 435f 5354 5f41 5554 4845   MCE_SEC_ST_AUTHE
+        0210: 4e54 203d 3d20 675f 6d63 655f 7365 635f   NT == g_mce_sec_
+        0220: 6163 7469 7665 5f73 6563 5f70 726f 632d   active_sec_proc-
+        0230: 3e73 7461 7465 2920 7c7c 2028 4d43 455f   >state) || (MCE_
+        0240: 5345 435f 5354 5f4c 494e 4b5f 4b45 595f   SEC_ST_LINK_KEY_
+        0250: 5245 5144 203d 3d20 675f 6d63 655f 7365   REQD == g_mce_se
+        0260: 635f 6163 7469 7665 5f73 6563 5f70 726f   c_active_sec_pro
+        0270: 632d 3e73 7461 7465 2920 7c7c 2028 4d43   c->state) || (MC
+        0280: 455f 5345 435f 5354 5f50 494e 5f43 4f44   E_SEC_ST_PIN_COD
+        0290: 455f 5245 5144 203d 3d20 675f 6d63 655f   E_REQD == g_mce_
+        02a0: 7365 635f 6163 7469 7665 5f73 6563 5f70   sec_active_sec_p
+        02b0: 726f 632d 3e73 7461 7465 2929 0000 0000   roc->state))....
+        02c0: 2828 4d43 455f 5345 435f 5354 5f4c 494e   ((MCE_SEC_ST_LIN
+        02d0: 4b5f 4b45 595f 5245 5144 2021 3d20 675f   K_KEY_REQD != g_
+        02e0: 6d63 655f 7365 635f 6163 7469 7665 5f73   mce_sec_active_s
+        02f0: 6563 5f70 726f 632d 3e73 7461 7465 2920   ec_proc->state) 
+        0300: 2626 2028 4d43 455f 5345 435f 5354 5f50   && (MCE_SEC_ST_P
+        0310: 494e 5f43 4f44 455f 5245 5144 2021 3d20   IN_CODE_REQD != 
+        0320: 675f 6d63 655f 7365 635f 6163 7469 7665   g_mce_sec_active
+        0330: 5f73 6563 5f70 726f 632d 3e73 7461 7465   _sec_proc->state
+        0340: 2929 0000 2828 282a 7365 7276 6963 655f   ))..(((*service_
+        0350: 6964 293d 3d30 7843 3129 207c 7c20 2828   id)==0xC1) || ((
+        0360: 2a73 6572 7669 6365 5f69 6429 3d3d 3078   *service_id)==0x
+        0370: 4333 2920 7c7c 2028 282a 7365 7276 6963   C3) || ((*servic
+        0380: 655f 6964 293d 3d30 7843 3229 2900 0000   e_id)==0xC2))...
+        0390: 0201 0201 0001 3506 1911 0319 1201 0004   ......5.........
+        03a0: 350c 3503 1901 0035 0519 0003 0800 0005   5.5....5........
+        03b0: 3503 1910 0200 0635 0909 656e 0900 6a09   5......5..en..j.
+        03c0: 0100 0009 3508 3506 1911 0309 0100 0100   ....5.5.........
+        03d0: 2512 4469 616c 2d75 7020 6e65 7477 6f72   %.Dial-up networ
+        03e0: 6b69 6e67 0001 3503 1911 0500 0435 1135   king..5......5.5
+        03f0: 0319 0100 3505 1900 0308 0035 0319 0008   ....5......5....
+Potential MTP Device with VendorID:0421 and ProductID:0065 responded to control message 2 with a response that was too short. Problems may arrise but continuing
+Device info:
+   Manufacturer: Nokia
+   Model: Nokia 3109c
+   Device version: (null)
+   Serial number: 00000000000000000000000PHL617685
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com:1.0;microsoft.com/WMPPD: 11.0;microsoft.com/WMDRMPD: 10.1
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   101b: Get partial object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   0x4009
+   0x4003
+   0x4002
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3801: JPEG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+   3002: Script
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+   3004: Text
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+   3005: HTML
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+   3008: MS Wave
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+   3804: BMP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+   3807: GIF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+   3808: JFIF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+   380b: PNG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+   b004: Unknown(b004)
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+   b903: AAC
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+   ba11: M3U Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+   bb82: vCard2
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+   bb83: vCard3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+   be02: vCalendar1
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 2012971008
+      FreeSpaceInBytes: 462979072
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Memory card
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x40000061
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x400001ba
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: NOKIA
+   Synchronization partner: {00000000-0000-0000-0000-000000000000}
+libmtp supported (playable) filetypes:
+   JPEG file
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   Microsoft Windows Media Audio
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   VCard version 2
+   VCard version 3
+   VCalendar version 1
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20080327 20:57:31Z#</VALUE><FLAG>DRM_CLK_NEEDS_REFRESH</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">DDABE0o0bVY7g+AXlhyDrR/7CMs=</UNIQUEID><PUBLICKEY private="1">opuWk1S4wYOou6/0TYUPqh/+/k+vXD1eqHOcKBfRzTA5bPIbLuVXIw==</PUBLICKEY><KEYDATA></KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>BD+l4Evo9dMB9FR2FY3hl8oJQHjhjs8gjG2MY2RbitKTq1AKbFcceA==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE></SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.107.81</SECURITYVERSION><CERTIFICATE private="1">opuWk1S4wYOou6/0TYUPqh/+/k+vXD1eqHOcKBfRzTA5bPIbLuVXIwIEa1GNXh5oZUqveqxpXg7BmlDJ1siJE6howsyQWaWaybhP7L6rRgrONjJ3</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>3109c</NAME> 
+    <MANUFACTURER>Nokia</MANUFACTURER> 
+    <MAKE>Nokia</MAKE> 
+    <DISTRIBUTOR>Nokia</DISTRIBUTOR> 
+    <MODEL>RM-274</MODEL> 
+    <SECURITYLEVEL>2000</SECURITYLEVEL> 
+    <HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR> 
+    <HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR> 
+    <FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR> 
+    <FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR> 
+    <FEATURES>
+        <CLOCK>2</CLOCK> 
+             <SECURECLOCK> 
+                <URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL> 
+                <PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY> 
+            </SECURECLOCK> 
+        <METERING>1</METERING> 
+        <LICENSE_ACQ>0</LICENSE_ACQ> 
+        <LICENSE_SYNC>1</LICENSE_SYNC> 
+        <ENCRYPTION>0</ENCRYPTION> 
+        <SYMMETRIC_OPT>1</SYMMETRIC_OPT> 
+    </FEATURES>
+    <LIMITS>
+        <MAXCHAINDEPTH>2</MAXCHAINDEPTH> 
+        <MAXLICENSESIZE>10240</MAXLICENSESIZE> 
+        <MAXHEADERSIZE>5120</MAXHEADERSIZE> 
+    </LIMITS><PUBLICKEY>XV2v3rfMc+LuVWo8AEpynYg6gyMXJoegbuQ4QMBR/XkIdFwCaYCTfQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>c1l+mmjL78RqzI9ugPsYszQfE3pZp95GeXhwdQjNUoSm9npH7zm+Aw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1717</AUTH_ID><PUBLICKEY>l2NdhCljnoYlzpNgTS6QlW0BxAkp1rY0C/R/K2ZN2b49WwEUK7EyBw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>LvQ+xSas5RHHD7YQ28Ss8l7M6S5ng6WPypSo2CkHVh2+c58FdEx1CA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>EmeKPa0xvW62hAz2hYka7xieAwV6UX+LPDFdbdYlb2T68YJSJ6aVbA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+
+Device description WMPInfo.xml file:
+<DeviceInfo>
+    <WMP DeviceID="{27B81EB6-7893-41F3-A86A-DEFA129D5900}" RelationshipID="{00000000-0000-0000-0000-000000000000}"/>
+</DeviceInfo>
+
+PTP: Closing session
+OK.
+
+
+----------------------------------------------------------------------
+
+>Comment By: Linus Walleij (snirkel)
+Date: 2008-03-29 00:55
+
+Message:
+Logged In: YES 
+user_id=473872
+Originator: NO
+
+Thanks, device added to CVS...
+
+----------------------------------------------------------------------
+
+You can respond by visiting: 
+https://sourceforge.net/tracker/?func=detail&atid=809061&aid=1927490&group_id=158745
diff --git a/logs/mtp-detect-nokia-3110c.txt b/logs/mtp-detect-nokia-3110c.txt
new file mode 100644
index 0000000..0542123
--- /dev/null
+++ b/logs/mtp-detect-nokia-3110c.txt
@@ -0,0 +1,367 @@
+libmtp version: 0.2.1
+
+Attempting to connect device(s)
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0421
+   idProduct: 005f
+   IN endpoint maxpacket: 64 bytes
+   OUT endpoint maxpacket: 64 bytes
+   Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: fe00                                   	..
+Microsoft device response to control message 1, CMD 0xfe:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000 1203 4d00 5300 4600	..........M.S.F.
+	0030: 5400 3100 3000 3000 fe00 0000 0000 0000	T.1.0.0.........
+	0040: 0000 0000 0000 0000 0100 0000 0000 0000	................
+	0050: 0200 0000 0000 0000 0300 0000 0000 0000	................
+	0060: 0400 0000 0000 0000 0002 0402 0216 0000	................
+	0070: 0000 0000 537b 90f0 9f7a 90f0 7579 90f0	....S{...z..uy..
+	0080: a97c 90f0 2f7d 90f0 b77d 90f0 257e 90f0	.|../}...}..%~..
+	0090: c77e 90f0 e97e 90f0 377f 90f0 917f 90f0	.~...~..7.......
+	00a0: 0000 0000 9d86 90f0 5188 90f0 c587 90f0	........Q.......
+	00b0: 2b89 90f0 e38c 90f0 658d 90f0 df82 90f0	+.......e.......
+	00c0: 0000 0000 0000 0000 0000 0000 0900 0000	................
+	00d0: 0000 0000 0000 0000 0000 0000 0b00 0000	................
+	00e0: 2828 2830 7830 3030 3021 3d6c 6369 6429	(((0x0000!=lcid)
+	00f0: 2026 2620 2830 7830 3030 303d 3d72 6369	 && (0x0000==rci
+	0100: 6429 2920 7c7c 2028 2830 7830 3030 303d	d)) || ((0x0000=
+	0110: 3d6c 6369 6429 2026 2620 2830 7830 3030	=lcid) && (0x000
+	0120: 3021 3d72 6369 6429 2929 0000 a002 0000	0!=rcid)))......
+	0130: 2100 0000 1700 0000 0000 0000 0100 0000	!...............
+	0140: a767 a6f0 c967 a6f0 0100 0000 d167 a6f0	.g...g.......g..
+	0150: 0368 a6f0 0100 0000 1968 a6f0 2d68 a6f0	.h.......h..-h..
+	0160: 0100 0000 3568 a6f0 5b68 a6f0 2828 3020	....5h..[h..((0 
+	0170: 213d 2067 5f6d 6365 5f73 6563 5f61 6374	!= g_mce_sec_act
+	0180: 6976 655f 7365 635f 7072 6f63 2920 2626	ive_sec_proc) &&
+	0190: 2028 6964 203d 3d20 675f 6d63 655f 7365	 (id == g_mce_se
+	01a0: 635f 6163 7469 7665 5f73 6563 5f70 726f	c_active_sec_pro
+	01b0: 632d 3e74 696d 6572 5f69 6429 2900 0000	c->timer_id))...
+	01c0: 2828 4d43 455f 5345 435f 5354 5f43 414e	((MCE_SEC_ST_CAN
+	01d0: 4345 4c4c 4544 203d 3d20 675f 6d63 655f	CELLED == g_mce_
+	01e0: 7365 635f 6163 7469 7665 5f73 6563 5f70	sec_active_sec_p
+	01f0: 726f 632d 3e73 7461 7465 2920 7c7c 2028	roc->state) || (
+	0200: 4d43 455f 5345 435f 5354 5f41 5554 4845	MCE_SEC_ST_AUTHE
+	0210: 4e54 203d 3d20 675f 6d63 655f 7365 635f	NT == g_mce_sec_
+	0220: 6163 7469 7665 5f73 6563 5f70 726f 632d	active_sec_proc-
+	0230: 3e73 7461 7465 2920 7c7c 2028 4d43 455f	>state) || (MCE_
+	0240: 5345 435f 5354 5f4c 494e 4b5f 4b45 595f	SEC_ST_LINK_KEY_
+	0250: 5245 5144 203d 3d20 675f 6d63 655f 7365	REQD == g_mce_se
+	0260: 635f 6163 7469 7665 5f73 6563 5f70 726f	c_active_sec_pro
+	0270: 632d 3e73 7461 7465 2920 7c7c 2028 4d43	c->state) || (MC
+	0280: 455f 5345 435f 5354 5f50 494e 5f43 4f44	E_SEC_ST_PIN_COD
+	0290: 455f 5245 5144 203d 3d20 675f 6d63 655f	E_REQD == g_mce_
+	02a0: 7365 635f 6163 7469 7665 5f73 6563 5f70	sec_active_sec_p
+	02b0: 726f 632d 3e73 7461 7465 2929 0000 0000	roc->state))....
+	02c0: 2828 4d43 455f 5345 435f 5354 5f4c 494e	((MCE_SEC_ST_LIN
+	02d0: 4b5f 4b45 595f 5245 5144 2021 3d20 675f	K_KEY_REQD != g_
+	02e0: 6d63 655f 7365 635f 6163 7469 7665 5f73	mce_sec_active_s
+	02f0: 6563 5f70 726f 632d 3e73 7461 7465 2920	ec_proc->state) 
+	0300: 2626 2028 4d43 455f 5345 435f 5354 5f50	&& (MCE_SEC_ST_P
+	0310: 494e 5f43 4f44 455f 5245 5144 2021 3d20	IN_CODE_REQD != 
+	0320: 675f 6d63 655f 7365 635f 6163 7469 7665	g_mce_sec_active
+	0330: 5f73 6563 5f70 726f 632d 3e73 7461 7465	_sec_proc->state
+	0340: 2929 0000 2828 282a 7365 7276 6963 655f	))..(((*service_
+	0350: 6964 293d 3d30 7843 3129 207c 7c20 2828	id)==0xC1) || ((
+	0360: 2a73 6572 7669 6365 5f69 6429 3d3d 3078	*service_id)==0x
+	0370: 4333 2920 7c7c 2028 282a 7365 7276 6963	C3) || ((*servic
+	0380: 655f 6964 293d 3d30 7843 3229 2900 0000	e_id)==0xC2))...
+	0390: 0201 0201 0001 3506 1911 0319 1201 0004	......5.........
+	03a0: 350c 3503 1901 0035 0519 0003 0800 0005	5.5....5........
+	03b0: 3503 1910 0200 0635 0909 656e 0900 6a09	5......5..en..j.
+	03c0: 0100 0009 3508 3506 1911 0309 0100 0100	....5.5.........
+	03d0: 2512 4469 616c 2d75 7020 6e65 7477 6f72	%.Dial-up networ
+	03e0: 6b69 6e67 0001 3503 1911 0500 0435 1135	king..5......5.5
+	03f0: 0319 0100 3505 1900 0308 0035 0319 0008	....5......5....
+Device info:
+   Manufacturer: Nokia
+   Model: Nokia 3110c
+   Device version: (null)
+   Serial number: 00000000000000000000000PBN978583
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com:1.0;microsoft.com/WMPPD: 11.0;microsoft.com/WMDRMPD: 10.1
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   101b: Get partial object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   0x4009
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Device Friendly Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3801: JPEG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+   3002: Script
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+   3004: Text
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+   3005: HTML
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+   3008: MS Wave
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+   3804: BMP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+   3807: GIF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+   3808: JFIF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+   380b: PNG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+   b004: Unknown(b004)
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+   b903: AAC
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+   ba11: M3U Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UIINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+   bb82: vCard2
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771, READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+   bb83: vCard3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771, READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+   be02: vCalendar1
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771, READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+Special directories:
+   Default music folder: 0x00000000
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: NOKIA
+   Synchronization partner: MICROSOFT MEDIAPLAYER
+libmtp supported (playable) filetypes:
+   JPEG file
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   Microsoft Windows Media Audio
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   VCard version 2
+   VCard version 3
+   VCalendar version 1
+Unable to acquire device certificate, perhaps this device does not support this
+Error 2: PTP Layer error 02fe: get_device_unicode_property(): failed to get unicode property.
+Error 2: (Look this up in ptp.h for an explanation.)
diff --git a/logs/mtp-detect-nokia-3710.txt b/logs/mtp-detect-nokia-3710.txt
new file mode 100644
index 0000000..8a49c8a
--- /dev/null
+++ b/logs/mtp-detect-nokia-3710.txt
@@ -0,0 +1,554 @@
+libmtp version: 1.0.1
+
+Listing raw device(s)
+   Found 1 device(s):
+   0421:01ee @ bus 6, dev 5
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "dummy"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0421
+   idProduct: 01ee
+   IN endpoint maxpacket: 64 bytes
+   OUT endpoint maxpacket: 64 bytes
+   Raw device info:
+      Bus location: 6
+      Device number: 5
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0421
+         Product: (null)
+         Vendor id: 0x01ee
+         Device flags: 0x00000000
+Configuration 0, interface 0, altsetting 0:
+   Interface implements PTP class, no further probing.
+Device info:
+   Manufacturer: Nokia
+   Model: Nokia 3710 fold
+   Device version: V 03.80 04-11-09 RM-509 (c) Nokia            
+   Serial number: 00000000000000000356934031838345
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMPPD: 11.0; microsoft.com/WMDRMPD: 10.1
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   101b: Get partial object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   9203: Get transferable playlist types
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   0x4009
+   0x4003
+   0x4002
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3002: Script
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+   bb82: vCard2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+   bb83: vCard3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+   be02: vCalendar1
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 11025, 22050, 44000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 11025, 22050, 44000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 2, 2, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222, 41222, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 576000, STEP 1 READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 11025, 22050, 44000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 352, 353,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 11025, 22050, 44000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 2, 2, 1, 1,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 6, 7,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 32000, MAX 1536000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 11025, 22050, 44000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 2, 2, 2, 1, 1,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222, 41222, 41222, 16897, 16897,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 4750, MAX 576000, STEP 1 READ ONLY
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 11025, 22050, 44000, 44100, 48000,  READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX 1024000, STEP 1 READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type enumeration: 15000, 15000,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0,  GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 352, 353, 354,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 1024000, STEP 1 READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 11025, 22050, 44000, 44100, 48000,  READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX 1024000, STEP 1 READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type enumeration: 15000, 15000,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0,  GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 352, 353, 354,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 1024000, STEP 1 READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+   300a: MS AVI
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 11025, 22050, 44000, 44100, 48000,  READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type enumeration: 15000,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0,  GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 192000, STEP 1 READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 1971060736
+      FreeSpaceInBytes: 1511718912
+      FreeSpaceInObjects: 4294967295
+      StorageDescription:            
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000000
+   Default playlist folder: 0x1000098a
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: NOKIA
+   Synchronization partner: MICROSOFT MEDIAPLAYER
+libmtp supported (playable) filetypes:
+   Text file
+   HTML file
+   Abstract Album file
+   Abstract Playlist file
+   VCard version 2
+   VCard version 3
+   VCalendar version 1
+   GIF bitmap file
+   JPEG file
+   Portable Network Graphics
+   BMP bitmap file
+   JFIF file
+   ISO MPEG-1 Audio Layer 3
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Microsoft Windows Media Audio
+   RIFF WAVE file
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Microsoft Advanced Systems Format
+   Microsoft Windows Media Video
+   Audio Video Interleave
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">F1ABF4k8DkmsvYbm6BLeGh25MYQ=</UNIQUEID><PUBLICKEY private="1">ZIcanTy1+qO3vBkbT0bi1eoDjCypE0Qe26hMZz6mXaJsKloy/jJsAQ==</PUBLICKEY><KEYDATA>GSlLwF5JHVPbjiHthTc2KKqXClI=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>BSlYwTrXYR6auQPUNCKp/O2I5HVzu6Zi2k+TNi94bGNiVgLytxk3aQ==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>0tXyqRBQmgmAios33bVSdAHxgsI=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.112.155</SECURITYVERSION><CERTIFICATE private="1">ZIcanTy1+qO3vBkbT0bi1eoDjCypE0Qe26hMZz6mXaJsKloy/jJsAQIEcJtILragC2xZ/5+X+YYwVuksiMIwO01EgqubJeSDxQCp84I5oAMIp55z</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>3710 Fold</NAME> 
+  <MANUFACTURER>Nokia</MA
\ No newline at end of file
diff --git a/logs/mtp-detect-nokia-5200.txt b/logs/mtp-detect-nokia-5200.txt
new file mode 100644
index 0000000..141967a
--- /dev/null
+++ b/logs/mtp-detect-nokia-5200.txt
@@ -0,0 +1,332 @@
+libmtp version: 1.1.2
+
+Listing raw device(s)
+   Found 1 device(s):
+   Nokia: 5200 Mobile Phone (0421:04be) @ bus 3, dev 2
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0421
+   idProduct: 04be
+   IN endpoint maxpacket: 64 bytes
+   OUT endpoint maxpacket: 64 bytes
+   Raw device info:
+      Bus location: 3
+      Device number: 2
+      Device entry info:
+         Vendor: Nokia
+         Vendor id: 0x0421
+         Product: 5200 Mobile Phone
+         Vendor id: 0x04be
+         Device flags: 0x00010000
+Device info:
+   Manufacturer: Nokia
+   Model: Nokia 5200
+   Device version: (null)
+   Serial number: 00000000000000000000000DKG527924
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com:1.0;microsoft.com/WMPPD: 11.0;microsoft.com/WMDRMPD: 10.1
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        microsoft.com/WMPPD: 11.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   101b: Get partial object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   0x4009
+   0x4003
+   0x4002
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   3002: Script
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   b004: Unknown(b004)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   bb82: vCard2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   bb83: vCard3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   be02: vCalendar1
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 1018822656
+      FreeSpaceInBytes: 890503168
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: PamEEovE ka
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: NOKIA 5200
+   Synchronization partner: {00000000-0000-0000-0000-000000000000}
+libmtp supported (playable) filetypes:
+   JPEG file
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   Microsoft Windows Media Audio
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Abstract Playlist file
+   VCard version 2
+   VCard version 3
+   VCalendar version 1
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20120129 11:39:24Z#</VALUE><FLAG>DRM_CLK_NEEDS_REFRESH</FLAG></DRMCLOCK>
+
+WMPInfo.xml file contents:
+<DeviceInfo>

+    <WMP DeviceID="{A6BDFB3E-D66C-4A46-8348-F8C7F9BC006B}" RelationshipID="{00000000-0000-0000-0000-000000000000}"/>

+</DeviceInfo>

+
+OK.
diff --git a/logs/mtp-detect-nokia-5230.txt b/logs/mtp-detect-nokia-5230.txt
new file mode 100644
index 0000000..e14fe47
--- /dev/null
+++ b/logs/mtp-detect-nokia-5230.txt
@@ -0,0 +1,466 @@
+libmtp version: 1.0.6
+
+Listing raw device(s)
+Device 0 (VID=0421 and PID=02e2) is a Nokia 5230.
+   Found 1 device(s):
+   Nokia: 5230 (0421:02e2) @ bus 2, dev 3
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 255
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0421
+   idProduct: 02e2
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 3
+      Device entry info:
+         Vendor: Nokia
+         Vendor id: 0x0421
+         Product: 5230
+         Vendor id: 0x02e2
+         Device flags: 0x00000000
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Nokia
+   Model: 5230
+   Device version: 01
+   Serial number: 359351033828488
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com:1.0;microsoft.com/WMPPD: 11.0;microsoft.com/WMDRMPD: 10.1;vodafone.com/omadrmv2: 1.0
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        microsoft.com/WMPPD: 11.0
+        microsoft.com/WMDRMPD: 10.1
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9810: Get object references
+   9811: Set object references
+   9805: Get object property list
+   9806: Set object property list
+   9807: Get interdependent property description
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   9203: Get transferable playlist types
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   0x400a
+   0x4004
+   0x4005
+   0x4003
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+   0xd303: Unknown property
+   0xd102: Device Certificate
+   0xd406: Session Initiator Info
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   b004: Unknown(b004)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 85, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 176, MAX 320, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 144, MAX 240, STEP 1 GET/SET
+      de97: Scan Depth UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 861293911, 1297101377, 1297101889,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc87: Width UINT32 data type range: MIN 176, MAX 320, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 144, MAX 240, STEP 1 GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type ANY 16BIT VALUE form GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc94: Parental Rating STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 1536000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00040001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 7964983296
+      FreeSpaceInBytes: 1895528448
+      FreeSpaceInObjects: 909
+      StorageDescription: Memory card
+      VolumeIdentifier: 3455216610
+   StorageID: 0x00020001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 86126592
+      FreeSpaceInBytes: 25408512
+      FreeSpaceInObjects: 12
+      StorageDescription: Phone memory (NOKIA)
+      VolumeIdentifier: 1196836185
+Special directories:
+   Default music folder: 0x00932518
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Nokia 5800 XpressMusic
+   Synchronization partner: Nokia 5800 XpressMusic
+libmtp supported (playable) filetypes:
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Microsoft Windows Media Audio
+   Microsoft Advanced Systems Format
+   Microsoft Windows Media Video
+   Abstract Playlist file
+   RIFF WAVE file
+OK.
+
diff --git a/logs/mtp-detect-nokia-5300.txt b/logs/mtp-detect-nokia-5300.txt
new file mode 100644
index 0000000..ca732d1
--- /dev/null
+++ b/logs/mtp-detect-nokia-5300.txt
@@ -0,0 +1,368 @@
+Connected to MTP device.
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0421
+   idProduct: 04ba
+   IN endpoint maxpacket: 64 bytes
+   OUT endpoint maxpacket: 64 bytes
+   Device flags: 0x00000000
+Device info:
+   Manufacturer: Nokia
+   Model: Nokia 5300
+   Device version: (null)
+   Serial number: (null)
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com:1.0;microsoft.com/WMPPD: 11.0;microsoft.com/WMDRMPD: 10.1
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   101b: Get partial object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   0x4009: Request object transfer
+   0x4003: Object removed
+   0x4004: Store added
+   0x4005: Store removed
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Device Friendly Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3801: JPEG
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc08: DateCreated
+      dc09: DateModified
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+   3002: Script
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc08: DateCreated
+      dc09: DateModified
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+   3000: Undefined Type
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc08: DateCreated
+      dc09: DateModified
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+   3001: Association/Directory
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc08: DateCreated
+      dc09: DateModified
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+   3004: Text
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc08: DateCreated
+      dc09: DateModified
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+   3005: HTML
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc08: DateCreated
+      dc09: DateModified
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+   3008: MS Wave
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc08: DateCreated
+      dc09: DateModified
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+   3009: MP3
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc08: DateCreated
+      dc09: DateModified
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+   3804: BMP
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc08: DateCreated
+      dc09: DateModified
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+   3807: GIF
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc08: DateCreated
+      dc09: DateModified
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+   3808: JFIF
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc08: DateCreated
+      dc09: DateModified
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+   380b: PNG
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc08: DateCreated
+      dc09: DateModified
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+   b004: Unknown(b004)
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc08: DateCreated
+      dc09: DateModified
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+   b901: WMA
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc08: DateCreated
+      dc09: DateModified
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+   b903: AAC
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc08: DateCreated
+      dc09: DateModified
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc08: DateCreated
+      dc09: DateModified
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+   ba11: M3U Playlist
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc08: DateCreated
+      dc09: DateModified
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+   bb82: vCard2
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc08: DateCreated
+      dc09: DateModified
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+   bb83: vCard3
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc08: DateCreated
+      dc09: DateModified
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+   be02: vCalendar1
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc08: DateCreated
+      dc09: DateModified
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 8630784
+      FreeSpaceInBytes: 4424192
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Phone memory (C:)
+      VolumeIdentifier: (null)
+   StorageID: 0x00020001
+      StorageType: 0x0004
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 985399296
+      FreeSpaceInBytes: 970063872
+      FreeSpaceInObjects: 4294967295
+      StorageDescription:            
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x40000035
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: NOKIA
+   Synchronization partner: MICROSOFT MEDIAPLAYER
+libmtp supported (playable) filetypes:
+   JPEG file
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   Microsoft Windows Media Audio
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   VCard version 2
+   VCard version 3
+   VCalendar version 1
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20070623 15:08:24Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">JZAAEbVGAFgx+MV+VC/czNMloKA=</UNIQUEID><PUBLICKEY private="1">gUGSG+640hANCmgA6RLrXE+m53F0aAMFk1iXOYk0Rm7M76/D2fi8NQ==</PUBLICKEY><KEYDATA></KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>TcOZj5ejJ/zHYGlCzKS444kT6Wg+rinH3yxNWJNX3R5jAWDwm2RKAw==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE></SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.105.95</SECURITYVERSION><CERTIFICATE private="1">gUGSG+640hANCmgA6RLrXE+m53F0aAMFk1iXOYk0Rm7M76/D2fi8NQIEaV8Z6cCn0YHtkvT7n7D6qmKMTH2gFCJO7mBWOUCJfpZ/fOnrKMAk23lE</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>5300</NAME> 

+    <MANUFACTURER>Nokia</MANUFACTURER> 

+    <MAKE>Nokia</MAKE> 

+    <DISTRIBUTOR>Nokia</DISTRIBUTOR> 

+    <MODEL>RM-147</MODEL> 

+    <SECURITYLEVEL>2000</SECURITYLEVEL> 

+    <HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR> 

+    <HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR> 

+    <FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR> 

+    <FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR> 

+    <FEATURES>

+        <CLOCK>2</CLOCK> 

+             <SECURECLOCK> 

+                <URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL> 

+                <PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY> 

+            </SECURECLOCK> 

+        <METERING>1</METERING> 

+        <LICENSE_ACQ>0</LICENSE_ACQ> 

+        <LICENSE_SYNC>1</LICENSE_SYNC> 

+        <ENCRYPTION>1</ENCRYPTION> 

+        <SYMMETRIC_OPT>0</SYMMETRIC_OPT> 

+    </FEATURES>

+    <LIMITS>

+        <MAXCHAINDEPTH>2</MAXCHAINDEPTH> 

+        <MAXLICENSESIZE>10240</MAXLICENSESIZE> 

+        <MAXHEADERSIZE>5120</MAXHEADERSIZE> 

+    </LIMITS><PUBLICKEY>9rINx4Chrx4JhS7Kda7EKnSbkkoRTWfda6jDxtkw72kR5+9yVucHKA==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>ENGLQZMiDlDKvjtsA1ChU2O8EC0okniesTjA8zEocHSvtKJWfhAsSA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1219</AUTH_ID><PUBLICKEY>XCfO2C+e0jeoy+QZ/JUtVF7BkQxz5AWfeYOqFy+63SzL7OPIGc1QMw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>sFJ8k94G4bJPrLaP+n4jB5bw9GQtSph6puqb8GqVbbdxIShDQDngaA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>Uy3fwCMxAuj4NHxmC9IKM6kFOkmvG9Hvr5pUPeIMsTZmZa80VAz4TQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>大
+OK.
+
+mtp-folders result:
+PTP: Opening session
+Connected to MTP device.
+1073741824      Graphics
+1073741834        Screen savers
+1073741835        Wallpapers
+1073741825      Themes
+1073741826      Tones
+1073741838        Alert tones
+1073741839        Ringing tones
+1073741829      Images
+1073741830      Video clips
+1073741831      Music files
+1073741832      Recordings
+1073741833      Received files
+1073741877      My Music
+1073741878      Images
+1073741879      Video clips
+1073741880      untitled folder
+1073741881      .Trash-mhicks
+PTP: Closing session
+OK.
diff --git a/logs/mtp-detect-nokia-5310.txt b/logs/mtp-detect-nokia-5310.txt
new file mode 100644
index 0000000..7137b1e
--- /dev/null
+++ b/logs/mtp-detect-nokia-5310.txt
@@ -0,0 +1,512 @@
+libmtp version: 0.2.6.1
+
+Attempting to connect device(s)
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0421
+   idProduct: 006c
+   IN endpoint maxpacket: 64 bytes
+   OUT endpoint maxpacket: 64 bytes
+   Device flags: 0x00000002
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: fe00                                   	..
+Microsoft device response to control message 1, CMD 0xfe:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000 1203 4d00 5300 4600	..........M.S.F.
+	0030: 5400 3100 3000 3000 fe00 1203 5000 4300	T.1.0.0.....P.C.
+	0040: 2000 5300 7500 6900 7400 6500 1e03 5200	 .S.u.i.t.e...R.
+	0050: 6500 6d00 6f00 7600 6100 6200 6c00 6500	e.m.o.v.a.b.l.e.
+	0060: 2000 4400 6900 7300 6b00 1e03 4d00 6500	 .D.i.s.k...M.e.
+	0070: 6400 6900 6100 2000 5400 7200 6100 6e00	d.i.a. .T.r.a.n.
+	0080: 7300 6600 6500 7200 0000 0102 0304 0506	s.f.e.r.........
+	0090: 0700 0000 0000 0000 0000 0000 0100 0000	................
+	00a0: 0000 0000 0200 0000 0000 0000 0300 0000	................
+	00b0: 0000 0000 0400 0000 0000 0000 0500 0000	................
+	00c0: 0000 0000 0600 0000 0000 0000 0000 0000	................
+	00d0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	00e0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	00f0: 0000 0000 0000 0000 0000 0000 0002 0402	................
+	0100: 0216 0000 0000 0000 4716 41f0 9515 41f0	........G.A...A.
+	0110: 5714 41f0 6317 41f0 e517 41f0 6918 41f0	W.A.c.A...A.i.A.
+	0120: d318 41f0 8d19 41f0 af19 41f0 fd19 41f0	..A...A...A...A.
+	0130: 551a 41f0 0000 0000 4f21 41f0 0123 41f0	U.A.....O!A..#A.
+	0140: 7122 41f0 df23 41f0 5127 41f0 d127 41f0	q"A..#A.Q'A..'A.
+	0150: a51d 41f0 0000 0000 0000 0000 0000 0000	..A.............
+	0160: 0900 0000 0000 0000 0000 0000 0000 0000	................
+	0170: 0b00 0000 2828 2830 7830 3030 3021 3d6c	....(((0x0000!=l
+	0180: 6369 6429 2026 2620 2830 7830 3030 303d	cid) && (0x0000=
+	0190: 3d72 6369 6429 2920 7c7c 2028 2830 7830	=rcid)) || ((0x0
+	01a0: 3030 303d 3d6c 6369 6429 2026 2620 2830	000==lcid) && (0
+	01b0: 7830 3030 3021 3d72 6369 6429 2929 0000	x0000!=rcid)))..
+	01c0: a002 0000 2100 0000 1700 0000 0000 0000	....!...........
+	01d0: 0100 0000 dbc6 32f0 51c7 32f0 0100 0000	......2.Q.2.....
+	01e0: 69c7 32f0 9bc7 32f0 0100 0000 bdc7 32f0	i.2...2.......2.
+	01f0: ddc7 32f0 0100 0000 f5c7 32f0 29c8 32f0	..2.......2.).2.
+	0200: 2830 203d 3d20 675f 6d63 655f 7365 635f	(0 == g_mce_sec_
+	0210: 646f 735f 6174 7461 636b 2e72 6563 6f72	dos_attack.recor
+	0220: 6465 645f 7265 7175 6573 7473 2920 7c7c	ded_requests) ||
+	0230: 2028 3120 3d3d 2067 5f6d 6365 5f73 6563	 (1 == g_mce_sec
+	0240: 5f64 6f73 5f61 7474 6163 6b2e 7265 636f	_dos_attack.reco
+	0250: 7264 6564 5f72 6571 7565 7374 7329 207c	rded_requests) |
+	0260: 7c20 2832 203d 3d20 675f 6d63 655f 7365	| (2 == g_mce_se
+	0270: 635f 646f 735f 6174 7461 636b 2e72 6563	c_dos_attack.rec
+	0280: 6f72 6465 645f 7265 7175 6573 7473 2900	orded_requests).
+	0290: 2867 5f6d 6365 5f73 6563 5f64 6f73 5f61	(g_mce_sec_dos_a
+	02a0: 7474 6163 6b2e 7365 656e 5f61 6464 7265	ttack.seen_addre
+	02b0: 7373 6573 203c 3d20 675f 6d63 655f 7365	sses <= g_mce_se
+	02c0: 635f 646f 735f 6174 7461 636b 2e72 6563	c_dos_attack.rec
+	02d0: 6f72 6465 645f 7265 7175 6573 7473 2900	orded_requests).
+	02e0: 2828 3020 213d 2067 5f6d 6365 5f73 6563	((0 != g_mce_sec
+	02f0: 5f61 6374 6976 655f 7365 635f 7072 6f63	_active_sec_proc
+	0300: 2920 2626 2028 6964 203d 3d20 675f 6d63	) && (id == g_mc
+	0310: 655f 7365 635f 6163 7469 7665 5f73 6563	e_sec_active_sec
+	0320: 5f70 726f 632d 3e74 696d 6572 5f69 6429	_proc->timer_id)
+	0330: 2900 0000 2830 2021 3d20 2828 2830 2021	)...(0 != (((0 !
+	0340: 3d20 675f 6d63 655f 7365 635f 6163 635f	= g_mce_sec_acc_
+	0350: 7265 715f 6c69 7374 2920 3f20 2876 6f69	req_list) ? (voi
+	0360: 6429 3020 3a20 5f5f 6173 7365 7274 2829	d)0 : __assert()
+	0370: 292c 2028 2867 5f6d 6365 5f73 6563 5f61	), ((g_mce_sec_a
+	0380: 6363 5f72 6571 5f6c 6973 7429 2d3e 636f	cc_req_list)->co
+	0390: 756e 7429 2929 0000 2828 4d43 455f 5345	unt)))..((MCE_SE
+	03a0: 435f 5354 5f43 414e 4345 4c4c 4544 203d	C_ST_CANCELLED =
+	03b0: 3d20 675f 6d63 655f 7365 635f 6163 7469	= g_mce_sec_acti
+	03c0: 7665 5f73 6563 5f70 726f 632d 3e73 7461	ve_sec_proc->sta
+	03d0: 7465 2920 7c7c 2028 4d43 455f 5345 435f	te) || (MCE_SEC_
+	03e0: 5354 5f41 5554 4845 4e54 203d 3d20 675f	ST_AUTHENT == g_
+	03f0: 6d63 655f 7365 635f 6163 7469 7665 5f73	mce_sec_active_s
+Device info:
+   Manufacturer: Nokia
+   Model: Nokia 5310 XpressMusic
+   Device version: (null)
+   Serial number: 00000000000000000000000OF1175719
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMPPD: 11.0; microsoft.com/WMDRMPD: 10.1
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   101b: Get partial object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   9203: Get transferable playlist types
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   0x4009
+   0x4003
+   0x4002
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3801: JPEG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   3002: Script
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   3004: Text
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   3005: HTML
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   3008: MS Wave
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   3804: BMP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   3807: GIF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   3808: JFIF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   380b: PNG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   b903: AAC
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   b984: 3GP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   ba11: M3U Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   bb82: vCard2
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   bb83: vCard3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   be02: vCalendar1
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 985399296
+      FreeSpaceInBytes: 917504
+      FreeSpaceInObjects: 4294967295
+      StorageDescription:            
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x10000152
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: Nokia 5310 XpressMusic
+   Synchronization partner: {00000000-0000-0000-0000-000000000000}
+libmtp supported (playable) filetypes:
+   JPEG file
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Microsoft Windows Media Audio
+   VCard version 2
+   VCard version 3
+   VCalendar version 1
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">FsABGW5+AlQJxQ1VjErOMZ+D/GM=</UNIQUEID><PUBLICKEY private="1">WHLYeVhRRmte4kD0XjEXSHyEASsjly1VNjExB+5d5uJYDN5a0zL/Iw==</PUBLICKEY><KEYDATA>brjszuhYilN8rHMzR9ZajlMLIOk=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>e9SBJU4r/eU14zKLYu27OBe+E3CExHW8gRJEZbvERMwJmV1fyJFXEQ==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>BWedlOHnqFHkFApA9lj411ZqhVU=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.108.143</SECURITYVERSION><CERTIFICATE private="1">WHLYeVhRRmte4kD0XjEXSHyEASsjly1VNjExB+5d5uJYDN5a0zL/IwIEbI8yYD/WLG4iOmfZL+LQwVb5wsMlPg94VjcOAqNaJmta1L22DfiFG+YH</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>5310</NAME> 

+  <MANUFACTURER>Nokia</MANUFACTURER> 

+  <MAKE>Nokia</MAKE> 

+  <DISTRIBUTOR>Nokia</DISTRIBUTOR> 

+  <MODEL>RM-304</MODEL> 

+  <SECURITYLEVEL>2000</SECURITYLEVEL> 

+  <HARDWARE_VER_MAJOR>10</HARDWARE_VER_MAJOR> 

+  <HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR> 

+  <FIRMWARE_VER_MAJOR>3</FIRMWARE_VER_MAJOR> 

+  <FIRMWARE_VER_MINOR>40</FIRMWARE_VER_MINOR> 

+- <FEATURES>

+  <CLOCK>1</CLOCK>

+  <METERING>1</METERING> 

+  <LICENSE_ACQ>1</LICENSE_ACQ> 

+  <LICENSE_SYNC>1</LICENSE_SYNC> 

+  <ENCRYPTION>0</ENCRYPTION> 

+  <SYMMETRIC_OPT>1</SYMMETRIC_OPT> 

+  </FEATURES>

+- <LIMITS>

+  <MAXCHAINDEPTH>2</MAXCHAINDEPTH> 

+  <MAXLICENSESIZE>10240</MAXLICENSESIZE> 

+  <MAXHEADERSIZE>5120</MAXHEADERSIZE> 

+  </LIMITS><PUBLICKEY>DG2sL4GQ+ZN9E/O4iEOFO0rG7FNThxP0SBFI2B6Y9Nbao7j4KYZRNA==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>MH2shwONWYvadF+/3XmDIMJaDTcixvWLPAVsXKXogrYYdHY+cDDqJw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>2035</AUTH_ID><PUBLICKEY>xX/3MFYa+KIkQ1GvKYykLpOKkhrZUEoB4kFgovelMCXzKoU79qkSJw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>babwaSRikvOmkyODRBYVPTnUbQc1mY2MXJ7PjTz74bWyFVqHksHSPg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>oP7nsmODlsrtdrqRm+3SjdPcJ1cYaDhu2Rsb14QaJoaqySGVo2QoHA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>大
+
+Device description WMPInfo.xml file:
+<DeviceInfo>

+    <WMP DeviceID="{6F303D5A-442C-4EB1-869D-3EEE90ED3EF6}" RelationshipID="{00000000-0000-0000-0000-000000000000}"/>

+</DeviceInfo>

+
+OK.
+
+ 	  	 
diff --git a/logs/mtp-detect-nokia-5320.txt b/logs/mtp-detect-nokia-5320.txt
new file mode 100644
index 0000000..0ba1b09
--- /dev/null
+++ b/logs/mtp-detect-nokia-5320.txt
@@ -0,0 +1,470 @@
+libmtp version: 0.3.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   0421:00ea @ bus 0, dev 7
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 255
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0421
+   idProduct: 00ea
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 7
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0421
+         Product: (null)
+         Vendor id: 0x00ea
+         Device flags: 0x00000000
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: S60
+   Model: Nokia 5320 XpressMusic
+   Device version: v. 1.00
+   Serial number: 354826022953210
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com:1.0;microsoft.com/WMPPD: 11.0;microsoft.com/WMDRMPD: 10.1;vodafone.com/omadrmv2: 1.0
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   9203: Get transferable playlist types
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   0x400a
+   0x4004
+   0x4005
+   0x4003
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+   b903: AAC
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   b982: MP4
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   b984: 3GP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   b004: Unknown(b004)
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 1, 85, 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   b982: MP4
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 353,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   300c: ASF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 353,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 176, MAX 320, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 144, MAX 240, STEP 1 GET/SET
+      de97: ScanDepth UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911, 1297101377, 1297101889,  GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 0, MAX 384000, STEP 1 READ ONLY
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+   b981: WMV
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc87: Width UINT32 data type range: MIN 176, MAX 320, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 144, MAX 240, STEP 1 GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de97: ScanDepth UINT16 data type ANY 16BIT VALUE form GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 353,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911,  GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 0, MAX 384000, STEP 1 READ ONLY
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+      dc94: ParentalRating STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   ba11: M3U Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 1,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 1536000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00040001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 4066902016
+      FreeSpaceInBytes: 4056357888
+      FreeSpaceInObjects: 1937
+      StorageDescription: Memory card (NO NAME)
+      VolumeIdentifier: 842084407
+Special directories:
+   Default music folder: 0x00000000
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: S60 Handset
+   Synchronization partner: S60 Handset
+libmtp supported (playable) filetypes:
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+   ISO MPEG-1 Audio Layer 3
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+   Microsoft Windows Media Audio
+   Microsoft Advanced Systems Format
+   Microsoft Windows Media Video
+   RIFF WAVE file
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">E3ABFCG0AVgA6k94aCzVhda9d7s=</UNIQUEID><PUBLICKEY private="1">3grb76ajPfuA6aY0jt4dNuiH/kBrRMw5Qv+62OudoI+Tcaq3yil5Aw==</PUBLICKEY><KEYDATA>hAp415/1nJ2c16YsgaGLtuQ3YG0=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>abX0P5eyNJB26veGOHUSQYukem3P8ZZE7Ew10+sMSpt+Sny3ZskbLw==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>iiqiCbMWI+3j6kaqFxTuUGgaGEk=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.111.61</SECURITYVERSION><CERTIFICATE private="1">3grb76ajPfuA6aY0jt4dNuiH/kBrRMw5Qv+62OudoI+Tcaq3yil5AwIEbz2q2effCwlys/0SGM4PyM4qENtGaHOApWfiIk/Vj4wKaN/aPgDgRxyG</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>5320d</NAME>

+    <MANUFACTURER>Nokia</MANUFACTURER>

+    <MAKE>Nokia</MAKE>

+    <DISTRIBUTOR>Nokia</DISTRIBUTOR>

+    <MODEL>RM-409</MODEL>

+    <SECURITYLEVEL>2000</SECURITYLEVEL>

+    <HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR>

+    <HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR>

+    <FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR>

+    <FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>

+    <FEATURES>

+        <CLOCK>1</CLOCK>

+        <METERING>1</METERING>

+        <LICENSE_ACQ>1</LICENSE_ACQ>

+        <LICENSE_SYNC>1</LICENSE_SYNC>

+        <ENCRYPTION>1</ENCRYPTION>

+        <SYMMETRIC_OPT>1</SYMMETRIC_OPT>

+    </FEATURES>

+    <LIMITS>

+        <MAXCHAINDEPTH>2</MAXCHAINDEPTH>

+        <MAXLICENSESIZE>10240</MAXLICENSESIZE>

+        <MAXHEADERSIZE>5120</MAXHEADERSIZE>

+    </LIMITS><PUBLICKEY>I0LconX6Pb6KrZNm3ijBLPCiPiuD9+ZkR45acm/2BStco1VN6OmKKQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>b7+fFNXphKPsTOF/Hq+jQz5yxHrG9wB2KA98/xCz04ji33Vv80d2cA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>2721</AUTH_ID><PUBLICKEY>Z2r8PDJdlt36V5Q+vO7m1wOhoXvOSAXQ/ktypTEUsQbIgYD6lNdnCg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>fnPPwWFzvHix+M4KEyxXuUx0l0Q8NYJPBBVssactoKTHNh4VhBBWVA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>zStwaQgvY1PpOR4aRIA73+ihDiy0mxDvIorOqC8s+RYFWUF6n/yARg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+OK.
diff --git a/logs/mtp-detect-nokia-5530.txt b/logs/mtp-detect-nokia-5530.txt
new file mode 100644
index 0000000..063d1a9
--- /dev/null
+++ b/logs/mtp-detect-nokia-5530.txt
@@ -0,0 +1,489 @@
+libmtp version: 0.3.0
+
+Listing raw device(s)
+   Found 1 device(s):
+   0421:0229 @ bus 0, dev 11
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 255
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0421
+   idProduct: 0229
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 11
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0421
+         Product: (null)
+         Vendor id: 0x0229
+         Device flags: 0x00000000
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Nokia
+   Model: 5530
+   Device version: 01
+   Serial number: 354200030403081
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com:1.0;microsoft.com/WMPPD: 11.0;microsoft.com/WMDRMPD: 10.1;vodafone.com/omadrmv2: 1.0
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9810: Get object references
+   9811: Set object references
+   9805: Get object property list
+   9806: Set object property list
+   9807: Get interdependent property description
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   9203: Get transferable playlist types
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   0x400a
+   0x4004
+   0x4005
+   0x4003
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+   0xd102: Device Certificate
+   0xd406: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+   b903: AAC
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   b982: MP4
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   b984: 3GP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   b004: Unknown(b004)
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 1, 85, 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   b982: MP4
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 353,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   300c: ASF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 353,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 176, MAX 320, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 144, MAX 240, STEP 1 GET/SET
+      de97: ScanDepth UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911, 1297101377, 1297101889,  GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 0, MAX 384000, STEP 1 READ ONLY
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+   b981: WMV
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc87: Width UINT32 data type range: MIN 176, MAX 320, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 144, MAX 240, STEP 1 GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de97: ScanDepth UINT16 data type ANY 16BIT VALUE form GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 353,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911,  GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 0, MAX 384000, STEP 1 READ ONLY
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+      dc94: ParentalRating STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   ba11: M3U Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+   3008: MS Wave
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 1,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 1536000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00040001
+      StorageType: 0x0004
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 3955228672
+      FreeSpaceInBytes: 3947927552
+      FreeSpaceInObjects: 1885
+      StorageDescription: Memory card (memorycard)
+      VolumeIdentifier: 3760724115
+   StorageID: 0x00020001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 90251264
+      FreeSpaceInBytes: 54676480
+      FreeSpaceInObjects: 26
+      StorageDescription: Phone memory (NOKIA)
+      VolumeIdentifier: 1196836185
+Special directories:
+   Default music folder: 0x00000000
+   Default playlist folder: 0x0080ad18
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: Nokia 5530
+   Synchronization partner: Nokia 5530
+libmtp supported (playable) filetypes:
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+   ISO MPEG-1 Audio Layer 3
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+   Microsoft Windows Media Audio
+   Microsoft Advanced Systems Format
+   Microsoft Windows Media Video
+   RIFF WAVE file
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">AhABA0R8AFL7RGHA7zHTEtFpRSc=</UNIQUEID><PUBLICKEY private="1">hhE38DlIqmTcANqgQi2MkoXuNUpIj3BOVxSOJ7CXjiCspwhNHxrQVw==</PUBLICKEY><KEYDATA>gb+ifnkXDZeTxhVQ0095WLGZ/bQ=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>9z2Yq1U3+KfZiOkerMEnjKAI/VQDo026jRSmkvJV+zyF8C2c341qBQ==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>T0ItWYmGjYarIx5yWik25as8RSg=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.114.93</SECURITYVERSION><CERTIFICATE private="1">hhE38DlIqmTcANqgQi2MkoXuNUpIj3BOVxSOJ7CXjiCspwhNHxrQVwIEcl3MRdQrlUlUkPzF9N31NrrOhmUYeuMg2O3zK4aOY1WOqZ074Kx+rSEp</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>5530</NAME>
+    <MANUFACTURER>Nokia</MANUFACTURER>
+    <MAKE>Nokia</MAKE>
+    <DISTRIBUTOR>Nokia</DISTRIBUTOR>
+    <MODEL>RM-504</MODEL>
+    <SECURITYLEVEL>2000</SECURITYLEVEL>
+    <HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR>
+    <HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR>
+    <FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR>
+    <FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>
+    <FEATURES>
+        <CLOCK>1</CLOCK>
+        <METERING>1</METERING>
+        <LICENSE_ACQ>1</LICENSE_ACQ>
+        <LICENSE_SYNC>1</LICENSE_SYNC>
+        <ENCRYPTION>1</ENCRYPTION>
+        <SYMMETRIC_OPT>1</SYMMETRIC_OPT>
+    </FEATURES>
+    <LIMITS>
+        <MAXCHAINDEPTH>2</MAXCHAINDEPTH>
+        <MAXLICENSESIZE>10240</MAXLICENSESIZE>
+        <MAXHEADERSIZE>5120</MAXHEADERSIZE>
+    </LIMITS><PUBLICKEY>3yk2sPiIpFVDE6Yuva1D9ezjfVqfBbs0sP9PTZIL9fFNm+VJQUiRDA==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>LjyimwxX2+R+AmHnCZpMh1EKtRcEMEvlpDPm+kgqEugWgwQ0zV2wRA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>3521</AUTH_ID><PUBLICKEY>v6i72rytrgoHbVBWIaktH7T/noI8nBvFK/I27Iwbglu+L4ggpxU3Mg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>yevxW0BIHBFkXuZhNIDBtK0fBXf0wt55qNs6CwLHjSrfhqyxy1ZLZQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>T5tsgleky+TUHuDPu2eBIqLBrxJt9ME849Z4UdRbpJZWMrXy1ru4cw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+
+Device description WMPInfo.xml file:
+<DeviceInfo>
+    <WMP DeviceID="{1939B334-E62D-4FFA-857B-C9B4AA577275}" RelationshipID="{1C45F848-19F3-4EB6-A486-30C23F2F488E}"/>
+</DeviceInfo>
+
+OK.
diff --git a/logs/mtp-detect-nokia-5700.txt b/logs/mtp-detect-nokia-5700.txt
new file mode 100644
index 0000000..3b76acf
--- /dev/null
+++ b/logs/mtp-detect-nokia-5700.txt
@@ -0,0 +1,395 @@
+libmtp version: 0.2.6.1
+
+Attempting to connect device(s)
+Device 1 (VID=0421 and PID=04b4) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+PTP: Opening session
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 255
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0421
+   idProduct: 04b4
+   IN endpoint maxpacket: 64 bytes
+   OUT endpoint maxpacket: 64 bytes
+   Device flags: 0x00000000
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Nokia
+   Model: Nokia 5700 XpressMusic
+   Device version: v. 1.00
+   Serial number: 353964012067344
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com:1.0;microsoft.com/WMPPD: 11.0;microsoft.com/WMDRMPD: 10.1
+   Detected object size: 32 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   9203: Get transferable playlist types
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   0x400a
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+   0xd102: Device Certificate
+   0xd101: Secure Time
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   b903: AAC
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  READ ONLY
+   b982: MP4
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 READ ONLY
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  READ ONLY
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  READ ONLY
+   b004: Unknown(b004)
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 READ ONLY
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 1, 85, 41222,  READ ONLY
+   b982: MP4
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 READ ONLY
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  READ ONLY
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 READ ONLY
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  READ ONLY
+   300c: ASF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 READ ONLY
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  READ ONLY
+   ba11: M3U Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3008: MS Wave
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 1536000, STEP 1 READ ONLY
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 1,  READ ONLY
+Storage Devices:
+   StorageID: 0x00040001
+      StorageType: 0x0004
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 1017380864
+      FreeSpaceInBytes: 919535616
+      FreeSpaceInObjects: 438
+      StorageDescription: (null)
+      VolumeIdentifier: 305419896
+Special directories:
+   Default music folder: 0x00783438
+   Default playlist folder: 0x00787fa8
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: Nokia Handset
+   Synchronization partner: Nokia Handset
+libmtp supported (playable) filetypes:
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+   ISO MPEG-1 Audio Layer 3
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+   Microsoft Windows Media Audio
+   Microsoft Advanced Systems Format
+   RIFF WAVE file
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">EBAAGHJYAFiajGATrSV0Q1zM1tw=</UNIQUEID><PUBLICKEY private="1">yupOShuVn+Ohiu66rXU7PsNB8j32PH3itKavoF8Cvj5mp0njFHnTGw==</PUBLICKEY><KEYDATA></KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>IA55p84br2OugD/WBUpPqaKGgnACviPbxUFSPXxqv3J8PyD0OEZyIA==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE></SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.105.309</SECURITYVERSION><CERTIFICATE private="1">yupOShuVn+Ohiu66rXU7PsNB8j32PH3itKavoF8Cvj5mp0njFHnTGwIEaTUYkYBH2YGyvC5quVHELMO2wIMEfZx3xdW/ubyq9Nc3i6F0UD4gfPAu</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>5700</NAME>
+    <MANUFACTURER>Nokia</MANUFACTURER>
+    <MAKE>Nokia</MAKE>
+    <DISTRIBUTOR>Nokia</DISTRIBUTOR>
+    <MODEL>RM-230</MODEL>
+    <SECURITYLEVEL>2000</SECURITYLEVEL>
+    <HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR>
+    <HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR>
+    <FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR>
+    <FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>
+    <FEATURES>
+        <CLOCK>1</CLOCK>
+        <METERING>1</METERING>
+        <LICENSE_ACQ>0</LICENSE_ACQ>
+        <LICENSE_SYNC>1</LICENSE_SYNC>
+        <ENCRYPTION>1</ENCRYPTION>
+        <SYMMETRIC_OPT>1</SYMMETRIC_OPT>
+    </FEATURES>
+    <LIMITS>
+        <MAXCHAINDEPTH>2</MAXCHAINDEPTH>
+        <MAXLICENSESIZE>10240</MAXLICENSESIZE>
+        <MAXHEADERSIZE>5120</MAXHEADERSIZE>
+    </LIMITS><PUBLICKEY>uY3N1oghy/nmhubzGeiZfYmChUT25qfMpmKCTW9Sdj2hHf1HV88jZg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>pghIQN6Dm50S3S+bkQi7IVBZjjXlFcN7wLUEQQD+H6k982gmTzjKSA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1433</AUTH_ID><PUBLICKEY>ntQPNfKKMfukh/0zmGMkUvATHXS0sgF8APhcEN6rFa/11pYrWuobYA==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>/SdLqMFRITPdTq5OqOkhm1HH7yjvYucr5hJPH8LOEwEmFeP8xE3EYg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>z1TxUr2XXhkskYyNlhksr/PCJAYLet5qY/UxJpC6TNiqkPHmWFMCbg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>ÿÿÿÿ
+WMPInfo.xml Does not exist on this device
+PTP: Closing session
+OK.
diff --git a/logs/mtp-detect-nokia-5800-2.txt b/logs/mtp-detect-nokia-5800-2.txt
new file mode 100644
index 0000000..9dc7574
--- /dev/null
+++ b/logs/mtp-detect-nokia-5800-2.txt
@@ -0,0 +1,468 @@
+Device 0 (VID=0421 and PID=0154) is a Nokia 5800 XpressMusic.
+PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
+LIBMTP libusb: Attempt to reset device
+libmtp version: 1.1.3
+
+Listing raw device(s)
+   Found 1 device(s):
+   Nokia: 5800 XpressMusic (0421:0154) @ bus 2, dev 10
+Attempting to connect device(s)
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 2
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0421
+   idProduct: 0154
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 10
+      Device entry info:
+         Vendor: Nokia
+         Vendor id: 0x0421
+         Product: 5800 XpressMusic
+         Vendor id: 0x0154
+         Device flags: 0x00000001
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Nokia
+   Model: 5800 XpressMusic
+   Device version: 01
+   Serial number: 357988032559978
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com:1.0;microsoft.com/WMPPD: 11.0;microsoft.com/WMDRMPD: 10.1;vodafone.com/omadrmv2: 1.0
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        microsoft.com/WMPPD: 11.0
+        microsoft.com/WMDRMPD: 10.1
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9810: Get object references
+   9811: Set object references
+   9805: Get object property list
+   9806: Set object property list
+   9807: Get interdependent property description
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   9203: Get transferable playlist types
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   0x400a
+   0x4004
+   0x4005
+   0x4003
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+   0xd303: Unknown property
+   0xd102: Device Certificate
+   0xd406: Session Initiator Info
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   b004: Unknown(b004)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 85, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 176, MAX 320, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 144, MAX 240, STEP 1 GET/SET
+      de97: Scan Depth UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 861293911, 1297101377, 1297101889,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc87: Width UINT32 data type range: MIN 176, MAX 320, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 144, MAX 240, STEP 1 GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type ANY 16BIT VALUE form GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc94: Parental Rating STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 1536000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00040001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 8022654976
+      FreeSpaceInBytes: 0
+      FreeSpaceInObjects: 0
+      StorageDescription: Memory card (5800XM_8GB)
+      VolumeIdentifier: 272687601
+   StorageID: 0x00020001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 90210304
+      FreeSpaceInBytes: 0
+      FreeSpaceInObjects: 0
+      StorageDescription: Phone memory
+      VolumeIdentifier: 734637202
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Nokia 5800 XpressMusic
+   Synchronization partner: Nokia 5800 XpressMusic
+libmtp supported (playable) filetypes:
+   Folder
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Microsoft Windows Media Audio
+   Microsoft Advanced Systems Format
+   Microsoft Windows Media Video
+   Abstract Playlist file
+   RIFF WAVE file
+OK.
diff --git a/logs/mtp-detect-nokia-5800.txt b/logs/mtp-detect-nokia-5800.txt
new file mode 100644
index 0000000..fcd407d
--- /dev/null
+++ b/logs/mtp-detect-nokia-5800.txt
@@ -0,0 +1,155 @@
+Device 0 (VID=0421 and PID=0155) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+Error 2: PTP Layer error 02ff: get_all_metadata_fast(): could not get proplist of all objects.
+Error 2: (Look this up in ptp.h for an explanation.)
+Error 2: PTP Layer error 02ff: get_handles_recursively(): could not get object handles.
+Error 2: (Look this up in ptp.h for an explanation.)
+Error 2: PTP Layer error 02ff: get_handles_recursively(): could not get object handles.
+Error 2: (Look this up in ptp.h for an explanation.)
+libmtp version: 0.3.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   0421:0155 @ bus 0, dev 14
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 255
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0421
+   idProduct: 0155
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 14
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0421
+         Product: (null)
+         Vendor id: 0x0155
+         Device flags: 0x00000000
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Nokia
+   Model: 5800 XpressMusic
+   Device version: 01
+   Serial number: 354183023422153
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com:1.0;microsoft.com/WMPPD: 11.0;microsoft.com/WMDRMPD: 10.1;vodafone.com/omadrmv2: 1.0
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9810: Get object references
+   9811: Set object references
+   9805: Get object property list
+   9806: Set object property list
+   9807: Get interdependent property description
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   9203: Get transferable playlist types
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   0x400a
+   0x4004
+   0x4005
+   0x4003
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+   0xd102: Device Certificate
+   0xd406: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+   3001: Association/Directory
+   b903: AAC
+   b982: MP4
+   3009: MP3
+   b984: 3GP
+   b004: Unknown(b004)
+   b982: MP4
+   b901: WMA
+   300c: ASF
+   b981: WMV
+   ba11: M3U Playlist
+   ba05: Abstract Audio Video Playlist
+   3008: MS Wave
+Storage Devices:
+   StorageID: 0x00040001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 7964983296
+      FreeSpaceInBytes: 1893857280
+      FreeSpaceInObjects: 908
+      StorageDescription: Memory card
+      VolumeIdentifier: 3455216610
+   StorageID: 0x00020001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 90251264
+      FreeSpaceInBytes: 73989120
+      FreeSpaceInObjects: 35
+      StorageDescription: Phone memory (NOKIA)
+      VolumeIdentifier: 1196836185
+Special directories:
+   Default music folder: 0x00000000
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+   ISO MPEG-1 Audio Layer 3
+   MPEG-4 Part 14 Container Format (Audio+VError 2: PTP Layer error 02ff: get_device_unicode_property(): failed to get unicode property.
+Error 2: (Look this up in ptp.h for an explanation.)
+ERROR: Could not close session!
+ideo Empahsis)
+   Microsoft Windows Media Audio
+   Microsoft Advanced Systems Format
+   Microsoft Windows Media Video
+   RIFF WAVE file
+Unable to acquire device certificate, perhaps this device does not support this
+OK.
+
+ 	  	 
diff --git a/logs/mtp-detect-nokia-6120c.txt b/logs/mtp-detect-nokia-6120c.txt
new file mode 100644
index 0000000..935fb37
--- /dev/null
+++ b/logs/mtp-detect-nokia-6120c.txt
@@ -0,0 +1,331 @@
+libmtp version: 0.2.4
+
+Attempting to connect device(s)
+Device 1 (VID=0421 and PID=002e) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+PTP: Opening session
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 255
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0421
+   idProduct: 002e
+   IN endpoint maxpacket: 64 bytes
+   OUT endpoint maxpacket: 64 bytes
+   Device flags: 0x00000000
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Nokia
+   Model: Nokia 6120 classic
+   Device version: v. 1.00
+   Serial number: 356972010492171
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com:1.0;microsoft.com/WMPPD: 11.0
+   Detected object size: 32 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   9203: Get transferable playlist types
+Events supported:
+   0x400a
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   b903: AAC
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  READ ONLY
+   b982: MP4
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 READ ONLY
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  READ ONLY
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  READ ONLY
+   b004: Unknown(b004)
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 READ ONLY
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 1, 85, 41222,  READ ONLY
+   b982: MP4
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 READ ONLY
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  READ ONLY
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 READ ONLY
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  READ ONLY
+   ba11: M3U Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3008: MS Wave
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 1536000, STEP 1 READ ONLY
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 1,  READ ONLY
+Storage Devices:
+   StorageID: 0x00040001
+      StorageType: 0x0004
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 1029832704
+      FreeSpaceInBytes: 356383744
+      FreeSpaceInObjects: 170
+      StorageDescription: ******
+      VolumeIdentifier: 969318220
+Special directories:
+   Default music folder: 0x00000000
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: Nokia Handset
+   Synchronization partner: Nokia Handset
+libmtp supported (playable) filetypes:
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+   ISO MPEG-1 Audio Layer 3
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+   Microsoft Windows Media Audio
+   RIFF WAVE file
+Unable to acquire device certificate, perhaps this device does not support this
+WMPInfo.xml Does not exist on this device
+PTP: Closing session
+OK.
diff --git a/logs/mtp-detect-nokia-6205.txt b/logs/mtp-detect-nokia-6205.txt
new file mode 100644
index 0000000..33d4383
--- /dev/null
+++ b/logs/mtp-detect-nokia-6205.txt
@@ -0,0 +1,315 @@
+libmtp version: 0.2.6.1
+
+Attempting to connect device(s)
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 05c6
+   idProduct: 3196
+   IN endpoint maxpacket: 64 bytes
+   OUT endpoint maxpacket: 64 bytes
+   Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: fe00                                   	..
+Microsoft device response to control message 1, CMD 0xfe:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Microsoft device response to control message 2, CMD 0xfe:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Device info:
+   Manufacturer: Verizon
+   Model: Verizon Music Phone
+   Device version: 02.06.015L(148000)
+   Serial number: 01307E66
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; 
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1007: Get object handles
+   1008: Get object info
+   9806: Set object property list
+   9808: Send object property list
+   100d: Send object
+   1009: Get object
+   100b: Delete object
+   9802: Get object property description
+   1014: Get device property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9805: Get object property list
+   9810: Get object references
+   1015: Get device property value
+   1016: Set device property value
+   9811: Set object references
+   d402: Unknown (d402)
+   9804: Set object property value
+   1006: Get number of objects
+   100c: Send object info
+   1012: Set object protection
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9109: Get license state
+   9201: Report Added/Deleted Items
+Events supported:
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd402: Friendly Device Name
+   0xd401: Synchronization Partner
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 32000, 44100,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 196608, STEP 1000 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353, 354,  READ ONLY
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 32000, 44100,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 196608, STEP 1000 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  READ ONLY
+   b700: Unknown(b700)
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 32000, 44100,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 196608, STEP 1000 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration:  READ ONLY
+   b701: Unknown(b701)
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 32000, 44100,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 196608, STEP 1000 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration:  READ ONLY
+   b702: Unknown(b702)
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 32000, 44100,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 196608, STEP 1000 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration:  READ ONLY
+   ba03: Abstract Audio Album
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337, 14344,  GET/SET
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 65536, STEP 1 READ ONLY
+      dc8c: Genre STRING data type GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+   3801: JPEG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+   3808: JFIF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0004
+      FilesystemType: 0x0000
+      AccessCapability: 0x0000
+      MaxCapacity: 2012872704
+      FreeSpaceInBytes: 1994997760
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Removable Storage Card
+      VolumeIdentifier: SD02G2£15566592
+Special directories:
+   Default music folder: 0x000000c8
+   Default playlist folder: 0x000000cc
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: V CAST Mobile Phone - External Memory
+   Synchronization partner: V CAST Sync Partner
+libmtp supported (playable) filetypes:
+   Microsoft Windows Media Audio
+   ISO MPEG-1 Audio Layer 3
+   JPEG file
+   JFIF file
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">Zn4wAQAAoMz8YAIAAECY+cEEAAA=</UNIQUEID><PUBLICKEY private="1">ddMq9cyNFb6o3NE7zvUvT3g3Ziz8PC/tmo3SPLhXCXdwbQN19IVkgA==</PUBLICKEY><KEYDATA>2YPGBugfcXZVcgiyC+9uz7kqbak=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>2S1c2qOkOXfFw++/n0XEOmXrOzv7hLVpDkv1yV+w+qnPLICdlNr2hg==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>P2r5oiCTLmJkhyNScalQcVbcT1Y=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.107.183</SECURITYVERSION><CERTIFICATE private="1">ddMq9cyNFb6o3NE7zvUvT3g3Ziz8PC/tmo3SPLhXCXdwbQN19IVkgAIEa7d2suJJstcZ/AJEMe7bk9gywN5aPf4sPX4BsbJRhfQM6t4+88wQKBkF</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>NBalboa</NAME>

+    <MANUFACTURER>Nokia</MANUFACTURER>

+    <MAKE>Balboa</MAKE>

+    <DISTRIBUTOR>Verizon Wireless</DISTRIBUTOR>

+    <MODEL>MOD 2.0.0</MODEL>

+    <SECURITYLEVEL>2000</SECURITYLEVEL>

+    <HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR>

+    <HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR>

+    <FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR>

+    <FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>

+    <FEATURES>

+        <CLOCK>1</CLOCK>

+        <METERING>0</METERING>

+        <LICENSE_ACQ>1</LICENSE_ACQ>

+        <LICENSE_SYNC>1</LICENSE_SYNC>

+        <ENCRYPTION>1</ENCRYPTION>

+        <SYMMETRIC_OPT>1</SYMMETRIC_OPT>

+    </FEATURES>

+    <LIMITS>

+        <MAXCHAINDEPTH>2</MAXCHAINDEPTH>

+        <MAXLICENSESIZE>10240</MAXLICENSESIZE>

+        <MAXHEADERSIZE>5120</MAXHEADERSIZE>

+    </LIMITS><PUBLICKEY>9cmEszzjSU20vZuhB0ZugY+n8i0mIaDJvA7I45sTBkFGjAsGmi8hWQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>kuca9wotaGTG0G2dPvftj3zxuIahMaIrRG5Wj+lgx6CY4DVFYcgMDw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1819</AUTH_ID><PUBLICKEY>zrP7+pFmhx/HuQJtNEHLEL4zawwFuTDrB1E1l2bc47IC3+KIcYXGMg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>EPs+i571OXLamr1dak7GAPEVYIZzYKAj1seQNfF8zvsfNkD6jxtpbg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>xrtjH01GlxXwSXZJxwRFvkNwGS/Rqoe38IuZT4yaAaU4+mGXEnfVew==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+WMPInfo.xml Does not exist on this device
+OK.
+
+ 	  	 
diff --git a/logs/mtp-detect-nokia-6210.txt b/logs/mtp-detect-nokia-6210.txt
new file mode 100644
index 0000000..1e3280e
--- /dev/null
+++ b/logs/mtp-detect-nokia-6210.txt
@@ -0,0 +1,448 @@
+libmtp version: 1.0.2
+
+Listing raw device(s)
+   Found 1 device(s):
+   0421:0098 @ bus 1, dev 9
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 255
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0421
+   idProduct: 0098
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 9
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0421
+         Product: (null)
+         Vendor id: 0x0098
+         Device flags: 0x00000000
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: S60
+   Model: Nokia 6210 Navigator
+   Device version: v. 1.00
+   Serial number: 352914024580926
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com:1.0;microsoft.com/WMPPD: 11.0;microsoft.com/WMDRMPD: 10.1;vodafone.com/omadrmv2: 1.0
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   9203: Get transferable playlist types
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   0x400a
+   0x4004
+   0x4005
+   0x4003
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   b004: Unknown(b004)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 85, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 176, MAX 320, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 144, MAX 240, STEP 1 GET/SET
+      de97: Scan Depth UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 861293911, 1297101377, 1297101889,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc87: Width UINT32 data type range: MIN 176, MAX 320, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 144, MAX 240, STEP 1 GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type ANY 16BIT VALUE form GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc94: Parental Rating STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 1536000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00040001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 1015545856
+      FreeSpaceInBytes: 151228416
+      FreeSpaceInObjects: 72
+      StorageDescription: Memory card
+      VolumeIdentifier: 305419896
+Special directories:
+   Default music folder: 0x00786a78
+   Default playlist folder: 0x007bcdd8
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: S60 Handset
+   Synchronization partner: S60 Handset
+libmtp supported (playable) filetypes:
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Microsoft Windows Media Audio
+   Microsoft Advanced Systems Format
+   Microsoft Windows Media Video
+   Abstract Playlist file
+   RIFF WAVE file
+OK.
+
+ 	  	 
diff --git a/logs/mtp-detect-nokia-6220.txt b/logs/mtp-detect-nokia-6220.txt
new file mode 100644
index 0000000..bce6727
--- /dev/null
+++ b/logs/mtp-detect-nokia-6220.txt
@@ -0,0 +1,470 @@
+libmtp version: 0.3.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   0421:008d @ bus 0, dev 4
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 255
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0421
+   idProduct: 008d
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 4
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0421
+         Product: (null)
+         Vendor id: 0x008d
+         Device flags: 0x00000000
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Nokia
+   Model: Nokia 6220 Classic
+   Device version: v. 1.00
+   Serial number: 356398020636971
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com:1.0;microsoft.com/WMPPD: 11.0;microsoft.com/WMDRMPD: 10.1;vodafone.com/omadrmv2: 1.0
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   9203: Get transferable playlist types
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   0x400a
+   0x4004
+   0x4005
+   0x4003
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+   b903: AAC
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   b982: MP4
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   b984: 3GP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   b004: Unknown(b004)
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 1, 85, 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   b982: MP4
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 353,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   300c: ASF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 353,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 176, MAX 320, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 144, MAX 240, STEP 1 GET/SET
+      de97: ScanDepth UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911, 1297101377, 1297101889,  GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 0, MAX 384000, STEP 1 READ ONLY
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+   b981: WMV
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc87: Width UINT32 data type range: MIN 176, MAX 320, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 144, MAX 240, STEP 1 GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de97: ScanDepth UINT16 data type ANY 16BIT VALUE form GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 353,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911,  GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 0, MAX 384000, STEP 1 READ ONLY
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+      dc94: ParentalRating STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   ba11: M3U Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 1,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 1536000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00040001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 1018298368
+      FreeSpaceInBytes: 871547904
+      FreeSpaceInObjects: 416
+      StorageDescription: Memory card (Memory card)
+      VolumeIdentifier: 3092154013
+Special directories:
+   Default music folder: 0x00000000
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: 6220c-1
+   Synchronization partner: 6220c-1
+libmtp supported (playable) filetypes:
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+   ISO MPEG-1 Audio Layer 3
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+   Microsoft Windows Media Audio
+   Microsoft Advanced Systems Format
+   Microsoft Windows Media Video
+   RIFF WAVE file
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">IWABAiC0AVicg85f6B76vJbQMlI=</UNIQUEID><PUBLICKEY private="1">5k6hmeXlWI5spOJzqe9n+IQY+V6fpidK2yywmeuZFqhsRNDU8B4GPA==</PUBLICKEY><KEYDATA>Zp7IQPLFnwPzoDa3LH+3NtiCn4A=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>OQP6gc2+UJ1LSAe2/4sfmklpOFrDSerAY/HKCH9ZXfMaKHPcsqzqHQ==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>SpmtwJSMPVMnP6kQCXcVErQU8vY=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.110.87</SECURITYVERSION><CERTIFICATE private="1">5k6hmeXlWI5spOJzqe9n+IQY+V6fpidK2yywmeuZFqhsRNDU8B4GPAIEblc7DxAtV0og9ov1pZq3CjHgdY6uYBECupr6IfuP++z5xyrvAEV3y1kr</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>6220c-1</NAME>

+    <MANUFACTURER>Nokia</MANUFACTURER>

+    <MAKE>Nokia</MAKE>

+    <DISTRIBUTOR>Nokia</DISTRIBUTOR>

+    <MODEL>RM-328</MODEL>

+    <SECURITYLEVEL>2000</SECURITYLEVEL>

+    <HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR>

+    <HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR>

+    <FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR>

+    <FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>

+    <FEATURES>

+        <CLOCK>1</CLOCK>

+        <METERING>1</METERING>

+        <LICENSE_ACQ>1</LICENSE_ACQ>

+        <LICENSE_SYNC>1</LICENSE_SYNC>

+        <ENCRYPTION>1</ENCRYPTION>

+        <SYMMETRIC_OPT>1</SYMMETRIC_OPT>

+    </FEATURES>

+    <LIMITS>

+        <MAXCHAINDEPTH>2</MAXCHAINDEPTH>

+        <MAXLICENSESIZE>10240</MAXLICENSESIZE>

+        <MAXHEADERSIZE>5120</MAXHEADERSIZE>

+    </LIMITS><PUBLICKEY>xtJ/7T4Nbfp+lq6OuAfGk6nQN4QylxtXiiD6IyridJNMFooAPYfXbQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>Z28fMuSsyfryhx6wzbHhOJ+bU3IHCvnImXjPxrdc1kh+zD7+3FlfBA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>2491</AUTH_ID><PUBLICKEY>N0Ov2RK4nmSDCH2Z/vPh4+l39mhKIR/EKsR/frjSACiOb8cWDbTYHQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>bBi39TPLVUOAdbxKjnx9yNAH8oOn2zpfbTUqC/7Rdy/2mJbCGcYEeg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>oZQvM/tSU4uRFwrJ69HYPQfPMSmtMJWenmKsRAWWZWFh7+kpVX3DLg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+OK.
diff --git a/logs/mtp-detect-nokia-6500c.txt b/logs/mtp-detect-nokia-6500c.txt
new file mode 100644
index 0000000..ad1adce
--- /dev/null
+++ b/logs/mtp-detect-nokia-6500c.txt
@@ -0,0 +1,519 @@
+Potential MTP Device with VendorID:0421 and ProductID:003c responded to control message 2 with a response that was too short. Problems may arrise but continuing
+Device 0 (VID=0421 and PID=003c) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+PTP: Opening session
+libmtp version: 0.3.0
+
+Listing raw device(s)
+   Found 1 device(s):
+   0421:003c @ bus 0, dev 3
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0421
+   idProduct: 003c
+   IN endpoint maxpacket: 64 bytes
+   OUT endpoint maxpacket: 64 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 3
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0421
+         Product: (null)
+         Vendor id: 0x003c
+         Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: fe00                                   	..
+Microsoft device response to control message 1, CMD 0xfe:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000 1203 4d00 5300 4600	..........M.S.F.
+	0030: 5400 3100 3000 3000 fe00 1203 5000 4300	T.1.0.0.....P.C.
+	0040: 2000 5300 7500 6900 7400 6500 1e03 5200	 .S.u.i.t.e...R.
+	0050: 6500 6d00 6f00 7600 6100 6200 6c00 6500	e.m.o.v.a.b.l.e.
+	0060: 2000 4400 6900 7300 6b00 1e03 4d00 6500	 .D.i.s.k...M.e.
+	0070: 6400 6900 6100 2000 5400 7200 6100 6e00	d.i.a. .T.r.a.n.
+	0080: 7300 6600 6500 7200 7573 6268 5f73 7461	s.f.e.r.usbh_sta
+	0090: 7274 5f73 7461 636b 0075 7362 685f 7374	rt_stack.usbh_st
+	00a0: 6f70 5f73 7461 636b 0075 7362 685f 7374	op_stack.usbh_st
+	00b0: 6172 745f 7374 6163 6b5f 6861 6e64 6c65	art_stack_handle
+	00c0: 7200 7573 6268 5f73 746f 705f 7374 6163	r.usbh_stop_stac
+	00d0: 6b5f 6861 6e64 6c65 7200 7573 6268 5f73	k_handler.usbh_s
+	00e0: 6574 5f73 7461 636b 5f73 7461 7475 7300	et_stack_status.
+	00f0: 7573 625f 6d61 7463 6800 7573 625f 6174	usb_match.usb_at
+	0100: 7461 6368 0075 7362 5f65 7665 6e74 5f74	tach.usb_event_t
+	0110: 6173 6b00 7573 625f 776f 726b 696e 675f	ask.usb_working_
+	0120: 7461 736b 0000 0000 4001 0000 0000 0000	task....@.......
+	0130: 0000 0000 0000 0000 3f01 0000 0000 0000	........?.......
+	0140: 0000 0000 0000 0000 7573 6263 746c 7072	........usbctlpr
+	0150: 696e 7400 7573 625f 6469 7363 6f76 6572	int.usb_discover
+	0160: 0075 7362 5f6e 6565 6473 5f65 7870 6c6f	.usb_needs_explo
+	0170: 7265 0075 7362 5f61 6374 6976 6174 6500	re.usb_activate.
+	0180: 7573 625f 6465 7461 6368 0075 7362 5f68	usb_detach.usb_h
+	0190: 6f73 745f 7265 715f 6861 6e64 6c65 7200	ost_req_handler.
+	01a0: 5000 0000 6914 2bf0 3b15 2bf0 3318 2bf0	P...i.+.;.+.3.+.
+	01b0: 9b17 2bf0 5802 0000 811a 2bf0 9f29 2bf0	..+.X.....+..)+.
+	01c0: b32b 2bf0 032b 2bf0 0000 0000 0000 0000	.++..++.........
+	01d0: 0100 0000 0000 0000 0200 0000 0000 0000	................
+	01e0: 0300 0000 0000 0000 0400 0000 0000 0000	................
+	01f0: 0500 0000 0000 0000 0600 0000 0000 0000	................
+	0200: 0700 0000 0000 0000 0800 0000 0000 0000	................
+	0210: 0900 0000 0000 0000 0a00 0000 0000 0000	................
+	0220: 0b00 0000 0000 0000 0c00 0000 0000 0000	................
+	0230: 3000 0000 0d3f 2bf0 0000 0000 0000 0000	0....?+.........
+	0240: 0000 0000 3000 0000 113f 2bf0 0000 0000	....0....?+.....
+	0250: 0000 0000 0000 0000 3000 0000 153f 2bf0	........0....?+.
+	0260: 0000 0000 0000 0000 0000 0000 3000 0000	............0...
+	0270: 193f 2bf0 0000 0000 0000 0000 0000 0000	.?+.............
+	0280: 7374 726c 6370 7900 7573 6264 5f67 6574	strlcpy.usbd_get
+	0290: 5f64 6573 6300 7573 6264 5f67 6574 5f63	_desc.usbd_get_c
+	02a0: 6f6e 6669 675f 6465 7363 0075 7362 645f	onfig_desc.usbd_
+	02b0: 6765 745f 6465 7669 6365 5f64 6573 6300	get_device_desc.
+	02c0: 7573 6264 5f67 6574 5f64 6576 6963 655f	usbd_get_device_
+	02d0: 7374 6174 7573 0075 7362 645f 7365 745f	status.usbd_set_
+	02e0: 6164 6472 6573 7300 7573 6264 5f67 6574	address.usbd_get
+	02f0: 5f70 6f72 745f 7374 6174 7573 0075 7362	_port_status.usb
+	0300: 645f 636c 6561 725f 706f 7274 5f66 6561	d_clear_port_fea
+	0310: 7475 7265 0075 7362 645f 7365 745f 706f	ture.usbd_set_po
+	0320: 7274 5f66 6561 7475 7265 0075 7362 645f	rt_feature.usbd_
+	0330: 7365 745f 6964 6c65 0075 Potential MTP Device with VendorID:0421 and ProductID:003c responded to control message 2 with a response that was too short. Problems may arrise but continuing
+7362 645f 6765	set_idle.usbd_ge
+	0340: 745f 7265 706f 7274 5f64 6573 6372 6970	t_report_descrip
+	0350: 746f 7200 7573 6264 5f67 6574 5f68 6964	tor.usbd_get_hid
+	0360: 5f64 6573 6372 6970 746f 7200 7573 6264	_descriptor.usbd
+	0370: 5f72 6561 645f 7265 706f 7274 5f64 6573	_read_report_des
+	0380: 6300 7573 6268 5f6f 735f 6d61 6c6c 6f63	c.usbh_os_malloc
+	0390: 0075 7362 685f 6f73 5f66 7265 6500 7573	.usbh_os_free.us
+	03a0: 6268 5f74 736c 6565 705f 7469 6d65 6f75	bh_tsleep_timeou
+	03b0: 745f 6973 7200 7573 6268 5f77 616b 6575	t_isr.usbh_wakeu
+	03c0: 7000 7573 6264 5f78 6665 725f 736c 6565	p.usbd_xfer_slee
+	03d0: 705f 7365 7475 7000 7573 6264 5f78 6665	p_setup.usbd_xfe
+	03e0: 725f 736c 6565 7000 7573 6264 5f78 6665	r_sleep.usbd_xfe
+	03f0: 725f 736c 6565 705f 6361 6e63 656c 0075	r_sleep_cancel.u
+Device info:
+   Manufacturer: Nokia
+   Model: Nokia 6500c
+   Device version: (null)
+   Serial number: 00000000000000000xxxxxxxxxxxx415
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMPPD: 11.0; microsoft.com/WMDRMPD: 10.1
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   101b: Get partial object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   9203: Get transferable playlist types
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   0x4009
+   0x4003
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3801: JPEG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   3002: Script
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   3004: Text
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   3005: HTML
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   3008: MS Wave
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   3804: BMP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   3807: GIF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   3808: JFIF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   380b: PNG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   b903: AAC
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   b984: 3GP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   ba11: M3U Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   bb82: vCard2
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   bb83: vCard3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   be02: vCalendar1
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 1026719744
+      FreeSpaceInBytes: 999260160
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Galerij
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x10001aca
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0xPTP: Closing session
+00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: NOKIA
+   Synchronization partner: MICROSOFT MEDIAPLAYER
+libmtp supported (playable) filetypes:
+   JPEG file
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Microsoft Windows Media Audio
+   VCard version 2
+   VCard version 3
+   VCalendar version 1
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">EPABDuH1AVTgJ/j/jXdqvDFtAW0=</UNIQUEID><PUBLICKEY private="1">pXpGASBX5UekFbFMD5BWPfGMuWLjaKeONDWvforch79aeRgqoM4rNw==</PUBLICKEY><KEYDATA></KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>nWkose4Vy0IRngk3ykStXcTkw2iXrt8XCqKMBpC6bSDAU0scsz9nHw==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE></SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.108.139</SECURITYVERSION><CERTIFICATE private="1">pXpGASBX5UekFbFMD5BWPfGMuWLjaKeONDWvforch79aeRgqoM4rNwIEbItHZjBlghQMCijtAimZwy5qYA2OE1iX+V0WX3z0sx3kgljDgEBw6HE0</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>6500 Classic</NAME> 

+  <MANUFACTURER>Nokia</MANUFACTURER> 

+  <MAKE>Nokia</MAKE> 

+  <DISTRIBUTOR>Nokia</DISTRIBUTOR> 

+  <MODEL>RM-265</MODEL> 

+  <SECURITYLEVEL>2000</SECURITYLEVEL> 

+  <HARDWARE_VER_MAJOR>10</HARDWARE_VER_MAJOR> 

+  <HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR> 

+  <FIRMWARE_VER_MAJOR>3</FIRMWARE_VER_MAJOR> 

+  <FIRMWARE_VER_MINOR>20</FIRMWARE_VER_MINOR> 

+- <FEATURES>

+  <CLOCK>1</CLOCK>

+  <METERING>1</METERING> 

+  <LICENSE_ACQ>1</LICENSE_ACQ> 

+  <LICENSE_SYNC>1</LICENSE_SYNC> 

+  <ENCRYPTION>0</ENCRYPTION> 

+  <SYMMETRIC_OPT>1</SYMMETRIC_OPT> 

+  </FEATURES>

+- <LIMITS>

+  <MAXCHAINDEPTH>2</MAXCHAINDEPTH> 

+  <MAXLICENSESIZE>10240</MAXLICENSESIZE> 

+  <MAXHEADERSIZE>5120</MAXHEADERSIZE> 

+  </LIMITS><PUBLICKEY>ALkATg94U1L72WntvkKrGFJLXlgj5Ys8saMz/774KeCtFcKd5zlaQw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>K6q8VLOLPtBQe7bFab4kag0iwAQtsHPlLC3aq65J37O8tLIkq7XgMQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>2031</AUTH_ID><PUBLICKEY>2a++RTLVAsuiI/lJWmeQfC/83CpAUHlnzUdd2SxXlJFOpU9k0AVwcg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>A32uqD8d8PkT6cHCew/wCIr+Yl/1M1A3kCiDIpdHA1x0+KMcNRZsWQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>LGczDqH0o9vbft7FSiTvaZe47wAIBC6Knaew77ypVY8lHzmZmppPaQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>大
+WMPInfo.xml Does not exist on this device
+OK.
diff --git a/logs/mtp-detect-nokia-808.txt b/logs/mtp-detect-nokia-808.txt
new file mode 100644
index 0000000..86126d8
--- /dev/null
+++ b/logs/mtp-detect-nokia-808.txt
@@ -0,0 +1,655 @@
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   0421:05d3 @ bus 1, dev 14
+Attempting to connect device(s)
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0421
+   idProduct: 05d3
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 14
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0421
+         Product: (null)
+         Vendor id: 0x05d3
+         Device flags: 0x00000000
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Nokia
+   Model: 808 PureView
+   Device version: 113.010.1508
+   Serial number: 351965050538189
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/WMPPD: 11.0; vodafone.com/omadrmv2: 1.0; microsoft.com/DeviceServices: 1.0; microsoft.com: 1.0; microsoft.com/WMPPD: 10.0; microsoft.com/WMDRMPD:10.1; 
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com/WMPPD: 11.0
+        vodafone.com/omadrmv2: 1.0
+        microsoft.com/DeviceServices: 1.0
+        microsoft.com: 1.0
+        microsoft.com/WMPPD: 10.0
+        microsoft.com/WMDRMPD: 10.1
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1010: Reset device
+   1012: Set object protection
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1019: Move object
+   101a: Copy object
+   101b: Get partial object
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   9203: Get transferable playlist types
+   9301: Unknown (9301)
+   9302: Unknown (9302)
+   9303: Unknown (9303)
+   9304: Unknown (9304)
+   9305: Unknown (9305)
+   9306: Unknown (9306)
+   9307: Unknown (9307)
+   9308: Unknown (9308)
+   9309: Unknown (9309)
+   930a: Unknown (930a)
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9807: Get interdependent property description
+   9808: Send object property list
+   9810: Get object references
+   9811: Set object references
+   9820: Skip to next position in playlist
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+   0x4007
+   0x4008
+   0x4009
+   0x400a
+   0x400b
+   0x400c
+   0xc303
+   0xc803
+Device Properties Supported:
+   0x5001: Battery Level
+   0x5011: Date & Time
+   0xd102: Device Certificate
+   0xd301: Unknown property
+   0xd302: Unknown property
+   0xd303: Unknown property
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd403: Volume Level
+   0xd404: Unknown property
+   0xd405: Device Icon
+   0xd406: Session Initiator Info
+   0xd407: Perceived Device Type
+   0xd410: Playback Rate
+   0xd411: Playback Object
+   0xd412: Playback Container Index
+   0xd413: Playback Position
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc05: Association Type UINT16 data type enumeration: 1,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 176, MAX 1280, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 144, MAX 720, STEP 1 GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 1,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 826496577,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX 20000000, STEP 1 READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 30000, STEP 1 GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353, 354,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 768000, STEP 1 GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 1536000, STEP 1 GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc87: Width UINT32 data type range: MIN 176, MAX 1280, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 144, MAX 720, STEP 1 GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 1,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353, 354,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 768000, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX 20000000, STEP 1 READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 30000, STEP 1 GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc94: Parental Rating STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc87: Width UINT32 data type range: MIN 176, MAX 1280, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 144, MAX 720, STEP 1 GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 1,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353, 354,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 768000, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX 20000000, STEP 1 READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 30000, STEP 1 GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc94: Parental Rating STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+   3002: Script
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 536870912, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 536870912, STEP 1 READ ONLY
+      dcd3: Image Bit Depth UINT32 data type range: MIN 1, MAX 536870912, STEP 1 READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 1, MAX 536870912, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 1, MAX 536870912, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 1, MAX 536870912, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 536870912, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 536870912, STEP 1 READ ONLY
+      dcd3: Image Bit Depth UINT32 data type range: MIN 1, MAX 536870912, STEP 1 READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 1, MAX 536870912, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 1, MAX 536870912, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 1, MAX 536870912, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 536870912, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 536870912, STEP 1 READ ONLY
+      dcd3: Image Bit Depth UINT32 data type range: MIN 1, MAX 536870912, STEP 1 READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 1, MAX 536870912, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 1, MAX 536870912, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 1, MAX 536870912, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 536870912, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 536870912, STEP 1 READ ONLY
+      dcd3: Image Bit Depth UINT32 data type range: MIN 1, MAX 536870912, STEP 1 READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 1, MAX 536870912, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 1, MAX 536870912, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 1, MAX 536870912, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 1, MAX 65536, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 1, MAX 360, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 1, MAX 360, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+   ba83: Microsoft Word Document
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   ba85: Microsoft Excel Spreadsheet (.xls)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   ba86: Microsoft Powerpoint (.ppt)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 14810087424
+      FreeSpaceInBytes: 6317735936
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Mass memory
+      VolumeIdentifier: 00020001-D69D0C10
+   StorageID: 0x00010001
+      StorageType: 0x0001 fixed ROM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0001 read only
+      MaxCapacity: 642805760
+      FreeSpaceInBytes: 0
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Phone memory
+      VolumeIdentifier: 00010001-123AF679
+   StorageID: 0x00030001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 31902367744
+      FreeSpaceInBytes: 2909143040
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: SD Card 808
+      VolumeIdentifier: 00030001-D6CBB037-SD Card 808
+Special directories:
+   Default music folder: 0x00000008
+   Default playlist folder: 0x00000021
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Nokia 808 PureView
+   Synchronization partner: 808 PureView
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   Folder
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   RIFF WAVE file
+   Microsoft Windows Media Video
+   Microsoft Advanced Systems Format
+   Abstract Playlist file
+   Text file
+   HTML file
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   Portable Network Graphics
+   Abstract Album file
+   DOC file
+   XLS file
+   PPT file
+OK.
diff --git a/logs/mtp-detect-nokia-c5-00.txt b/logs/mtp-detect-nokia-c5-00.txt
new file mode 100644
index 0000000..4737957
--- /dev/null
+++ b/logs/mtp-detect-nokia-c5-00.txt
@@ -0,0 +1,466 @@
+Error: Unable to open ~/.mtpz-data for reading.
+libmtp version: 1.1.5
+
+Listing raw device(s)
+   Found 1 device(s):
+   0421:0592 @ bus 2, dev 6
+Attempting to connect device(s)
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 2
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0421
+   idProduct: 0592
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 6
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0421
+         Product: (null)
+         Vendor id: 0x0592
+         Device flags: 0x00000000
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: S60
+   Model: C5-00.2
+   Device version: v. 1.00
+   Serial number: 354640053078817
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com:1.0;microsoft.com/WMPPD: 11.0;microsoft.com/WMDRMPD: 10.1;vodafone.com/omadrmv2: 1.0
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        microsoft.com/WMPPD: 11.0
+        microsoft.com/WMDRMPD: 10.1
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9810: Get object references
+   9811: Set object references
+   9805: Get object property list
+   9806: Set object property list
+   9807: Get interdependent property description
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   9203: Get transferable playlist types
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   0x400a
+   0x4004
+   0x4005
+   0x4003
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+   0xd303: Unknown property
+   0xd102: Device Certificate
+   0xd406: Session Initiator Info
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   b004: Unknown(b004)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 85, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 176, MAX 320, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 144, MAX 240, STEP 1 GET/SET
+      de97: Scan Depth UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 861293911, 1297101377, 1297101889,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc87: Width UINT32 data type range: MIN 176, MAX 320, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 144, MAX 240, STEP 1 GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type ANY 16BIT VALUE form GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc94: Parental Rating STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 1536000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00040001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 1965785088
+      FreeSpaceInBytes: 1151210496
+      FreeSpaceInObjects: 550
+      StorageDescription: Memory card
+      VolumeIdentifier: 4252076090
+   StorageID: 0x00020001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 292020224
+      FreeSpaceInBytes: 237591552
+      FreeSpaceInObjects: 113
+      StorageDescription: Phone memory
+      VolumeIdentifier: 1196836185
+Special directories:
+   Default music folder: 0x0080ad68
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Nokia C5-00.2
+   Synchronization partner: Nokia C5-00.2
+libmtp supported (playable) filetypes:
+   Folder
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Microsoft Windows Media Audio
+   Microsoft Advanced Systems Format
+   Microsoft Windows Media Video
+   Abstract Playlist file
+   RIFF WAVE file
+OK.
diff --git a/logs/mtp-detect-nokia-e66.txt b/logs/mtp-detect-nokia-e66.txt
new file mode 100644
index 0000000..7ef97a9
--- /dev/null
+++ b/logs/mtp-detect-nokia-e66.txt
@@ -0,0 +1,408 @@
+Device 0 (VID=0421 and PID=00e5) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+PTP: Opening session
+libmtp version: 0.3.0
+
+Listing raw device(s)
+   Found 1 device(s):
+   0421:00e5 @ bus 0, dev 4
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 255
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0421
+   idProduct: 00e5
+   IN endpoint maxpacket: 64 bytes
+   OUT endpoint maxpacket: 64 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 4
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0421
+         Product: (null)
+         Vendor id: 0x00e5
+         Device flags: 0x00000000
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Nokia
+   Model: Nokia E66
+   Device version: v. 1.00
+   Serial number: Nokia Handset
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com:1.0;microsoft.com/WMPPD: 11.0;microsoft.com/WMDRMPD: 10.1
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   9203: Get transferable playlist types
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   0x400a
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   b903: AAC
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  GET/SET
+   b982: MP4
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  GET/SET
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  GET/SET
+   b004: Unknown(b004)
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 1, 85, 41222,  GET/SET
+   b982: MP4
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  GET/SET
+   300c: ASF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 1297101377, 1297101889,  READ ONLY
+   ba11: M3U Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3008: MS Wave
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 1536000, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00040001
+      StorageType: 0x0004
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 2012971008
+      FreeSpaceInBytes: 1658522624
+      FreeSpaceInObjects: 792
+      StorageDescription: (null)
+      VolumeIdentifier: 4252076090
+Special directories:
+   Default music folder: 0x00000000
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: Nokia Handset
+   Synchronization partner: {00000000-0000-0000-0000-000000000000}
+libmtp supported (playable) filetypes:
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+   ISO MPEG-1 Audio Layer 3
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+   Microsoft Windows Media Audio
+   Microsoft Advanced Systems Format
+   RIFF WAVE file
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">EtAAEuWWAVhiiOFM8MsAHndih1c=</UNIQUEID><PUBLICKEY private="1">KHoxgun4dFpT88ajFtz0GYjR7VWBRVcU+7McRpKY65NM/6jTmVlYFA==</PUBLICKEY><KEYDATA>II335cVhOrGc5jVStLT7gRnLYF0=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>KgJ6xgik2vq0EE3Sx/FFX1AovGAdw1gL+nDXHOSDQ5+fHZxDzmqCaQ==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>Q0HSLd8Vhrp75qsS9fwwvvCb65Q=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.109.251</SECURITYVERSION><CERTIFICATE private="1">KHoxgun4dFpT88ajFtz0GYjR7VWBRVcU+7McRpKY65NM/6jTmVlYFAIEbfs7o/+Tt7UslHJXSsCadYYr9KsyKE3HouOfbgQMO1mbMlHUUUyxC8QR</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>E66</NAME>

+    <MANUFACTURER>Nokia</MANUFACTURER>

+    <MAKE>Nokia</MAKE>

+    <DISTRIBUTOR>Nokia</DISTRIBUTOR>

+    <MODEL>RM-343</MODEL>

+    <SECURITYLEVEL>2000</SECURITYLEVEL>

+    <HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR>

+    <HARDWARE_VER_MINOR>0</HARDWARE_VEPTP: Closing session
+R_MINOR>

+    <FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR>

+    <FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>

+    <FEATURES>

+        <CLOCK>1</CLOCK>

+        <METERING>1</METERING>

+        <LICENSE_ACQ>1</LICENSE_ACQ>

+        <LICENSE_SYNC>1</LICENSE_SYNC>

+        <ENCRYPTION>1</ENCRYPTION>

+        <SYMMETRIC_OPT>1</SYMMETRIC_OPT>

+    </FEATURES>

+    <LIMITS>

+        <MAXCHAINDEPTH>2</MAXCHAINDEPTH>

+        <MAXLICENSESIZE>10240</MAXLICENSESIZE>

+        <MAXHEADERSIZE>5120</MAXHEADERSIZE>

+    </LIMITS><PUBLICKEY>blv5ZJA8E/QsN5dEqitbfCmGsFh4k8iYXH0cD8gMEMxsCBWGEok/YQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>FNBwUHgxl3sI7yIJfpgxzJJrAACDeTD/0mkRsvirSg+YV/Th2oaPHQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>2399</AUTH_ID><PUBLICKEY>ApRGW3Fze7nYrkWKJDHRZ7HoQRQ878KvWcf2k6pev1aauHz7sKjuXw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>dZoQR6gV2Jar9AwOnudJxwU4Vl9VZCMSxT2o5v2epQVMycT8N1NrLQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>nh1u9TcgyNEtsWe+kkF9GWkiQjj+h8/vuqmfviq2KJ2uDoJnxcJUGg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>66_
+
+Device description WMPInfo.xml file:
+<DeviceInfo>

+    <WMP DeviceID="{101BF840-050D-40A1-9587-4FFCA4767906}" RelationshipID="{00000000-0000-0000-0000-000000000000}"/>

+</DeviceInfo>

+
+OK.
diff --git a/logs/mtp-detect-nokia-e71.txt b/logs/mtp-detect-nokia-e71.txt
new file mode 100644
index 0000000..75ee820
--- /dev/null
+++ b/logs/mtp-detect-nokia-e71.txt
@@ -0,0 +1,403 @@
+libmtp version: 0.3.0              
+
+Listing raw device(s)
+Device 0 (VID=0421 and PID=00e4) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):                                                         
+   0421:00e4 @ bus 0, dev 5                                                   
+Attempting to connect device(s)                                               
+PTP: Opening session                                                          
+USB low-level info:                                                           
+   Using kernel interface "usbfs"                                             
+   bcdUSB: 512                                                                
+   bDeviceClass: 255                                                          
+   bDeviceSubClass: 0                                                         
+   bDeviceProtocol: 0                                                         
+   idVendor: 0421                                                             
+   idProduct: 00e4                                                            
+   IN endpoint maxpacket: 64 bytes                                            
+   OUT endpoint maxpacket: 64 bytes                                           
+   Raw device info:                                                           
+      Bus location: 0                                                         
+      Device number: 5                                                        
+      Device entry info:                                                      
+         Vendor: (null)                                                       
+         Vendor id: 0x0421                                                    
+         Product: (null)                                                      
+         Vendor id: 0x00e4                                                    
+         Device flags: 0x00000000                                             
+Configuration 0, interface 0, altsetting 0:                                   
+   Interface description contains the string "MTP"                            
+   Device recognized as MTP, no further probing.                              
+Device info:                                                                  
+   Manufacturer: Nokia                                                        
+   Model: Nokia E71                                                           
+   Device version: v. 1.00                                                    
+   Serial number: Nokia Handset                                               
+   Vendor extension ID: 0x00000006                                            
+   Vendor extension description: microsoft.com:1.0;microsoft.com/WMPPD: 11.0;microsoft.com/WMDRMPD: 10.1
+   Detected object size: 64 bits                                                                        
+Supported operations:                                                                                   
+   1001: get device info                                                                                
+   1002: Open session                                                                                   
+   1003: Close session                                                                                  
+   1004: Get storage IDs                                                                                
+   1005: Get storage info                                                                               
+   1006: Get number of objects                                                                          
+   1007: Get object handles                                                                             
+   1008: Get object info                                                                                
+   1009: Get object                                                                                     
+   100b: Delete object                                                                                  
+   100c: Send object info                                                                               
+   100d: Send object                                                                                    
+   1010: Reset device                                                                                   
+   1014: Get device property description                                                                
+   1015: Get device property value                                                                      
+   1016: Set device property value                                                                      
+   9801: Get object properties supported                                                                
+   9802: Get object property description                                                                
+   9803: Get object property value                                                                      
+   9804: Set object property value                                                                      
+   9810: Get object references                                                                          
+   9811: Set object references                                                                          
+   9201: Report Added/Deleted Items                                                                     
+   9202: Report Acquired Items                                                                          
+   9203: Get transferable playlist types                                                                
+   9103: Set license response                                                                           
+   9104: Get sync list                                                                                  
+   9105: Send meter challenge query                                                                     
+   9106: Get meter challenge                                                                            
+   9107: Get meter response                                                                             
+   9108: Clean data store                                                                               
+   9109: Get license state                                                                              
+   910a: Send WMDRM-PD Command                                                                          
+   910b: Send WMDRM-PD Request                                                                          
+Events supported:                                                                                       
+   0x400a                                                                                               
+   0x4004                                                                                               
+   0x4005                                                                                               
+Device Properties Supported:                                                                            
+   0xd401: Synchronization Partner                                                                      
+   0xd402: Friendly Device Name                                                                         
+   0xd404: Unknown property                                                                             
+   0xd102: Device Certificate                                                                           
+Playable File (Object) Types and Object Properties Supported:                                           
+   3000: Undefined Type                                                                                 
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY                                   
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY                                
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY                             
+      dc04: ObjectSize UINT64 data type READ ONLY                                                       
+      dc07: ObjectFileName STRING data type GET/SET                                                     
+      dc4e: DateAdded STRING data type READ ONLY                                                        
+      dc08: DateCreated STRING data type READ ONLY                                                      
+      dc09: DateModified STRING data type READ ONLY                                                     
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY                                
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY                                
+      dc44: Name STRING data type GET/SET                                                               
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY                                 
+   3001: Association/Directory                                                                          
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY                                   
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY                                
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY                             
+      dc04: ObjectSize UINT64 data type READ ONLY                                                       
+      dc07: ObjectFileName STRING data type GET/SET                                                     
+      dc4e: DateAdded STRING data type READ ONLY                                                        
+      dc08: DateCreated STRING data type READ ONLY                                                      
+      dc09: DateModified STRING data type READ ONLY                                                     
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY                                
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY                                
+      dc44: Name STRING data type GET/SET                                                               
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY                                 
+   b903: AAC                                                                                            
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY                                   
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY                                
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY                             
+      dc04: ObjectSize UINT64 data type READ ONLY                                                       
+      dc07: ObjectFileName STRING data type GET/SET                                                     
+      dc4e: DateAdded STRING data type READ ONLY                                                        
+      dc08: DateCreated STRING data type READ ONLY                                                      
+      dc09: DateModified STRING data type READ ONLY                                                     
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY                                
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY                                
+      dc44: Name STRING data type GET/SET                                                               
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY                                 
+      dc46: Artist STRING data type GET/SET                                                             
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET                                      
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET                                         
+      dc8c: Genre STRING data type GET/SET                                                              
+      dc96: Composer STRING data type GET/SET                                                           
+      dc99: OriginalReleaseDate STRING data type GET/SET                                                
+      dc9a: AlbumName STRING data type GET/SET                                                          
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET                        
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET                          
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 GET/SET                   
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET                                    
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  GET/SET                                     
+   b982: MP4                                                                                                 
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY                                        
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY                                     
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY                                  
+      dc04: ObjectSize UINT64 data type READ ONLY                                                            
+      dc07: ObjectFileName STRING data type GET/SET                                                          
+      dc4e: DateAdded STRING data type READ ONLY                                                             
+      dc08: DateCreated STRING data type READ ONLY                                                           
+      dc09: DateModified STRING data type READ ONLY                                                          
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY                                     
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY                                     
+      dc44: Name STRING data type GET/SET                                                                    
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY                                      
+      dc46: Artist STRING data type GET/SET                                                                  
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET                                           
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET                                              
+      dc8c: Genre STRING data type GET/SET                                                                   
+      dc96: Composer STRING data type GET/SET                                                                
+      dc99: OriginalReleaseDate STRING data type GET/SET                                                     
+      dc9a: AlbumName STRING data type GET/SET                                                               
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET                             
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET                               
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET                       
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET                                    
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  GET/SET                                     
+   3009: MP3                                                                                                 
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY                                        
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY                                     
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY                                  
+      dc04: ObjectSize UINT64 data type READ ONLY                                                            
+      dc07: ObjectFileName STRING data type GET/SET                                                          
+      dc4e: DateAdded STRING data type READ ONLY                                                             
+      dc08: DateCreated STRING data type READ ONLY                                                           
+      dc09: DateModified STRING data type READ ONLY                                                          
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY                                     
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY                                     
+      dc44: Name STRING data type GET/SET                                                                    
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY                                      
+      dc46: Artist STRING data type GET/SET                                                                  
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET                                           
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET                                              
+      dc8c: Genre STRING data type GET/SET                                                                   
+      dc96: Composer STRING data type GET/SET                                                                
+      dc99: OriginalReleaseDate STRING data type GET/SET                                                     
+      dc9a: AlbumName STRING data type GET/SET                                                               
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET                             
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET                               
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 GET/SET                        
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET                                    
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  GET/SET                                        
+   b004: Unknown(b004)                                                                                       
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY                                        
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY                                     
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY                                  
+      dc04: ObjectSize UINT64 data type READ ONLY                                                            
+      dc07: ObjectFileName STRING data type GET/SET                                                          
+      dc4e: DateAdded STRING data type READ ONLY                                                             
+      dc08: DateCreated STRING data type READ ONLY                                                           
+      dc09: DateModified STRING data type READ ONLY                                                          
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY                                     
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY                                     
+      dc44: Name STRING data type GET/SET                                                                    
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY                                      
+      dc46: Artist STRING data type GET/SET                                                                  
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET                                           
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET                                              
+      dc8c: Genre STRING data type GET/SET                                                                   
+      dc96: Composer STRING data type GET/SET                                                                
+      dc99: OriginalReleaseDate STRING data type GET/SET                                                     
+      dc9a: AlbumName STRING data type GET/SET                                                               
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET                             
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET                               
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET                       
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET                                    
+      de99: AudioWAVECodec UINT32 data type enumeration: 1, 85, 41222,  GET/SET                              
+   b982: MP4                                                                                                 
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY                                        
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY                                     
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY                                  
+      dc04: ObjectSize UINT64 data type READ ONLY                                                            
+      dc07: ObjectFileName STRING data type GET/SET                                                          
+      dc4e: DateAdded STRING data type READ ONLY                                                             
+      dc08: DateCreated STRING data type READ ONLY                                                           
+      dc09: DateModified STRING data type READ ONLY                                                          
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY                                     
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY                                     
+      dc44: Name STRING data type GET/SET                                                                    
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY                                      
+      dc46: Artist STRING data type GET/SET                                                                  
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET                                           
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET                                              
+      dc8c: Genre STRING data type GET/SET                                                                   
+      dc96: Composer STRING data type GET/SET                                                                
+      dc99: OriginalReleaseDate STRING data type GET/SET                                                     
+      dc9a: AlbumName STRING data type GET/SET                                                               
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET                             
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET                               
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET                       
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET                                    
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  GET/SET                                     
+   b901: WMA                                                                                                 
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY                                        
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY                                     
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY                                  
+      dc04: ObjectSize UINT64 data type READ ONLY                                                            
+      dc07: ObjectFileName STRING data type GET/SET                                                          
+      dc4e: DateAdded STRING data type READ ONLY                                                             
+      dc08: DateCreated STRING data type READ ONLY                                                           
+      dc09: DateModified STRING data type READ ONLY                                                          
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY                                     
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY                                     
+      dc44: Name STRING data type GET/SET                                                                    
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY                                      
+      dc46: Artist STRING data type GET/SET                                                                  
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET                                           
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET                                              
+      dc8c: Genre STRING data type GET/SET                                                                   
+      dc96: Composer STRING data type GET/SET                                                                
+      dc99: OriginalReleaseDate STRING data type GET/SET                                                     
+      dc9a: AlbumName STRING data type GET/SET                                                               
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET                             
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET                               
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET                        
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET                                    
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  GET/SET                                  
+   300c: ASF                                                                                                 
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY                                        
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY                                     
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY                                  
+      dc04: ObjectSize UINT64 data type READ ONLY                                                            
+      dc07: ObjectFileName STRING data type GET/SET                                                          
+      dc4e: DateAdded STRING data type READ ONLY                                                             
+      dc08: DateCreated STRING data type READ ONLY                                                           
+      dc09: DateModified STRING data type READ ONLY                                                          
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY                                     
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY                                     
+      dc44: Name STRING data type GET/SET                                                                    
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY                                      
+      dc46: Artist STRING data type GET/SET                                                                  
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET                                           
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET                                              
+      dc8c: Genre STRING data type GET/SET                                                                   
+      dc96: Composer STRING data type GET/SET                                                                
+      dc99: OriginalReleaseDate STRING data type GET/SET                                                     
+      dc9a: AlbumName STRING data type GET/SET                                                               
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET                             
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET                               
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET                        
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET                                    
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  GET/SET                                  
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 1297101377, 1297101889,  READ ONLY                
+   ba11: M3U Playlist                                                                                        
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY                                        
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY                                     
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY                                  
+      dc04: ObjectSize UINT64 data type READ ONLY                                                            
+      dc07: ObjectFileName STRING data type GET/SET                                                          
+      dc4e: DateAdded STRING data type READ ONLY                                                             
+      dc08: DateCreated STRING data type READ ONLY                                                           
+      dc09: DateModified STRING data type READ ONLY                                                          
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY                                     
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY                                     
+      dc44: Name STRING data type GET/SET                                                                    
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY                                      
+   ba05: Abstract Audio Video Playlist                                                                       
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY                                        
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY                                     
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY                                  
+      dc04: ObjectSize UINT64 data type READ ONLY                                                            
+      dc07: ObjectFileName STRING data type GET/SET                                                          
+      dc4e: DateAdded STRING data type READ ONLY                                                             
+      dc08: DateCreated STRING data type READ ONLY                                                           
+      dc09: DateModified STRING data type READ ONLY                                                          
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY                                     
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY                                     
+      dc44: Name STRING data type GET/SET                                                                    
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY                                      
+   3008: MS Wave                                                                                             
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY                                        
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY                                     
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY                                  
+      dc04: ObjectSize UINT64 data type READ ONLY                                                            
+      dc07: ObjectFileName STRING data type GET/SET                                                          
+      dc4e: DateAdded STRING data type READ ONLY                                                             
+      dc08: DateCreated STRING data type READ ONLY                                                           
+      dc09: DateModified STRING data type READ ONLY                                                          
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY                                     
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY                                     
+      dc44: Name STRING data type GET/SET                                                                    
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY                                      
+      dc46: Artist STRING data type GET/SET                                                                  
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET                                           
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET                                              
+      dc8c: Genre STRING data type GET/SET                                                                   
+      dc96: Composer STRING data type GET/SET                                                                
+      dc99: OriginalReleaseDate STRING data type GET/SET                                                     
+      dc9a: AlbumName STRING data type GET/SET                                                               
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET                             
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET                               
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 1536000, STEP 1 GET/SET                      
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET                                    
+      de99: AudioWAVECodec UINT32 data type enumeration: 1,  GET/SET                                         
+Storage Devices:                                                                                             
+   StorageID: 0x00040001                                                                                     
+      StorageType: 0x0004                                                                                    
+      FilesystemType: 0x0002                                                                                 
+      AccessCapability: 0x0000                                                                               
+      MaxCapacity: 2041282560                                                                                
+      FreeSpaceInBytes: 1490871296                                                                           
+      FreeSpaceInObjects: 712                                                                                
+      StorageDescription: (null)                                                                             
+      VolumeIdentifier: 4252076090                                                                           
+Special directories:                                                                                         
+   Default music folder: 0x00000000                                                                          
+   Default playlist folder: 0x00000000                                                                       
+   Default picture folder: 0x00000000                                                                        
+   Default video folder: 0x00000000                                                                          
+   Default organizer folder: 0x00000000                                                                      
+   Default zencast folder: 0x00000000                                                                        
+   Default album folder: 0x00000000                                                                          
+   Default text folder: 0x00000000                                                                           
+MTP-specific device properties:                                                                              
+   Friendly name: Nokia Handset                                                                              
+   Synchronization partner: Nokia Handset                                                                    
+libmtp supported (playable) filetypes:                                                                       
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3                                                   
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)                                                    
+   ISO MPEG-1 Audio Layer 3                                                                                  
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)                                                    
+   Microsoft Windows Media Audio                                                                             
+   Microsoft Advanced Systems Format                                                                         
+   RIFF WAVE file                                                                                            
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">B/AAEp+SAVgn4tyC5/v8LAQYfnk=</UNIQUEID><PUBLICKEY private="1">03rFVrKlvnSTwrh+4aOy8hlsn3RG1G3n5zfDz2aF6RWZ6qv1FGr1Yg==</PUBLICKEY><KEYDATA>pG1pzDbNIs3yxEjqeicC4bXLGd8=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>Xm7iXr34hnnCOZE2ih301kE8cxyENjEQVxEOHg0XhPYmP5GOK0aPeA==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>YCmKuEZU6rfZgCmcDefd+y0Pj+o=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.110.37</SECURITYVERSION><CERTIFICATE private="1">03rFVrKlvnSTwrh+4aOy8hlsn3RG1G3n5zfDz2aF6RWZ6qv1FGr1YgIEbiX+ZxExKSKRlKoDbf2Um3ZUkoQ+U+3CzdsGyt3eDuJo3QbbwiBvHapw</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>E71</NAME>
+    <MANUFACTURER>Nokia</MANUFACTURER>
+    <MAKE>Nokia</MAKE>
+    <DISTRIBUTOR>Nokia</DISTRIBUTOR>
+    <MODEL>RM-346</MODEL>
+    <SECURITYLEVEL>2000</SECURITYLEVEL>
+    <HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR>
+    <HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR>
+    <FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR>
+    <FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>
+    <FEATURES>
+        <CLOCK>1</CLOCK>
+        <METERING>1</METERING>
+        <LICENSE_ACQ>1</LICENSE_ACQ>
+        <LICENSE_SYNC>1</LICENSE_SYNC>
+        <ENCRYPTION>1</ENCRYPTION>
+        <SYMMETRIC_OPT>1</SYMMETRIC_OPT>
+    </FEATURES>
+    <LIMITS>
+        <MAXCHAINDEPTH>2</MAXCHAINDEPTH>
+        <MAXLICENSESIZE>10240</MAXLICENSESIZE>
+        <MAXHEADERSIZE>5120</MAXHEADERSIZE>
+    </LIMITS><PUBLICKEY>AvORj/aqZI8mhtQlniAF5MU912YRakQePsgKH1z6Gh7DpiPMj7fsbQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>J5TYwg9lnMSO8BRrJ1C3esbd83yGYf2IXE1AXL9OPe2BMdWG6y1MRA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>2441</AUTH_ID><PUBLICKEY>i9ktHQcIDGzkzq1yZOtqoLwTSYZc1fb7DO4DQMKBRG0DGbpRrrSDBQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>pmejQPJN0bpxr9f5hpB3vbBRwiBfu3g7O1Wn3k8MN2m/RfIdCV04HA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>zRQhrNw1zCSczmo9pelMYdi8RBKyyOCY9WUr5NvhYZ8U3NP40xNIgw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+WMPInfo.xml Does not exist on this device
+PTP: Closing session
+OK.
diff --git a/logs/mtp-detect-nokia-lumia-550.txt b/logs/mtp-detect-nokia-lumia-550.txt
new file mode 100644
index 0000000..87ee859
--- /dev/null
+++ b/logs/mtp-detect-nokia-lumia-550.txt
@@ -0,0 +1,853 @@
+~$ mtp-detect
+libmtp version: 1.1.12
+
+Listing raw device(s)
+Device 0 (VID=045e and PID=0a00) is a Microsoft Lumia 950 XL Dual SIM (RM-1116).
+   Found 1 device(s):
+   Microsoft: Lumia 950 XL Dual SIM (RM-1116) (045e:0a00) @ bus 2, dev 16
+Attempting to connect device(s)
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 045e
+   idProduct: 0a00
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 16
+      Device entry info:
+         Vendor: Microsoft
+         Vendor id: 0x045e
+         Product: Lumia 950 XL Dual SIM (RM-1116)
+         Vendor id: 0x0a00
+         Device flags: 0x00000000
+Device info:
+   Manufacturer: Microsoft
+   Model: Lumia 550
+   Device version: 10.0.14393.0
+   Serial number: ec68b0826753b0f647c68050597d72a6
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/DeviceServices:1.0; microsoft/WindowsPhone:1.0
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        microsoft.com/DeviceServices: 1.0
+Supported operations:
+   1001: Unknown(1001)
+   1002: Unknown(1002)
+   1003: Unknown(1003)
+   1004: Unknown(1004)
+   1005: Unknown(1005)
+   1006: Unknown(1006)
+   1007: Unknown(1007)
+   1008: Unknown(1008)
+   1009: Unknown(1009)
+   100b: Unknown(100b)
+   100c: Unknown(100c)
+   1012: Unknown(1012)
+   100d: Unknown(100d)
+   1014: Unknown(1014)
+   1015: Unknown(1015)
+   1016: Unknown(1016)
+   101a: Unknown(101a)
+   101b: Unknown(101b)
+   9217: Unknown(9217)
+   9234: Unknown(9234)
+   9301: Unknown(9301)
+   9302: Unknown(9302)
+   9303: Unknown(9303)
+   9304: Unknown(9304)
+   9305: Unknown(9305)
+   930a: Unknown(930a)
+   9401: Unknown(9401)
+   9402: Unknown(9402)
+   9403: Unknown(9403)
+   9404: Unknown(9404)
+   9405: Unknown(9405)
+   9406: Unknown(9406)
+   9407: Unknown(9407)
+   9410: Unknown(9410)
+   9411: Unknown(9411)
+   9412: Unknown(9412)
+   9413: Unknown(9413)
+   9414: Unknown(9414)
+   9415: Unknown(9415)
+   9416: Unknown(9416)
+   9417: Unknown(9417)
+   9801: Unknown(9801)
+   9802: Unknown(9802)
+   9803: Unknown(9803)
+   9804: Unknown(9804)
+   9805: Unknown(9805)
+   9806: Unknown(9806)
+   9808: Unknown(9808)
+   9810: Unknown(9810)
+   9811: Unknown(9811)
+   9820: Unknown(9820)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x400c
+   0xc301
+   0xc303
+   0xc304
+   0xc801
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd302: Unknown property
+   0xd303: Unknown property
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd405: Device Icon
+   0xd407: Perceived Device Type
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+   3009: MP3
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d803: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc95: Meta Genre UINT16 data type enumeration: 0, 1, 36, 37, 38, 39, 40, 48, 64, 65, 17, 18, 19, 20, 21, 33, 34, 35,  READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET
+      dd72: Media GUID STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 320000, STEP 1 READ ONLY
+   300a: MS AVI
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d803: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 16384, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 64, MAX 1920, STEP 2 GET/SET
+      dc88: Height UINT32 data type range: MIN 64, MAX 1080, STEP 2 GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc95: Meta Genre UINT16 data type enumeration: 0, 1, 36, 37, 38, 39, 40, 48, 64, 65, 17, 18, 19, 20, 21, 33, 34, 35,  READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET
+      dd72: Media GUID STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 2, 5648, 85, 1, 255, 353, 354,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 320000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 826496577, 1482049860, 808802372, 875967048, 875967080, 844313677, 1446269005, 875967064, 875967096, 1145656920,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 4000, MAX 20000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   3801: JPEG
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d802: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 16384, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+   b901: WMA
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d803: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc95: Meta Genre UINT16 data type enumeration: 0, 1, 36, 37, 38, 39, 40, 48, 64, 65, 17, 18, 19, 20, 21, 33, 34, 35,  READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET
+      dd72: Media GUID STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 85, 352, 353, 354, 355, 356, 41222, 2, 3, 8, 9, 11, 49, 50, 80,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 768000, STEP 1 READ ONLY
+   b903: AAC
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d803: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc95: Meta Genre UINT16 data type enumeration: 0, 1, 36, 37, 38, 39, 40, 48, 64, 65, 17, 18, 19, 20, 21, 33, 34, 35,  READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET
+      dd72: Media GUID STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 5648, 255,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 320000, STEP 1 READ ONLY
+   b981: WMV
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d803: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 16384, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 64, MAX 1920, STEP 2 GET/SET
+      dc88: Height UINT32 data type range: MIN 64, MAX 360, STEP 2 GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc95: Meta Genre UINT16 data type enumeration: 0, 1, 36, 37, 38, 39, 40, 48, 64, 65, 17, 18, 19, 20, 21, 33, 34, 35,  READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET
+      dd72: Media GUID STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353, 354,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 768000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 861293911, 826496599,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 4000, MAX 20000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   ba03: Abstract Audio Album
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 131072, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1024, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1024, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+   ba05: Abstract Audio Video Playlist
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+   ba0b: Abstract Mediacast
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+   3807: GIF
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d802: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 16384, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+   3808: JFIF
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d802: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 16384, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+   380b: PNG
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d802: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 16384, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+   380d: TIFF
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d802: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 16384, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+   3804: BMP
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d802: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 16384, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+   b804: Unknown(b804)
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d802: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 16384, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+   b982: MP4
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d803: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 16384, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 64, MAX 1920, STEP 2 GET/SET
+      dc88: Height UINT32 data type range: MIN 64, MAX 1080, STEP 2 GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc95: Meta Genre UINT16 data type enumeration: 0, 1, 36, 37, 38, 39, 40, 48, 64, 65, 17, 18, 19, 20, 21, 33, 34, 35,  READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET
+      dd72: Media GUID STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1935764850, 5648, 255,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 640000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 826496577, 875967048, 875967080, 844313677, 1446269005, 875967064, 875967096,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 4000, MAX 20000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   b215: M4A
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d803: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc95: Meta Genre UINT16 data type enumeration: 0, 1, 36, 37, 38, 39, 40, 48, 64, 65, 17, 18, 19, 20, 21, 33, 34, 35,  READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET
+      dd72: Media GUID STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1935764850, 5648, 255,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 320000, STEP 1 READ ONLY
+   b216: Unknown(b216)
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d803: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 16384, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 64, MAX 1920, STEP 2 GET/SET
+      dc88: Height UINT32 data type range: MIN 64, MAX 1080, STEP 2 GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc95: Meta Genre UINT16 data type enumeration: 0, 1, 36, 37, 38, 39, 40, 48, 64, 65, 17, 18, 19, 20, 21, 33, 34, 35,  READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET
+      dd72: Media GUID STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1935764850, 5648, 255,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 320000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 826496577, 875967048, 875967080, 844313677, 1446269005, 875967064, 875967096,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 4000, MAX 20000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   b984: 3GP
+      d803: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc87: Width UINT32 data type range: MIN 64, MAX 1920, STEP 2 GET/SET
+      dc88: Height UINT32 data type range: MIN 64, MAX 1080, STEP 2 GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET
+      dd72: Media GUID STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1935764850, 5648, 255,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 320000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 826496577, 875967048, 875967080, 844313677, 1446269005, 875967064, 875967096,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 4000, MAX 20000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   b985: Unknown(b985)
+      d803: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc87: Width UINT32 data type range: MIN 64, MAX 1920, STEP 2 GET/SET
+      dc88: Height UINT32 data type range: MIN 64, MAX 1080, STEP 2 GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET
+      dd72: Media GUID STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1935764850, 5648, 255,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 320000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 826496577, 875967048, 875967080, 844313677, 1446269005, 875967064, 875967096,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 4000, MAX 20000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   b990: Unknown(b990)
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d803: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 16384, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 48, MAX 1920, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 32, MAX 1080, STEP 1 GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc95: Meta Genre UINT16 data type enumeration: 0, 1, 36, 37, 38, 39, 40, 48, 64, 65, 17, 18, 19, 20, 21, 33, 34, 35,  READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET
+      dd72: Media GUID STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 5648, 85, 255,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 320000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 826496577, 875967048, 875967080, 844313677, 1446269005, 875967064, 875967096,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 20000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 30290, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   ba83: Microsoft Word Document
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+   ba85: Microsoft Excel Spreadsheet (.xls)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+   ba86: Microsoft Powerpoint (.ppt)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 7818182656
+      FreeSpaceInBytes: 1669201920
+      FreeSpaceInObjects: 0
+      StorageDescription: Phone
+      VolumeIdentifier: MTP Volume - 65537
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 15514730496
+      FreeSpaceInBytes: 5221482496
+      FreeSpaceInObjects: 0
+      StorageDescription: SD card
+      VolumeIdentifier: MTP Volume - 131073
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Windows phone
+   Synchronization partner: (NULL)
+   Battery level 50 of 100 (50%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   ISO MPEG-1 Audio Layer 3
+   Audio Video Interleave
+   JPEG file
+   Microsoft Windows Media Audio
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Microsoft Windows Media Video
+   Abstract Album file
+   Abstract Playlist file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   BMP bitmap file
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   MPEG-4 Part 14 Container Format (Audio Emphasis)
+   DOC file
+   XLS file
+   PPT file
diff --git a/logs/mtp-detect-nokia-lumia-630.txt b/logs/mtp-detect-nokia-lumia-630.txt
new file mode 100644
index 0000000..e33dc9a
--- /dev/null
+++ b/logs/mtp-detect-nokia-lumia-630.txt
@@ -0,0 +1,803 @@
+mike@myworkstation $ mtp-detect 
+libmtp version: 1.1.8
+
+Listing raw device(s)
+Device 0 (VID=0421 and PID=06fc) is a Nokia Nokia Lumia 630.
+   Found 1 device(s):
+   Nokia: Nokia Lumia 630 (0421:06fc) @ bus 1, dev 4
+Attempting to connect device(s)
+object 1 has parent 0xffffffff (-1) continuing anyway
+object 2 has parent 0xffffffff (-1) continuing anyway
+object 4 has parent 0xffffffff (-1) continuing anyway
+object c has parent 0xffffffff (-1) continuing anyway
+object 12 has parent 0xffffffff (-1) continuing anyway
+object 1c has parent 0xffffffff (-1) continuing anyway
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0421
+   idProduct: 06fc
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 4
+      Device entry info:
+         Vendor: Nokia
+         Vendor id: 0x0421
+         Product: Nokia Lumia 630
+         Vendor id: 0x06fc
+         Device flags: 0x00000000
+Device info:
+   Manufacturer: NOKIA
+   Model: Lumia 630
+   Device version: 8.10.12397.0
+   Serial number: [omitted 32 hex-digits ID]
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/DeviceServices:1.0; microsoft/WindowsPhone:1.0
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        microsoft.com/DeviceServices: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   1012: Set object protection
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   101a: Copy object
+   101b: Get partial object
+   9217: Unknown (9217)
+   9234: Unknown (9234)
+   9301: Unknown (9301)
+   9302: Unknown (9302)
+   9303: Unknown (9303)
+   9304: Unknown (9304)
+   9305: Unknown (9305)
+   930a: Unknown (930a)
+   9401: Unknown (9401)
+   9402: Unknown (9402)
+   9403: Unknown (9403)
+   9404: Unknown (9404)
+   9405: Unknown (9405)
+   9410: Unknown (9410)
+   9411: Unknown (9411)
+   9412: Unknown (9412)
+   9413: Unknown (9413)
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9810: Get object references
+   9811: Set object references
+   9820: Skip to next position in playlist
+Events supported:
+   0x4004
+   0x4005
+   0xc301
+   0xc303
+   0xc304
+   0xc801
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd302: Unknown property
+   0xd303: Unknown property
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd405: Device Icon
+   0xd407: Perceived Device Type
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+   3009: MP3
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d803: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc95: Meta Genre UINT16 data type enumeration: 0, 1, 36, 37, 38, 39, 40, 48, 64, 65, 17, 18, 19, 20, 21, 33, 34, 35,  READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET
+      dd72: Media GUID STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 320000, STEP 1 READ ONLY
+   300a: MS AVI
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d803: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 16384, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 64, MAX 1920, STEP 2 GET/SET
+      dc88: Height UINT32 data type range: MIN 64, MAX 1080, STEP 2 GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc95: Meta Genre UINT16 data type enumeration: 0, 1, 36, 37, 38, 39, 40, 48, 64, 65, 17, 18, 19, 20, 21, 33, 34, 35,  READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET
+      dd72: Media GUID STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 2, 5648, 85, 1, 255, 353, 354,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 320000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 826496577, 1482049860, 808802372, 875967048, 875967080, 844313677, 1446269005, 875967064, 875967096, 1145656920,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 4000, MAX 20000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   3801: JPEG
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d802: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 16384, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+   b901: WMA
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d803: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc95: Meta Genre UINT16 data type enumeration: 0, 1, 36, 37, 38, 39, 40, 48, 64, 65, 17, 18, 19, 20, 21, 33, 34, 35,  READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET
+      dd72: Media GUID STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 85, 352, 353, 354, 355, 356, 41222, 2, 3, 8, 9, 11, 49, 50, 80,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 768000, STEP 1 READ ONLY
+   b903: AAC
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d803: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc95: Meta Genre UINT16 data type enumeration: 0, 1, 36, 37, 38, 39, 40, 48, 64, 65, 17, 18, 19, 20, 21, 33, 34, 35,  READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET
+      dd72: Media GUID STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 5648, 255,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 320000, STEP 1 READ ONLY
+   b981: WMV
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d803: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 16384, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 64, MAX 1920, STEP 2 GET/SET
+      dc88: Height UINT32 data type range: MIN 64, MAX 1080, STEP 2 GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc95: Meta Genre UINT16 data type enumeration: 0, 1, 36, 37, 38, 39, 40, 48, 64, 65, 17, 18, 19, 20, 21, 33, 34, 35,  READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET
+      dd72: Media GUID STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353, 354,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 768000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 861293911, 826496599,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 4000, MAX 20000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   ba03: Abstract Audio Album
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 131072, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1024, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1024, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+   ba05: Abstract Audio Video Playlist
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+   ba0b: Abstract Mediacast
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+   3807: GIF
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d802: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 16384, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+   3808: JFIF
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d802: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 16384, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+   380b: PNG
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d802: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 16384, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+   380d: TIFF
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d802: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 16384, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+   3804: BMP
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d802: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 16384, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+   b804: Unknown(b804)
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d802: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 16384, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+   b982: MP4
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d803: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 16384, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 64, MAX 1920, STEP 2 GET/SET
+      dc88: Height UINT32 data type range: MIN 64, MAX 1080, STEP 2 GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc95: Meta Genre UINT16 data type enumeration: 0, 1, 36, 37, 38, 39, 40, 48, 64, 65, 17, 18, 19, 20, 21, 33, 34, 35,  READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET
+      dd72: Media GUID STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1935764850, 5648, 255,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 320000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 826496577, 875967048, 875967080, 844313677, 1446269005, 875967064, 875967096,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 4000, MAX 20000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   b215: M4A
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d803: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc95: Meta Genre UINT16 data type enumeration: 0, 1, 36, 37, 38, 39, 40, 48, 64, 65, 17, 18, 19, 20, 21, 33, 34, 35,  READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET
+      dd72: Media GUID STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1935764850, 5648, 255,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 320000, STEP 1 READ ONLY
+   b216: Unknown(b216)
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d803: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 16384, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 64, MAX 1920, STEP 2 GET/SET
+      dc88: Height UINT32 data type range: MIN 64, MAX 1080, STEP 2 GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc95: Meta Genre UINT16 data type enumeration: 0, 1, 36, 37, 38, 39, 40, 48, 64, 65, 17, 18, 19, 20, 21, 33, 34, 35,  READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET
+      dd72: Media GUID STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1935764850, 5648, 255,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 320000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 826496577, 875967048, 875967080, 844313677, 1446269005, 875967064, 875967096,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 4000, MAX 20000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   b984: 3GP
+      d803: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc87: Width UINT32 data type range: MIN 64, MAX 1920, STEP 2 GET/SET
+      dc88: Height UINT32 data type range: MIN 64, MAX 1080, STEP 2 GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET
+      dd72: Media GUID STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1935764850, 5648, 255,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 320000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 826496577, 875967048, 875967080, 844313677, 1446269005, 875967064, 875967096,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 4000, MAX 20000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   b985: Unknown(b985)
+      d803: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc87: Width UINT32 data type range: MIN 64, MAX 1920, STEP 2 GET/SET
+      dc88: Height UINT32 data type range: MIN 64, MAX 1080, STEP 2 GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET
+      dd72: Media GUID STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1935764850, 5648, 255,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 320000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 826496577, 875967048, 875967080, 844313677, 1446269005, 875967064, 875967096,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 4000, MAX 20000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   ba83: Microsoft Word Document
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+   ba85: Microsoft Excel Spreadsheet (.xls)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+   ba86: Microsoft Powerpoint (.ppt)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 7818182656
+      FreeSpaceInBytes: 3486842880
+      FreeSpaceInObjects: 0
+      StorageDescription: Phone
+      VolumeIdentifier: MTP Volume - 65537
+Special directories:
+   Default music folder: 0x00000004
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x0000000c
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Windows Phone
+   Synchronization partner: (NULL)
+   Battery level 83 of 100 (83%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   ISO MPEG-1 Audio Layer 3
+   Audio Video Interleave
+   JPEG file
+   Microsoft Windows Media Audio
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Microsoft Windows Media Video
+   Abstract Album file
+   Abstract Playlist file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   BMP bitmap file
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   MPEG-4 Part 14 Container Format (Audio Emphasis)
+   DOC file
+   XLS file
+   PPT file
+OK.
diff --git a/logs/mtp-detect-nokia-lumia-820.txt b/logs/mtp-detect-nokia-lumia-820.txt
new file mode 100644
index 0000000..365752e
--- /dev/null
+++ b/logs/mtp-detect-nokia-lumia-820.txt
@@ -0,0 +1,775 @@
+Device 0 (VID=0421 and PID=0661) is a Nokia Nokia Lumia 920.
+Error 2: PTP Layer error 02fe: LIBMTP_Get_Storage(): Could not get storage info.
+Error 2: Error 02fe: PTP: Protocol error, data expected
+Error 1: Get Storage information failed.
+Error 2: PTP Layer error 02fe: get_all_metadata_fast(): could not get proplist of all objects.
+Error 2: Error 02fe: PTP: Protocol error, data expected
+Error 2: PTP Layer error 02fe: get_handles_recursively(): could not get object handles.
+Error 2: Error 02fe: PTP: Protocol error, data expected
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.5
+
+Listing raw device(s)
+   Found 1 device(s):
+   Nokia: Nokia Lumia 920 (0421:0661) @ bus 2, dev 24
+Attempting to connect device(s)
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0421
+   idProduct: 0661
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 24
+      Device entry info:
+         Vendor: Nokia
+         Vendor id: 0x0421
+         Product: Nokia Lumia 920
+         Vendor id: 0x0661
+         Device flags: 0x00000000
+Device info:
+   Manufacturer: NOKIA
+   Model: Lumia 820
+   Device version: 8.0.9903.0
+   Serial number: cd95c98daa5c7d65ad4d16e07456ecc0
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/DeviceServices:1.0; microsoft/WindowsPhone:1.0
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        microsoft.com/DeviceServices: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   1012: Set object protection
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   101a: Copy object
+   101b: Get partial object
+   9217: Unknown (9217)
+   9234: Unknown (9234)
+   9301: Unknown (9301)
+   9302: Unknown (9302)
+   9303: Unknown (9303)
+   9304: Unknown (9304)
+   9305: Unknown (9305)
+   930a: Unknown (930a)
+   9401: Unknown (9401)
+   9402: Unknown (9402)
+   9403: Unknown (9403)
+   9404: Unknown (9404)
+   9410: Unknown (9410)
+   9411: Unknown (9411)
+   9412: Unknown (9412)
+   9413: Unknown (9413)
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9810: Get object references
+   9811: Set object references
+   9820: Skip to next position in playlist
+Events supported:
+   0x4004
+   0x4005
+   0xc301
+   0xc303
+   0xc801
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd302: Unknown property
+   0xd303: Unknown property
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd405: Device Icon
+   0xd407: Perceived Device Type
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+   3009: MP3
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc95: Meta Genre UINT16 data type enumeration: 0, 1, 17, 18, 19, 20, 21, 33, 34, 35, 36, 37, 38, 39, 40, 48, 64, 65,  READ ONLY
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dd72: Media GUID STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 320000, STEP 1 READ ONLY
+   300a: MS AVI
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da9a: Unknown property STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 16384, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 48, MAX 1920, STEP 2 GET/SET
+      dc88: Height UINT32 data type range: MIN 32, MAX 1080, STEP 2 GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc95: Meta Genre UINT16 data type enumeration: 0, 1, 17, 18, 19, 20, 21, 33, 34, 35, 36, 37, 38, 39, 40, 48, 64, 65,  READ ONLY
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dd72: Media GUID STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 353, 354, 85, 255, 5648,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 320000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 1482049860, 1145656920, 808802372, 826496577, 844313677, 1446269005, 875967048, 875967080, 875967064, 875967096,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 4000, MAX 20000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 30290, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   3801: JPEG
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d802: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 16384, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+   b901: WMA
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc95: Meta Genre UINT16 data type enumeration: 0, 1, 17, 18, 19, 20, 21, 33, 34, 35, 36, 37, 38, 39, 40, 48, 64, 65,  READ ONLY
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dd72: Media GUID STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 768000, STEP 1 READ ONLY
+   b903: AAC
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc95: Meta Genre UINT16 data type enumeration: 0, 1, 17, 18, 19, 20, 21, 33, 34, 35, 36, 37, 38, 39, 40, 48, 64, 65,  READ ONLY
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dd72: Media GUID STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 255, 5648,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 320000, STEP 1 READ ONLY
+   b981: WMV
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da9a: Unknown property STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 16384, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 48, MAX 1920, STEP 2 GET/SET
+      dc88: Height UINT32 data type range: MIN 32, MAX 1080, STEP 2 GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc95: Meta Genre UINT16 data type enumeration: 0, 1, 17, 18, 19, 20, 21, 33, 34, 35, 36, 37, 38, 39, 40, 48, 64, 65,  READ ONLY
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dd72: Media GUID STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353, 354,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 768000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 861293911, 826496599,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 4000, MAX 20000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 30290, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   ba03: Abstract Audio Album
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 131072, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1024, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1024, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+   ba05: Abstract Audio Video Playlist
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+   ba0b: Abstract Mediacast
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+   3807: GIF
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d802: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 16384, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+   3808: JFIF
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d802: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 16384, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+   380b: PNG
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d802: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 16384, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+   380d: TIFF
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d802: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 16384, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+   3804: BMP
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d802: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 16384, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+   b804: Unknown(b804)
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d802: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 16384, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 2147483647, STEP 1 GET/SET
+   b982: MP4
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da9a: Unknown property STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 16384, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 48, MAX 1920, STEP 2 GET/SET
+      dc88: Height UINT32 data type range: MIN 32, MAX 1080, STEP 2 GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc95: Meta Genre UINT16 data type enumeration: 0, 1, 17, 18, 19, 20, 21, 33, 34, 35, 36, 37, 38, 39, 40, 48, 64, 65,  READ ONLY
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dd72: Media GUID STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 255, 5648, 1935764850,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 320000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 826496577, 844313677, 1446269005, 875967048, 875967080, 875967064, 875967096,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 4000, MAX 20000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 30290, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   b215: M4A
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc95: Meta Genre UINT16 data type enumeration: 0, 1, 17, 18, 19, 20, 21, 33, 34, 35, 36, 37, 38, 39, 40, 48, 64, 65,  READ ONLY
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dd72: Media GUID STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 255, 5648, 1935764850,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 320000, STEP 1 READ ONLY
+   b216: Unknown(b216)
+      d801: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da9a: Unknown property STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 16384, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 48, MAX 1920, STEP 2 GET/SET
+      dc88: Height UINT32 data type range: MIN 32, MAX 1080, STEP 2 GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc95: Meta Genre UINT16 data type enumeration: 0, 1, 17, 18, 19, 20, 21, 33, 34, 35, 36, 37, 38, 39, 40, 48, 64, 65,  READ ONLY
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dd72: Media GUID STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 255, 5648, 1935764850,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 320000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 826496577, 844313677, 1446269005, 875967048, 875967080, 875967064, 875967096,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 4000, MAX 20000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 30290, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc87: Width UINT32 data type range: MIN 48, MAX 1920, STEP 2 GET/SET
+      dc88: Height UINT32 data type range: MIN 32, MAX 1080, STEP 2 GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dd72: Media GUID STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 255, 5648, 1935764850,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 320000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 826496577, 844313677, 1446269005, 875967048, 875967080, 875967064, 875967096,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 4000, MAX 20000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 30290, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   b985: Unknown(b985)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc87: Width UINT32 data type range: MIN 48, MAX 1920, STEP 2 GET/SET
+      dc88: Height UINT32 data type range: MIN 32, MAX 1080, STEP 2 GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dd72: Media GUID STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 255, 5648, 1935764850,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 320000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 826496577, 844313677, 1446269005, 875967048, 875967080, 875967064, 875967096,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 4000, MAX 20000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 30290, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   ba83: Microsoft Word Document
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+   ba85: Microsoft Excel Spreadsheet (.xls)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+   ba86: Microsoft Powerpoint (.ppt)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Windows Phone
+   Synchronization partner: (NULL)
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   ISO MPEG-1 Audio Layer 3
+   Audio Video Interleave
+   JPEG file
+   Microsoft Windows Media Audio
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Microsoft Windows Media Video
+   Abstract Album file
+   Abstract Playlist file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   BMP bitmap file
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   MPEG-4 Part 14 Container Format (Audio Emphasis)
+   DOC file
+   XLS file
+   PPT file
+OK.
diff --git a/logs/mtp-detect-nokia-n1.txt b/logs/mtp-detect-nokia-n1.txt
new file mode 100644
index 0000000..ef39695
--- /dev/null
+++ b/logs/mtp-detect-nokia-n1.txt
@@ -0,0 +1,450 @@
+Device 0 (VID=0489 and PID=1ab0) is UNKNOWN in libmtp v1.1.11.
+Please report this VID/PID and the device model to the libmtp development team
+libmtp version: 1.1.11
+
+Listing raw device(s)
+   Found 1 device(s):
+   0489:1ab0 @ bus 3, dev 5
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 528
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0489
+   idProduct: 1ab0
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 3
+      Device number: 5
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0489
+         Product: (null)
+         Vendor id: 0x1ab0
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Nokia
+   Model: N1
+   Device version: 1.0
+   Serial number: L251507XN1K2
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type D
\ No newline at end of file
diff --git a/logs/mtp-detect-nokia-n73.txt b/logs/mtp-detect-nokia-n73.txt
new file mode 100644
index 0000000..8fd0a87
--- /dev/null
+++ b/logs/mtp-detect-nokia-n73.txt
@@ -0,0 +1,324 @@
+$ sudo mtp-detect -v
+libmtp version: 0.2.1
+
+Attempting to connect device(s)
+PTP: Opening session   >> This takes 10-15secs before program continues!
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 255
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0421
+   idProduct: 04d1
+   IN endpoint maxpacket: 64 bytes
+   OUT endpoint maxpacket: 64 bytes
+   Device flags: 0x00000002
+Device info:
+   Manufacturer: Nokia
+   Model: Nokia N73
+   Device version: v. 1.00
+   Serial number: xxxxxxxxxxxxxxx
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com:1.0;microsoft.com/WMPPD:11.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   9203: Get transferable playlist types
+Events supported:
+   0x400a
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   b903: AAC
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385, GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  READ ONLY
+   b982: MP4
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385, GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 READ ONLY
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  READ ONLY
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385, GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  READ ONLY
+   b004: Unknown(b004)
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385, GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 READ ONLY
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 1, 85, 41222, READ ONLY
+   b982: MP4
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385, GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 READ ONLY
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  READ ONLY
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385, GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 READ ONLY
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353, READ ONLY
+   ba11: M3U Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3008: MS Wave
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385, GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 1536000, STEP 1 READ ONLY
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 1,  READ ONLY
+Storage Devices:
+   StorageID: 0x00040001
+      StorageType: 0x0004
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 2030960640
+      FreeSpaceInBytes: 44834816
+      FreeSpaceInObjects: 22
+      StorageDescription: (null)
+      VolumeIdentifier: 3661586555
+Special directories:
+   Default music folder: 0x00798128
+   Default playlist folder: 0x00794ee8
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: Nokia Handset
+   Synchronization partner: Nokia Handset
+libmtp supported (playable) filetypes:
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+   ISO MPEG-1 Audio Layer 3
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+   Microsoft Windows Media Audio
+   RIFF WAVE file
+Unable to acquire device certificate, perhaps this device does not
+support this
diff --git a/logs/mtp-detect-nokia-n75.txt b/logs/mtp-detect-nokia-n75.txt
new file mode 100644
index 0000000..55a1d66
--- /dev/null
+++ b/logs/mtp-detect-nokia-n75.txt
@@ -0,0 +1,386 @@
+libmtp version: 0.2.0
+
+Attempting to connect device(s)
+Detect: Successfully connected 1 devices
+USB low-level info:
+  Using kernel interface "usbfs"
+  bcdUSB: 512
+  bDeviceClass: 255
+  bDeviceSubClass: 0
+  bDeviceProtocol: 0
+  idVendor: 0421
+  idProduct: 04e1
+  IN endpoint maxpacket: 64 bytes
+  OUT endpoint maxpacket: 64 bytes
+  Device flags: 0x00000000
+Device info:
+  Manufacturer: Nokia
+  Model: Nokia N75
+  Device version: v. 1.00
+  Serial number: ###############
+  Vendor extension ID: 0x00000006
+  Vendor extension description: microsoft.com:1.0;microsoft.com/WMPPD: 11.0;microsoft.com/WMDRMPD: 10.1
+Supported operations:
+  1001: get device info
+  1002: Open session
+  1003: Close session
+  1004: Get storage IDs
+  1005: Get storage info
+  1006: Get number of objects
+  1007: Get object handles
+  1008: Get object info
+  1009: Get object
+  100b: Delete object
+  100c: Send object info
+  100d: Send object
+  1010: Reset device
+  1014: Get device property description
+  1015: Get device property value
+  1016: Set device property value
+  9801: Get object properties supported
+  9802: Get object property description
+  9803: Get object property value
+  9804: Set object property value
+  9810: Get object references
+  9811: Set object references
+  9201: Report Added/Deleted Items
+  9202: Report Acquired Items
+  9203: Get type of playlists that are allowed to be transfered
+  9101: Get secure time challenge
+  9102: Get secure time response
+  9103: Set license response
+  9104: Get sync list
+  9105: Send meter challenge query
+  9106: Get meter challenge
+  9107: Get meter response
+  9108: Clean data store
+  9109: Get license state
+  910a: Send WMDRM-PD Command
+  910b: Send WMDRM-PD Request
+Events supported:
+  0x400a
+  0x4004
+  0x4005
+Device Properties Supported:
+  0xd401: Synchronization Partner
+  0xd402: Device Friendly Name
+  0xd404: Unknown property
+  0xd102: Device Certificate
+  0xd101: Secure Time
+Playable File (Object) Types and Object Properties Supported:
+  3000: Undefined Type
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+     dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc4e: DateAdded STRING data type READ ONLY
+     dc08: DateCreated STRING data type READ ONLY
+     dc09: DateModified STRING data type READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+  3001: Association/Directory
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+     dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc4e: DateAdded STRING data type READ ONLY
+     dc08: DateCreated STRING data type READ ONLY
+     dc09: DateModified STRING data type READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+  b903: AAC
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+     dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc4e: DateAdded STRING data type READ ONLY
+     dc08: DateCreated STRING data type READ ONLY
+     dc09: DateModified STRING data type READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+     dc46: Artist STRING data type GET/SET
+     dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc96: Composer STRING data type GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+     dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+     dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+     de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+     de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+     de99: AudioWAVECodec UINT32 data type enumeration: 41222,  READ ONLY
+  b982: MP4
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+     dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc4e: DateAdded STRING data type READ ONLY
+     dc08: DateCreated STRING data type READ ONLY
+     dc09: DateModified STRING data type READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+     dc46: Artist STRING data type GET/SET
+     dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc96: Composer STRING data type GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+     dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+     dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+     de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 READ ONLY
+     de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+     de99: AudioWAVECodec UINT32 data type enumeration: 41222,  READ ONLY
+  3009: MP3
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+     dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc4e: DateAdded STRING data type READ ONLY
+     dc08: DateCreated STRING data type READ ONLY
+     dc09: DateModified STRING data type READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+     dc46: Artist STRING data type GET/SET
+     dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc96: Composer STRING data type GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+     dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+     dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+     de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+     de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+     de99: AudioWAVECodec UINT32 data type enumeration: 85,  READ ONLY
+  b004: Unknown(b004)
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+     dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc4e: DateAdded STRING data type READ ONLY
+     dc08: DateCreated STRING data type READ ONLY
+     dc09: DateModified STRING data type READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+     dc46: Artist STRING data type GET/SET
+     dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc96: Composer STRING data type GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+     dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+     dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+     de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 READ ONLY
+     de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+     de99: AudioWAVECodec UINT32 data type enumeration: 1, 85, 41222,  READ ONLY
+  b982: MP4
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+     dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc4e: DateAdded STRING data type READ ONLY
+     dc08: DateCreated STRING data type READ ONLY
+     dc09: DateModified STRING data type READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+     dc46: Artist STRING data type GET/SET
+     dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc96: Composer STRING data type GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+     dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+     dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+     de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 READ ONLY
+     de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+     de99: AudioWAVECodec UINT32 data type enumeration: 41222,  READ ONLY
+  b901: WMA
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+     dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc4e: DateAdded STRING data type READ ONLY
+     dc08: DateCreated STRING data type READ ONLY
+     dc09: DateModified STRING data type READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+     dc46: Artist STRING data type GET/SET
+     dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc96: Composer STRING data type GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+     dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+     dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+     de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 READ ONLY
+     de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+     de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  READ ONLY
+  300c: ASF
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+     dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc4e: DateAdded STRING data type READ ONLY
+     dc08: DateCreated STRING data type READ ONLY
+     dc09: DateModified STRING data type READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+     dc46: Artist STRING data type GET/SET
+     dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc96: Composer STRING data type GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+     dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+     dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+     de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 READ ONLY
+     de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+     de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  READ ONLY
+  ba11: M3U Playlist
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+     dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc4e: DateAdded STRING data type READ ONLY
+     dc08: DateCreated STRING data type READ ONLY
+     dc09: DateModified STRING data type READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+  ba05: Abstract Audio Video Playlist
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+     dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc4e: DateAdded STRING data type READ ONLY
+     dc08: DateCreated STRING data type READ ONLY
+     dc09: DateModified STRING data type READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+  3008: MS Wave
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+     dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc4e: DateAdded STRING data type READ ONLY
+     dc08: DateCreated STRING data type READ ONLY
+     dc09: DateModified STRING data type READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+     dc46: Artist STRING data type GET/SET
+     dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc96: Composer STRING data type GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+     dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+     dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+     de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 1536000, STEP 1 READ ONLY
+     de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+     de99: AudioWAVECodec UINT32 data type enumeration: 1,  READ ONLY
+Storage Devices:
+  StorageID: 0x00040001
+     StorageType: 0x0004
+     FilesystemType: 0x0002
+     AccessCapability: 0x0000
+     MaxCapacity: 252837888
+     FreeSpaceInBytes: 207028224
+     FreeSpaceInObjects: 98
+     StorageDescription: Memory card
+     VolumeIdentifier: 2979423943
+Special directories:
+  Default music folder: 0x0075a438
+  Default playlist folder: 0x0075aff8
+  Default picture folder: 0x00000000
+  Default video folder: 0x00000000
+  Default organizer folder: 0x00000000
+  Default zencast folder: 0x00000000
+  Default album folder: 0x00000000
+  Default text folder: 0x00000000
+MTP-specific device properties:
+  Friendly name: Nokia N75
+  Synchronization partner: Nokia N75
+libmtp supported (playable) filetypes:
+  Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+  MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+  ISO MPEG-1 Audio Layer 3
+  MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+  Microsoft Windows Media Audio
+  Microsoft Advanced Systems Format
+  RIFF WAVE file
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">MAAwADQANAAwADAAOQA4ADEANwAwADIAMwAzADMA</UNIQUEID><PUBLICKEY private="1">yfU5i9JAJj8US/NBG9610tzxBEu9WtjY001laPckGolXV6IxVLOpfg==</PUBLICKEY><KEYDATA>AEPx+IjlAAnc9wj/jJMFXOpg5jM=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>fWlj8yrfDFRih3OQc10B2dxsNmxTqPr5KJFFcVcsmw2sSTlx1meCRQ==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>oHBlLp43JLsai1sOfHN+KNd2e+Y=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.105.85</SECURITYVERSION><CERTIFICATE private="1">yfU5i9JAJj8US/NBG9610tzxBEu9WtjY001laPckGolXV6IxVLOpfgIEaVWtMScbzr2guqSZfn4vjUWI9KhARpZcOmlZxtwny3HGe1MpX73rJERU</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>N75</NAME>
+   <MANUFACTURER>Nokia</MANUFACTURER>
+   <MAKE>Nokia</MAKE>
+   <DISTRIBUTOR>Nokia</DISTRIBUTOR>
+   <MODEL>RM-128</MODEL>
+   <SECURITYLEVEL>2000</SECURITYLEVEL>
+   <HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR>
+   <HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR>
+   <FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR>
+   <FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>
+   <FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>
+   <FEATURES>
+       <CLOCK>1</CLOCK>
+       <METERING>1</METERING>
+       <LICENSE_ACQ>0</LICENSE_ACQ>
+       <LICENSE_SYNC>1</LICENSE_SYNC>
+       <ENCRYPTION>1</ENCRYPTION>
+       <SYMMETRIC_OPT>1</SYMMETRIC_OPT>
+   </FEATURES>
+   <LIMITS>
+       <MAXCHAINDEPTH>2</MAXCHAINDEPTH>
+       <MAXLICENSESIZE>10240</MAXLICENSESIZE>
+       <MAXHEADERSIZE>5120</MAXHEADERSIZE>
+   </LIMITS><PUBLICKEY>HSgky5T25DpZKVVAJO4tzlaysU1EupWfAd8pQpJbZAC6gH7j+UoZRw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>+GIvCXGxfo+fpXKNhpMpTUbqRFW0ddztNJ8Vd1/rfTdaJSqBCnLkDQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1209</AUTH_ID><PUBLICKEY>lLaXP6uCtehdnMt3Upymhj/pKkXvgNCeb8xghGDSK5yBmzwjqV+OXg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>e8WHZkxrP8ucd0bIbEGVJygnzkTWH/Bg3HP7s3ZDIu4wYH+OG1UnOA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>eLFzvX7Lqc105oN4RckF2KA5nEhSYGUovUwmXEKdUgsEYWYOXlLDUQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
diff --git a/logs/mtp-detect-nokia-n78.txt b/logs/mtp-detect-nokia-n78.txt
new file mode 100644
index 0000000..8017a1e
--- /dev/null
+++ b/logs/mtp-detect-nokia-n78.txt
@@ -0,0 +1,475 @@
+Device 0 (VID=0421 and PID=0079) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+PTP: Opening session
+libmtp version: 0.3.0
+
+Listing raw device(s)
+   Found 1 device(s):
+   0421:0079 @ bus 0, dev 26
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 255
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0421
+   idProduct: 0079
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 26
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0421
+         Product: (null)
+         Vendor id: 0x0079
+         Device flags: 0x00000000
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: S60
+   Model: N78
+   Device version: v. 1.00
+   Serial number: 354172021939177
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com:1.0;microsoft.com/WMPPD: 11.0;microsoft.com/WMDRMPD: 10.1;vodafone.com/omadrmv2: 1.0
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   9203: Get transferable playlist types
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   0x400a
+   0x4004
+   0x4005
+   0x4003
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+   b903: AAC
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   b982: MP4
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   b984: 3GP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   b004: Unknown(b004)
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 1, 85, 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   b982: MP4
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 353,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   300c: ASF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 353,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 176, MAX 320, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 144, MAX 240, STEP 1 GET/SET
+      de97: ScanDepth UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911, 1297101377, 1297101889,  GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 0, MAX 384000, STEP 1 READ ONLY
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+   b981: WMV
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc87: Width UINT32 data type range: MIN 176, MAX 320, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 144, MAX 240, STEP 1 GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de97: ScanDepth UINT16 data type ANY 16BIT VALUE form GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 353,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911,  GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 0, MAX 384000, STEP 1 READ ONLY
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+      dc94: ParentalRating STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   ba11: M3U Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+   3008: MS Wave
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 1,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 1536000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00040001
+      StorageType: 0x0004
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 2032369664
+      FreeSpaceInBytes: 1479087104
+      FreeSpaceInObjects: 706
+      StorageDescription: Memory card
+      VolumeIdentifier: 4252076090
+Special directories:
+   Default music folder: 0x00000000
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: S60 Handset
+   Synchronization partner: S60 Handset
+libmtp supported (playable) filetypes:
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+   ISO MPEG-1 Audio Layer 3
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+   Microsoft Windows Media Audio
+   Microsoft Advanced Systems Format
+   Microsoft Windows Media Video
+   RIFF WAVE file
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">FzABEzK1AFgLUxUy+nnoUmCwgas=</UNIQUEID><PUBLICKEY private="1">1vp02ByEod+J21G4Dqxw/uEIx4MOoSWUAXIJiFV/RqCJAIEXyvzagQ==</PUBLICKEY><KEYDATA>PTP: Closing session
+QJYuvV3wUyPqgUL0WbnwpEQ3SMY=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>pvj525Qj6NVw7k4ki8JX4Y3i8h86FPr8pA6mEXT367fE1jGVpX2kfg==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>DLzPSHoj4S71CH9IVPgCerUpvy4=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.108.105</SECURITYVERSION><CERTIFICATE private="1">1vp02ByEod+J21G4Dqxw/uEIx4MOoSWUAXIJiFV/RqCJAIEXyvzagQIEbGmN0w5KzHkC6oUyjMjEaX4FfQTnLCn76Hx4KQQxqBvgULQmgegYnPUu</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>Nokia N78</NAME> 

+ <MANUFACTURER>Nokia</MANUFACTURER> 

+ <MAKE>Nokia</MAKE> 

+ <DISTRIBUTOR>Nokia</DISTRIBUTOR> 

+ <MODEL>RM-235</MODEL> 

+ <SECURITYLEVEL>2000</SECURITYLEVEL> 

+ <HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR> 

+ <HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR> 

+ <FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR> 

+ <FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR> 

+ <FEATURES>

+  <CLOCK>1</CLOCK> 

+  <METERING>1</METERING> 

+  <LICENSE_ACQ>1</LICENSE_ACQ> 

+  <LICENSE_SYNC>1</LICENSE_SYNC> 

+  <ENCRYPTION>1</ENCRYPTION> 

+  <SYMMETRIC_OPT>1</SYMMETRIC_OPT> 

+ </FEATURES>

+ <LIMITS>

+  <MAXCHAINDEPTH>2</MAXCHAINDEPTH> 

+  <MAXLICENSESIZE>10240</MAXLICENSESIZE> 

+  <MAXHEADERSIZE>5120</MAXHEADERSIZE> 

+ </LIMITS><PUBLICKEY>AI54fNYUQ3zE0pJDVsXZb6Uy0ARYiD+OE7VSfB78aPL69/Yie/TXVw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>4Pu5wKEJYXOe4J4uArWm1g1ygnDHV+QxmbP5gCGUJnj6Qe6hUXR5Kg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1997</AUTH_ID><PUBLICKEY>Cb4JIMD1Squktiks/vwI77pPHlZC9N6EL5QLOoKwuR6vX9hfvNwCdA==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>4n9goyM3yn+Z0IQQqvg0XuzaoFnKflrmmhppLZffguqItGBXvlRELA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>hiBulwseEwCkx9KDPeERK1hlCyOTS+UjqGD0bmfu8L655Bo+q6SvCw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+WMPInfo.xml Does not exist on this device
+OK.
diff --git a/logs/mtp-detect-nokia-n80.txt b/logs/mtp-detect-nokia-n80.txt
new file mode 100644
index 0000000..8657b6e
--- /dev/null
+++ b/logs/mtp-detect-nokia-n80.txt
@@ -0,0 +1,324 @@
+Attempting to connect device(s)
+PTP: Opening session
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 255
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0421
+   idProduct: 04f1
+   IN endpoint maxpacket: 64 bytes
+   OUT endpoint maxpacket: 64 bytes
+   Device flags: 0x00000002
+Device info:
+   Manufacturer: Nokia
+   Model: Nokia N80
+   Device version: v. 1.00
+   Serial number: XXXXXXXXXXXXXXX	// Removed - Pat
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com:1.0;microsoft.com/WMPPD:11.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   9203: Get type of playlists that are allowed to be transfered
+Events supported:
+   0x400a
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Device Friendly Name
+   0xd404: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   b903: AAC
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385, GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  READ ONLY
+   b982: MP4
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385, GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 READ ONLY
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  READ ONLY
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385, GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  READ ONLY
+   b004: Unknown(b004)
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385, GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 READ ONLY
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 1, 85, 41222, READ ONLY
+   b982: MP4
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385, GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 READ ONLY
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  READ ONLY
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385, GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 READ ONLY
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  READ ONLY
+   ba11: M3U Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3008: MS Wave
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385, GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 1536000, STEP 1 READ ONLY
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 1,  READ ONLY
+Storage Devices:
+   StorageID: 0x00040001
+      StorageType: 0x0004
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 2030960640
+      FreeSpaceInBytes: 284065792
+      FreeSpaceInObjects: 135
+      StorageDescription: PatsN80
+      VolumeIdentifier: 403941773
+Special directories:
+   Default music folder: 0x0075d460
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: Nokia Handset
+   Synchronization partner: Nokia Handset
+libmtp supported (playable) filetypes:
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+   ISO MPEG-1 Audio Layer 3
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+   Microsoft Windows Media Audio
+   RIFF WAVE file
+Unable to acquire device certificate, perhaps this device does not
+support this
+WMPInfo.xml Does not exist on this device
+PTP: Closing session
+OK.
diff --git a/logs/mtp-detect-nokia-n81.txt b/logs/mtp-detect-nokia-n81.txt
new file mode 100644
index 0000000..a46d747
--- /dev/null
+++ b/logs/mtp-detect-nokia-n81.txt
@@ -0,0 +1,433 @@
+Device 1 (VID=0421 and PID=000a) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+PTP: Opening session
+libmtp version: 0.2.4
+
+Attempting to connect device(s)
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 255
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0421
+   idProduct: 000a
+   IN endpoint maxpacket: 64 bytes
+   OUT endpoint maxpacket: 64 bytes
+   Device flags: 0x00000000
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Nokia
+   Model: Nokia N81 8GB
+   Device version: v. 1.00
+   Serial number: 356995010034040
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com:1.0;microsoft.com/WMPPD: 11.0;microsoft.com/WMDRMPD: 10.1;vodafone.com/omadrmv2: 1.0
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   9203: Get transferable playlist types
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   0x400a
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   b903: AAC
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   b982: MP4
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   b984: 3GP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   b004: Unknown(b004)
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 1, 85, 41222,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   b982: MP4
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   300c: ASF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 1297101377, 1297101889,  READ ONLY
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   ba11: M3U Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3008: MS Wave
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 1536000, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+SPTP: Closing session
+torage Devices:
+   StorageID: 0x00040001
+      StorageType: 0x0004
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 8044675072
+      FreeSpaceInBytes: 5005864960
+      FreeSpaceInObjects: 2392
+      StorageDescription: Mass memory
+      VolumeIdentifier: 3314929160
+Special directories:
+   Default music folder: 0x0078fe38
+   Default playlist folder: 0x007af528
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: Nokia N81 8GB
+   Synchronization partner: Nokia N81 8GB
+libmtp supported (playable) filetypes:
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+   ISO MPEG-1 Audio Layer 3
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+   Microsoft Windows Media Audio
+   Microsoft Advanced Systems Format
+   RIFF WAVE file
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">EBAADhJkAFiwgtmK/LgT8b8bK88=</UNIQUEID><PUBLICKEY private="1">oZFrxGl1tZKRt+faQQHfyALgcls33Vb8pWMAA/8MjtXWSH7uD9zMeA==</PUBLICKEY><KEYDATA></KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>A/Z5WFXYS5CIHXKcN4CxWiTwV2As5f9ZF41hKjKkCtrTp8t634+qBA==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE></SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.107.133</SECURITYVERSION><CERTIFICATE private="1">oZFrxGl1tZKRt+faQQHfyALgcls33Vb8pWMAA/8MjtXWSH7uD9zMeAIEa4UMYMKTjxkzDc2tSnzC/SGceoefL9QHoPbIuobYA1ZqJnj/ziCJQd5H</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>N81-1</NAME>

+    <MANUFACTURER>Nokia</MANUFACTURER>

+    <MAKE>Nokia</MAKE>

+    <DISTRIBUTOR>Nokia</DISTRIBUTOR>

+    <MODEL>RM-179</MODEL>

+    <SECURITYLEVEL>2000</SECURITYLEVEL>

+    <HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR>

+    <HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR>

+    <FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR>

+    <FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>

+    <FEATURES>

+        <CLOCK>1</CLOCK>

+        <METERING>1</METERING>

+        <LICENSE_ACQ>1</LICENSE_ACQ>

+        <LICENSE_SYNC>1</LICENSE_SYNC>

+        <ENCRYPTION>1</ENCRYPTION>

+        <SYMMETRIC_OPT>1</SYMMETRIC_OPT>

+    </FEATURES>

+    <LIMITS>

+        <MAXCHAINDEPTH>2</MAXCHAINDEPTH>

+        <MAXLICENSESIZE>10240</MAXLICENSESIZE>

+        <MAXHEADERSIZE>5120</MAXHEADERSIZE>

+    </LIMITS><PUBLICKEY>Eo0GAiKEvOy6FAeqsBH3rY1pHjxl3onG9QV1CW7c6+sikw9MRT6xTQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>QOEJ09Fqv1plw/SLuTzxL3+DdTN1LBObZXrHceq1lalB3x+d+URiEQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1769</AUTH_ID><PUBLICKEY>Ec52jFjRcus6k7HQ3tOWWWqNBQzLwBrX3EMNcyKsN8A5mkwncwW0cQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>UxxiuT4C6iqkt7CowqoOfJQkF2eLjm0kjzrhY3p4+5kIlmCMyTaUTA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>/oLCWfAn2/mb39NLqZI7mNaNP0pnx2QTsuujSMjSn1PIXmKEmeefIA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>M
+
+Device description WMPInfo.xml file:
+<DeviceInfo>

+    <WMP DeviceID="{6AEEF507-C742-4B0D-8F5D-2300347115D0}" RelationshipID="{00000000-0000-0000-0000-000000000000}"/>

+</DeviceInfo>

+
+OK.
diff --git a/logs/mtp-detect-nokia-n82.txt b/logs/mtp-detect-nokia-n82.txt
new file mode 100644
index 0000000..459cecd
--- /dev/null
+++ b/logs/mtp-detect-nokia-n82.txt
@@ -0,0 +1,439 @@
+libmtp version: 0.3.3
+
+Listing raw device(s)
+   Found 1 device(s):
+   Nokia: N82 Mobile Phone (0421:0074) @ bus 0, dev 15
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 255
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0421
+   idProduct: 0074
+   IN endpoint maxpacket: 64 bytes
+   OUT endpoint maxpacket: 64 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 15
+      Device entry info:
+         Vendor: Nokia
+         Vendor id: 0x0421
+         Product: N82 Mobile Phone
+         Vendor id: 0x0074
+         Device flags: 0x00000000
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Nokia
+   Model: N82
+   Device version: v. 1.00
+   Serial number: 356416020835797
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com:1.0;microsoft.com/WMPPD: 11.0;microsoft.com/WMDRMPD: 10.1;vodafone.com/omadrmv2: 1.0
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   9203: Get transferable playlist types
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   0x400a
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   b903: AAC
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   b982: MP4
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   b984: 3GP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   b004: Unknown(b004)
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 1, 85, 41222,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   b982: MP4
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   300c: ASF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 1297101377, 1297101889,  READ ONLY
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   ba11: M3U Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3008: MS Wave
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 1536000, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00040001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 2007728128
+      FreeSpaceInBytes: 1368630272
+      FreeSpaceInObjects: 654
+      StorageDescription: (null)
+      VolumeIdentifier: 4252076090
+Special directories:
+   Default music folder: 0x00793278
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: Nokia Handset
+   Synchronization partner: {00000000-0000-0000-0000-000000000000}
+libmtp supported (playable) filetypes:
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+   ISO MPEG-1 Audio Layer 3
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+   Microsoft Windows Media Audio
+   Microsoft Advanced Systems Format
+   RIFF WAVE file
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">GIAAAs3GAVjvf1Zb8aq/f9mvjPI=</UNIQUEID><PUBLICKEY private="1">7ndtKapkXkyfiBj1TG6w6vlxzS4l2o7YU5m/hQXJBWQnxivBrBtGKw==</PUBLICKEY><KEYDATA>8MysABblU5tHQhP8PoGy2tHusxc=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>vq7jbUYEoU4oE2WxWj0QUGJioG7qI3De4tDmW6ruWG8D6sXytwG+aA==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>ws7Sdc2jGNIeRD2wzRHIXIak9Xc=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.108.95</SECURITYVERSION><CERTIFICATE private="1">7ndtKapkXkyfiBj1TG6w6vlxzS4l2o7YU5m/hQXJBWQnxivBrBtGKwIEbF/xbOFgvB/e1MnBR99QxIMX8MH6fMiKjN7s3iEGoohsHbkdQdmdI/JD</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>N82</NAME>
+    <MANUFACTURER>Nokia</MANUFACTURER>
+    <MAKE>Nokia</MAKE>
+    <DISTRIBUTOR>Nokia</DISTRIBUTOR>
+    <MODEL>RM-313</MODEL>
+    <SECURITYLEVEL>2000</SECURITYLEVEL>
+    <HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR>
+    <HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR>
+    <FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR>
+    <FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>
+    <FEATURES>
+        <CLOCK>1</CLOCK>
+        <METERING>1</METERING>
+        <LICENSE_ACQ>1</LICENSE_ACQ>
+        <LICENSE_SYNC>1</LICENSE_SYNC>
+        <ENCRYPTION>1</ENCRYPTION>
+        <SYMMETRIC_OPT>1</SYMMETRIC_OPT>
+    </FEATURES>
+    <LIMITS>
+        <MAXCHAINDEPTH>2</MAXCHAINDEPTH>
+        <MAXLICENSESIZE>10240</MAXLICENSESIZE>
+        <MAXHEADERSIZE>5120</MAXHEADERSIZE>
+    </LIMITS><PUBLICKEY>EHRxED7rQg8nzF8rcoOTWU9eKEwXr5eDO3MnovN4LAmJBkXTRr6Ccg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>4vYuFnkJqMyf4BMjZit34JppWXhf07qvQ/yqdR7Nx4Opi8Uo5e/Bhg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1987</AUTH_ID><PUBLICKEY>H0O0jM6bzFjodLRvN/g4lGQfYFwNrtDbzrAz/vpcW911xTGc4UCpGQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>tHa86/et0cX10SOJU4wTWbNSf0CAwId+W3gkU9BGCdMCdCACCPezJg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>m1f2V358o6HRNDybsuu2Xbt37kiRUzGlK806mByPAJ/Z3ezib3B8VA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+
+Device description WMPInfo.xml file:
+<DeviceInfo>
+    <WMP DeviceID="{9115E1B0-20B2-4770-83D1-DC81C37712DD}" RelationshipID="{00000000-0000-0000-0000-000000000000}"/>
+</DeviceInfo>
+
+OK.
diff --git a/logs/mtp-detect-nokia-n85.txt b/logs/mtp-detect-nokia-n85.txt
new file mode 100644
index 0000000..5881aef
--- /dev/null
+++ b/logs/mtp-detect-nokia-n85.txt
@@ -0,0 +1,473 @@
+libmtp version: 0.3.0
+
+Listing raw device(s)
+   Found 1 device(s):
+   0421:0092 @ bus 0, dev 11
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 255
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0421
+   idProduct: 0092
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 11
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0421
+         Product: (null)
+         Vendor id: 0x0092
+         Device flags: 0x00000000
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: S60
+   Model: N85
+   Device version: v. 1.00
+   Serial number: 355708020511084
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com:1.0;microsoft.com/WMPPD: 11.0;microsoft.com/WMDRMPD: 10.1;vodafone.com/omadrmv2: 1.0
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   9203: Get transferable playlist types
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   0x400a
+   0x4004
+   0x4005
+   0x4003
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+   b903: AAC
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   b982: MP4
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   b984: 3GP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   b004: Unknown(b004)
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 1, 85, 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   b982: MP4
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 353,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   300c: ASF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 353,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 176, MAX 320, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 144, MAX 240, STEP 1 GET/SET
+      de97: ScanDepth UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911, 1297101377, 1297101889,  GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 0, MAX 384000, STEP 1 READ ONLY
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+   b981: WMV
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc87: Width UINT32 data type range: MIN 176, MAX 320, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 144, MAX 240, STEP 1 GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de97: ScanDepth UINT16 data type ANY 16BIT VALUE form GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 353,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911,  GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 0, MAX 384000, STEP 1 READ ONLY
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+      dc94: ParentalRating STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   ba11: M3U Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+   3008: MS Wave
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 1,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 1536000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00040001
+      StorageType: 0x0004
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 7964983296
+      FreeSpaceInBytes: 5797640192
+      FreeSpaceInObjects: 2770
+      StorageDescription: Memory card
+      VolumeIdentifier: 3455216610
+Special directories:
+   Default music folder: 0x00000000
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: S60 Handset
+   Synchronization partner: S60 Handset
+libmtp supported (playable) filetypes:
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+   ISO MPEG-1 Audio Layer 3
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+   Microsoft Windows Media Audio
+   Microsoft Advanced Systems Format
+   Microsoft Windows Media Video
+   RIFF WAVE file
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">ELAAAmW5AVjMi/S3BKGlaWay/vw=</UNIQUEID><PUBLICKEY private="1">CzNZPzLaW7ZDGu5ZozkE5yNumzp8uI/Nu2Hz4V5v+5IKj6HtUvFaFw==</PUBLICKEY><KEYDATA>hAhLh2H+ezjRMLrRwjB/jCw8ck8=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>ntY/mVGbxR0lvfw4c9slJvjM43mdEl/RW3Z3MhZf5gBG6eNDqSW2Vg==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>bZ0ECXwOKxyqWXSi5CFAbjD0tpU=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.111.153</SECURITYVERSION><CERTIFICATE private="1">CzNZPzLaW7ZDGu5ZozkE5yNumzp8uI/Nu2Hz4V5v+5IKj6HtUvFaFwIEb5mOn55u+QturyMrufgHNUpLdrAnY3jrJkKiw8mUaEteb0pbefD3UbMs</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>N85-1</NAME>

+    <MANUFACTURER>Nokia</MANUFACTURER>

+    <MAKE>Nokia</MAKE>

+    <DISTRIBUTOR>Nokia</DISTRIBUTOR>

+    <MODEL>RM-333</MODEL>

+    <SECURITYLEVEL>2000</SECURITYLEVEL>

+    <HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR>

+    <HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR>

+    <FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR>

+    <FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>

+    <FEATURES>

+        <CLOCK>1</CLOCK>

+        <METERING>1</METERING>

+        <LICENSE_ACQ>1</LICENSE_ACQ>

+        <LICENSE_SYNC>1</LICENSE_SYNC>

+        <ENCRYPTION>1</ENCRYPTION>

+        <SYMMETRIC_OPT>1</SYMMETRIC_OPT>

+    </FEATURES>

+    <LIMITS>

+        <MAXCHAINDEPTH>2</MAXCHAINDEPTH>

+        <MAXLICENSESIZE>10240</MAXLICENSESIZE>

+        <MAXHEADERSIZE>5120</MAXHEADERSIZE>

+    </LIMITS><PUBLICKEY>J7LRqEqXq91lmYxFAxIK6pcl04GIX8v5RD5k5iognBwja+idw/fTDg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>LpEs83UHbOzZ6/m0mtaC9HiJv1iSSRWRHIIlATCYF39Q+8ceiIkQfA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>2813</AUTH_ID><PUBLICKEY>ecS3xDwpTr7P20wqwHwvIZZvOVjk1RXkzfhzzRTNJiCA6x3Zdk/6DA==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>Kx2clVbdhiHOBsvFUTQPQrkV0BrRo8nRMsvBJKunIO09mhOpFEHTDw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>nCzUlOt+LxdPMsdMyeVvMkt5GynCizGrNvVoPdtojIqGC+/BRCLXQg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+WMPInfo.xml Does not exist on this device
+OK.
+
+ 	  	 
diff --git a/logs/mtp-detect-nokia-n9.txt b/logs/mtp-detect-nokia-n9.txt
new file mode 100644
index 0000000..a59e605
--- /dev/null
+++ b/logs/mtp-detect-nokia-n9.txt
@@ -0,0 +1,692 @@
+libmtp version: 1.0.3
+
+Listing raw device(s)
+   Found 1 device(s):
+   0421:051a @ bus 1, dev 13
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 239
+   bDeviceSubClass: 2
+   bDeviceProtocol: 1
+   idVendor: 0421
+   idProduct: 051a
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 13
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0421
+         Product: (null)
+         Vendor id: 0x051a
+         Device flags: 0x00000000
+Configuration 0, interface 0, altsetting 0:
+   Interface implements PTP class, no further probing.
+Device info:
+   Manufacturer: Nokia
+   Model: N9
+   Device version: DFL61_HARMATTAN_10.2011.34-1_PR_001
+   Serial number: 357923041925415
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com:1.0; microsoft.com/WMPPD:11.0; nokia.com/meego:1.1; nokia.com/backup:1.0
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1019: Move object
+   101a: Copy object
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9810: Get object references
+   9811: Set object references
+   9701: Unknown (9701)
+   9702: Unknown (9702)
+   9703: Unknown (9703)
+Events supported:
+   0x4002
+   0x4003
+   0x4007
+   0xc801
+   0x4004
+   0x4005
+   0x400a
+   0x4009
+   0x400c
+   0x4008
+   0x4006
+Device Properties Supported:
+   0xd402: Friendly Device Name
+   0xd401: Synchronization Partner
+   0x501f: Copyright Info
+   0x5001: Battery Level
+   0xd407: Perceived Device Type
+   0xd405: Device Icon
+   0xd311: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14344, 14347,  READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14344, 14347,  READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14344, 14347,  READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14344, 14347,  READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14344, 14347,  READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44000, 44100, 48000, 96000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 85, 352, 353, 354, 16897, 41222, 34,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44000, 44100, 48000, 96000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 85, 352, 353, 354, 16897, 41222, 34,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44000, 44100, 48000, 96000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 85, 352, 353, 354, 16897, 41222, 34,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44000, 44100, 48000, 96000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 85, 352, 353, 354, 16897, 41222, 34,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44000, 44100, 48000, 96000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 85, 352, 353, 354, 16897, 41222, 34,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44000, 44100, 48000, 96000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 85, 352, 353, 354, 16897, 41222, 34,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44000, 44100, 48000, 96000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 85, 352, 353, 354, 16897, 41222, 34,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44000, 44100, 48000, 96000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 85, 352, 353, 354, 16897, 41222, 34,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+   300a: MS AVI
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 576, STEP 1 GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44000, 44100, 48000, 96000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 85, 352, 353, 354, 16897, 41222, 34,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 1145656899, 1162629709, 827544397, 827739479, 861293911, 875967048,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 100000, STEP 1 GET/SET
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 576, STEP 1 GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44000, 44100, 48000, 96000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 85, 352, 353, 354, 16897, 41222, 34,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 1145656899, 1162629709, 827544397, 827739479, 861293911, 875967048,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 100000, STEP 1 GET/SET
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 576, STEP 1 GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44000, 44100, 48000, 96000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 85, 352, 353, 354, 16897, 41222, 34,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 1145656899, 1162629709, 827544397, 827739479, 861293911, 875967048,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 100000, STEP 1 GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 576, STEP 1 GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44000, 44100, 48000, 96000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 85, 352, 353, 354, 16897, 41222, 34,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 1145656899, 1162629709, 827544397, 827739479, 861293911, 875967048,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 100000, STEP 1 GET/SET
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 576, STEP 1 GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44000, 44100, 48000, 96000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 85, 352, 353, 354, 16897, 41222, 34,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 1145656899, 1162629709, 827544397, 827739479, 861293911, 875967048,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 100000, STEP 1 GET/SET
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   bb82: vCard2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   bb83: vCard3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   be02: vCalendar1
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba83: Microsoft Word Document
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba85: Microsoft Excel Spreadsheet (.xls)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba86: Microsoft Powerpoint (.ppt)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 2113748992
+      FreeSpaceInBytes: 1914744832
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Phone Memory
+      VolumeIdentifier: media
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Nokia N9
+   Synchronization partner: Friendly
+   Battery level 4 of 100 (4%)
+libmtp supported (playable) filetypes:
+   JPEG file
+   GIF bitmap file
+   Portable Network Graphics
+   TIFF bitmap file
+   BMP bitmap file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Free Lossless Audio Codec (FLAC)
+   ISO MPEG-1 Audio Layer 2
+   Microsoft Advanced Systems Format
+   Audio Video Interleave
+   MPEG video stream
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Microsoft Windows Media Video
+   Text file
+   HTML file
+   Abstract Playlist file
+   VCard version 2
+   VCard version 3
+   VCalendar version 1
+   DOC file
+   XLS file
+   PPT file
+OK.
diff --git a/logs/mtp-detect-nokia-n95.txt b/logs/mtp-detect-nokia-n95.txt
new file mode 100644
index 0000000..dcfb00d
--- /dev/null
+++ b/logs/mtp-detect-nokia-n95.txt
@@ -0,0 +1,342 @@
+libmtp version: 0.2.3
+
+Attempting to connect device(s)
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 255
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0421
+   idProduct: 04ef
+   IN endpoint maxpacket: 64 bytes
+   OUT endpoint maxpacket: 64 bytes
+   Device flags: 0x00000000
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Nokia
+   Model: Nokia N95
+   Device version: v. 1.00
+   Serial number: xxxxxxxxxxxxxxx
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com:1.0;microsoft.com/WMPPD: 11.0;microsoft.com/WMDRMPD: 10.1
+   Detected object size: 32 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   9203: Get transferable playlist types
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   0x400a
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+   0xd102: Device Certificate
+   0xd101: Secure Time
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   b903: AAC
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  READ ONLY
+   b982: MP4
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 READ ONLY
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  READ ONLY
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  READ ONLY
+   b004: Unknown(b004)
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 READ ONLY
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 1, 85, 41222,  READ ONLY
+   b982: MP4
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 READ ONLY
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  READ ONLY
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 READ ONLY
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  READ ONLY
+   ba11: M3U Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3008: MS Wave
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc4e: DateAdded STRING data type READ ONLY
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 1536000, STEP 1 READ ONLY
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 1,  READ ONLY
+Storage Devices:
+   StorageID: 0x00040001
+      StorageType: 0x0004
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 2030960640
+      FreeSpaceInBytes: 1759092736
+      FreeSpaceInObjects: 840
+      StorageDescription: Memory card
+      VolumeIdentifier: 929443894
+Special directories:
+   Default music folder: 0x00000000
+   Default playlist folder: 0x00789db8
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: Nokia Handset
+   Synchronization partner: Nokia Handset
+libmtp supported (playable) filetypes:
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+   ISO MPEG-1 Audio Layer 3
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+   Microsoft Windows Media Audio
+   RIFF WAVE file
+
+Device Certificate:
+㰀䐀䔀嘀䌀䔀刀吀 瘀攀爀猀椀漀渀㴀∀㄀⸀ ∀㸀㰀䌀䔀刀吀䤀䘀䤀䌀䄀吀䔀 琀礀瀀攀㴀∀䐀䔀嘀䤀䌀䔀∀㸀㰀䐀䄀吀䄀㸀㰀唀一䤀儀唀䔀䤀䐀 瀀爀椀瘀愀琀攀㴀∀㄀∀㸀䤀䨀䄀䈀䔀㜀嘀唀䄀䘀栀砀欀䔀搀䄀䈀䈀⬀猀甀稀氀⬀䔀儀㠀㴀㰀⼀唀一䤀儀唀䔀䤀䐀㸀㰀倀唀䈀䰀䤀䌀䬀䔀夀 瀀爀椀瘀愀琀攀㴀∀㄀∀㸀⬀戀氀瀀眀儀䤀䈀吀㄀渀砀匀䴀栀唀欀一㐀⼀刀㄀䘀䰀欀㐀唀娀焀唀㄀䔀砀吀䔀焀䴀㔀唀搀䄀攀椀䌀眀 搀㐀刀猀一儀最眀㴀㴀㰀⼀倀唀䈀䰀䤀䌀䬀䔀夀㸀㰀䬀䔀夀䐀䄀吀䄀㸀㰀⼀䬀䔀夀䐀䄀吀䄀㸀㰀⼀䐀䄀吀䄀㸀㰀䴀匀䐀刀䴀开匀䤀䜀一䄀吀唀刀䔀开嘀䄀䰀唀䔀㸀樀樀匀搀㘀吀⼀䌀㄀最琀㈀攀椀氀爀䜀伀戀㐀琀愀欀䐀倀栀䰀一爀攀㜀氀䴀㔀䴀圀礀椀昀昀樀欀䈀䠀樀䐀挀夀砀一樀氀倀最㴀㴀㰀⼀䴀匀䐀刀䴀开匀䤀䜀一䄀吀唀刀䔀开嘀䄀䰀唀䔀㸀㰀匀夀䴀匀䤀䜀一䄀吀唀刀䔀㸀㰀⼀匀夀䴀匀䤀䜀一䄀吀唀刀䔀㸀㰀⼀䌀䔀刀吀䤀䘀䤀䌀䄀吀䔀㸀㰀䘀䄀䰀䰀䈀䄀䌀䬀㸀㰀匀䔀䌀唀刀䤀吀夀嘀䔀刀匀䤀伀一㸀㈀⸀㐀⸀㄀ 㘀⸀㔀㤀㰀⼀匀䔀䌀唀刀䤀吀夀嘀䔀刀匀䤀伀一㸀㰀䌀䔀刀吀䤀䘀䤀䌀䄀吀䔀 瀀爀椀瘀愀琀攀㴀∀㄀∀㸀⬀戀氀瀀眀儀䤀䈀吀㄀渀砀匀䴀栀唀欀一㐀⼀刀㄀䘀䰀欀㐀唀娀焀唀㄀䔀砀吀䔀焀䴀㔀唀搀䄀攀椀䌀眀 搀㐀刀猀一儀最眀䤀䔀愀樀猀䔀漀搀㠀㄀砀漀爀琀圀堀一倀匀礀䄀㈀䜀匀礀昀䐀䤀䤀䬀夀娀䄀㤀瘀唀䠀圀樀䤀䰀堀氀最伀㔀稀㜀欀挀䔀伀䌀儀䈀䰀栀㐀㰀⼀䌀䔀刀吀䤀䘀䤀䌀䄀吀䔀㸀㰀⼀䘀䄀䰀䰀䈀䄀䌀䬀㸀㰀䌀䔀刀吀䤀䘀䤀䌀䄀吀䔀 琀礀瀀攀㴀∀䜀刀伀唀倀∀㸀㰀䐀䄀吀䄀㸀㰀一䄀䴀䔀㸀一漀欀椀愀 一㤀㔀㰀⼀一䄀䴀䔀㸀ഀ਀    㰀䴀䄀一唀䘀䄀䌀吀唀刀䔀刀㸀一漀欀椀愀㰀⼀䴀䄀一唀䘀䄀䌀吀唀刀䔀刀㸀ഀ਀    㰀䴀䄀䬀䔀㸀一漀欀椀愀㰀⼀䴀䄀䬀䔀㸀ഀ਀    㰀䐀䤀匀吀刀䤀䈀唀吀伀刀㸀一漀欀椀愀㰀⼀䐀䤀匀吀刀䤀䈀唀吀伀刀㸀ഀ਀    㰀䴀伀䐀䔀䰀㸀刀䴀ⴀ㄀㔀㤀㰀⼀䴀伀䐀䔀䰀㸀ഀ਀    㰀匀䔀䌀唀刀䤀吀夀䰀䔀嘀䔀䰀㸀㈀   㰀⼀匀䔀䌀唀刀䤀吀夀䰀䔀嘀䔀䰀㸀ഀ਀    㰀䠀䄀刀䐀圀䄀刀䔀开嘀䔀刀开䴀䄀䨀伀刀㸀㄀㰀⼀䠀䄀刀䐀圀䄀刀䔀开嘀䔀刀开䴀䄀䨀伀刀㸀ഀ਀    㰀䠀䄀刀䐀圀䄀刀䔀开嘀䔀刀开䴀䤀一伀刀㸀 㰀⼀䠀䄀刀䐀圀䄀刀䔀开嘀䔀刀开䴀䤀一伀刀㸀ഀ਀    㰀䘀䤀刀䴀圀䄀刀䔀开嘀䔀刀开䴀䄀䨀伀刀㸀㈀㰀⼀䘀䤀刀䴀圀䄀刀䔀开嘀䔀刀开䴀䄀䨀伀刀㸀ഀ਀    㰀䘀䤀刀䴀圀䄀刀䔀开嘀䔀刀开䴀䤀一伀刀㸀 㰀⼀䘀䤀刀䴀圀䄀刀䔀开嘀䔀刀开䴀䤀一伀刀㸀ഀ਀    㰀䘀䔀䄀吀
+WMPInfo.xml Does not exist on this device
+OK.
diff --git a/logs/mtp-detect-nokia-n950.txt b/logs/mtp-detect-nokia-n950.txt
new file mode 100644
index 0000000..1715af6
--- /dev/null
+++ b/logs/mtp-detect-nokia-n950.txt
@@ -0,0 +1,648 @@
+libmtp version: 1.1.0
+
+Listing raw device(s)
+   Found 1 device(s):
+   0421:03d2 @ bus 1, dev 11
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 2
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0421
+   idProduct: 03d2
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 11
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0421
+         Product: (null)
+         Vendor id: 0x03d2
+         Device flags: 0x00000000
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Nokia
+   Model: RM-680
+   Device version: DFL61_HARMATTAN_1.2011.22-6_PR_RM680
+   Serial number: 357881040022644
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com:1.0; microsoft.com/WMPPD:11.0; nokia.com/meego:1.1; nokia.com/backup:1.0
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+         microsoft.com/WMPPD: 11.0
+         nokia.com/meego: 1.1
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1019: Move object
+   101a: Copy object
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9810: Get object references
+   9811: Set object references
+   9701: Unknown (9701)
+   9702: Unknown (9702)
+   9703: Unknown (9703)
+Events supported:
+   0x4002
+   0x4003
+   0x4007
+   0xc801
+   0x4004
+   0x4005
+   0x400a
+   0x4009
+   0x400c
+   0x4008
+   0x4006
+Device Properties Supported:
+   0xd402: Friendly Device Name
+   0xd401: Synchronization Partner
+   0x501f: Copyright Info
+   0x5001: Battery Level
+   0xd407: Perceived Device Type
+   0xd405: Device Icon
+   0xd311: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14344, 14347,  READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14344, 14347,  READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14344, 14347,  READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14344, 14347,  READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14344, 14347,  READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 22050, 44000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 85, 352, 353, 354, 16897, 41222, 34,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 22050, 44000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 85, 352, 353, 354, 16897, 41222, 34,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 22050, 44000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 85, 352, 353, 354, 16897, 41222, 34,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 22050, 44000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 85, 352, 353, 354, 16897, 41222, 34,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 22050, 44000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 85, 352, 353, 354, 16897, 41222, 34,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 22050, 44000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 85, 352, 353, 354, 16897, 41222, 34,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+   300a: MS AVI
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 576, STEP 1 GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 22050, 44000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 85, 352, 353, 354, 16897, 41222, 34,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 1145656899, 1162629709, 827544397, 827739479, 861293911, 875967048,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 100000, STEP 1 GET/SET
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 576, STEP 1 GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 22050, 44000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 85, 352, 353, 354, 16897, 41222, 34,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 1145656899, 1162629709, 827544397, 827739479, 861293911, 875967048,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 100000, STEP 1 GET/SET
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 576, STEP 1 GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 22050, 44000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 85, 352, 353, 354, 16897, 41222, 34,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 1145656899, 1162629709, 827544397, 827739479, 861293911, 875967048,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 100000, STEP 1 GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 576, STEP 1 GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 22050, 44000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 85, 352, 353, 354, 16897, 41222, 34,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 1145656899, 1162629709, 827544397, 827739479, 861293911, 875967048,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 100000, STEP 1 GET/SET
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 576, STEP 1 GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 22050, 44000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 6, 7, 85, 352, 353, 354, 16897, 41222, 34,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 1145656899, 1162629709, 827544397, 827739479, 861293911, 875967048,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 100000, STEP 1 GET/SET
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   bb82: vCard2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   bb83: vCard3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   be02: vCalendar1
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba83: Microsoft Word Document
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba85: Microsoft Excel Spreadsheet (.xls)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba86: Microsoft Powerpoint (.ppt)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 9452257280
+      FreeSpaceInBytes: 8485273600
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Phone Memory
+      VolumeIdentifier: media
+Special directories:
+   Default music folder: 0x00000227
+   Default playlist folder: 0x0000022e
+   Default picture folder: 0x0000022d
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: N950
+   Synchronization partner: Friendly
+   Battery level 4 of 100 (3%)
+libmtp supported (playable) filetypes:
+   JPEG file
+   GIF bitmap file
+   Portable Network Graphics
+   TIFF bitmap file
+   BMP bitmap file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Free Lossless Audio Codec (FLAC)
+   Audio Video Interleave
+   MPEG video stream
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Microsoft Windows Media Video
+   Folder
+   Text file
+   HTML file
+   Abstract Playlist file
+   VCard version 2
+   VCard version 3
+   VCalendar version 1
+   DOC file
+   XLS file
+   PPT file
+OK.
diff --git a/logs/mtp-detect-nokia-n97.txt b/logs/mtp-detect-nokia-n97.txt
new file mode 100644
index 0000000..aee716d
--- /dev/null
+++ b/logs/mtp-detect-nokia-n97.txt
@@ -0,0 +1,495 @@
+libmtp version: 0.3.4
+
+Listing raw device(s)
+   Found 1 device(s):
+   0421:01f5 @ bus 0, dev 4
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 2
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0421
+   idProduct: 01f5
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 4
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0421
+         Product: (null)
+         Vendor id: 0x01f5
+         Device flags: 0x00000000
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Nokia
+   Model: N97
+   Device version: 01
+   Serial number: 354225032477049
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com:1.0;microsoft.com/WMPPD: 11.0;microsoft.com/WMDRMPD: 10.1;vodafone.com/omadrmv2: 1.0
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9810: Get object references
+   9811: Set object references
+   9805: Get object property list
+   9806: Set object property list
+   9807: Get interdependent property description
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   9203: Get transferable playlist types
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   0x400a
+   0x4004
+   0x4005
+   0x4003
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+   0xd102: Device Certificate
+   0xd406: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+   b903: AAC
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   b982: MP4
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   b984: 3GP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   b004: Unknown(b004)
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 1, 85, 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   b982: MP4
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 353,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   300c: ASF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 353,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 176, MAX 320, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 144, MAX 240, STEP 1 GET/SET
+      de97: ScanDepth UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911, 1297101377, 1297101889,  GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 0, MAX 384000, STEP 1 READ ONLY
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+   b981: WMV
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc87: Width UINT32 data type range: MIN 176, MAX 320, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 144, MAX 240, STEP 1 GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de97: ScanDepth UINT16 data type ANY 16BIT VALUE form GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 353,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911,  GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 0, MAX 384000, STEP 1 READ ONLY
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+      dc94: ParentalRating STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   ba11: M3U Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: DateAdded STRING data type DATETIME FORM READ ONLY
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 1,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 1536000, STEP 1 GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00040001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 32002539520
+      FreeSpaceInBytes: 18941128704
+      FreeSpaceInObjects: 9054
+      StorageDescription: Mass memory
+      VolumeIdentifier: 1695920643
+   StorageID: 0x00020001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 76582912
+      FreeSpaceInBytes: 17272832
+      FreeSpaceInObjects: 8
+      StorageDescription: Phone memory
+      VolumeIdentifier: 1196836185
+   StorageID: 0x00050001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 1015283712
+      FreeSpaceInBytes: 809226240
+      FreeSpaceInObjects: 386
+      StorageDescription: Memory card (WafaaMcSD1G)
+      VolumeIdentifier: 1684419169
+Special directories:
+   Default music folder: 0x00857a00
+   Default playlist folder: 0x0085b078
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: Nokia N97
+   Synchronization partner: Nokia N97
+libmtp supported (playable) filetypes:
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+   ISO MPEG-1 Audio Layer 3
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+   Microsoft Windows Media Audio
+   Microsoft Advanced Systems Format
+   Microsoft Windows Media Video
+   RIFF WAVE file
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">D8ABB2Z1AFK//5MvJZXyovnmv9w=</UNIQUEID><PUBLICKEY private="1">pNify9zkLFCu+AzarhGKjaVZy2dwRnJAYsb7gBTKcIIVe0c5f8TaLA==</PUBLICKEY><KEYDATA>KmRKV6lO4ud9sZgA0CvjjEGlx6g=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>zxWktCvCM82zWPlIAsw2zIO4roArHwfR/yuYdD4WAY9vvqrriv8PSg==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>Wf/mNFW8vYxfdmJrl6IvwkwcgLU=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.113.133</SECURITYVERSION><CERTIFICATE private="1">pNify9zkLFCu+AzarhGKjaVZy2dwRnJAYsb7gBTKcIIVe0c5f8TaLAIEcYWBNc0i5G82u6t+A4dzS8UqBz6BQ35tebS6nQRLc6R23YWGcJQ5QCx3</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>N97</NAME>

+    <MANUFACTURER>Nokia</MANUFACTURER>

+    <MAKE>Nokia</MAKE>

+    <DISTRIBUTOR>Nokia</DISTRIBUTOR>

+    <MODEL>RM-505</MODEL>

+    <SECURITYLEVEL>2000</SECURITYLEVEL>

+    <HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR>

+    <HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR>

+    <FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR>

+    <FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>

+    <FEATURES>

+        <CLOCK>1</CLOCK>

+        <METERING>1</METERING>

+        <LICENSE_ACQ>1</LICENSE_ACQ>

+        <LICENSE_SYNC>1</LICENSE_SYNC>

+        <ENCRYPTION>1</ENCRYPTION>

+        <SYMMETRIC_OPT>1</SYMMETRIC_OPT>

+    </FEATURES>

+    <LIMITS>

+        <MAXCHAINDEPTH>2</MAXCHAINDEPTH>

+        <MAXLICENSESIZE>10240</MAXLICENSESIZE>

+        <MAXHEADERSIZE>5120</MAXHEADERSIZE>

+    </LIMITS><PUBLICKEY>Bnzrf4HfEQFTluAifcOGnShfozcFCl4rCLvkVkNrqzPekHu01kt5Yg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>xC5BssDKi9GawHZmwNbRPhF3K1JY+AmWQkeEaxQyC/mNdsY1zwgLZw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>3305</AUTH_ID><PUBLICKEY>pLjNChqCyqHpXcXp91vyznAAHwsCciuxTK5jBIJD5p+kP+JQ/BCLZQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>LvMELOwmIdYTJ0biMpfssiO2nB+LsVIpMU9UG/gK6Lm2P8ahHTUkXQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>N5pd/yA5Yle17LAFkhh3jZhcgYjwDD0+mjs1ErQswvOVZnX4XtHMag==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+WMPInfo.xml Does not exist on this device
+OK.
+
+ 	  	 
diff --git a/logs/mtp-detect-nokia-x2-dual-sim.txt b/logs/mtp-detect-nokia-x2-dual-sim.txt
new file mode 100644
index 0000000..0c13a9b
--- /dev/null
+++ b/logs/mtp-detect-nokia-x2-dual-sim.txt
@@ -0,0 +1,512 @@
+
+
+
+---
+
+** [bugs:#1453] Nokia X2 Dual Sim**
+
+**Status:** open
+**Group:** 1.1.10
+**Created:** Wed Oct 14, 2015 05:36 PM UTC by Anonymous
+**Last Updated:** Wed Oct 14, 2015 05:36 PM UTC
+**Owner:** nobody
+
+
+sudo mtp-detect
+libmtp version: 1.1.10
+
+Listing raw device(s)
+Device 0 (VID=0421 and PID=0708) is UNKNOWN in libmtp v1.1.10.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0421:0708 @ bus 2, dev 30
+Attempting to connect device(s)
+PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
+LIBMTP libusb: Attempt to reset device
+Android device detected, assigning default bug flags
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0421
+   idProduct: 0708
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 30
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0421
+         Product: (null)
+         Vendor id: 0x0708
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Nokia
+   Model: Nokia_X2
+   Device version: 1.0
+   Serial number: 1869de21
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 2415464448
+      FreeSpaceInBytes: 271822848
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Память тел.
+      VolumeIdentifier: (null)
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 15914401792
+      FreeSpaceInBytes: 11893587968
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Карта памяти
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/bugs/1453/>
+
+
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/>
\ No newline at end of file
diff --git a/logs/mtp-detect-nokia.txt b/logs/mtp-detect-nokia.txt
new file mode 100644
index 0000000..04d3f00
--- /dev/null
+++ b/logs/mtp-detect-nokia.txt
@@ -0,0 +1,431 @@
+$lsusb -v - output
+Bus 001 Device 006: ID 0421:04e1 Nokia Mobile Phones
+Device Descriptor:
+  bLength                18
+  bDescriptorType         1
+  bcdUSB               2.00
+  bDeviceClass          255 Vendor Specific Class
+  bDeviceSubClass         0
+  bDeviceProtocol         0
+  bMaxPacketSize0        64
+  idVendor           0x0421 Nokia Mobile Phones
+  idProduct          0x04e1
+  bcdDevice            1.00
+  iManufacturer           1
+  iProduct                2
+  iSerial                 3
+  bNumConfigurations      1
+  Configuration Descriptor:
+    bLength                 9
+    bDescriptorType         2
+    wTotalLength           39
+    bNumInterfaces          1
+    bConfigurationValue     1
+    iConfiguration          4
+    bmAttributes         0xc0
+      Self Powered
+    MaxPower              100mA
+    Interface Descriptor:
+      bLength                 9
+      bDescriptorType         4
+      bInterfaceNumber        0
+      bAlternateSetting       0
+      bNumEndpoints           3
+      bInterfaceClass       255 Vendor Specific Class
+      bInterfaceSubClass      0
+      bInterfaceProtocol      0
+      iInterface              5
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x82  EP 2 IN
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0040  1x 64 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x03  EP 3 OUT
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0040  1x 64 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x84  EP 4 IN
+        bmAttributes            3
+          Transfer Type            Interrupt
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0040  1x 64 bytes
+        bInterval               4
+
+$mtp-detect - output
+Found non-autodetected device "Nokia N##" on USB bus...
+Connected to MTP device.
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 255
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0421
+   idProduct: 04e1
+   IN endpoint maxpacket: 64 bytes
+   OUT endpoint maxpacket: 64 bytes
+   Device flags: 0x00000000
+Device info:
+   Manufacturer: Nokia
+   Model: Nokia N##
+   Device version: v. 1.00
+   Serial number: ############
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com:1.0;microsoft.com/WMPPD: 11.0;microsoft.com/WMDRMPD: 10.1
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   9203: Get type of playlists that are allowed to be transfered
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   0x400a
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Device Friendly Name
+   0xd404: Unknown property
+   0xd102: Device Certificate
+   0xd101: Secure Time
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc4e: DateAdded
+      dc08: DateCreated
+      dc09: DateModified
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+      dc44: Name
+      dc4f: NonConsumable
+   3001: Association/Directory
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc4e: DateAdded
+      dc08: DateCreated
+      dc09: DateModified
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+      dc44: Name
+      dc4f: NonConsumable
+   b903: AAC
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc4e: DateAdded
+      dc08: DateCreated
+      dc09: DateModified
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+      dc44: Name
+      dc4f: NonConsumable
+      dc46: Artist
+      dc89: Duration
+      dc8b: Track
+      dc8c: Genre
+      dc96: Composer
+      dc99: OriginalReleaseDate
+      dc9a: AlbumName
+      dc9d: DRMStatus
+      dc48: Description
+      de9a: AudioBitRate
+      de93: SampleRate
+      de94: NumberOfChannels
+      de99: AudioWAVECodec
+   b982: MP4
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc4e: DateAdded
+      dc08: DateCreated
+      dc09: DateModified
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+      dc44: Name
+      dc4f: NonConsumable
+      dc46: Artist
+      dc89: Duration
+      dc8b: Track
+      dc8c: Genre
+      dc96: Composer
+      dc99: OriginalReleaseDate
+      dc9a: AlbumName
+      dc9d: DRMStatus
+      dc48: Description
+      de9a: AudioBitRate
+      de93: SampleRate
+      de94: NumberOfChannels
+      de99: AudioWAVECodec
+   3009: MP3
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc4e: DateAdded
+      dc08: DateCreated
+      dc09: DateModified
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+      dc44: Name
+      dc4f: NonConsumable
+      dc46: Artist
+      dc89: Duration
+      dc8b: Track
+      dc8c: Genre
+      dc96: Composer
+      dc99: OriginalReleaseDate
+      dc9a: AlbumName
+      dc9d: DRMStatus
+      dc48: Description
+      de9a: AudioBitRate
+      de93: SampleRate
+      de94: NumberOfChannels
+      de99: AudioWAVECodec
+   b004: Unknown(b004)
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc4e: DateAdded
+      dc08: DateCreated
+      dc09: DateModified
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+      dc44: Name
+      dc4f: NonConsumable
+      dc46: Artist
+      dc89: Duration
+      dc8b: Track
+      dc8c: Genre
+      dc96: Composer
+      dc99: OriginalReleaseDate
+      dc9a: AlbumName
+      dc9d: DRMStatus
+      dc48: Description
+      de9a: AudioBitRate
+      de93: SampleRate
+      de94: NumberOfChannels
+      de99: AudioWAVECodec
+   b982: MP4
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc4e: DateAdded
+      dc08: DateCreated
+      dc09: DateModified
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+      dc44: Name
+      dc4f: NonConsumable
+      dc46: Artist
+      dc89: Duration
+      dc8b: Track
+      dc8c: Genre
+      dc96: Composer
+      dc99: OriginalReleaseDate
+      dc9a: AlbumName
+      dc9d: DRMStatus
+      dc48: Description
+      de9a: AudioBitRate
+      de93: SampleRate
+      de94: NumberOfChannels
+      de99: AudioWAVECodec
+   b901: WMA
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc4e: DateAdded
+      dc08: DateCreated
+      dc09: DateModified
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+      dc44: Name
+      dc4f: NonConsumable
+      dc46: Artist
+      dc89: Duration
+      dc8b: Track
+      dc8c: Genre
+      dc96: Composer
+      dc99: OriginalReleaseDate
+      dc9a: AlbumName
+      dc9d: DRMStatus
+      dc48: Description
+      de9a: AudioBitRate
+      de93: SampleRate
+      de94: NumberOfChannels
+      de99: AudioWAVECodec
+   300c: ASF
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc4e: DateAdded
+      dc08: DateCreated
+      dc09: DateModified
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+      dc44: Name
+      dc4f: NonConsumable
+      dc46: Artist
+      dc89: Duration
+      dc8b: Track
+      dc8c: Genre
+      dc96: Composer
+      dc99: OriginalReleaseDate
+      dc9a: AlbumName
+      dc9d: DRMStatus
+      dc48: Description
+      de9a: AudioBitRate
+      de93: SampleRate
+      de94: NumberOfChannels
+      de99: AudioWAVECodec
+   ba11: M3U Playlist
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc4e: DateAdded
+      dc08: DateCreated
+      dc09: DateModified
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+      dc44: Name
+      dc4f: NonConsumable
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc4e: DateAdded
+      dc08: DateCreated
+      dc09: DateModified
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+      dc44: Name
+      dc4f: NonConsumable
+   3008: MS Wave
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc4e: DateAdded
+      dc08: DateCreated
+      dc09: DateModified
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+      dc44: Name
+      dc4f: NonConsumable
+      dc46: Artist
+      dc89: Duration
+      dc8b: Track
+      dc8c: Genre
+      dc96: Composer
+      dc99: OriginalReleaseDate
+      dc9a: AlbumName
+      dc9d: DRMStatus
+      dc48: Description
+      de9a: AudioBitRate
+      de93: SampleRate
+      de94: NumberOfChannels
+      de99: AudioWAVECodec
+Storage Devices:
+   StorageID: 0x00040001
+      StorageType: 0x0004
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 252837888
+      FreeSpaceInBytes: 27967488
+      FreeSpaceInObjects: 13
+      StorageDescription: MyCard
+      VolumeIdentifier: 585211725
+Special directories:
+   Default music folder: 0x00753908
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: Nokia N##
+   Synchronization partner: Nokia N##
+libmtp supported (playable) filetypes:
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+   ISO MPEG-1 Audio Layer 3
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+   Microsoft Windows Media Audio
+   Microsoft Advanced Systems Format
+   RIFF WAVE file
+
+Device Certificate:
+<...>
+OK.
diff --git a/logs/mtp-detect-nook-color.txt b/logs/mtp-detect-nook-color.txt
new file mode 100644
index 0000000..7886587
--- /dev/null
+++ b/logs/mtp-detect-nook-color.txt
@@ -0,0 +1,480 @@
+Device 0 (VID=18d1 and PID=2d02) is a Google Inc (for Barnes & Noble) Nook Color.
+   Found 1 device(s):
+   Google Inc (for Barnes & Noble): Nook Color (18d1:2d02) @ bus 2, dev 10
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 18d1
+   idProduct: 2d02
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 10
+      Device entry info:
+         Vendor: Google Inc (for Barnes & Noble)
+         Vendor id: 0x18d1
+         Product: Nook Color
+         Vendor id: 0x2d02
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: bn
+   Model: NookColor
+   Device version: 1.0
+   Serial number: 2011220156152008
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 7989768192
+      FreeSpaceInBytes: 3134971904
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD card
+      VolumeIdentifier: (null)
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 1075359744
+      FreeSpaceInBytes: 1073180672
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x000004e8
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-nook-glowlight-plus.txt b/logs/mtp-detect-nook-glowlight-plus.txt
new file mode 100644
index 0000000..9bc5e93
--- /dev/null
+++ b/logs/mtp-detect-nook-glowlight-plus.txt
@@ -0,0 +1,624 @@
+
+
+
+---
+
+** [bugs:#1504] New device: Nook Glowlight Plus VID=2080 PID=000a**
+
+**Status:** open
+**Group:** 1.1.10
+**Created:** Tue Jan 12, 2016 10:21 PM UTC by Anonymous
+**Last Updated:** Tue Jan 12, 2016 10:21 PM UTC
+**Owner:** nobody
+
+
+mtp-detect output: 
+
+libmtp version: 1.1.10
+
+Listing raw device(s)
+Device 0 (VID=2080 and PID=000a) is UNKNOWN in libmtp v1.1.10.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   2080:000a @ bus 1, dev 18
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 2080
+   idProduct: 000a
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 18
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x2080
+         Product: (null)
+         Vendor id: 0x000a
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: BarnesAndNoble
+   Model: NOOK
+   Device version: 1.0
+   Serial number: 5054210096553151
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   300a: MS AVI
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 3018891264
+      FreeSpaceInBytes: 2775420928
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+   Microsoft Advanced Systems Format
+   Audio Video Interleave
+   Microsoft Windows Media Video
+OK.
+
+
+
+lsusb -v output:
+Bus 001 Device 018: ID 2080:000a Barnes & Noble
+Device Descriptor:
+  bLength                18
+  bDescriptorType         1
+  bcdUSB               2.00
+  bDeviceClass            0
+  bDeviceSubClass         0
+  bDeviceProtocol         0
+  bMaxPacketSize0        64
+  idVendor           0x2080 Barnes & Noble
+  idProduct          0x000a
+  bcdDevice           99.99
+  iManufacturer           2 BarnesAndNoble
+  iProduct                3 BNRV510
+  iSerial                 4 5054210096553151
+  bNumConfigurations      1
+  Configuration Descriptor:
+    bLength                 9
+    bDescriptorType         2
+    wTotalLength           39
+    bNumInterfaces          1
+    bConfigurationValue     1
+    iConfiguration          0
+    bmAttributes         0x80
+      (Bus Powered)
+    MaxPower                2mA
+    Interface Descriptor:
+      bLength                 9
+      bDescriptorType         4
+      bInterfaceNumber        0
+      bAlternateSetting       0
+      bNumEndpoints           3
+      bInterfaceClass       255 Vendor Specific Class
+      bInterfaceSubClass    255 Vendor Specific Subclass
+      bInterfaceProtocol      0
+      iInterface              5 MTP
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x81  EP 1 IN
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x02  EP 2 OUT
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x82  EP 2 IN
+        bmAttributes            3
+          Transfer Type            Interrupt
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x001c  1x 28 bytes
+        bInterval               6
+Device Qualifier (for other device speed):
+  bLength                10
+  bDescriptorType         6
+  bcdUSB               2.00
+  bDeviceClass            0
+  bDeviceSubClass         0
+  bDeviceProtocol         0
+  bMaxPacketSize0        64
+  bNumConfigurations      1
+can't get debug descriptor: Resource temporarily unavailable
+Device Status:     0x0001
+  Self Powered
+
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/bugs/1504/>
+
+
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/>
\ No newline at end of file
diff --git a/logs/mtp-detect-nvidia-tegranote.txt b/logs/mtp-detect-nvidia-tegranote.txt
new file mode 100644
index 0000000..aacb9de
--- /dev/null
+++ b/logs/mtp-detect-nvidia-tegranote.txt
@@ -0,0 +1,486 @@
+
+
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   0955:cf02 @ bus 1, dev 5
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0955
+   idProduct: cf02
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 5
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0955
+         Product: (null)
+         Vendor id: 0xcf02
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: NVIDIA
+   Model: TegraNote-P1640
+   Device version: 1.0
+   Serial number: 05246131500360010550
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING da
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 13545422848
+      FreeSpaceInBytes: 10372182016
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 3956391936
+      FreeSpaceInBytes: 1727225856
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD card
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
diff --git a/logs/mtp-detect-oneplus-one-a2001.txt b/logs/mtp-detect-oneplus-one-a2001.txt
new file mode 100644
index 0000000..c0c6120
--- /dev/null
+++ b/logs/mtp-detect-oneplus-one-a2001.txt
@@ -0,0 +1,512 @@
+Device 0 (VID=2a70 and PID=9011) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+Error 1: Get Storage information failed.
+Error 2: PTP Layer error 02fe: get_handles_recursively(): could not get object handles.
+Error 2: Error 02fe: PTP: Protocol error, data expected
+libmtp version: 1.1.9
+
+Listing raw device(s)
+   Found 1 device(s):
+   2a70:9011 @ bus 1, dev 17
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 528
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 2a70
+   idProduct: 9011
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 17
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x2a70
+         Product: (null)
+         Vendor id: 0x9011
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: OnePlus
+   Model: ONE A2001
+   Device version: 1.0
+   Serial number: 97ccfa90
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0xc801
+   0x4006
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Battery level 90 of 100 (89%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-oneplus-one-two-a2005.txt b/logs/mtp-detect-oneplus-one-two-a2005.txt
new file mode 100644
index 0000000..971a150
--- /dev/null
+++ b/logs/mtp-detect-oneplus-one-two-a2005.txt
@@ -0,0 +1,513 @@
+Device 0 (VID=2a70 and PID=f003) is UNKNOWN in libmtp v1.1.10.
+Please report this VID/PID and the device model to the libmtp development team
+Error 1: Get Storage information failed.
+Error 2: PTP Layer error 02fe: get_handles_recursively(): could not get object handles.
+Error 2: Error 02fe: PTP: Protocol error, data expected
+libmtp version: 1.1.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   2a70:f003 @ bus 3, dev 4
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 528
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 2a70
+   idProduct: f003
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 3
+      Device number: 4
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x2a70
+         Product: (null)
+         Vendor id: 0xf003
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: OnePlus
+   Model: ONE A2005
+   Device version: 1.0
+   Serial number: 64bcbe55
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0xc801
+   0x4006
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Battery level 79 of 100 (79%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-oneplus-one.txt b/logs/mtp-detect-oneplus-one.txt
new file mode 100644
index 0000000..8239bcc
--- /dev/null
+++ b/logs/mtp-detect-oneplus-one.txt
@@ -0,0 +1,475 @@
+libmtp version: 1.1.6
+
+Listing raw device(s)
+Device 0 (VID=05c6 and PID=6765) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   05c6:6765 @ bus 2, dev 9
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 528
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 05c6
+   idProduct: 6765
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 9
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x05c6
+         Product: (null)
+         Vendor id: 0x6765
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: OnePlus
+   Model: One
+   Device version: 1.0
+   Serial number: 592055b2
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 58918895616
+      FreeSpaceInBytes: 49349349376
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Mémoire de stockage interne
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
\ No newline at end of file
diff --git a/logs/mtp-detect-oneplus-one3003.txt b/logs/mtp-detect-oneplus-one3003.txt
new file mode 100644
index 0000000..8915962
--- /dev/null
+++ b/logs/mtp-detect-oneplus-one3003.txt
@@ -0,0 +1,543 @@
+
+
+
+---
+
+** [support-requests:#225] please add one plus 3 support**
+
+**Status:** open
+**Group:** unknown release
+**Created:** Mon Aug 29, 2016 06:41 AM UTC by Anonymous
+**Last Updated:** Mon Aug 29, 2016 06:41 AM UTC
+**Owner:** nobody
+
+
+libmtp version: 1.1.10
+
+Listing raw device(s)
+Device 0 (VID=2a70 and PID=f003) is UNKNOWN in libmtp v1.1.10.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   2a70:f003 @ bus 1, dev 14
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 2a70
+   idProduct: f003
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 14
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x2a70
+         Product: (null)
+         Vendor id: 0xf003
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: OnePlus
+   Model: ONEPLUS A3003
+   Device version: 1.0
+   Serial number: 7adb2d55
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+   0xc801
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 56496054272
+      FreeSpaceInBytes: 50803654656
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Pamięć wewnętrzna
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Battery level 77 of 100 (76%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/support-requests/225/>
+
+
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/>
\ No newline at end of file
diff --git a/logs/mtp-detect-oppo-find-7a.txt b/logs/mtp-detect-oppo-find-7a.txt
new file mode 100644
index 0000000..7f00bdf
--- /dev/null
+++ b/logs/mtp-detect-oppo-find-7a.txt
@@ -0,0 +1,489 @@
+[aurelien@ArchLinux_T61p ~]$ mtp-detect 
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.
+libmtp version: 1.1.8
+
+Listing raw device(s)
+Device 0 (VID=22d9 and PID=2773) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   22d9:2773 @ bus 5, dev 20
+Attempting to connect device(s)
+ignoring libusb_claim_interface() = -6PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
+LIBMTP libusb: Attempt to reset device
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 528
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 22d9
+   idProduct: 2773
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 5
+      Device number: 20
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x22d9
+         Product: (null)
+         Vendor id: 0x2773
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: OPPO
+   Model: X9006
+   Device version: 1.0
+   Serial number: 8d5467e6
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 13026566144
+      FreeSpaceInBytes: 7956496384
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Stockage du téléphone
+      VolumeIdentifier: (null)
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 15635591168
+      FreeSpaceInBytes: 13526949888
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Carte SD
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: OPPO X9006
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
diff --git a/logs/mtp-detect-orange-nura.txt b/logs/mtp-detect-orange-nura.txt
new file mode 100644
index 0000000..817cc7d
--- /dev/null
+++ b/logs/mtp-detect-orange-nura.txt
@@ -0,0 +1,484 @@
+libmtp version: 1.1.8
+
+Listing raw device(s)
+Device 0 (VID=1bbb and PID=af2a) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   1bbb:af2a @ bus 1, dev 6
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 1bbb
+   idProduct: af2a
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 6
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x1bbb
+         Product: (null)
+         Vendor id: 0xaf2a
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Orange
+   Model: Orange Nura
+   Device version: 1.0
+   Serial number: 2f30b68e
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 13379883008
+      FreeSpaceInBytes: 11734974464
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Mémoire de stockage interne
+      VolumeIdentifier: (null)
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 31092375552
+      FreeSpaceInBytes: 31090966528
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Carte SD
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-panasonic-p905i.txt b/logs/mtp-detect-panasonic-p905i.txt
new file mode 100644
index 0000000..0f5f709
--- /dev/null
+++ b/logs/mtp-detect-panasonic-p905i.txt
@@ -0,0 +1,229 @@
+# mtp-detect
+libmtp version: 0.2.6.1
+
+Attempting to connect device(s)
+Potential MTP Device with VendorID:04da and ProductID:2145 responded to control
+message 2 with a response that was too short. Problems may arrise but continuing
+Device 1 (VID=04da and PID=2145) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+PTP: Opening session
+Detect: Successfully connected 1 devices
+USB low-level info:
+  Using kernel interface "usbfs"
+  bcdUSB: 512
+  bDeviceClass: 255
+  bDeviceSubClass: 0
+  bDeviceProtocol: 0
+  idVendor: 04da
+  idProduct: 2145
+  IN endpoint maxpacket: 64 bytes
+  OUT endpoint maxpacket: 64 bytes
+  Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: fe00                                   	..
+Microsoft device response to control message 1, CMD 0xfe:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Potential MTP Device with VendorID:04da and ProductID:2145 responded to control
+message 2 with a response that was too short. Problems may arrise but continuing
+Device info:
+  Manufacturer: NTT DoCoMo, Inc.
+  Model: FOMA P905i
+  Device version: 1.00
+  Serial number: 359932012198934
+  Vendor extension ID: 0x00000006
+  Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD:
+10.1;
+  Detected object size: 64 bits
+Supported operations:
+  1001: get device info
+  1002: Open session
+  1003: Close session
+  1004: Get storage IDs
+  1005: Get storage info
+  1007: Get object handles
+  1008: Get object info
+  100d: Send object
+  9808: Send object property list
+  9802: Get object property description
+  1014: Get device property description
+  1015: Get device property value
+  9801: Get object properties supported
+  9803: Get object property value
+  9805: Get object property list
+  1009: Get object
+  100b: Delete object
+  9806: Set object property list
+  9811: Set object references
+  9810: Get object references
+  1016: Set device property value
+  9103: Set license response
+  9104: Get sync list
+  9105: Send meter challenge query
+  9106: Get meter challenge
+  9107: Get meter response
+  9108: Clean data store
+  9109: Get license state
+  9201: Report Added/Deleted Items
+  9804: Set object property value
+Events supported:
+  None.
+Device Properties Supported:
+  0xd402: Friendly Device Name
+  0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+  b901: WMA
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc44: Name STRING data type GET/SET
+     dc07: ObjectFileName STRING data type GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+     dc9b: AlbumArtist STRING data type GET/SET
+     dc46: Artist STRING data type GET/SET
+     dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc8c: Genre STRING data type GET/SET
+     de93: SampleRate UINT32 data type enumeration: 32000, 44100, 48000,  READ
+ONLY
+     de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 393216, STEP
+1 READ ONLY
+     de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  READ ONLY
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+  ba03: Abstract Audio Album
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc44: Name STRING data type GET/SET
+     dc07: ObjectFileName STRING data type GET/SET
+     dc9b: AlbumArtist STRING data type GET/SET
+     dc46: Artist STRING data type GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,
+14344,  READ ONLY
+     dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 51200,
+STEP 1 READ ONLY
+     dc86: RepresentativeSampleData array of UINT8 data type byte array:
+GET/SET
+     dc83: RepresentativeSampleHeight UINT32 data type ANY 32BIT VALUE form
+GET/SET
+     dc84: RepresentativeSampleWidth UINT32 data type ANY 32BIT VALUE form
+GET/SET
+  3801: JPEG
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc44: Name STRING data type GET/SET
+     dc07: ObjectFileName STRING data type GET/SET
+  3808: JFIF
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc44: Name STRING data type GET/SET
+     dc07: ObjectFileName STRING data type GET/SET
+  ba05: Abstract Audio Video Playlist
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc07: ObjectFileName STRING data type GET/SET
+  3001: Association/Directory
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc07: ObjectFileName STRING data type GET/SET
+  3000: Undefined Type
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc44: Name STRING data type GET/SET
+     dc07: ObjectFileName STRING data type GET/SET
+Storage Devices:
+  StorageID: 0x20000001
+     StorageType: 0x0004
+     FilesystemType: 0x0000
+     AccessCapability: 0x0000
+     MaxCapacity: 2007105536
+     FreeSpaceInBytes: 1028214784
+     FreeSpaceInObjects: 4294967295
+     StorageDescription: FOMA P905i
+     VolumeIdentifier: FOMA P905i
+Special directories:
+  Default music folder: 0x80000004
+  Default playlist folder: 0x80000006
+  Default picture folder: 0x00000000
+  Default video folder: 0x80000005
+  Default organizer folder: 0x00000000
+  Default zencast folder: 0x00000000
+  Default album folder: 0x00000000
+  Default text folder: 0x00000000
+MTP-specific device properties:
+  Friendly name: FOMA P905i
+  Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+  Microsoft Windows Media Audio
+  JPEG file
+  JFIF file
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID
+private="1">MzU5OTMyMDEyMTk4OTM0AA==</UNIQUEID><PUBLICKEY
+private="1">Adw2RbDMqN3623OpbuQ7ITqI30m7NzRg9CzllExqcJp/+8S1mJp2Yg==</PUBLICKEY>
+<KEYDATA>n61BlX1zKoM02xgoMyJExkGQJ6E=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>A4K
++BK7dqQV+5CUHjZanbdQ1PUUzA9U3QqUY49T67mPxBwYiTH2+Yw==</MSDRM_SIGNATURE_VALUE><SY
+MSIGNATURE>CH1xzklFcUG9psOZGdkwk5iP1J8=</SYMSIGNATURE></CERTIFICATE><FALLBACK><S
+ECURITYVERSION>2.4.108.233</SECURITYVERSION><CERTIFICATE
+private="1">Adw2RbDMqN3623OpbuQ7ITqI30m7NzRg9CzllExqcJp/+8S1mJp2YgIEbOkRkrDP4J/p
+41/lyIJhR/emYvf2MsQP+42XHYI6OwPxQ9/U+ooMQRQc</CERTIFICATE></FALLBACK><CERTIFICATE
+type="GROUP"><DATA><NAME>FOMA P905i</NAME>
+   <MANUFACTURER>NTT DoCoMo,Inc.</MANUFACTURER>
+   <MAKE>FOMA</MAKE>
+   <DISTRIBUTOR>NTT DoCoMo,Inc.</DISTRIBUTOR>
+   <MODEL>FOMA P905i</MODEL>
+   <SECURITYLEVEL>2000</SECURITYLEVEL>
+   <HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR>
+   <HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR>
+   <FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR>
+   <FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>
+   <FEATURES>
+       <CLOCK>1</CLOCK>
+       <METERING>1</METERING>
+       <LICENSE_ACQ>1</LICENSE_ACQ>
+       <LICENSE_SYNC>1</LICENSE_SYNC>
+       <ENCRYPTION>0</ENCRYPTION>
+       <SYMMETRIC_OPT>1</SYMMETRIC_OPT>
+   </FEATURES>
+   <LIMITS>
+       <MAXCHAINDEPTH>2</MAXCHAINDEPTH>
+       <MAXLICENSESIZE>10240</MAXLICENSESIZE>
+       <MAXHEADERSIZE>5120</MAXHEADERSIZE>
+   </LIMITS><PUBLICKEY>HwUCI7gHH1ZybUNQRIoCo7lQbDueSYHFAd1hKelLIeIOpcHYSCkVRA==
+</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>dthTs0fWHk8uKep5zgaHpNgBQYZ5jlJenfYM1R
+FjHD+A66mQcmJ4ag==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>2125</AUT
+H_ID><PUBLICKEY>ThEIUCcbtn0ezIiysPDfAGofE3yX9h56YU2JOuXdI+4m9d2U5a6ITA==</PUBLIC
+KEY></DATA><MSDRM_SIGNATURE_VALUE>qWuUY8ejlOo0YtatVCNw2G1fllU7cKxFKzX65RdUjiIaRe
+E2LHw5Zw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnb
+YaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE
+3ccB47pqSRZsN88JmpROZk9uHIJvrTqo2tFebbaN84urCZ7iAWFOGQ==</MSDRM_SIGNATURE_VALUE
+</CERTIFICATE></DEVCERT>
+WMPInfo.xml Does not exist on this device
+PTP: Closing session
+OK.
\ No newline at end of file
diff --git a/logs/mtp-detect-pantech-crux.txt b/logs/mtp-detect-pantech-crux.txt
new file mode 100644
index 0000000..60b0c55
--- /dev/null
+++ b/logs/mtp-detect-pantech-crux.txt
@@ -0,0 +1,489 @@
+libmtp version: 0.3.7
+
+Listing raw device(s)
+   Found 1 device(s):
+   106c:3215 @ bus 0, dev 20
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 106c
+   idProduct: 3215
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 20
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x106c
+         Product: (null)
+         Vendor id: 0x3215
+         Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: fe00                                   	..
+Microsoft device response to control message 1, CMD 0xfe:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Device info:
+   Manufacturer: Qualcomm
+   Model: Windows Simulator
+   Device version: Qualcomm MTP1.0
+   Serial number: 000000000000000000a00000087f5e91
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0;microsoft.com/WMDRMPD: 10.1;microsoft.com/WMPPD: 10.0;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+Events supported:
+   0x4001
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+   3009: MP3
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 0, MAX 15000000, STEP 1 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   300b: MPEG
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 0, MAX 15000000, STEP 1 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 0, MAX 8000000, STEP 1 GET/SET
+      de97: ScanDepth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 0, MAX 60000, STEP 1 GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   b982: MP4
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 0, MAX 15000000, STEP 1 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 0, MAX 8000000, STEP 1 GET/SET
+      de97: ScanDepth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 0, MAX 60000, STEP 1 GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   300c: ASF
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 0, MAX 15000000, STEP 1 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 0, MAX 8000000, STEP 1 GET/SET
+      de97: ScanDepth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 0, MAX 60000, STEP 1 GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   3801: JPEG
+      dc87: Width UINT32 data type range: MIN 0, MAX 1920, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 1080, STEP 1 READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   3808: JFIF
+      dc87: Width UINT32 data type range: MIN 0, MAX 1920, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 1080, STEP 1 READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   b802: Firmware
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   b900: Undefined Audio
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 0, MAX 15000000, STEP 1 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 0, MAX 15000000, STEP 1 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   b980: Undefined Video
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 0, MAX 15000000, STEP 1 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 0, MAX 8000000, STEP 1 GET/SET
+      de97: ScanDepth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 0, MAX 60000, STEP 1 GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   b981: WMV
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 0, MAX 15000000, STEP 1 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 0, MAX 8000000, STEP 1 GET/SET
+      de97: ScanDepth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 0, MAX 60000, STEP 1 GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   ba03: Abstract Audio Album
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   ba04: Abstract Video Album
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 989528064
+      FreeSpaceInBytes: 518553600
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: External Memory
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000004
+   Default playlist folder: 0x00000006
+   Default picture folder: 0x00000005
+   Default video folder: 0x00000008
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000003
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: Pantech CDM8999
+   Synchronization partner: {00000000-0000-0000-0000-000000000000}
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+   Microsoft Advanced Systems Format
+   JPEG file
+   JFIF file
+   Firmware file
+   Undefined audio file
+   Microsoft Windows Media Audio
+   Undefined video file
+   Microsoft Windows Media Video
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">yoDDqRShyK2mYJZ9c/cSHuR7vjE=</UNIQUEID><PUBLICKEY private="1">pIaRCpBL7CdA3L2k7XMBsQ2pjhc4Axc+tWT6Pf4xVt2WPtbIld58ZA==</PUBLICKEY><KEYDATA>C0kz9Leve6CvWEMxy0WX72tISSk=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>mX+sDGRNKfz+P4u7nMqvRmVhnAry6Ut8bSRC/ohPVtaVA7VEJeucSg==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>hEqfgmU22fz1mRZ+ohqeC+y6nRk=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.116.37</SECURITYVERSION><CERTIFICATE private="1">pIaRCpBL7CdA3L2k7XMBsQ2pjhc4Axc+tWT6Pf4xVt2WPtbIld58ZAIEdCWXfBS24dtTDfqP4+LKEn+6oAvGSFp97V9Q91YVxXPCKGzoFR9M/ktp</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>VZW-1027</NAME>

+    <MANUFACTURER>Pantech</MANUFACTURER>

+    <MAKE>VZW-1027</MAKE>

+    <DISTRIBUTOR>Verizon Wireless</DISTRIBUTOR>

+    <MODEL>MOD 3.0</MODEL>

+    <SECURITYLEVEL>2000</SECURITYLEVEL>

+    <HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR>

+    <HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR>

+    <FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR>

+    <FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>

+    <FEATURES>

+        <CLOCK>1</CLOCK>

+        <METERING>1</METERING>

+        <LICENSE_ACQ>1</LICENSE_ACQ>

+        <LICENSE_SYNC>1</LICENSE_SYNC>

+        <ENCRYPTION>1</ENCRYPTION>

+        <SYMMETRIC_OPT>1</SYMMETRIC_OPT>

+    </FEATURES>

+    <LIMITS>

+        <MAXCHAINDEPTH>2</MAXCHAINDEPTH>

+        <MAXLICENSESIZE>10240</MAXLICENSESIZE>

+        <MAXHEADERSIZE>5120</MAXHEADERSIZE>

+    </LIMITS><PUBLICKEY>Y6MV8xqF9y35VN9RfsCP9iKSplr1NLp0jaHiHaW6IuLreMIg2mJAJg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>obcPJxemEe+KW+ITUaGimNdrGAq4s4TpdW+Ugte5M73h5s6i/b/TKw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>3977</AUTH_ID><PUBLICKEY>hWw0FU2gcELjQp1HY+QyN7NJ6iphRYcTTOjF4KwYn/3XSs9IU7n/WA==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>Jm5BL6JXSU3WYCu7zSiPEOXq60zUDPOl5JvF3LD709vDiyVmoT0GFQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>3tCoVsnL5lV+SaJl2I80CrO0FzNWrdTjsfD3E6rMyvKbJrohDOT/VQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+
+WMPInfo.xml file contents:
+<DeviceInfo>

+    <WMP DeviceID="{081E42D7-B691-4F2E-AAB0-25BDCF1EED73}" RelationshipID="{00000000-0000-0000-0000-000000000000}"/>

+</DeviceInfo>

+
+OK.
diff --git a/logs/mtp-detect-parrot-bebop-drone.txt b/logs/mtp-detect-parrot-bebop-drone.txt
new file mode 100644
index 0000000..ed1e0ef
--- /dev/null
+++ b/logs/mtp-detect-parrot-bebop-drone.txt
@@ -0,0 +1,505 @@
+$ mtp-detect

+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6

+

+Listing raw device(s)

+Device 0 (VID=19cf and PID=5038) is UNKNOWN.

+Please report this VID/PID and the device model to the libmtp development team

+   Found 1 device(s):

+   19cf:5038 @ bus 2, dev 25

+Attempting to connect device(s)

+Android device detected, assigning default bug flags

+USB low-level info:

+   bcdUSB: 512

+   bDeviceClass: 0

+   bDeviceSubClass: 0

+   bDeviceProtocol: 0

+   idVendor: 19cf

+   idProduct: 5038

+   IN endpoint maxpacket: 512 bytes

+   OUT endpoint maxpacket: 512 bytes

+   Raw device info:

+      Bus location: 2

+      Device number: 25

+      Device entry info:

+         Vendor: (null)

+         Vendor id: 0x19cf

+         Product: (null)

+         Vendor id: 0x5038

+         Device flags: 0x08008106

+Configuration 0, interface 0, altsetting 0:

+   Interface description contains the string "MTP"

+   Device recognized as MTP, no further probing.

+Device info:

+   Manufacturer: Parrot S.A.

+   Model: Bebop Drone

+   Device version: 1.0

+   Serial number: PI040339AA4L004367

+   Vendor extension ID: 0x00000006

+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;

+   Detected object size: 64 bits

+   Extensions:

+        microsoft.com: 1.0

+        android.com: 1.0

+Supported operations:

+   1001: get device info

+   1002: Open session

+   1003: Close session

+   1004: Get storage IDs

+   1005: Get storage info

+   1006: Get number of objects

+   1007: Get object handles

+   1008: Get object info

+   1009: Get object

+   100a: Get thumbnail

+   100b: Delete object

+   100c: Send object info

+   100d: Send object

+   1014: Get device property description

+   1015: Get device property value

+   1016: Set device property value

+   1017: Reset device property value

+   1019: Move object

+   101b: Get partial object

+   9801: Get object properties supported

+   9802: Get object property description

+   9803: Get object property value

+   9804: Set object property value

+   9805: Get object property list

+   9810: Get object references

+   9811: Set object references

+   95c1: Get Partial Object (64bit Offset)

+   95c2: Send Partial Object

+   95c3: Truncate Object

+   95c4: Begin Edit Object

+   95c5: End Edit Object

+Events supported:

+   0x4002

+   0x4003

+   0x4004

+   0x4005

+   0x4007

+   0xc801

+Device Properties Supported:

+   0xd402: Friendly Device Name

+   0xd401: Synchronization Partner

+Playable File (Object) Types and Object Properties Supported:

+   3000: Undefined Type

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dce0: Display Name STRING data type GET/SET

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc08: Date Created STRING data type READ ONLY

+      dc09: Date Modified STRING data type READ ONLY

+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY

+   3001: Association/Directory

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dce0: Display Name STRING data type GET/SET

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc08: Date Created STRING data type READ ONLY

+      dc09: Date Modified STRING data type READ ONLY

+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY

+   3004: Text

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dce0: Display Name STRING data type GET/SET

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc08: Date Created STRING data type READ ONLY

+      dc09: Date Modified STRING data type READ ONLY

+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY

+   3005: HTML

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dce0: Display Name STRING data type GET/SET

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc08: Date Created STRING data type READ ONLY

+      dc09: Date Modified STRING data type READ ONLY

+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY

+   3800: Defined Type

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dce0: Display Name STRING data type GET/SET

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc08: Date Created STRING data type READ ONLY

+      dc09: Date Modified STRING data type READ ONLY

+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY

+   3801: JPEG

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dce0: Display Name STRING data type GET/SET

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc08: Date Created STRING data type READ ONLY

+      dc09: Date Modified STRING data type READ ONLY

+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY

+   3802: TIFF EP

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dce0: Display Name STRING data type GET/SET

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc08: Date Created STRING data type READ ONLY

+      dc09: Date Modified STRING data type READ ONLY

+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY

+   3804: BMP

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dce0: Display Name STRING data type GET/SET

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc08: Date Created STRING data type READ ONLY

+      dc09: Date Modified STRING data type READ ONLY

+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY

+   3807: GIF

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dce0: Display Name STRING data type GET/SET

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc08: Date Created STRING data type READ ONLY

+      dc09: Date Modified STRING data type READ ONLY

+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY

+   3808: JFIF

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dce0: Display Name STRING data type GET/SET

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc08: Date Created STRING data type READ ONLY

+      dc09: Date Modified STRING data type READ ONLY

+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY

+   380b: PNG

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dce0: Display Name STRING data type GET/SET

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc08: Date Created STRING data type READ ONLY

+      dc09: Date Modified STRING data type READ ONLY

+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY

+   380d: TIFF

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dce0: Display Name STRING data type GET/SET

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc08: Date Created STRING data type READ ONLY

+      dc09: Date Modified STRING data type READ ONLY

+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY

+   380e: TIFF_IT

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dce0: Display Name STRING data type GET/SET

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc08: Date Created STRING data type READ ONLY

+      dc09: Date Modified STRING data type READ ONLY

+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY

+   380f: JP2

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dce0: Display Name STRING data type GET/SET

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc08: Date Created STRING data type READ ONLY

+      dc09: Date Modified STRING data type READ ONLY

+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY

+   3810: JPX

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dce0: Display Name STRING data type GET/SET

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc08: Date Created STRING data type READ ONLY

+      dc09: Date Modified STRING data type READ ONLY

+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY

+   380d: TIFF

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dce0: Display Name STRING data type GET/SET

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc08: Date Created STRING data type READ ONLY

+      dc09: Date Modified STRING data type READ ONLY

+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY

+   b902: OGG

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dce0: Display Name STRING data type GET/SET

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc08: Date Created STRING data type READ ONLY

+      dc09: Date Modified STRING data type READ ONLY

+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY

+   3009: MP3

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dce0: Display Name STRING data type GET/SET

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc08: Date Created STRING data type READ ONLY

+      dc09: Date Modified STRING data type READ ONLY

+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY

+   3008: MS Wave

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dce0: Display Name STRING data type GET/SET

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc08: Date Created STRING data type READ ONLY

+      dc09: Date Modified STRING data type READ ONLY

+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY

+   b901: WMA

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dce0: Display Name STRING data type GET/SET

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc08: Date Created STRING data type READ ONLY

+      dc09: Date Modified STRING data type READ ONLY

+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY

+   b903: AAC

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dce0: Display Name STRING data type GET/SET

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc08: Date Created STRING data type READ ONLY

+      dc09: Date Modified STRING data type READ ONLY

+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY

+   b906: FLAC

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dce0: Display Name STRING data type GET/SET

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc08: Date Created STRING data type READ ONLY

+      dc09: Date Modified STRING data type READ ONLY

+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY

+   b982: MP4

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dce0: Display Name STRING data type GET/SET

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc08: Date Created STRING data type READ ONLY

+      dc09: Date Modified STRING data type READ ONLY

+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY

+   ba03: Abstract Audio Album

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dce0: Display Name STRING data type GET/SET

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc08: Date Created STRING data type READ ONLY

+      dc09: Date Modified STRING data type READ ONLY

+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY

+   ba05: Abstract Audio Video Playlist

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dc07: Object File Name STRING data type GET/SET

+      dce0: Display Name STRING data type GET/SET

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc05: Association Type UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc08: Date Created STRING data type READ ONLY

+      dc09: Date Modified STRING data type READ ONLY

+      dc0d: Hidden UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc4f: Non Consumable UINT16 data type ANY 16BIT VALUE form READ ONLY

+Storage Devices:

+   StorageID: 0x00000004

+      StorageType: 0x0004 removable RAM storage

+      FilesystemType: 0x0002 generic hierarchical

+      AccessCapability: 0x0000 read/write

+      MaxCapacity: 7695343616

+      FreeSpaceInBytes: 7542398976

+      FreeSpaceInObjects: 1073741824

+      StorageDescription: media

+      VolumeIdentifier: (null)

+Special directories:

+   Default music folder: 0xffffffff

+   Default playlist folder: 0xffffffff

+   Default picture folder: 0xffffffff

+   Default video folder: 0xffffffff

+   Default organizer folder: 0xffffffff

+   Default zencast folder: 0xffffffff

+   Default album folder: 0xffffffff

+   Default text folder: 0xffffffff

+MTP-specific device properties:

+   Friendly name: BebopDrone-L004367

+   Synchronization partner: (NULL)

+libmtp supported (playable) filetypes:

+   Folder

+   Text file

+   HTML file

+   JPEG file

+   BMP bitmap file

+   GIF bitmap file

+   JFIF file

+   Portable Network Graphics

+   TIFF bitmap file

+   JP2 file

+   JPX file

+   TIFF bitmap file

+   Ogg container format

+   ISO MPEG-1 Audio Layer 3

+   RIFF WAVE file

+   Microsoft Windows Media Audio

+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3

+   Free Lossless Audio Codec (FLAC)

+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)

+   Abstract Album file

+   Abstract Playlist file

+OK.

diff --git a/logs/mtp-detect-pegatron-chagall.txt b/logs/mtp-detect-pegatron-chagall.txt
new file mode 100644
index 0000000..69f1d2d
--- /dev/null
+++ b/logs/mtp-detect-pegatron-chagall.txt
@@ -0,0 +1,462 @@
+mtp-detect:
+
+libmtp version: 1.1.5
+
+Listing raw device(s)
+Found 1 device(s):
+1d4d:5036 @ bus 2, dev 8
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+Interface has a kernel driver attached.
+bcdUSB: 512
+bDeviceClass: 0
+bDeviceSubClass: 0
+bDeviceProtocol: 0
+idVendor: 1d4d
+idProduct: 5036
+IN endpoint maxpacket: 512 bytes
+OUT endpoint maxpacket: 512 bytes
+Raw device info:
+Bus location: 2
+Device number: 8
+Device entry info:
+Vendor: (null)
+Vendor id: 0x1d4d
+Product: (null)
+Vendor id: 0x5036
+Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+Interface description contains the string "MTP"
+Device recognized as MTP, no further probing.
+Device info:
+Manufacturer: Pegatron
+Model: chagall
+Device version: 1.0
+Serial number: 015c7d7a49601e17
+Vendor extension ID: 0x00000006
+Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+Detected object size: 64 bits
+Extensions:
+microsoft.com: 1.0
+android.com: 1.0
+Supported operations:
+1001: get device info
+1002: Open session
+1003: Close session
+1004: Get storage IDs
+1005: Get storage info
+1006: Get number of objects
+1007: Get object handles
+1008: Get object info
+1009: Get object
+100a: Get thumbnail
+100b: Delete object
+100c: Send object info
+100d: Send object
+1014: Get device property description
+1015: Get device property value
+1016: Set device property value
+1017: Reset device property value
+101b: Get partial object
+9801: Get object properties supported
+9802: Get object property description
+9803: Get object property value
+9804: Set object property value
+9805: Get object property list
+9810: Get object references
+9811: Set object references
+95c1: Unknown (95c1)
+95c2: Unknown (95c2)
+95c3: Unknown (95c3)
+95c4: Unknown (95c4)
+95c5: Unknown (95c5)
+Events supported:
+0x4002
+0x4003
+0x4004
+0x4005
+Device Properties Supported:
+0xd401: Synchronization Partner
+0xd402: Friendly Device Name
+0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+3000: Undefined Type
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+3001: Association/Directory
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+3004: Text
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+3005: HTML
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+3008: MS Wave
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc9b: Album Artist STRING data type READ ONLY
+dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc8c: Genre STRING data type READ ONLY
+dc96: Composer STRING data type READ ONLY
+3009: MP3
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc9b: Album Artist STRING data type READ ONLY
+dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc8c: Genre STRING data type READ ONLY
+dc96: Composer STRING data type READ ONLY
+300b: MPEG
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc48: Description STRING data type READ ONLY
+3801: JPEG
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc48: Description STRING data type READ ONLY
+3802: TIFF EP
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+3807: GIF
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc48: Description STRING data type READ ONLY
+3808: JFIF
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+380b: PNG
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc48: Description STRING data type READ ONLY
+380d: TIFF
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+b901: WMA
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc9b: Album Artist STRING data type READ ONLY
+dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc8c: Genre STRING data type READ ONLY
+dc96: Composer STRING data type READ ONLY
+b902: OGG
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc9b: Album Artist STRING data type READ ONLY
+dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc8c: Genre STRING data type READ ONLY
+dc96: Composer STRING data type READ ONLY
+b903: AAC
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc9b: Album Artist STRING data type READ ONLY
+dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc8c: Genre STRING data type READ ONLY
+dc96: Composer STRING data type READ ONLY
+b982: MP4
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+b983: MP2
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+b984: 3GP
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc48: Description STRING data type READ ONLY
+ba05: Abstract Audio Video Playlist
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+ba10: WPL Playlist
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+ba11: M3U Playlist
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+ba14: PLS Playlist
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+ba82: XMLDocument
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+b906: FLAC
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form 
+UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+StorageID: 0x00010001
+StorageType: 0x0003 fixed RAM storage
+FilesystemType: 0x0002 generic hierarchical
+AccessCapability: 0x0000 read/write
+MaxCapacity: 12930121728
+FreeSpaceInBytes: 6556610560
+FreeSpaceInObjects: 1073741824
+StorageDescription: Внутренняя память
+VolumeIdentifier: (null)
+Special directories:
+Default music folder: 0x00000001
+Default playlist folder: 0xffffffff
+Default picture folder: 0x00000006
+Default video folder: 0xffffffff
+Default organizer folder: 0xffffffff
+Default zencast folder: 0xffffffff
+Default album folder: 0xffffffff
+Default text folder: 0xffffffff
+MTP-specific device properties:
+Friendly name: (NULL)
+Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+Folder
+Text file
+HTML file
+RIFF WAVE file
+ISO MPEG-1 Audio Layer 3
+MPEG video stream
+JPEG file
+GIF bitmap file
+JFIF file
+Portable Network Graphics
+TIFF bitmap file
+Microsoft Windows Media Audio
+Ogg container format
+Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+ISO MPEG-1 Audio Layer 2
+Abstract Playlist file
+XML file
+Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-pegatron-hudl2.txt b/logs/mtp-detect-pegatron-hudl2.txt
new file mode 100644
index 0000000..abab333
--- /dev/null
+++ b/logs/mtp-detect-pegatron-hudl2.txt
@@ -0,0 +1,485 @@
+libmtp version: 1.1.8
+
+Listing raw device(s)
+   Found 1 device(s):
+   1d4d:504a @ bus 1, dev 5
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 528
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 1d4d
+   idProduct: 504a
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 5
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x1d4d
+         Product: (null)
+         Vendor id: 0x504a
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Pegatron
+   Model: Hudl 2
+   Device version: 1.0
+   Serial number: 180914PE5159215
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+	0x9000..0x97FF MTP Vendor Extension Operation Code
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 9796620288
+      FreeSpaceInBytes: 5191577600
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 31678529536
+      FreeSpaceInBytes: 3466035200
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD card
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Martin's Hudl.
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-philips-aria.txt b/logs/mtp-detect-philips-aria.txt
new file mode 100644
index 0000000..67384ef
--- /dev/null
+++ b/logs/mtp-detect-philips-aria.txt
@@ -0,0 +1,490 @@
+libmtp version: 1.0.0
+
+Listing raw device(s)
+   Found 1 device(s):
+   Philips: GoGear SA1ARA08K/37 (0471:207c) @ bus 0, dev 9
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0471
+   idProduct: 207c
+   IN endpoint maxpacket: 64 bytes
+   OUT endpoint maxpacket: 64 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 9
+      Device entry info:
+         Vendor: Philips
+         Vendor id: 0x0471
+         Product: GoGear SA1ARA08K/37
+         Vendor id: 0x207c
+         Device flags: 0x00000002
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: 0100                                   	..
+Microsoft device response to control message 1, CMD 0x01:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Device info:
+   Manufacturer: Philips
+   Model: GoGear Aria
+   Device version: PH0E000613
+   Serial number: 09FA0000015B9CA90002DA6D74551CA9
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 10.0; microsoft.com/WMPPD: 11.0; audible.com: 1.0
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   101b: Get partial object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   100f: Format storage
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   9203: Get transferable playlist types
+   97f1: Unknown (97f1)
+   97f2: Unknown (97f2)
+   97f3: Unknown (97f3)
+   97f4: Unknown (97f4)
+   97f5: Unknown (97f5)
+   1010: Reset device
+   1012: Set object protection
+Events supported:
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd402: Friendly Device Name
+   0xd401: Synchronization Partner
+   0x5001: Battery Level
+   0xd405: Device Icon
+   0xd100: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 4300000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 80, 85,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 2304000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 17,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 352, 353,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 352, 353,  GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 30050, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 5000, MAX 768010, STEP 1 READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14340, 14343,  GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14340, 14343,  GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14340, 14343,  GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14340, 14343,  GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14340, 14343,  GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   b905: Unknown(b905)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   b907: Unknown(b907)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   b904: Audible.com Codec
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      da00: Unknown property UINT32 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      da02: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da01: Unknown property STRING data type READ ONLY
+      da03: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET
+      da04: Unknown property UINT128 data type READ ONLY
+   b301: Unknown(b301)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      da00: Unknown property UINT32 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      da02: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da01: Unknown property STRING data type READ ONLY
+      da03: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET
+      da04: Unknown property UINT128 data type READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 7901544448
+      FreeSpaceInBytes: 6680379392
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Internal Storage
+      VolumeIdentifier: 09FA0000015B9CA90002DA6D74551CA9
+Special directories:
+   Default music folder: 0x00000073
+   Default playlist folder: 0x00000066
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: GoGear Aria
+   Synchronization partner: GoGear Aria
+   Battery level 98 of 100 (98%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   R
diff --git a/logs/mtp-detect-philips-gogear-vibe-SA1VBE08.txt b/logs/mtp-detect-philips-gogear-vibe-SA1VBE08.txt
new file mode 100644
index 0000000..749a88d
--- /dev/null
+++ b/logs/mtp-detect-philips-gogear-vibe-SA1VBE08.txt
@@ -0,0 +1,496 @@
+libmtp version: 1.0.1
+
+Listing raw device(s)
+Device 0 (VID=0471 and PID=207b) is a Philips GoGear ViBE SA1VBE08.
+   Found 1 device(s):
+   Philips: GoGear ViBE SA1VBE08 (0471:207b) @ bus 1, dev 14
+Attempting to connect device(s)
+PTP_ERROR_IO: Trying again after re-initializing USB interface
+broken! dc020000 not found
+broken! dc020000 not found
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0471
+   idProduct: 207b
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 14
+      Device entry info:
+         Vendor: Philips
+         Vendor id: 0x0471
+         Product: GoGear ViBE SA1VBE08
+         Vendor id: 0x207b
+         Device flags: 0x00000002
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: 0100                                   	..
+Microsoft device response to control message 1, CMD 0x01:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Device responds to control message 2 with some data.
+Device info:
+   Manufacturer: Philips
+   Model: GoGear Vibe
+   Device version: PH0F000622
+   Serial number: 0AFA0000B82F4CB60002DA7900B34CB6
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 10.0; microsoft.com/WMPPD: 11.0; audible.com: 1.0
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   101b: Get partial object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   100f: Format storage
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   9203: Get transferable playlist types
+   97f1: Unknown (97f1)
+   97f2: Unknown (97f2)
+   97f3: Unknown (97f3)
+   97f4: Unknown (97f4)
+   97f5: Unknown (97f5)
+   1010: Reset device
+   1012: Set object protection
+Events supported:
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd402: Friendly Device Name
+   0xd401: Synchronization Partner
+   0x5001: Battery Level
+   0xd405: Device Icon
+   0xd100: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 4300000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 80, 85, GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000,
+22050, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 2304000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 17, GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 352, 353, GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 352, 353, GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 30050, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 5000, MAX 768010, STEP 1 READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14340, 14343,  GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14340, 14343,  GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14340, 14343,  GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14340, 14343,  GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14340, 14343,  GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   b905: Unknown(b905)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   b904: Audible.com Codec
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      da00: Unknown property UINT32 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      da02: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da01: Unknown property STRING data type READ ONLY
+      da03: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET
+      da04: Unknown property UINT128 data type READ ONLY
+   b301: Unknown(b301)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      da00: Unknown property UINT32 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      da02: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da01: Unknown property STRING data type READ ONLY
+      da03: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET
+      da04: Unknown property UINT128 data type READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 7918321664
+      FreeSpaceInBytes: 2764308480
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Internal Storage
+      VolumeIdentifier: 0AFA0000B82F4CB60002DA7900B34CB6
+Special directories:
+   Default music folder: 0x00000070
+   Default playlist folder: 0x0000041a
+   Default picture folder: 0x0000040c
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0x00000420
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: GoGear Vibe
+   Synchronization partner: GoGear Vibe
+   Battery level 82 of 100 (82%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   RIFF WAVE file
+   Microsoft Windows Media Audio
+   Microsoft Advanced Systems Format
+   Abstract Playlist file
+   JPEG file
+   GIF bitmap file
+   BMP bitmap file
+   Abstract Album file
+   Audible.com Audio Codec
+Unable to acquire device certificate, perhaps this device does not support
+this
+Error 2: PTP Layer error 02fe: get_device_unicode_property(): failed to
+get unicode property.
+Error 2: (Look this up in ptp.h for an explanation.)
diff --git a/logs/mtp-detect-philips-gogear-vibe-SA2VBE.txt b/logs/mtp-detect-philips-gogear-vibe-SA2VBE.txt
new file mode 100644
index 0000000..08fc987
--- /dev/null
+++ b/logs/mtp-detect-philips-gogear-vibe-SA2VBE.txt
@@ -0,0 +1,527 @@
+libmtp version: 1.0.2
+
+Listing raw device(s)
+   Found 1 device(s):
+   0471:20b7 @ bus 2, dev 4
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0471
+   idProduct: 20b7
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 4
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0471
+         Product: (null)
+         Vendor id: 0x20b7
+         Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: 0100                                   	..
+Microsoft device response to control message 1, CMD 0x01:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Device responds to control message 2 with some data.
+Device info:
+   Manufacturer: Philips
+   Model: Philips GoGear ViBE
+   Device version: 2.21
+   Serial number: 21F90000D9C690140002DCDF7FCA9014
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/DeviceServices: 1.0; microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 10.0; microsoft.com/WMPPD: 11.0; ; audible.com: 1.0
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   101b: Get partial object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   100f: Format storage
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   9203: Get transferable playlist types
+   97f1: Unknown (97f1)
+   97f2: Unknown (97f2)
+   97f3: Unknown (97f3)
+   97f4: Unknown (97f4)
+   97f5: Unknown (97f5)
+   97fa: Unknown (97fa)
+   1010: Reset device
+   1012: Set object protection
+   9807: Get interdependent property description
+Events supported:
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd402: Friendly Device Name
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd405: Device Icon
+   0x5001: Battery Level
+   0xd303: Unknown property
+   0xd100: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 4300000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 80, 85,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 2304000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 17,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 256000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 352, 353,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 352, 353,  GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 30050, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 5000, MAX 768010, STEP 1 READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14340, 14343,  GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14340, 14343,  GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14340, 14343,  GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14340, 14343,  GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   b908: Unknown(b908)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   b904: Audible.com Codec
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      da00: Unknown property UINT32 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      da02: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da01: Unknown property STRING data type READ ONLY
+      da03: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET
+      da04: Unknown property UINT128 data type READ ONLY
+   b301: Unknown(b301)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      da00: Unknown property UINT32 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      da02: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da01: Unknown property STRING data type READ ONLY
+      da03: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET
+      da04: Unknown property UINT128 data type READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 7847542784
+      FreeSpaceInBytes: 2288320512
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Internal Storage
+      VolumeIdentifier: 21F90000D9C690140002DCDF7FCA9014
+Special directories:
+   Default music folder: 0x0000006c
+   Default playlist folder: 0x00000074
+   Default picture folder: 0x0000006e
+   Default video folder: 0x0000006f
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Philips GoGear ViBE
+   Synchronization partner: Philips GoGear ViBE
+   Battery level 98 of 100 (98%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   RIFF WAVE file
+   Microsoft Windows Media Audio
+   Free Lossless Audio Codec (FLAC)
+   Microsoft Advanced Systems Format
+   Abstract Playlist file
+   JPEG file
+   BMP bitmap file
+   Abstract Album file
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Audible.com Audio Codec
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#19700126 19:55:06Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>
+OK.
diff --git a/logs/mtp-detect-philips-gogear-vibe-SA3VBE04PN_02.txt b/logs/mtp-detect-philips-gogear-vibe-SA3VBE04PN_02.txt
new file mode 100644
index 0000000..7a1e1e2
--- /dev/null
+++ b/logs/mtp-detect-philips-gogear-vibe-SA3VBE04PN_02.txt
@@ -0,0 +1,550 @@
+Error: Unable to open ~/.mtpz-data for reading.
+libmtp version: 1.1.5
+
+Listing raw device(s)
+   Found 1 device(s):
+   Philips: GoGear Vibe/02 (0471:20e5) @ bus 2, dev 5
+Attempting to connect device(s)
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0471
+   idProduct: 20e5
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 5
+      Device entry info:
+         Vendor: Philips
+         Vendor id: 0x0471
+         Product: GoGear Vibe/02
+         Vendor id: 0x20e5
+         Device flags: 0x00000002
+Device info:
+   Manufacturer: Philips
+   Model: Philips GoGear ViBE
+   Device version: 2.02
+   Serial number: 400400009D0CDC190002DCE4AF289C19
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/DeviceServices: 1.0; microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 10.0; microsoft.com/WMPPD: 11.0; ; audible.com: 1.0
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com/DeviceServices: 1.0
+        microsoft.com: 1.0
+        microsoft.com/WMDRMPD: 10.1
+        microsoft.com/WMPPD: 10.0
+        microsoft.com/WMPPD: 11.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   101b: Get partial object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   100f: Format storage
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   9203: Get transferable playlist types
+   97f1: Unknown (97f1)
+   97f2: Unknown (97f2)
+   97f3: Unknown (97f3)
+   97f4: Unknown (97f4)
+   97f5: Unknown (97f5)
+   97fa: Unknown (97fa)
+   1010: Reset device
+   1012: Set object protection
+   9807: Get interdependent property description
+Events supported:
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd402: Friendly Device Name
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd405: Device Icon
+   0x5001: Battery Level
+   0xd303: Unknown property
+   0xd100: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 4300000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 80, 85,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 2304000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 17,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 256000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 352, 353,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 352, 353,  GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 30050, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 5000, MAX 768010, STEP 1 READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14340, 14343,  GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14340, 14343,  GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14340, 14343,  GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14340, 14343,  GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14340, 14343,  GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   b908: Unknown(b908)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   b904: Audible.com Codec
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      da00: Unknown property UINT32 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      da02: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da01: Unknown property STRING data type READ ONLY
+      da03: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET
+      da04: Unknown property UINT128 data type READ ONLY
+   b301: Unknown(b301)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      da00: Unknown property UINT32 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      da02: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da01: Unknown property STRING data type READ ONLY
+      da03: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET
+      da04: Unknown property UINT128 data type READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 3757039616
+      FreeSpaceInBytes: 3664297984
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Internal Storage
+      VolumeIdentifier: 400400009D0CDC190002DCE4AF289C19
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0x000000a9
+   Default picture folder: 0x0000006c
+   Default video folder: 0x000000a2
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Philips GoGear ViBE
+   Synchronization partner: Philips GoGear ViBE
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   RIFF WAVE file
+   Microsoft Windows Media Audio
+   Free Lossless Audio Codec (FLAC)
+   Microsoft Advanced Systems Format
+   Folder
+   Abstract Playlist file
+   JPEG file
+   GIF bitmap file
+   BMP bitmap file
+   Abstract Album file
+   Audible.com Audio Codec
+OK.
diff --git a/logs/mtp-detect-philips-hdd1630_17.txt b/logs/mtp-detect-philips-hdd1630_17.txt
new file mode 100644
index 0000000..e789cc1
--- /dev/null
+++ b/logs/mtp-detect-philips-hdd1630_17.txt
@@ -0,0 +1,250 @@
+USB low-level info:
+  Using kernel interface "usbfs"
+  bcdUSB: 512
+  bDeviceClass: 0
+  bDeviceSubClass: 0
+  bDeviceProtocol: 0
+  bMaxPacketSize0: 64
+  idVendor: 0471
+  idProduct: 014c
+Device info:
+  Manufacturer: Philips
+  Model: Philips PTP device
+  Device version: PP5022AF-05.40-PP07-05.40-MG02-00.01-DT, 1.3
+  Serial number: DNP635B4YNGN9G
+  Vendor extension ID: 0x00000006
+  Vendor extension description: microsoft.com/WMDRMPD:10.1;microsoft.com/WMPPD: 10.0; portalplayer.com: 1.0;
+Supported operations:
+  0x1014
+  0x1015
+  0x1001
+  0x1002
+  0x1003
+  0x1004
+  0x1005
+  0x1007
+  0x1008
+  0x1009
+  0x101b
+  0x100c
+  0x100d
+  0x100b
+  0x1012
+  0x100f
+  0x1016
+  0x9801
+  0x9802
+  0x9803
+  0x9805
+  0x9806
+  0x9810
+  0x9811
+  0x9201
+  0x9101
+  0x9102
+  0x9103
+  0x9104
+  0x9105
+  0x9106
+  0x9107
+  0x9108
+  0x9109
+  0x910a
+  0x910b
+Events supported:
+  None.
+Device Properties Supported:
+  0x5001: Battery Level
+  0xd101: Secure Time
+  0xd102: Device Certificate
+  0xd401: Synchronization Partner
+  0xd402: Device Friendly Name
+Playable File (Object) Types and Object Properties Supported:
+  3001: Association/Directory
+    dc01: StorageID
+    dc0b: ParentObject
+    dc07: ObjectFileName
+    dc04: ObjectSize
+    dc02: ObjectFormat
+    dc41: PersistantUniqueObjectIdentifier
+    dc4f: NonConsumable
+    dc03: ProtectionStatus
+    dc09: DateModified
+  3009: MP3
+    dc01: StorageID
+    dc0b: ParentObject
+    dc07: ObjectFileName
+    dc04: ObjectSize
+    dc02: ObjectFormat
+    dc41: PersistantUniqueObjectIdentifier
+    dc4f: NonConsumable
+    dc03: ProtectionStatus
+    dc09: DateModified
+    dc8b: Track
+    dc99: OriginalReleaseDate
+    dc0a: Keywords
+    dc44: Name
+    dc46: Artist
+    dc8c: Genre
+    dc9a: AlbumName
+    dc89: Duration
+    de9a: AudioBitRate
+    de93: SampleRate
+    de94: NumberOfChannels
+    dc8a: Rating
+    dc91: UseCount
+    d901: unknown(d901)
+  3008: MS Wave
+    dc01: StorageID
+    dc0b: ParentObject
+    dc07: ObjectFileName
+    dc04: ObjectSize
+    dc02: ObjectFormat
+    dc41: PersistantUniqueObjectIdentifier
+    dc4f: NonConsumable
+    dc03: ProtectionStatus
+    dc09: DateModified
+    dc8b: Track
+    dc99: OriginalReleaseDate
+    dc0a: Keywords
+    dc44: Name
+    dc46: Artist
+    dc8c: Genre
+    dc9a: AlbumName
+    dc89: Duration
+    de9a: AudioBitRate
+    de93: SampleRate
+    de94: NumberOfChannels
+    dc8a: Rating
+    dc91: UseCount
+    d901: unknown(d901)
+  3801: JPEG
+    dc01: StorageID
+    dc0b: ParentObject
+    dc07: ObjectFileName
+    dc04: ObjectSize
+    dc02: ObjectFormat
+    dc41: PersistantUniqueObjectIdentifier
+    dc4f: NonConsumable
+    dc03: ProtectionStatus
+    dc09: DateModified
+    dc99: OriginalReleaseDate
+    dc44: Name
+    dc8a: Rating
+  ba05: Abstract Audio Video Playlist
+    dc01: StorageID
+    dc0b: ParentObject
+    dc07: ObjectFileName
+    dc04: ObjectSize
+    dc02: ObjectFormat
+    dc41: PersistantUniqueObjectIdentifier
+    dc4f: NonConsumable
+    dc03: ProtectionStatus
+    dc09: DateModified
+    ba03: Abstract Audio Album
+    dc01: StorageID
+    dc0b: ParentObject
+    dc07: ObjectFileName
+    dc04: ObjectSize
+    dc02: ObjectFormat
+    dc41: PersistantUniqueObjectIdentifier
+    dc4f: NonConsumable
+    dc03: ProtectionStatus
+    dc09: DateModified
+    dc0a: Keywords
+    dc44: Name
+    dc46: Artist
+    dc8c: Genre
+    dc81: RepresentativeSampleFormat
+    dc86: RepresentativeSampleData
+    dc83: RepresentativeSampleHeight
+    dc84: RepresentativeSampleWidth
+  b901: WMA
+    dc01: StorageID
+    dc0b: ParentObject
+    dc07: ObjectFileName
+    dc04: ObjectSize
+    dc02: ObjectFormat
+    dc41: PersistantUniqueObjectIdentifier
+    dc4f: NonConsumable
+    dc03: ProtectionStatus
+    dc09: DateModified
+    dc8b: Track
+    dc99: OriginalReleaseDate
+    dc0a: Keywords
+    dc44: Name
+    dc46: Artist
+    dc8c: Genre
+    dc9a: AlbumName
+    dc89: Duration
+    de9a: AudioBitRate
+    de93: SampleRate
+    de94: NumberOfChannels
+    de99: AudioWAVECodec
+    dc8a: Rating
+    dc91: UseCount
+    d901: unknown(d901)
+Special directories:
+  Default music folder: 0x00010000
+  Default playlist folder: 0x00000000
+  Default picture folder: 0x00780000
+  Default video folder: 0x00000000
+  Default organizer folder: 0x00000000
+  Default zencast folder: 0x00000000
+MTP-specific device properties:
+  Friendly name: Philips GoGear
+  Synchronization partner: (NULL)
+  Total bytes on device: 6128361268 (5844 MB)
+  Free bytes on device: 2079547188 (1983 MB)
+  Storage description: "Philips HDD"
+  Volume label: "GOGEAR "
+  Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+  ISO MPEG Audio Layer 3
+  RIFF WAVE file
+  JPEG file
+  Microsoft Windows Media Audio
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20060902
+04:49:38Z#</VALUE><FLAG>DRM_CLK_NEEDS_REFRESH</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE
+type="DEVICE"><DATA><UNIQUEID
+private="1">ICAgICAgRE5QNjM1QjRZTkdOOUc=</UNIQUEID><PUBLICKEY
+private="1">2BNZryntm+AwFPQB+/7ps8kBmiKjPjcTTQx5tk2JLuM9EbgQA2/hbg==</PUBLICKEY><KEYDATA>/MVcBaRhfnQtcg5PdNT/1gi4ldE=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>vJq0MP4vNqqz2va7X9cVJ5RHlGWEUGv+uaYXKlR95v2RoQHBqSAbDg==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>OsXzV9+S6QPcaWrYUg+sdyNGbGs=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.102.75</SECURITYVERSION><CERTIFICATE
+private="1">2BNZryntm+AwFPQB+/7ps8kBmiKjPjcTTQx5tk2JLuM9EbgQA2/hbgIEZkt0I+gaMIFOO/X9qhavGtcu6qagfgvD3pGQOV/4kTqGaLPyhUAdLZYm</CERTIFICATE></FALLBACK><CERTIFICATE
+type="GROUP"><DATA><NAME>HDD16xx</NAME>
+<MANUFACTURER>MiTAC Technology Corp.</MANUFACTURER>
+<MAKE>Philips Mobile Infotainment</MAKE>
+<DISTRIBUTOR>Koninklijke Philips Electronics
+N.V.</DISTRIBUTOR>
+<MODEL>00</MODEL>
+<SECURITYLEVEL>2000</SECURITYLEVEL>
+<HARDWARE_VER_MAJOR>00</HARDWARE_VER_MAJOR>
+<HARDWARE_VER_MINOR>10</HARDWARE_VER_MINOR>
+<FIRMWARE_VER_MAJOR>01</FIRMWARE_VER_MAJOR>
+<FIRMWARE_VER_MINOR>00</FIRMWARE_VER_MINOR>
+<FEATURES>
+<CLOCK>2</CLOCK>
+<SECURECLOCK>
+
+<URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL>
+
+<PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY>
+</SECURECLOCK>
+<METERING>1</METERING>
+<LICENSE_ACQ>0</LICENSE_ACQ>
+<LICENSE_SYNC>1</LICENSE_SYNC>
+<ENCRYPTION>1</ENCRYPTION>
+<SYMMETRIC_OPT>1</SYMMETRIC_OPT>
+</FEATURES>
+<LIMITS>
+<MAXCHAINDEPTH>5</MAXCHAINDEPTH>
+<MAXLICENSESIZE>10240</MAXLICENSESIZE>
+<MAXHEADERSIZE>5120</MAXHEADERSIZE>
+
+</LIMITS><PUBLICKEY>Z3qaAjhCqOB1esbbg4/nbJeQJG9j0muW3uUMpVjhx9PMjgoPwMllOQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>kROhCPVXSrV6kWuObwqLBzkjSHqKPyNYf0LLwJ7/p48OSHKhUa7wIw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>431</AUTH_ID><PUBLICKEY>cKc3BWl4UETOcysM5vgzRIHY5l7Ukk0CajoL6evzhUtNVTCERxvcgA==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>RQzUsdEClPGWTNiHmu2V0FLW2HASfdGSj2M3NuL1iTK0Ncub4UWlAA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>gnPPdAiiJrQaSiz+HHqsEwpcmTNzF7iqVX8ECdgEoSXLDuKZ+hX1hA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
diff --git a/logs/mtp-detect-philips-hdd6320_00.txt b/logs/mtp-detect-philips-hdd6320_00.txt
new file mode 100644
index 0000000..6824f0d
--- /dev/null
+++ b/logs/mtp-detect-philips-hdd6320_00.txt
@@ -0,0 +1,252 @@
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0471
+   idProduct: 014b
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000000
+Device info:
+   Manufacturer: Philips
+   Model: Philips PTP device
+   Device version: PP5022AF-05.40-PP07-05.40-MG02-00.01-DT, 2.1
+   Serial number:            95960199M
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/WMDRMPD:10.1;microsoft.com/WMPPD: 10.0; portalplayer.com: 1.0; 
+Supported operations:
+   1014: Get device property description
+   1015: Get device property value
+   1001: Get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   101b: Get partial object
+   100c: Send object info
+   100d: Send object
+   100b: Delete object
+   1012: Set object protection
+   100f: Format storage
+   1016: Set device property value
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9805: Get object property list
+   9806: Set object property list
+   9810: Get object references
+   9811: Set object references
+   9201: Unknown(9201)
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Set meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Unknown(910a)
+   910b: Unknown(910b)
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd401: Synchronization Partner
+   0xd402: Device Friendly Name
+Playable File (Object) Types and Object Properties Supported:
+   3001: Association/Directory
+      dc01: StorageID
+      dc0b: ParentObject
+      dc07: ObjectFileName
+      dc04: ObjectSize
+      dc02: ObjectFormat
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc03: ProtectionStatus
+      dc09: DateModified
+   3009: MP3
+      dc01: StorageID
+      dc0b: ParentObject
+      dc07: ObjectFileName
+      dc04: ObjectSize
+      dc02: ObjectFormat
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc03: ProtectionStatus
+      dc09: DateModified
+      dc8b: Track
+      dc99: OriginalReleaseDate
+      dc0a: Keywords
+      dc44: Name
+      dc46: Artist
+      dc8c: Genre
+      dc9a: AlbumName
+      dc89: Duration
+      de9a: AudioBitRate
+      de93: SampleRate
+      de94: NumberOfChannels
+      dc8a: Rating
+      dc91: UseCount
+      d901: unknown(d901)
+   3008: MS Wave
+      dc01: StorageID
+      dc0b: ParentObject
+      dc07: ObjectFileName
+      dc04: ObjectSize
+      dc02: ObjectFormat
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc03: ProtectionStatus
+      dc09: DateModified
+      dc8b: Track
+      dc99: OriginalReleaseDate
+      dc0a: Keywords
+      dc44: Name
+      dc46: Artist
+      dc8c: Genre
+      dc9a: AlbumName
+      dc89: Duration
+      de9a: AudioBitRate
+      de93: SampleRate
+      de94: NumberOfChannels
+      dc8a: Rating
+      dc91: UseCount
+      d901: unknown(d901)
+   3801: JPEG
+      dc01: StorageID
+      dc0b: ParentObject
+      dc07: ObjectFileName
+      dc04: ObjectSize
+      dc02: ObjectFormat
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc03: ProtectionStatus
+      dc09: DateModified
+      dc99: OriginalReleaseDate
+      dc44: Name
+      dc8a: Rating
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID
+      dc0b: ParentObject
+      dc07: ObjectFileName
+      dc04: ObjectSize
+      dc02: ObjectFormat
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc03: ProtectionStatus
+      dc09: DateModified
+   ba03: Abstract Audio Album
+      dc01: StorageID
+      dc0b: ParentObject
+      dc07: ObjectFileName
+      dc04: ObjectSize
+      dc02: ObjectFormat
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc03: ProtectionStatus
+      dc09: DateModified
+      dc0a: Keywords
+      dc44: Name
+      dc46: Artist
+      dc8c: Genre
+      dc81: RepresentativeSampleFormat
+      dc86: RepresentativeSampleData
+      dc83: RepresentativeSampleHeight
+      dc84: RepresentativeSampleWidth
+   b901: WMA
+      dc01: StorageID
+      dc0b: ParentObject
+      dc07: ObjectFileName
+      dc04: ObjectSize
+      dc02: ObjectFormat
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc03: ProtectionStatus
+      dc09: DateModified
+      dc8b: Track
+      dc99: OriginalReleaseDate
+      dc0a: Keywords
+      dc44: Name
+      dc46: Artist
+      dc8c: Genre
+      dc9a: AlbumName
+      dc89: Duration
+      de9a: AudioBitRate
+      de93: SampleRate
+      de94: NumberOfChannels
+      de99: AudioWAVECodec
+      dc8a: Rating
+      dc91: UseCount
+      d901: unknown(d901)
+Special directories:
+   Default music folder: 0x00050000
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00030000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: Philips GoGear
+   Synchronization partner: (NULL)
+   Total bytes on device: 29972721172 (28584 MB)
+   Free bytes on device: 29846908436 (28464 MB)
+   Storage description: "Philips HDD"
+   Volume label: "VOL0_GOGEAR_95960199M"
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   ISO MPEG Audio Layer 3
+   RIFF WAVE file
+   JPEG file
+   Microsoft Windows Media Audio
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20051224
+06:36:39Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE
+type="DEVICE"><DATA><UNIQUEID
+private="1">ICAgICAgICAgICA5NTk2MDE5OU0=</UNIQUEID><PUBLICKEY
+private="1">jBhMqa0lBCpOYWsFK8LkfJAdLH945Kv0pd3mhfqmc5PKin6qmwxCFw==</PUBLICKEY><KEYDATA>29XvtV3A70+LV4diJUsGJ3wV4xI=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>tZUX1sBduQ4NrV/xMaAHIz7GfyNO8w5IUGIM2ORrAvMt0vz3qFL6Xg==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>O4YrsP5oIBYnxd98jdocdKXlYXw=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.102.77</SECURITYVERSION><CERTIFICATE
+private="1">jBhMqa0lBCpOYWsFK8LkfJAdLH945Kv0pd3mhfqmc5PKin6qmwxCFwIEZk3zHJZ2v8JcDBZ2lvcL07mtOM8xKZR8jikVFBru9znaDWLLXgIltZ1u</CERTIFICATE></FALLBACK><CERTIFICATE
+type="GROUP"><DATA><NAME>HDD63xx</NAME>
+    <MANUFACTURER>MiTAC Technology Corp.</MANUFACTURER>
+    <MAKE>Philips Mobile Infotainment</MAKE>
+    <DISTRIBUTOR>Koninklijke Philips Electronics
+N.V.</DISTRIBUTOR>
+    <MODEL>00</MODEL>
+    <SECURITYLEVEL>2000</SECURITYLEVEL>
+    <HARDWARE_VER_MAJOR>00</HARDWARE_VER_MAJOR>
+    <HARDWARE_VER_MINOR>10</HARDWARE_VER_MINOR>
+    <FIRMWARE_VER_MAJOR>01</FIRMWARE_VER_MAJOR>
+    <FIRMWARE_VER_MINOR>00</FIRMWARE_VER_MINOR>
+    <FEATURES>
+        <CLOCK>2</CLOCK>
+        <SECURECLOCK>
+           
+<URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL>
+           
+<PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY>
+        </SECURECLOCK>
+        <METERING>1</METERING>
+        <LICENSE_ACQ>0</LICENSE_ACQ>
+        <LICENSE_SYNC>1</LICENSE_SYNC>
+        <ENCRYPTION>1</ENCRYPTION>
+        <SYMMETRIC_OPT>1</SYMMETRIC_OPT>
+    </FEATURES>
+    <LIMITS>
+        <MAXCHAINDEPTH>5</MAXCHAINDEPTH>
+        <MAXLICENSESIZE>10240</MAXLICENSESIZE>
+        <MAXHEADERSIZE>5120</MAXHEADERSIZE>
+   
+</LIMITS><PUBLICKEY>iGsKDv08tZMvr6joKFlDDsGWT1IFtS8dN1g3w397Te6K1Vf0Hmliaw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>WRgzjEdWwFxP1Y+LXq/HmDjXynKlQ1kcEZ7E/iFslde05/pdH7CJHA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>433</AUTH_ID><PUBLICKEY>yP70OqmSYjdJMD8v4GtqIwZM6Yfn0jm4klhiFfv2RTPSUXme8q6ahA==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>Crh93A1ab47cAuDaAwKCb6+07yd6fenkSfGt+UXP93LL7Ddz628RTA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>Fzxv+lyKgidFdY65Dhau17C8iR0YQzvgVP+fSwalJLvym9QEyZdqEQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
diff --git a/logs/mtp-detect-philips-psa610.txt b/logs/mtp-detect-philips-psa610.txt
new file mode 100644
index 0000000..df42752
--- /dev/null
+++ b/logs/mtp-detect-philips-psa610.txt
@@ -0,0 +1,265 @@
+Attempting to connect device(s)
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0471
+   idProduct: 0181
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000000
+Device info:
+   Manufacturer: Royal Philips Electronics
+   Model: Philips
+   Device version: PFS-1.2
+   Serial number: 0B0707661E454324C10D43030000F500
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/WMDRMPD: 10.1
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1010: Reset device
+   1012: Set object protection
+   1013: Power down device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9810: Get object references
+   9811: Set object references
+   9808: Send object property list
+   9100: Unknown(9100)
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd402: Device Friendly Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3009: MP3
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc07: ObjectFileName STRING data type READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,
+READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000,
+22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 430000, STEP
+1 READ ONLY
+   b901: WMA
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc07: ObjectFileName STRING data type READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,
+READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000,
+22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 430000, STEP
+1 READ ONLY
+      de99: AudioWAVECodec UINT16 data type enumeration: 353,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+   3001: Association/Directory
+      dc07: ObjectFileName STRING data type READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,
+READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc05: AssociationType UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc07: ObjectFileName STRING data type READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,
+READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+   3000: Undefined Type
+      dc07: ObjectFileName STRING data type READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,
+READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+   3008: MS Wave
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc07: ObjectFileName STRING data type READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,
+READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000,
+22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 430000, STEP
+1 READ ONLY
+      de99: AudioWAVECodec UINT16 data type enumeration: 353,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+Storage Devices:
+   StorageID: 0x00030001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 3012194304
+      FreeSpaceInBytes: 1737052160
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: My C Drive: To be filled by UI
+      VolumeIdentifier: 2222222222
+Special directories:
+   Default music folder: 0x40000006
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: Philips
+   Synchronization partner: (NULL)
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   RIFF WAVE file
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20070502
+19:41:42Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID
+private="1">ċććŦĞÅ
+ŃĤǁčŃăĀĀǵĀĘ
+āÄ

+ęăųũćĈĉěĕĈćƎ</UNIQUEID><PUBLICKEY
+private="1">hd7dNXtiMXooeM6ccYqgxWIEKzG/tBhh1ZOgno52A/naYSvzIzPBbw==</PUBLICKEY>
+<KEYDATA>gTXU21BhNSP2zFhtArjuHhXPc0U=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>BHK
+H3KksTkh6EA2y9t5y2yNfD1OeYicPvJStH9gCpgfX7VM26q0ceQ==</MSDRM_SIGNATURE_VALUE><SY
+MSIGNATURE>YBrqCUevZbLYeGqCYGhBhd+gGas=</SYMSIGNATURE></CERTIFICATE><FALLBACK><S
+ECURITYVERSION>2.4.102.55</SECURITYVERSION><CERTIFICATE
+private="1">hd7dNXtiMXooeM6ccYqgxWIEKzG/tBhh1ZOgno52A/naYSvzIzPBbwIEZjcxSYYks3ew
+05i95w6ev6NP7R5UF8b7BqGgIvdTYgSLoM/tjsXxXkZl</CERTIFICATE></FALLBACK><CERTIFICATE
+type="GROUP"><DATA><NAME>Psa61x</NAME>
+    <MANUFACTURER>Koninklijke Philips Electronics N.V.</MANUFACTURER>
+    <MAKE>Philips Mobile Infotainment</MAKE>
+    <DISTRIBUTOR>Koninklijke Philips Electronics N.V.</DISTRIBUTOR>
+    <MODEL>00</MODEL>
+    <SECURITYLEVEL>2000</SECURITYLEVEL>
+    <HARDWARE_VER_MAJOR>02</HARDWARE_VER_MAJOR>
+    <HARDWARE_VER_MINOR>00</HARDWARE_VER_MINOR>
+    <FIRMWARE_VER_MAJOR>01</FIRMWARE_VER_MAJOR>
+    <FIRMWARE_VER_MINOR>00</FIRMWARE_VER_MINOR>
+    <FEATURES>
+        <CLOCK>2</CLOCK>
+        <SECURECLOCK>
+            <URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL>
+            <PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==<
+/PUBLICKEY>
+        </SECURECLOCK>
+        <METERING>1</METERING>
+        <LICENSE_ACQ>0</LICENSE_ACQ>
+        <LICENSE_SYNC>1</LICENSE_SYNC>
+        <ENCRYPTION>1</ENCRYPTION>
+        <SYMMETRIC_OPT>1</SYMMETRIC_OPT>
+    </FEATURES>
+    <LIMITS>
+        <MAXCHAINDEPTH>5</MAXCHAINDEPTH>
+        <MAXLICENSESIZE>10240</MAXLICENSESIZE>
+        <MAXHEADERSIZE>5120</MAXHEADERSIZE>
+    </LIMITS><PUBLICKEY>8BqYlFFS7066KuzgTsIW1fguSEyup8i7958ILEmYuaiYLJg6DaJ7Zw==
+</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>XCxTnySNWk4UJ/7hYuTIZbFxdxRh55FqZPmSUp
+9ZC1qvALdRXLCTiQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>411</AUTH
+_ID><PUBLICKEY>EL+0DmlzIsP6o3ZZcKTs638MS4ngz6/vGYGSaDqN/mqhj+gyyXejFQ==</PUBLICK
+EY></DATA><MSDRM_SIGNATURE_VALUE>TfZ3N4Zaqmnf2BMrvzhur1a1tw6jaMymf1K+ntUTbYrTdiH
+pDCJoFw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnb
+YaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE
+DYazXJOIDqDLhwSbal+IiwpjrlGa9dCZ9wf51TUwbfnYSS334pekHw==</MSDRM_SIGNATURE_VALUE
+</CERTIFICATE></DEVCERT>
+
+Device description WMPInfo.xml file:
+<DeviceInfo>
+    <WMP DeviceID="{9E902020-3AD3-436D-BD91-F97AD54BB865}"
+RelationshipID="{00000000-0000-0000-0000-000000000000}"/>
+</DeviceInfo>
+
+OK.
diff --git a/logs/mtp-detect-philips-sa5145.txt b/logs/mtp-detect-philips-sa5145.txt
new file mode 100644
index 0000000..c119b73
--- /dev/null
+++ b/logs/mtp-detect-philips-sa5145.txt
@@ -0,0 +1,249 @@
+Attempting to connect device(s)
+PTP: Opening session
+PTP_ERROR_IO: Trying again after re-initializing USB interface
+PTP: Opening session
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0471
+   idProduct: 0857
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000002
+Microsoft device descriptor 0xee:
+        0000: 1203 4d00 5300 4600 5400 3100 3000 3000   ..M.S.F.T.1.0.0.
+        0010: 0100                                      ..
+Device info:
+   Manufacturer: Philips
+   Model: SA5125/37
+   Device version: V46.1
+   Serial number: 4002FF44EAE165674002FF44EAE34695
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 10.0; microsoft.com/WMPPD: 11.0
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   101b: Get partial object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   100f: Format storage
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   9203: Get transferable playlist types
+   97f1: Unknown (97f1)
+   97f2: Unknown (97f2)
+   97f3: Unknown (97f3)
+   97f4: Unknown (97f4)
+   1010: Reset device
+Events supported:
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd402: Friendly Device Name
+   0xd401: Synchronization Partner
+   0x5001: Battery Level
+   0xd405: Device Icon
+Playable File (Object) Types and Object Properties Supported:
+   3009: MP3
+PTP: request code 0x9801 sending req wrote only 0 bytes instead of 16
+   3008: MS Wave
+PTP: request code 0x9801 sending req wrote only 0 bytes instead of 16
+   b901: WMA
+PTP: request code 0x9801 sending req wrote only 0 bytes instead of 16
+   300c: ASF
+PTP: request code 0x9801 sending req wrote only 0 bytes instead of 16
+   3001: Association/Directory
+PTP: request code 0x9801 sending req wrote only 0 bytes instead of 16
+   ba05: Abstract Audio Video Playlist
+PTP: request code 0x9801 sending req wrote only 0 bytes instead of 16
+   3801: JPEG
+PTP: request code 0x9801 sending req wrote only 0 bytes instead of 16
+   3807: GIF
+PTP: request code 0x9801 sending req wrote only 0 bytes instead of 16
+   3804: BMP
+PTP: request code 0x9801 sending req wrote only 0 bytes instead of 16
+   ba03: Abstract Audio Album
+PTP: request code 0x9801 sending req wrote only 0 bytes instead of 16
+   300a: MS AVI
+PTP: request code 0x9801 sending req wrote only 0 bytes instead of 16
+   b981: WMV
+PTP: request code 0x9801 sending req wrote only 0 bytes instead of 16
+   3000: Undefined Type
+PTP: request code 0x9801 sending req wrote only 0 bytes instead of 16
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 3907256320
+      FreeSpaceInBytes: 3735476224
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Internal Storage
+      VolumeIdentifier: 4002FF44EAE165674002FF44EAE34695
+Special directories:
+   Default music folder: 0x00000077
+   Default playlist folder: 0x00000066
+   Default picture folder: 0x00000069
+   Default video folder: 0x00010108
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000086
+   Default text folder: 0x00000000
+MTP-specific device properties:
+PTP: request code 0x1015 sending req wrote only 0 bytes instead of 16
+   Friendly name: (NULL)
+PTP: request code 0x1015 sending req wrote only 0 bytes instead of 16
+   Synchronization partner: (NULL)
+PTP: request code 0x1015 sending req wrote only 0 bytes instead of 16
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   RIFF WAVE file
+   Microsoft Windows Media Audio
+   Microsoft Advanced Systems Format
+   JPEG file
+   GIF bitmap file
+   BMP bitmap file
+   Audio Video Interleave
+   Microsoft Windows Media Video
+PTP: request code 0x1015 sending req wrote only 0 bytes instead of 16
+PTP: request code 0x1015 sending req wrote only 0 bytes instead of 16
+Unable to acquire device certificate, perhaps this device does not support this
+Error 2: PTP Layer error 02ff: get_device_unicode_property(): failed to get unicode property.
+Error 2: (Look this up in ptp.h for an explanation.)
+PTP: request code 0x9805 sending req wrote only 0 bytes instead of 32
+PTP: request code 0x9805 sending req wrote only 0 bytes instead of 32
+PTP: request code 0x9805 sending req wrote only 0 bytes instead of 32
+PTP: request code 0x9805 sending req wrote only 0 bytes instead of 32
+PTP: request code 0x9805 sending req wrote only 0 bytes instead of 32
+PTP: request code 0x9805 sending req wrote only 0 bytes instead of 32
+PTP: request code 0x9805 sending req wrote only 0 bytes instead of 32
+PTP: request code 0x9805 sending req wrote only 0 bytes instead of 32
+PTP: request code 0x9805 sending req wrote only 0 bytes instead of 32
+PTP: request code 0x9805 sending req wrote only 0 bytes instead of 32
+PTP: request code 0x9805 sending req wrote only 0 bytes instead of 32
+PTP: request code 0x9805 sending req wrote only 0 bytes instead of 32
+PTP: request code 0x9805 sending req wrote only 0 bytes instead of 32
+PTP: request code 0x9805 sending req wrote only 0 bytes instead of 32
+PTP: request code 0x9805 sending req wrote only 0 bytes instead of 32
+PTP: request code 0x9805 sending req wrote only 0 bytes instead of 32
+PTP: request code 0x9805 sending req wrote only 0 bytes instead of 32
+PTP: request code 0x9805 sending req wrote only 0 bytes instead of 32
+PTP: request code 0x9805 sending req wrote only 0 bytes instead of 32
+PTP: request code 0x9805 sending req wrote only 0 bytes instead of 32
+PTP: request code 0x9805 sending req wrote only 0 bytes instead of 32
+PTP: request code 0x9805 sending req wrote only 0 bytes instead of 32
+PTP: request code 0x9805 sending req wrote only 0 bytes instead of 32
+PTP: request code 0x9805 sending req wrote only 0 bytes instead of 32
+PTP: request code 0x9805 sending req wrote only 0 bytes instead of 32
+PTP: request code 0x9805 sending req wrote only 0 bytes instead of 32
+PTP: request code 0x9805 sending req wrote only 0 bytes instead of 32
+PTP: request code 0x9805 sending req wrote only 0 bytes instead of 32
+PTP: request code 0x9805 sending req wrote only 0 bytes instead of 32
+PTP: request code 0x1009 sending req wrote only 0 bytes instead of 16
+Error 2: PTP Layer error 02ff: LIBMTP_Get_Filelisting_With_Callback(): call to ptp_mtp_getobjectproplist() failed.
+Error 2: (Look this up in ptp.h for an explanation.)
+Error 2: PTP Layer error 02ff: LIBMTP_Get_Filelisting_With_Callback(): call to ptp_mtp_getobjectproplist() failed.
+Error 2: (Look this up in ptp.h for an explanation.)
+Error 2: PTP Layer error 02ff: LIBMTP_Get_Filelisting_With_Callback(): call to ptp_mtp_getobjectproplist() failed.
+Error 2: (Look this up in ptp.h for an explanation.)
+Error 2: PTP Layer error 02ff: LIBMTP_Get_Filelisting_With_Callback(): call to ptp_mtp_getobjectproplist() failed.
+Error 2: (Look this up in ptp.h for an explanation.)
+Error 2: PTP Layer error 02ff: LIBMTP_Get_Filelisting_With_Callback(): call to ptp_mtp_getobjectproplist() failed.
+Error 2: (Look this up in ptp.h for an explanation.)
+Error 2: PTP Layer error 02ff: LIBMTP_Get_Filelisting_With_Callback(): call to ptp_mtp_getobjectproplist() failed.
+Error 2: (Look this up in ptp.h for an explanation.)
+Error 2: PTP Layer error 02ff: LIBMTP_Get_Filelisting_With_Callback(): call to ptp_mtp_getobjectproplist() failed.
+Error 2: (Look this up in ptp.h for an explanation.)
+Error 2: PTP Layer error 02ff: LIBMTP_Get_Filelisting_With_Callback(): call to ptp_mtp_getobjectproplist() failed.
+Error 2: (Look this up in ptp.h for an explanation.)
+Error 2: PTP Layer error 02ff: LIBMTP_Get_Filelisting_With_Callback(): call to ptp_mtp_getobjectproplist() failed.
+Error 2: (Look this up in ptp.h for an explanation.)
+Error 2: PTP Layer error 02ff: LIBMTP_Get_Filelisting_With_Callback(): call to ptp_mtp_getobjectproplist() failed.
+Error 2: (Look this up in ptp.h for an explanation.)
+Error 2: PTP Layer error 02ff: LIBMTP_Get_Filelisting_With_Callback(): call to ptp_mtp_getobjectproplist() failed.
+Error 2: (Look this up in ptp.h for an explanation.)
+Error 2: PTP Layer error 02ff: LIBMTP_Get_Filelisting_With_Callback(): call to ptp_mtp_getobjectproplist() failed.
+Error 2: (Look this up in ptp.h for an explanation.)
+Error 2: PTP Layer error 02ff: LIBMTP_Get_Filelisting_With_Callback(): call to ptp_mtp_getobjectproplist() failed.
+Error 2: (Look this up in ptp.h for an explanation.)
+Error 2: PTP Layer error 02ff: LIBMTP_Get_Filelisting_With_Callback(): call to ptp_mtp_getobjectproplist() failed.
+Error 2: (Look this up in ptp.h for an explanation.)
+Error 2: PTP Layer error 02ff: LIBMTP_Get_Filelisting_With_Callback(): call to ptp_mtp_getobjectproplist() failed.
+Error 2: (Look this up in ptp.h for an explanation.)
+Error 2: PTP Layer error 02ff: LIBMTP_Get_Filelisting_With_Callback(): call to ptp_mtp_getobjectproplist() failed.
+Error 2: (Look this up in ptp.h for an explanation.)
+Error 2: PTP Layer error 02ff: LIBMTP_Get_Filelisting_With_Callback(): call to ptp_mtp_getobjectproplist() failed.
+Error 2: (Look this up in ptp.h for an explanation.)
+Error 2: PTP Layer error 02ff: LIBMTP_Get_Filelisting_With_Callback(): call to ptp_mtp_getobjectproplist() failed.
+Error 2: (Look this up in ptp.h for an explanation.)
+Error 2: PTP Layer error 02ff: LIBMTP_Get_Filelisting_With_Callback(): call to ptp_mtp_getobjectproplist() failed.
+Error 2: (Look this up in ptp.h for an explanation.)
+Error 2: PTP Layer error 02ff: LIBMTP_Get_Filelisting_With_Callback(): call to ptp_mtp_getobjectproplist() failed.
+Error 2: (Look this up in ptp.h for an explanation.)
+Error 2: PTP Layer error 02ff: LIBMTP_Get_Filelisting_With_Callback(): call to ptp_mtp_getobjectproplist() failed.
+Error 2: (Look this up in ptp.h for an explanation.)
+Error 2: PTP Layer error 02ff: LIBMTP_Get_Filelisting_With_Callback(): call to ptp_mtp_getobjectproplist() failed.
+Error 2: (Look this up in ptp.h for an explanation.)
+Error 2: PTP Layer error 02ff: LIBMTP_Get_Filelisting_With_Callback(): call to ptp_mtp_getobjectproplist() failed.
+Error 2: (Look this up in ptp.h for an explanation.)
+Error 2: PTP Layer error 02ff: LIBMTP_Get_Filelisting_With_Callback(): call to ptp_mtp_getobjectproplist() failed.
+Error 2: (Look this up in ptp.h for an explanation.)
+Error 2: PTP Layer error 02ff: LIBMTP_Get_Filelisting_With_Callback(): call to ptp_mtp_getobjectproplist() failed.
+Error 2: (Look this up in ptp.h for an explanation.)
+Error 2: PTP Layer error 02ff: LIBMTP_Get_Filelisting_With_Callback(): call to ptp_mtp_getobjectproplist() failed.
+Error 2: (Look this up in ptp.h for an explanation.)
+Error 2: PTP Layer error 02ff: LIBMTP_Get_Filelisting_With_Callback(): call to ptp_mtp_getobjectproplist() failed.
+Error 2: (Look this up in ptp.h for an explanation.)
+Error 2: PTP Layer error 02ff: LIBMTP_Get_Filelisting_With_Callback(): call to ptp_mtp_getobjectproplist() failed.
+Error 2: (Look this up in ptp.h for an explanation.)
+Error 2: PTP Layer error 02ff: LIBMTP_Get_Filelisting_With_Callback(): call to ptp_mtp_getobjectproplist() failed.
+Error 2: (Look this up in ptp.h for an explanation.)
+Error 2: PTP Layer error 02ff: LIBMTP_Get_File_To_File_Descriptor(): Could not get file from device.
+Error 2: (Look this up in ptp.h for an explanation.)
+PTP: Closing session
+PTP: request code 0x1003 sending req wrote only 0 bytes instead of 12
+ERROR: Could not close session!
+inep: usb_get_endpoint_status(): Protocol error
+outep: usb_get_endpoint_status(): Protocol error
+usb_clear_halt() on IN endpoint: Protocol error
+usb_clear_halt() on OUT endpoint: Protocol error
+usb_clear_halt() on INTERRUPT endpoint: Protocol error
+OK.
diff --git a/logs/mtp-detect-philips-sa6025.txt b/logs/mtp-detect-philips-sa6025.txt
new file mode 100644
index 0000000..8a1e812
--- /dev/null
+++ b/logs/mtp-detect-philips-sa6025.txt
@@ -0,0 +1,400 @@
+libmtp version: 0.2.4
+
+Attempting to connect device(s)
+Detect: Successfully connected 1 devices
+USB low-level info:
+  Using kernel interface "usbfs"
+  bcdUSB: 512
+  bDeviceClass: 0
+  bDeviceSubClass: 0
+  bDeviceProtocol: 0
+  idVendor: 0471
+  idProduct: 084e
+  IN endpoint maxpacket: 512 bytes
+  OUT endpoint maxpacket: 512 bytes
+  Device flags: 0x00000002
+Microsoft device descriptor 0xee:
+       0000: 1203 4d00 5300 4600 5400 3100 3000 3000   ..M.S.F.T.1.0.0.
+       0010: 0100                                      ..
+Device info:
+  Manufacturer: Philips
+  Model: Philips GoGear SA60XX
+  Device version: PH03010D02
+  Serial number: 0000000B6AF626CC0704240846460CAC
+  Vendor extension ID: 0x00000006
+  Vendor extension description: microsoft.com/WMDRMPD: 10.1;audible.com: 1.0;
+  Detected object size: 64 bits
+Supported operations:
+  1001: get device info
+  1002: Open session
+  1003: Close session
+  1004: Get storage IDs
+  1005: Get storage info
+  1006: Get number of objects
+  1007: Get object handles
+  1008: Get object info
+  1009: Get object
+  100b: Delete object
+  100c: Send object info
+  100d: Send object
+  100f: Format storage
+  1010: Reset device
+  1014: Get device property description
+  1015: Get device property value
+  1016: Set device property value
+  9810: Get object references
+  9811: Set object references
+  9802: Get object property description
+  9801: Get object properties supported
+  9803: Get object property value
+  9804: Set object property value
+  9805: Get object property list
+  9806: Set object property list
+  101b: Get partial object
+  9201: Report Added/Deleted Items
+  9101: Get secure time challenge
+  9102: Get secure time response
+  9103: Set license response
+  9104: Get sync list
+  9105: Send meter challenge query
+  9106: Get meter challenge
+  9107: Get meter response
+  9108: Clean data store
+  9109: Get license state
+  910a: Send WMDRM-PD Command
+  910b: Send WMDRM-PD Request
+Events supported:
+  0x4004
+  0x4005
+Device Properties Supported:
+  0x5001: Battery Level
+  0xd401: Synchronization Partner
+  0xd402: Friendly Device Name
+  0xd101: Secure Time
+  0xd102: Device Certificate
+  0xd103: Revocation Info
+Playable File (Object) Types and Object Properties Supported:
+  3009: MP3
+     dc44: Name STRING data type GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+     de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+     de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+     de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+     de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+     dc46: Artist STRING data type GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+     dc9b: AlbumArtist STRING data type GET/SET
+  b901: WMA
+     dc44: Name STRING data type GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+     de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+     de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 READ ONLY
+     de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+     de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+     dc46: Artist STRING data type GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+     dc9b: AlbumArtist STRING data type GET/SET
+  3008: MS Wave
+     dc44: Name STRING data type GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+     de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+     de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+     de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+     de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+     dc46: Artist STRING data type GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+     dc9b: AlbumArtist STRING data type GET/SET
+  3801: JPEG
+     dc44: Name STRING data type GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc87: Width UINT32 data type range: MIN 1, MAX 320, STEP 1 GET/SET
+     dc88: Height UINT32 data type range: MIN 1, MAX 240, STEP 1 GET/SET
+  300a: MS AVI
+     dc44: Name STRING data type GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc87: Width UINT32 data type range: MIN 1, MAX 320, STEP 1 GET/SET
+     dc88: Height UINT32 data type range: MIN 1, MAX 240, STEP 1 GET/SET
+     de97: ScanDepth UINT16 data type enumeration: 1,  READ ONLY
+     de9d: FramesPerThousandSeconds UINT32 data type range: MIN 15000, MAX 30000, STEP 1 GET/SET
+     de9b: VideoFourCCCodec UINT32 data type enumeration: 0, 1195724877, 861293911,  GET/SET
+     de9e: KeyFrameDistance UINT32 data type range: MIN 1000, MAX 10000, STEP 1 GET/SET
+     de9c: VideoBitRate UINT32 data type range: MIN 32768, MAX 2048000, STEP 1 GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+     dc8c: Genre STRING data type GET/SET
+     de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+     de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+     de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+     dea1: EncodingProfile STRING data type GET/SET
+  b981: WMV
+     dc44: Name STRING data type GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc87: Width UINT32 data type range: MIN 1, MAX 320, STEP 1 GET/SET
+     dc88: Height UINT32 data type range: MIN 1, MAX 240, STEP 1 GET/SET
+     de97: ScanDepth UINT16 data type enumeration: 1,  READ ONLY
+     de9d: FramesPerThousandSeconds UINT32 data type range: MIN 15000, MAX 30000, STEP 1 GET/SET
+     de9b: VideoFourCCCodec UINT32 data type enumeration: 0, 1195724877, 861293911,  GET/SET
+     de9e: KeyFrameDistance UINT32 data type range: MIN 1000, MAX 10000, STEP 1 GET/SET
+     de9c: VideoBitRate UINT32 data type range: MIN 32768, MAX 2048000, STEP 1 GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+     dc8c: Genre STRING data type GET/SET
+     de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+     de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+     de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+     dea1: EncodingProfile STRING data type GET/SET
+  300c: ASF
+     dc44: Name STRING data type GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc87: Width UINT32 data type range: MIN 1, MAX 320, STEP 1 GET/SET
+     dc88: Height UINT32 data type range: MIN 1, MAX 240, STEP 1 GET/SET
+     de97: ScanDepth UINT16 data type enumeration: 1,  READ ONLY
+     de9d: FramesPerThousandSeconds UINT32 data type range: MIN 15000, MAX 30000, STEP 1 GET/SET
+     de9b: VideoFourCCCodec UINT32 data type enumeration: 0, 1195724877, 861293911,  GET/SET
+     de9e: KeyFrameDistance UINT32 data type range: MIN 1000, MAX 10000, STEP 1 GET/SET
+     de9c: VideoBitRate UINT32 data type range: MIN 32768, MAX 2048000, STEP 1 GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+     dc8c: Genre STRING data type GET/SET
+     de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+     de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+     de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+     dea1: EncodingProfile STRING data type GET/SET
+  3001: Association/Directory
+     dc44: Name STRING data type GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+  ba05: Abstract Audio Video Playlist
+     dc44: Name STRING data type GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+  3000: Undefined Type
+     dc44: Name STRING data type GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+  b802: Firmware
+     dc44: Name STRING data type GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+  ba03: Abstract Audio Album
+     dc44: Name STRING data type GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+     dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+     dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+     dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+     dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+     dc9b: AlbumArtist STRING data type GET/SET
+     dc46: Artist STRING data type GET/SET
+     dc8c: Genre STRING data type GET/SET
+     d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+Storage Devices:
+  StorageID: 0x00010001
+     StorageType: 0x0003
+     FilesystemType: 0x0002
+     AccessCapability: 0x0000
+     MaxCapacity: 1966080000
+     FreeSpaceInBytes: 1506623488
+     FreeSpaceInObjects: 5903
+     StorageDescription: Internal Storage
+     VolumeIdentifier: 0000000B6AF626CC0704240846460CAC
+Special directories:
+  Default music folder: 0x20000005
+  Default playlist folder: 0x00000000
+  Default picture folder: 0x20000003
+  Default video folder: 0x00000000
+  Default organizer folder: 0x00000000
+  Default zencast folder: 0x00000000
+  Default album folder: 0x00000000
+  Default text folder: 0x00000000
+MTP-specific device properties:
+  Friendly name: Philips GoGear SA60XX
+  Synchronization partner: Longhorn Sync Engine
+  Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+  ISO MPEG-1 Audio Layer 3
+  Microsoft Windows Media Audio
+  RIFF WAVE file
+  JPEG file
+  Audio Video Interleave
+  Microsoft Windows Media Video
+  Microsoft Advanced Systems Format
+  Firmware file
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20071222 11:40:21Z#</VALUE><FLAG>DRM_CLK_SET</FLAG></DRMCLOCK>AG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">AAAAC2r2JswHBCQIRkYMrAAAAAA=</UNIQUEID><PUBLICKEY private="1">H10byO2Ds9un2WFTD3U4u0QWmoPcSlgrAARHblcUx6BOfAgztxcdfA==</PUBLICKEY><KEYDATA>XeiwxPRE1GKcTxyl4IBz6bF9jT8=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>Ddkhr31ldjv+qlMdCW3hr+268yH2O1Ht4Oeblc4Wus586h+04LqxZg==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>0zzpJ9GXmEb8YeVe+qGq2VdPU7g=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION> 2.4.107.107</SECURITYVERSION><CERTIFICATE private="1">H10byO2Ds9un2WFTD3U4u0QWmoPcSlgrAARHblcUx6BOfAgztxcdfAIEa2uAmejzb1HS0H+HUDN6EBm6j7dxQpUT+wMPN6S+tg74Dgtnp6KgqjNr</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>SA60xx</NAME>
+   <MANUFACTURER>Perception Digital Ltd</MANUFACTURER>
+   <MAKE>Philips Audio & Multi Media Applications</MAKE>
+   <DISTRIBUTOR>Koninklijke Philips Electronics N.V.</DISTRIBUTOR>
+   <MODEL>00</MODEL>
+   <SECURITYLEVEL>2000</SECURITYLEVEL>
+   <HARDWARE_VER_MAJOR>02</HARDWARE_VER_MAJOR>
+   <HARDWARE_VER_MINOR>00</HARDWARE_VER_MINOR>
+   <FIRMWARE_VER_MAJOR>08</FIRMWARE_VER_MAJOR>
+   <FIRMWARE_VER_MINOR>00</FIRMWARE_VER_MINOR>
+   <FEATURES>
+       <CLOCK>2</CLOCK>
+       <SECURECLOCK>
+           <URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL>
+           <PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY>
+       </SECURECLOCK>
+       <METERING>1</METERING>
+       <LICENSE_ACQ>0</LICENSE_ACQ>
+       <LICENSE_SYNC>1</LICENSE_SYNC>
+       <ENCRYPTION>1</ENCRYPTION>
+       <SYMMETRIC_OPT>1</SYMMETRIC_OPT>
+   </FEATURES>
+   <LIMITS>
+       <MAXCHAINDEPTH>5</MAXCHAINDEPTH>
+       <MAXLICENSESIZE>10240</MAXLICENSESIZE>
+       <MAXHEADERSIZE>5120</MAXHEADERSIZE>
+   </LIMITS><PUBLICKEY>O/xY2BVO97/4QEvlk+ETiHxn13rWyg5HsWO/Uy3DHCQg7rowMRF0gw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>vgUBFIcCPVuNuYhGWODMqCH8XiNw83pAwS9S8KWZckb7T99BX4i+OQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1743</AUTH_ID><PUBLICKEY>Q5qnbSHxftMJXBVdgoi0Ds8CrUgXgToCUcmJIz4LSDcycDSj2n5FfQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>cdq3bQ3V+qGBJXT52FXvDw4jVzret3LRWnpa6q7bMHiSeyZWfRuQMg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>s9lZMSUkYRzjmE8Ju5CtPS6lclfC1BG7Np/QWoLoOXDlt4gYBywCdw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+WMPInfo.xml Does not exist on this device
+OK. 
diff --git a/logs/mtp-detect-philips-sa6045.txt b/logs/mtp-detect-philips-sa6045.txt
new file mode 100644
index 0000000..50859fb
--- /dev/null
+++ b/logs/mtp-detect-philips-sa6045.txt
@@ -0,0 +1,414 @@
+libmtp version: 0.2.1
+
+Attempting to connect device(s)
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0471
+   idProduct: 084e
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000002
+Microsoft device descriptor 0xee:
+       0000: 1203 4d00 5300 4600 5400 3100 3000 3000   ..M.S.F.T.1.0.0.
+       0010: 0100                                      ..
+Device info:
+   Manufacturer: Philips
+   Model: Philips GoGear SA60XX
+   Device version: PH03010D02
+   Serial number: 0000000EA6570F9F0706141006181631
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/WMDRMPD: 10.1;audible.com: 1.0;
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   101b: Get partial object
+   9201: Report Added/Deleted Items
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   0x4004
+   0x4005
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Device Friendly Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd103: RevocationInfo
+Playable File (Object) Types and Object Properties Supported:
+   3009: MP3
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+   b901: WMA
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+   3008: MS Wave
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+   3801: JPEG
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 320, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 240, STEP 1 GET/SET
+   300a: MS AVI
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 320, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 240, STEP 1 GET/SET
+      de97: ScanDepth UINT16 data type enumeration: 1,  READ ONLY
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 15000, MAX 30000, STEP 1 GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 0, 1195724877, 861293911,  GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 1000, MAX 10000, STEP 1 GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 32768, MAX 2048000, STEP 1 GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+   b981: WMV
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 320, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 240, STEP 1 GET/SET
+      de97: ScanDepth UINT16 data type enumeration: 1,  READ ONLY
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 15000, MAX 30000, STEP 1 GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 0, 1195724877, 861293911,  GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 1000, MAX 10000, STEP 1 GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 32768, MAX 2048000, STEP 1 GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+   300c: ASF
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 320, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 240, STEP 1 GET/SET
+      de97: ScanDepth UINT16 data type enumeration: 1,  READ ONLY
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 15000, MAX 30000, STEP 1 GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 0, 1195724877, 861293911,  GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 1000, MAX 10000, STEP 1 GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 32768, MAX 2048000, STEP 1 GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+   3001: Association/Directory
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+   3000: Undefined Type
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+   b802: Firmware
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+   ba03: Abstract Audio Album
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 4003463168
+      FreeSpaceInBytes: 2491481457
+      FreeSpaceInObjects: 5419
+      StorageDescription: Internal Storage
+      VolumeIdentifier: 0000000EA6570F9F0706141006181631
+Special directories:
+   Default music folder: 0x20000004
+   Default playlist folder: 0x20000019
+   Default picture folder: 0x20000018
+   Default video folder: 0x20000016
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: Philips GoGear SA60XX
+   Synchronization partner: Longhorn Sync Engine
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   RIFF WAVE file
+   JPEG file
+   Audio Video Interleave
+   Microsoft Windows Media Video
+   Microsoft Advanced Systems Format
+   Firmware file
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20070511
+07:42:09Z#</VALUE><FLAG>DRM_CLK_NEEDS_REFRESH</FLAG></DRMCLOCK>AG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID
+private="1">AAAADqZXD58HBhQQBhgWMQAAAAA=</UNIQUEID><PUBLICKEY
+private="1">lb+TWhA19FA+sD+8fEw8PAaJamIZIWURWRZ4x8z5tZ1cKDzwwQiVNg==</PUBLICKEY><KEYDATA>Jy23mPedTghHJBvHK0oxHi92L0U=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>3ZpQV/dynAhxFjt2SFd1WBnuNTptTfR0nCBLFRQE1AJ08DjerYP9dA==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>QAMvSPcyOA1DapTTXBVLY9xurLs=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.107.107</SECURITYVERSION><CERTIFICATE
+private="1">lb+TWhA19FA+sD+8fEw8PAaJamIZIWURWRZ4x8z5tZ1cKDzwwQiVNgIEa2vAdAIRpqxdInYSUyr7KfBg4sZaQiLnlLMg+Ur7sQkFCesrqKdQQ81e</CERTIFICATE></FALLBACK><CERTIFICATE
+type="GROUP"><DATA><NAME>SA60xx</NAME>
+    <MANUFACTURER>Perception Digital Ltd</MANUFACTURER>
+    <MAKE>Philips Audio & Multi Media Applications</MAKE>
+    <DISTRIBUTOR>Koninklijke Philips Electronics N.V.</DISTRIBUTOR>
+    <MODEL>00</MODEL>
+    <SECURITYLEVEL>2000</SECURITYLEVEL>
+    <HARDWARE_VER_MAJOR>02</HARDWARE_VER_MAJOR>
+    <HARDWARE_VER_MINOR>00</HARDWARE_VER_MINOR>
+    <FIRMWARE_VER_MAJOR>08</FIRMWARE_VER_MAJOR>
+    <FIRMWARE_VER_MINOR>00</FIRMWARE_VER_MINOR>
+    <FEATURES>
+        <CLOCK>2</CLOCK>
+        <SECURECLOCK>
+            <URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL>
+
+<PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY>
+        </SECURECLOCK>
+        <METERING>1</METERING>
+        <LICENSE_ACQ>0</LICENSE_ACQ>
+        <LICENSE_SYNC>1</LICENSE_SYNC>
+        <ENCRYPTION>1</ENCRYPTION>
+        <SYMMETRIC_OPT>1</SYMMETRIC_OPT>
+    </FEATURES>
+    <LIMITS>
+        <MAXCHAINDEPTH>5</MAXCHAINDEPTH>
+        <MAXLICENSESIZE>10240</MAXLICENSESIZE>
+        <MAXHEADERSIZE>5120</MAXHEADERSIZE>
+
+</LIMITS><PUBLICKEY>O/xY2BVO97/4QEvlk+ETiHxn13rWyg5HsWO/Uy3DHCQg7rowMRF0gw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>vgUBFIcCPVuNuYhGWODMqCH8XiNw83pAwS9S8KWZckb7T99BX4i+OQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1743</AUTH_ID><PUBLICKEY>Q5qnbSHxftMJXBVdgoi0Ds8CrUgXgToCUcmJIz4LSDcycDSj2n5FfQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>cdq3bQ3V+qGBJXT52FXvDw4jVzret3LRWnpa6q7bMHiSeyZWfRuQMg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>s9lZMSUkYRzjmE8Ju5CtPS6lclfC1BG7Np/QWoLoOXDlt4gYBywCdw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+
+Device description WMPInfo.xml file:
+<DeviceInfo>
+    <WMP DeviceID="{67F39E4A-BE30-4778-8A0B-0B4196AB747A}"
+RelationshipID="{4252D0B8-109A-4B34-BE69-CF79F3357D11}"/>
+</DeviceInfo>
+
+OK.
diff --git a/logs/mtp-detect-philips-vibe8gb.txt b/logs/mtp-detect-philips-vibe8gb.txt
new file mode 100644
index 0000000..23c8f5b
--- /dev/null
+++ b/logs/mtp-detect-philips-vibe8gb.txt
@@ -0,0 +1,493 @@
+libmtp version: 0.3.7
+
+Listing raw device(s)
+   Found 1 device(s):
+   Philips: GoGear Vibe SA1VBE08 (0471:207b) @ bus 0, dev 5
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0471
+   idProduct: 207b
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 5
+      Device entry info:
+         Vendor: Philips
+         Vendor id: 0x0471
+         Product: GoGear Vibe SA1VBE08
+         Vendor id: 0x207b
+         Device flags: 0x00000002
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: 0100                                   	..
+Microsoft device response to control message 1, CMD 0x01:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Potential MTP Device with VendorID:0471 and ProductID:207b responded to control message 2 with a response that was too short. Problems may arrise but continuing
+Device info:
+   Manufacturer: Philips
+   Model: GoGear Vibe
+   Device version: PH0F00061A
+   Serial number: 42FF0000B5A9CEB10002D9D3FF288EB1
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 10.0; microsoft.com/WMPPD: 11.0; audible.com: 1.0
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   101b: Get partial object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   100f: Format storage
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   9203: Get transferable playlist types
+   97f1: Unknown (97f1)
+   97f2: Unknown (97f2)
+   97f3: Unknown (97f3)
+   97f4: Unknown (97f4)
+   97f5: Unknown (97f5)
+   1010: Reset device
+   1012: Set object protection
+Events supported:
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd402: Friendly Device Name
+   0xd401: Synchronization Partner
+   0x5001: Battery Level
+   0xd405: Device Icon
+   0xd100: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 4300000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 80, 85,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 2304000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 17,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 352, 353,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 352, 353,  GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 30050, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 5000, MAX 768010, STEP 1 READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14340, 14343,  GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14340, 14343,  GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14340, 14343,  GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14340, 14343,  GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14340, 14343,  GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   b905: Unknown(b905)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   b904: Audible.com Codec
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      da00: Unknown property UINT32 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      da02: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da01: Unknown property STRING data type READ ONLY
+      da03: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET
+      da04: Unknown property UINT128 data type READ ONLY
+   b301: Unknown(b301)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      da00: Unknown property UINT32 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      da02: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET
+      da01: Unknown property STRING data type READ ONLY
+      da03: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET
+      da04: Unknown property UINT128 data type READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 7918321664
+      FreeSpaceInBytes: 7878770688
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Internal Storage
+      VolumeIdentifier: 42FF0000B5A9CEB10002D9D3FF288EB1
+Special directories:
+   Default music folder: 0x00000070
+   Default playlist folder: 0x0000008a
+   Default picture folder: 0x00000077
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: GoGear Vibe
+   Synchronization partner: GoGear Vibe
+   Battery level 96 of 100 (96%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   RIFF WAVE file
+   Microsoft Windows Media Audio
+   Microsoft Advanced Systems Format
+   Abstract Playlist file
+   JPEG file
+   GIF bitmap file
+   BMP bitmap file
+   Abstract Album file
+   Audible.com Audio Codec
+Unable to acquire device certificate, perhaps this device does not support this
+Error 2: PTP Layer error 02fe: get_device_unicode_property(): failed to get unicode property.
+Error 2: (Look this up in ptp.h for an explanation.)
+ERROR: Could not close session!
+OK.
+
+ 	  	 
diff --git a/logs/mtp-detect-philips-w6610.txt b/logs/mtp-detect-philips-w6610.txt
new file mode 100644
index 0000000..9421b37
--- /dev/null
+++ b/logs/mtp-detect-philips-w6610.txt
@@ -0,0 +1,480 @@
+The following submission requires approval at http://sourceforge.net/p/libmtp/support-requests/_discuss/moderate before it can be approved for posting:
+
+Listing raw device(s)
+Device 0 (VID=0471 and PID=2008) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0471:2008 @ bus 1, dev 7
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+Error 1: Get Storage information failed.
+Error 2: PTP Layer error 02fe: get_handles_recursively(): could not get object handles.
+Error 2: Error 02fe: PTP: Protocol error, data expected
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0471
+   idProduct: 2008
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 7
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0471
+         Product: (null)
+         Vendor id: 0x2008
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Philips
+   Model: Philips W6610
+   Device version: 1.0
+   Serial number: EYQOMNWWP7B6EM5S
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Philips W6610
+   Synchronization partner: W6610
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/support-requests/163/>
+
+
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/>
\ No newline at end of file
diff --git a/logs/mtp-detect-phillips-hdd1630_17.txt b/logs/mtp-detect-phillips-hdd1630_17.txt
new file mode 100644
index 0000000..e789cc1
--- /dev/null
+++ b/logs/mtp-detect-phillips-hdd1630_17.txt
@@ -0,0 +1,250 @@
+USB low-level info:
+  Using kernel interface "usbfs"
+  bcdUSB: 512
+  bDeviceClass: 0
+  bDeviceSubClass: 0
+  bDeviceProtocol: 0
+  bMaxPacketSize0: 64
+  idVendor: 0471
+  idProduct: 014c
+Device info:
+  Manufacturer: Philips
+  Model: Philips PTP device
+  Device version: PP5022AF-05.40-PP07-05.40-MG02-00.01-DT, 1.3
+  Serial number: DNP635B4YNGN9G
+  Vendor extension ID: 0x00000006
+  Vendor extension description: microsoft.com/WMDRMPD:10.1;microsoft.com/WMPPD: 10.0; portalplayer.com: 1.0;
+Supported operations:
+  0x1014
+  0x1015
+  0x1001
+  0x1002
+  0x1003
+  0x1004
+  0x1005
+  0x1007
+  0x1008
+  0x1009
+  0x101b
+  0x100c
+  0x100d
+  0x100b
+  0x1012
+  0x100f
+  0x1016
+  0x9801
+  0x9802
+  0x9803
+  0x9805
+  0x9806
+  0x9810
+  0x9811
+  0x9201
+  0x9101
+  0x9102
+  0x9103
+  0x9104
+  0x9105
+  0x9106
+  0x9107
+  0x9108
+  0x9109
+  0x910a
+  0x910b
+Events supported:
+  None.
+Device Properties Supported:
+  0x5001: Battery Level
+  0xd101: Secure Time
+  0xd102: Device Certificate
+  0xd401: Synchronization Partner
+  0xd402: Device Friendly Name
+Playable File (Object) Types and Object Properties Supported:
+  3001: Association/Directory
+    dc01: StorageID
+    dc0b: ParentObject
+    dc07: ObjectFileName
+    dc04: ObjectSize
+    dc02: ObjectFormat
+    dc41: PersistantUniqueObjectIdentifier
+    dc4f: NonConsumable
+    dc03: ProtectionStatus
+    dc09: DateModified
+  3009: MP3
+    dc01: StorageID
+    dc0b: ParentObject
+    dc07: ObjectFileName
+    dc04: ObjectSize
+    dc02: ObjectFormat
+    dc41: PersistantUniqueObjectIdentifier
+    dc4f: NonConsumable
+    dc03: ProtectionStatus
+    dc09: DateModified
+    dc8b: Track
+    dc99: OriginalReleaseDate
+    dc0a: Keywords
+    dc44: Name
+    dc46: Artist
+    dc8c: Genre
+    dc9a: AlbumName
+    dc89: Duration
+    de9a: AudioBitRate
+    de93: SampleRate
+    de94: NumberOfChannels
+    dc8a: Rating
+    dc91: UseCount
+    d901: unknown(d901)
+  3008: MS Wave
+    dc01: StorageID
+    dc0b: ParentObject
+    dc07: ObjectFileName
+    dc04: ObjectSize
+    dc02: ObjectFormat
+    dc41: PersistantUniqueObjectIdentifier
+    dc4f: NonConsumable
+    dc03: ProtectionStatus
+    dc09: DateModified
+    dc8b: Track
+    dc99: OriginalReleaseDate
+    dc0a: Keywords
+    dc44: Name
+    dc46: Artist
+    dc8c: Genre
+    dc9a: AlbumName
+    dc89: Duration
+    de9a: AudioBitRate
+    de93: SampleRate
+    de94: NumberOfChannels
+    dc8a: Rating
+    dc91: UseCount
+    d901: unknown(d901)
+  3801: JPEG
+    dc01: StorageID
+    dc0b: ParentObject
+    dc07: ObjectFileName
+    dc04: ObjectSize
+    dc02: ObjectFormat
+    dc41: PersistantUniqueObjectIdentifier
+    dc4f: NonConsumable
+    dc03: ProtectionStatus
+    dc09: DateModified
+    dc99: OriginalReleaseDate
+    dc44: Name
+    dc8a: Rating
+  ba05: Abstract Audio Video Playlist
+    dc01: StorageID
+    dc0b: ParentObject
+    dc07: ObjectFileName
+    dc04: ObjectSize
+    dc02: ObjectFormat
+    dc41: PersistantUniqueObjectIdentifier
+    dc4f: NonConsumable
+    dc03: ProtectionStatus
+    dc09: DateModified
+    ba03: Abstract Audio Album
+    dc01: StorageID
+    dc0b: ParentObject
+    dc07: ObjectFileName
+    dc04: ObjectSize
+    dc02: ObjectFormat
+    dc41: PersistantUniqueObjectIdentifier
+    dc4f: NonConsumable
+    dc03: ProtectionStatus
+    dc09: DateModified
+    dc0a: Keywords
+    dc44: Name
+    dc46: Artist
+    dc8c: Genre
+    dc81: RepresentativeSampleFormat
+    dc86: RepresentativeSampleData
+    dc83: RepresentativeSampleHeight
+    dc84: RepresentativeSampleWidth
+  b901: WMA
+    dc01: StorageID
+    dc0b: ParentObject
+    dc07: ObjectFileName
+    dc04: ObjectSize
+    dc02: ObjectFormat
+    dc41: PersistantUniqueObjectIdentifier
+    dc4f: NonConsumable
+    dc03: ProtectionStatus
+    dc09: DateModified
+    dc8b: Track
+    dc99: OriginalReleaseDate
+    dc0a: Keywords
+    dc44: Name
+    dc46: Artist
+    dc8c: Genre
+    dc9a: AlbumName
+    dc89: Duration
+    de9a: AudioBitRate
+    de93: SampleRate
+    de94: NumberOfChannels
+    de99: AudioWAVECodec
+    dc8a: Rating
+    dc91: UseCount
+    d901: unknown(d901)
+Special directories:
+  Default music folder: 0x00010000
+  Default playlist folder: 0x00000000
+  Default picture folder: 0x00780000
+  Default video folder: 0x00000000
+  Default organizer folder: 0x00000000
+  Default zencast folder: 0x00000000
+MTP-specific device properties:
+  Friendly name: Philips GoGear
+  Synchronization partner: (NULL)
+  Total bytes on device: 6128361268 (5844 MB)
+  Free bytes on device: 2079547188 (1983 MB)
+  Storage description: "Philips HDD"
+  Volume label: "GOGEAR "
+  Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+  ISO MPEG Audio Layer 3
+  RIFF WAVE file
+  JPEG file
+  Microsoft Windows Media Audio
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20060902
+04:49:38Z#</VALUE><FLAG>DRM_CLK_NEEDS_REFRESH</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE
+type="DEVICE"><DATA><UNIQUEID
+private="1">ICAgICAgRE5QNjM1QjRZTkdOOUc=</UNIQUEID><PUBLICKEY
+private="1">2BNZryntm+AwFPQB+/7ps8kBmiKjPjcTTQx5tk2JLuM9EbgQA2/hbg==</PUBLICKEY><KEYDATA>/MVcBaRhfnQtcg5PdNT/1gi4ldE=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>vJq0MP4vNqqz2va7X9cVJ5RHlGWEUGv+uaYXKlR95v2RoQHBqSAbDg==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>OsXzV9+S6QPcaWrYUg+sdyNGbGs=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.102.75</SECURITYVERSION><CERTIFICATE
+private="1">2BNZryntm+AwFPQB+/7ps8kBmiKjPjcTTQx5tk2JLuM9EbgQA2/hbgIEZkt0I+gaMIFOO/X9qhavGtcu6qagfgvD3pGQOV/4kTqGaLPyhUAdLZYm</CERTIFICATE></FALLBACK><CERTIFICATE
+type="GROUP"><DATA><NAME>HDD16xx</NAME>
+<MANUFACTURER>MiTAC Technology Corp.</MANUFACTURER>
+<MAKE>Philips Mobile Infotainment</MAKE>
+<DISTRIBUTOR>Koninklijke Philips Electronics
+N.V.</DISTRIBUTOR>
+<MODEL>00</MODEL>
+<SECURITYLEVEL>2000</SECURITYLEVEL>
+<HARDWARE_VER_MAJOR>00</HARDWARE_VER_MAJOR>
+<HARDWARE_VER_MINOR>10</HARDWARE_VER_MINOR>
+<FIRMWARE_VER_MAJOR>01</FIRMWARE_VER_MAJOR>
+<FIRMWARE_VER_MINOR>00</FIRMWARE_VER_MINOR>
+<FEATURES>
+<CLOCK>2</CLOCK>
+<SECURECLOCK>
+
+<URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL>
+
+<PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY>
+</SECURECLOCK>
+<METERING>1</METERING>
+<LICENSE_ACQ>0</LICENSE_ACQ>
+<LICENSE_SYNC>1</LICENSE_SYNC>
+<ENCRYPTION>1</ENCRYPTION>
+<SYMMETRIC_OPT>1</SYMMETRIC_OPT>
+</FEATURES>
+<LIMITS>
+<MAXCHAINDEPTH>5</MAXCHAINDEPTH>
+<MAXLICENSESIZE>10240</MAXLICENSESIZE>
+<MAXHEADERSIZE>5120</MAXHEADERSIZE>
+
+</LIMITS><PUBLICKEY>Z3qaAjhCqOB1esbbg4/nbJeQJG9j0muW3uUMpVjhx9PMjgoPwMllOQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>kROhCPVXSrV6kWuObwqLBzkjSHqKPyNYf0LLwJ7/p48OSHKhUa7wIw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>431</AUTH_ID><PUBLICKEY>cKc3BWl4UETOcysM5vgzRIHY5l7Ukk0CajoL6evzhUtNVTCERxvcgA==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>RQzUsdEClPGWTNiHmu2V0FLW2HASfdGSj2M3NuL1iTK0Ncub4UWlAA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>gnPPdAiiJrQaSiz+HHqsEwpcmTNzF7iqVX8ECdgEoSXLDuKZ+hX1hA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
diff --git a/logs/mtp-detect-pioneer-xmp3.txt b/logs/mtp-detect-pioneer-xmp3.txt
new file mode 100644
index 0000000..3478cdb
--- /dev/null
+++ b/logs/mtp-detect-pioneer-xmp3.txt
@@ -0,0 +1,511 @@
+libmtp version: 0.3.5
+
+Listing raw device(s)
+   Found 1 device(s):
+   Pioneer: XMP3 (08e4:0148) @ bus 0, dev 7
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 08e4
+   idProduct: 0148
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 7
+      Device entry info:
+         Vendor: Pioneer
+         Vendor id: 0x08e4
+         Product: XMP3
+         Vendor id: 0x0148
+         Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: fe00                                   	..
+Microsoft device response to control message 1, CMD 0xfe:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Microsoft device response to control message 2, CMD 0xfe:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Device info:
+   Manufacturer: Pioneer
+   Model: GEX-XMP3
+   Device version: 1.0
+   Serial number: KGJV02WK        
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/WMDRMPD: 10.1; audible.com: 1.0; microsoft.com: WMPPD10.0; xmradio.com: 1.0; 
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9201: Report Added/Deleted Items
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+Events supported:
+   None.
+Device Properties Supported:
+   0xd100: Unknown property
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   3001: Association/Directory
+      d810: unknown(d810) STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   3008: MS Wave
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 134217727, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 1, 17,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 134217727, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+   300c: ASF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 134217727, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 353,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+   3801: JPEG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+   3804: BMP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+   3807: GIF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+   b300: Unknown(b300)
+      d811: unknown(d811) array of UINT8 data type byte array:  GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 134217727, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 134217727, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 353,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+   b902: OGG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 134217727, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0,  READ ONLY
+      de9a: AudioBitRate UINT32 data type enumeration: 8000, 16000, 24000, 32000, 40000, 48000, 56000, 64000, 80000, 96000, 112000, 128000, 144000, 160000, 192000, 224000, 256000, 320000,  GET/SET
+   b903: AAC
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 134217727, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+   b904: Audible.com Codec
+      da00: unknown(da00) UINT32 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7, 8,  GET/SET
+      da01: unknown(da01) STRING data type GET/SET
+      da02: unknown(da02) UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da03: unknown(da03) UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 134217727, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+   ba03: Abstract Audio Album
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337, 14343,  GET/SET
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+   ba04: Abstract Video Album
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337, 14343,  GET/SET
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   ba11: M3U Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   ba14: PLS Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 1224638464
+      FreeSpaceInBytes: 1222197248
+      FreeSpaceInObjects: 3016
+      StorageDescription: Internal XM
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000013
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: GEX-XMP3
+   Synchronization partner: Unknown Partner
+libmtp supported (playable) filetypes:
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Advanced Systems Format
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Audible.com Audio Codec
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20090107 23:54:22Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">CgoKCgoKCgoKCgoKCgoKCgoKCgo=</UNIQUEID><PUBLICKEY private="1">a2x4qcENCiWxYXXRPVzfwTLVN2Sd1e/qCOubm7AJP4tcYauiIurxMw==</PUBLICKEY><KEYDATA>+Z+mokydkgcclOT9I3VY2Dg2RUY=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>bCA2nlQJUb13UIalyVeQ858CVkX7/SW/EWeDCulYYoyl+WMCs+eHUw==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>Kpp340t8jBkQP6yGHztt4Py8+Fc=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.112.9</SECURITYVERSION><CERTIFICATE private="1">a2x4qcENCiWxYXXRPVzfwTLVN2Sd1e/qCOubm7AJP4tcYauiIurxMwIEcAkPT7kyzbnqgrVnBLN/T0vPjbKaADOxrhRYTuFDXyC0tDgq4BRLG7N2</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>Tuner</NAME>

+    <MANUFACTURER>Pioneer Corporation</MANUFACTURER>

+    <MAKE>GEX-XMP3</MAKE>

+    <DISTRIBUTOR>Pioneer Corporation</DISTRIBUTOR>

+    <MODEL>GEX-XMP3</MODEL>

+    <SECURITYLEVEL>2000</SECURITYLEVEL>

+    <HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR>

+    <HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR>

+    <FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR>

+    <FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>

+    <FEATURES>

+        <CLOCK>2</CLOCK>

+        <SECURECLOCK>

+            <URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL>

+            <PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY>

+        </SECURECLOCK>

+        <METERING>1</METERING>

+        <LICENSE_ACQ>1</LICENSE_ACQ>

+        <LICENSE_SYNC>1</LICENSE_SYNC>

+        <ENCRYPTION>1</ENCRYPTION>

+        <SYMMETRIC_OPT>1</SYMMETRIC_OPT>

+    </FEATURES>

+    <LIMITS>

+        <MAXCHAINDEPTH>2</MAXCHAINDEPTH>

+        <MAXLICENSESIZE>10240</MAXLICENSESIZE>

+        <MAXHEADERSIZE>5120</MAXHEADERSIZE>

+    </LIMITS><PUBLICKEY>5gibJa9onBuFn724nkN0WFpB3Vp4qJULn7lHsB1rHIn3tiMhF/EBPA==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>ajkELHT2t30OVOc6Rl3hYTCLhiq0DS+eUfj8KHHANHtN2pKkDTDvUQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>2925</AUTH_ID><PUBLICKEY>ilRdvL8rZKkatIhDUPYViKdTemg77FUVS+2pOABaRR9+BmJDm/8vLA==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>zltEMJzjgFZF4b25S/xwGoDAOwXMQ+zRitoaxBa7pRk3WybQBJbYPw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>OcY9VKyByS0dYOkwm1FjpmvuERuGZoDeUzKF8JKzyH5NV3paEWqfDw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+
+WMPInfo.xml file contents:
+<DeviceInfo>

+    <WMP DeviceID="{6DF897F3-714C-4352-9EBD-873D57E7B389}" RelationshipID="{00000000-0000-0000-0000-000000000000}"/>

+</DeviceInfo>

+
+OK.
diff --git a/logs/mtp-detect-pocket-tunes-4.txt b/logs/mtp-detect-pocket-tunes-4.txt
new file mode 100644
index 0000000..24460b5
--- /dev/null
+++ b/logs/mtp-detect-pocket-tunes-4.txt
@@ -0,0 +1,224 @@
+libmtp version: 0.3.3
+
+Listing raw device(s)
+   Found 1 device(s):
+   Palm Handspring: Pocket Tunes 4 (1703:0002) @ bus 0, dev 110
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 257
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 1703
+   idProduct: 0002
+   IN endpoint maxpacket: 64 bytes
+   OUT endpoint maxpacket: 64 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 110
+      Device entry info:
+         Vendor: Palm Handspring
+         Vendor id: 0x1703
+         Product: Pocket Tunes 4
+         Vendor id: 0x0002
+         Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+    0000: 1203 4d00 5300 4600 5400 3100 3000 3000    ..M.S.F.T.1.0.0.
+    0010: 0400                                       ..
+Microsoft device response to control message 1, CMD 0x04:
+    0000: 2800 0000 0001 0400 0100 0000 0000 0000    (...............
+    0010: 0001 4d54 5000 0000 0000 0000 0000 0000    ..MTP...........
+    0020: 0000 0000 0000 0000                        ........
+Microsoft device response to control message 2, CMD 0x04:
+    0000: 2800 0000 0001 0400 0100 0000 0000 0000    (...............
+    0010: 0001 4d54 5000 0000 0000 0000 0000 0000    ..MTP...........
+    0020: 0000 0000 0000 0000                        ........
+Device info:
+   Manufacturer: NormSoft, Inc.
+   Model: Pocket Tunes
+   Device version: 4.0.7
+   Serial number: tdKV8yM0qlbI5q9bJ5C66fQC5IM=
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0;microsoft.com/WMPPD: 10.0;microsoft.com/WMDRMPD: 10.1;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1007: Get object handles
+   1014: Get device property description
+   1015: Get device property value
+   1008: Get object info
+   1009: Get object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   9806: Set object property list
+   9808: Send object property list
+   9810: Get object references
+   9811: Set object references
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0x5002: Functional Mode
+   0x5011: Date & Time
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de9a: AudioBitRate UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de93: SampleRate UINT32 data type enumeration: 11025, 22050, 44100,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de9a: AudioBitRate UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de93: SampleRate UINT32 data type enumeration: 11025, 22050, 44100,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de9a: AudioBitRate UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de93: SampleRate UINT32 data type enumeration: 11025, 22050, 44100,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+   ba11: M3U Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de9a: AudioBitRate UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de93: SampleRate UINT32 data type enumeration: 11025, 22050, 44100,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 3955228672
+      FreeSpaceInBytes: 3393978368
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: DSM 4GB
+      VolumeIdentifier: SD04G_B0D9A185380807
+Special directories:
+   Default music folder: 0x00000000
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: Palm Device: DSM
+   Synchronization partner: Pocket Tunes
+   Battery level 93 of 100 (93%)
+libmtp supported (playable) filetypes:
+   Microsoft Windows Media Audio
+   ISO MPEG-1 Audio Layer 3
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1"></UNIQUEID><PUBLICKEY private="1"></PUBLICKEY><KEYDATA></KEYDATA></DATA><MSDRM_SIGNATURE_VALUE></MSDRM_SIGNATURE_VALUE><SYMSIGNATURE></SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.101.143</SECURITYVERSION><CERTIFICATE private="1"></CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>Pocket Tunes</NAME>
+    <MANUFACTURER>NormSoft, Inc.</MANUFACTURER>
+    <MODEL>Pocket Tunes</MODEL>
+    <SECURITYLEVEL>2000</SECURITYLEVEL>
+    <HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR>
+     <HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR>
+    <FIRMWARE_VER_MAJOR>3</FIRMWARE_VER_MAJOR>
+    <FIRMWARE_VER_MINOR>1</FIRMWARE_VER_MINOR>
+    <FEATURES>
+        <CLOCK>1</CLOCK>
+        <METERING>1</METERING>
+        <LICENSE_ACQ>0</LICENSE_ACQ>
+        <LICENSE_SYNC>1</LICENSE_SYNC>
+        <ENCRYPTION>0</ENCRYPTION>
+        <SYMMETRIC_OPT>1</SYMMETRIC_OPT>
+    </FEATURES>
+    <LIMITS>
+        <MAXCHAINDEPTH>2</MAXCHAINDEPTH>
+        <MAXLICENSESIZE>10240</MAXLICENSESIZE>
+        <MAXHEADERSIZE>5120</MAXHEADERSIZE>
+    </LIMITS><PUBLICKEY></PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE></MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>243</AUTH_ID><PUBLICKEY></PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE></MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY></PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE></MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+WMPInfo.xml Does not exist on this device
+OK.
diff --git a/logs/mtp-detect-pocket-tunes.txt b/logs/mtp-detect-pocket-tunes.txt
new file mode 100644
index 0000000..293a21f
--- /dev/null
+++ b/logs/mtp-detect-pocket-tunes.txt
@@ -0,0 +1,201 @@
+Attempting to connect device(s)
+PTP: Opening session
+Detect: Successfully connected 1 devices
+USB low-level info:
+  Using kernel interface "usbfs"
+  bcdUSB: 256
+  bDeviceClass: 0
+  bDeviceSubClass: 0
+  bDeviceProtocol: 0
+  idVendor: 1703
+  idProduct: 0001
+  IN endpoint maxpacket: 64 bytes
+  OUT endpoint maxpacket: 64 bytes
+  Device flags: 0x00000000
+Device info:
+  Manufacturer: NormSoft, Inc.
+  Model: Pocket Tunes
+  Device version: 4.0.0
+  Serial number: (null)
+  Vendor extension ID: 0x00000006
+  Vendor extension description: microsoft.com: 1.0;microsoft.com/WMPPD: 10.0;microsoft.com/WMDRMPD: 10.1;
+Supported operations:
+  1001: get device info
+  1002: Open session
+  1003: Close session
+  1004: Get storage IDs
+  1005: Get storage info
+  1007: Get object handles
+  1014: Get device property description
+  1015: Get device property value
+  1008: Get object info
+  1009: Get object
+  9801: Get object properties supported
+  9802: Get object property description
+  9803: Get object property value
+  9804: Set object property value
+  100b: Delete object
+  100c: Send object info
+  100d: Send object
+  9806: Set object property list
+  9808: Send object property list
+  9810: Get object references
+  9811: Set object references
+  9103: Set license response
+  9104: Get sync list
+  9105: Send meter challenge query
+  9106: Get meter challenge
+  9107: Get meter response
+  9108: Clean data store
+  9109: Get license state
+Events supported:
+  None.
+Device Properties Supported:
+  0x5001: Battery Level
+  0x5002: Functional Mode
+  0x5011: Date Time
+  0xd401: Synchronization Partner
+  0xd402: Device Friendly Name
+  0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+  b901: WMA
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc08: DateCreated STRING data type READ ONLY
+     dc09: DateModified STRING data type READ ONLY
+     dc46: Artist STRING data type GET/SET
+     dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+     de9a: AudioBitRate UINT32 data type ANY 32BIT VALUE form READ ONLY
+     de93: SampleRate UINT32 data type enumeration: 11025, 22050, 44100,  READ ONLY
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+  3009: MP3
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc08: DateCreated STRING data type READ ONLY
+     dc09: DateModified STRING data type READ ONLY
+     dc46: Artist STRING data type GET/SET
+     dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+     de9a: AudioBitRate UINT32 data type ANY 32BIT VALUE form READ ONLY
+     de93: SampleRate UINT32 data type enumeration: 11025, 22050, 44100,  READ ONLY
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+  b902: OGG
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc08: DateCreated STRING data type READ ONLY
+     dc09: DateModified STRING data type READ ONLY
+     dc46: Artist STRING data type GET/SET
+     dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+     de9a: AudioBitRate UINT32 data type ANY 32BIT VALUE form READ ONLY
+     de93: SampleRate UINT32 data type enumeration: 11025, 22050, 44100,  READ ONLY
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+  ba05: Abstract Audio Video Playlist
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc08: DateCreated STRING data type READ ONLY
+     dc09: DateModified STRING data type READ ONLY
+     dc46: Artist STRING data type GET/SET
+     dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+     de9a: AudioBitRate UINT32 data type ANY 32BIT VALUE form READ ONLY
+     de93: SampleRate UINT32 data type enumeration: 11025, 22050, 44100,  READ ONLY
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+  ba11: M3U Playlist
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc08: DateCreated STRING data type READ ONLY
+     dc09: DateModified STRING data type READ ONLY
+     dc46: Artist STRING data type GET/SET
+     dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+     de9a: AudioBitRate UINT32 data type ANY 32BIT VALUE form READ ONLY
+     de93: SampleRate UINT32 data type enumeration: 11025, 22050, 44100,  READ ONLY
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+  3001: Association/Directory
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc08: DateCreated STRING data type READ ONLY
+     dc09: DateModified STRING data type READ ONLY
+  3000: Undefined Type
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+Storage Devices:
+  StorageID: 0x00040001
+     StorageType: 0x0004
+     FilesystemType: 0x0002
+     AccessCapability: 0x0000
+     MaxCapacity: 1029832704
+     FreeSpaceInBytes: 300138496
+     FreeSpaceInObjects: 4294967295
+     StorageDescription: Volume #4
+     VolumeIdentifier: SD01G_9191492F280107
+Special directories:
+  Default music folder: 0x00000000
+  Default playlist folder: 0x00000000
+  Default picture folder: 0x00000000
+  Default video folder: 0x00000000
+  Default organizer folder: 0x00000000
+  Default zencast folder: 0x00000000
+  Default album folder: 0x00000000
+  Default text folder: 0x00000000
+MTP-specific device properties:
+  Friendly name: Palm Device: gyp
+  Synchronization partner: Pocket Tunes
+  Battery level 76 of 100 (76%)
+libmtp supported (playable) filetypes:
+  Microsoft Windows Media Audio
+  ISO MPEG-1 Audio Layer 3
+  Ogg container format
+
+Device Certificate:
+
+WMPInfo.xml Does not exist on this device
+PTP: Closing session
+OK.
diff --git a/logs/mtp-detect-polaroid-freescape.txt b/logs/mtp-detect-polaroid-freescape.txt
new file mode 100644
index 0000000..1d5db89
--- /dev/null
+++ b/logs/mtp-detect-polaroid-freescape.txt
@@ -0,0 +1,296 @@
+libmtp version: 0.3.4
+
+Listing raw device(s)
+   Found 1 device(s):
+   0546:2035 @ bus 0, dev 4
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 255
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0546
+   idProduct: 2035
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 4
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0546
+         Product: (null)
+         Vendor id: 0x2035
+         Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: 0100                                   	..
+Microsoft device response to control message 1, CMD 0x01:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Device info:
+   Manufacturer: Polaroid
+   Model: Polaroid
+   Device version: 4.3.0
+   Serial number: 0016449268b8
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/WMDRMPD: 10.1; audible.com: 1.0; 
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1012: Set object protection
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9805: Get object property list
+   9806: Set object property list
+   9804: Set object property value
+   9810: Get object references
+   9811: Set object references
+   9001: Unknown (9001)
+   9002: Unknown (9002)
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd402: Friendly Device Name
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   3801: JPEG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 800, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 800, STEP 1 GET/SET
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 5, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 5, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 1500000, STEP 1 GET/SET
+   b904: Audible.com Codec
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 5, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      da00: unknown(da00) UINT32 data type enumeration: 2, 3,  READ ONLY
+      da01: unknown(da01) STRING data type READ ONLY
+      da02: unknown(da02) UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da03: unknown(da03) UINT16 data type enumeration: 0, 1,  READ ONLY
+   b981: WMV
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 480, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 272, STEP 1 GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 1, MAX 800000, STEP 1 READ ONLY
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  READ ONLY
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de99: AudioWAVECodec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 1500000, STEP 1 GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 1, MAX 2500000, STEP 1 GET/SET
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 15000, MAX 30000, STEP 1 READ ONLY
+      de9e: KeyFrameDistance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      dea1: EncodingProfile STRING data type READ ONLY
+   ba03: Abstract Audio Album
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  GET/SET
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 59970191360
+      FreeSpaceInBytes: 59763621888
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Disk
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000003
+   Default playlist folder: 0x00000005
+   Default picture folder: 0x00000004
+   Default video folder: 0x00000007
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000001
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: Lydia
+   Synchronization partner: (NULL)
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   JPEG file
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   Audible.com Audio Codec
+   Microsoft Windows Media Video
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">qaJ3zLBFyIFm8skJSKN8+Hc8rd4=</UNIQUEID><PUBLICKEY private="1">IKMiAi10rBH++iq8nBLyGeoJ5COWh+SA2/rQBuFqISBZhYxbpmk6Xg==</PUBLICKEY><KEYDATA>dYypP4xQiqOWHGKGvWP6CwDSZ9M=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>xzcxpucLioKBJUvxiGwIlIhtJA4vsANmsmByv8jBdZ0uCHRF6wQvKw==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>Ajsj3Z0Mn3bQrIhTVhfSFJgcCuU=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.109.175</SECURITYVERSION><CERTIFICATE private="1">IKMiAi10rBH++iq8nBLyGeoJ5COWh+SA2/rQBuFqISBZhYxbpmk6XgIEba8t3Hw61UsY2hFR0joH4rMxNaddGTEQvw4/sjfqNnP+FXPY8OZNgCZD</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>Polaroid</NAME>

+    <MANUFACTURER>Polaroid</MANUFACTURER>

+    <MODEL>Digital Portable Multimedia Player</MODEL>

+    <HARDWARE_VER_MAJOR>1.27</HARDWARE_VER_MAJOR>

+    <FIRMWARE_VER_MAJOR>4.3.0</FIRMWARE_VER_MAJOR>

+    <SECURITYLEVEL>2000</SECURITYLEVEL>

+    <FEATURES>

+        <CLOCK>1</CLOCK>

+        <METERING>1</METERING>

+        <LICENSE_ACQ>1</LICENSE_ACQ>

+        <LICENSE_SYNC>0</LICENSE_SYNC>

+        <ENCRYPTION>1</ENCRYPTION>

+    </FEATURES>

+    <LIMITS>

+        <MAXCHAINDEPTH>2</MAXCHAINDEPTH>

+        <MAXLICENSESIZE>10240</MAXLICENSESIZE>

+        <MAXHEADERSIZE>5120</MAXHEADERSIZE>

+    </LIMITS><PUBLICKEY>n51usq+o1UrqSJ5+U/8Jx+tnDAb4ArK9ibRYVuQFNlseCL/Vo5kcbg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>ptrbYV6mH9tlczIYu4SMzbGzQgect5M3Er/KRislbB4PPdVlHNVdag==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>2323</AUTH_ID><PUBLICKEY>tcGBtiPZvA3iQMtt3V0nMPVtSYlxet7RQEGhWkQ2YBxehW1161muew==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>HfadVe+0kPdh+W9suGMXMDjKLIPx2ej+3bvQOaXgBZSSAXq2czhHMg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>d0/CSGv0yF7jFx01iWSYZDpP6CvAI2njDtpOiGmQuIztFzC77eRhCA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+WMPInfo.xml Does not exist on this device
+OK.
+
+ 	  	 
diff --git a/logs/mtp-detect-prestigio-3405.txt b/logs/mtp-detect-prestigio-3405.txt
new file mode 100644
index 0000000..662ca0c
--- /dev/null
+++ b/logs/mtp-detect-prestigio-3405.txt
@@ -0,0 +1,487 @@
+leowanz@LW-Z480 ~ $ mtp-detect
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6
+
+Listing raw device(s)
+Device 0 (VID=29e4 and PID=3201) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   29e4:3201 @ bus 1, dev 6
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 29e4
+   idProduct: 3201
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 6
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x29e4
+         Product: (null)
+         Vendor id: 0x3201
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: PRESTIGIO
+   Model: PSP3405DUO
+   Device version: 1.0
+   Serial number: MTP33244800535
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4007
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 8060403712
+      FreeSpaceInBytes: 6382649344
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD card
+      VolumeIdentifier: (null)
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 1520635904
+      FreeSpaceInBytes: 845209600
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x000016f5
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
diff --git a/logs/mtp-detect-prestigio-5504.txt b/logs/mtp-detect-prestigio-5504.txt
new file mode 100644
index 0000000..055b145
--- /dev/null
+++ b/logs/mtp-detect-prestigio-5504.txt
@@ -0,0 +1,489 @@
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.
+libmtp version: 1.1.8
+
+Listing raw device(s)
+Device 0 (VID=29e4 and PID=1203) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   29e4:1203 @ bus 1, dev 9
+Attempting to connect device(s)
+ignoring libusb_claim_interface() = -6PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
+LIBMTP libusb: Attempt to reset device
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 29e4
+   idProduct: 1203
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 9
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x29e4
+         Product: (null)
+         Vendor id: 0x1203
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Prestigio
+   Model: PSP5504DUO
+   Device version: 1.0
+   Serial number: MTP32543004351
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 5863505920
+      FreeSpaceInBytes: 4797251584
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Память телефона
+      VolumeIdentifier: (null)
+   StorageID: 0x00010001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 3942645760
+      FreeSpaceInBytes: 2010841088
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD-карта
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000003
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x0000000f
+   Default video folder: 0x00000031
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: PSP5504DUO
+   Synchronization partner: PSP5504DUO
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-recon-instruments-jet.txt b/logs/mtp-detect-recon-instruments-jet.txt
new file mode 100644
index 0000000..3cdb2ff
--- /dev/null
+++ b/logs/mtp-detect-recon-instruments-jet.txt
@@ -0,0 +1,486 @@
+
+
+
+---
+
+** [bugs:#1570] Device 0 (VID=2523 and PID=d209) is UNKNOWN.**
+
+**Status:** open
+**Group:** unknown release (please set)
+**Created:** Wed Jun 01, 2016 06:24 PM UTC by Anonymous
+**Last Updated:** Wed Jun 01, 2016 06:24 PM UTC
+**Owner:** nobody
+
+
+This is a Recon Instruments Jet
+
+libmtp version: 1.1.9
+
+Listing raw device(s)
+Device 0 (VID=2523 and PID=d209) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   2523:d209 @ bus 20, dev 28
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 2523
+   idProduct: d209
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 20
+      Device number: 28
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x2523
+         Product: (null)
+         Vendor id: 0xd209
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Recon Instruments
+   Model: JET
+   Device version: 1.0
+   Serial number: 299945126
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 6552739840
+      FreeSpaceInBytes: 6278959104
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/bugs/1570/>
+
+
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/>
\ No newline at end of file
diff --git a/logs/mtp-detect-recon-instruments-snow2-hud.txt b/logs/mtp-detect-recon-instruments-snow2-hud.txt
new file mode 100644
index 0000000..618fce7
--- /dev/null
+++ b/logs/mtp-detect-recon-instruments-snow2-hud.txt
@@ -0,0 +1,487 @@
+
+
+
+---
+
+** [bugs:#1571] Device 0 (VID=2523 and PID=d109) is UNKNOWN.**
+
+**Status:** open
+**Group:** unknown release (please set)
+**Created:** Wed Jun 01, 2016 06:29 PM UTC by Anonymous
+**Last Updated:** Wed Jun 01, 2016 06:29 PM UTC
+**Owner:** nobody
+
+
+This is a Recon Instruments Snow2 HUD, also known as an Oakley Airwave 2.0 (depending on serial number)
+
+libmtp version: 1.1.9
+
+Listing raw device(s)
+Device 0 (VID=2523 and PID=d109) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   2523:d109 @ bus 20, dev 32
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 2523
+   idProduct: d109
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 20
+      Device number: 32
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x2523
+         Product: (null)
+         Vendor id: 0xd109
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Recon Instruments
+   Model: Snow2
+   Device version: 1.0
+   Serial number: 283234444
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 748093440
+      FreeSpaceInBytes: 461639680
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/bugs/1571/>
+
+
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/>
\ No newline at end of file
diff --git a/logs/mtp-detect-redmi-1s.txt b/logs/mtp-detect-redmi-1s.txt
new file mode 100644
index 0000000..a3eb694
--- /dev/null
+++ b/logs/mtp-detect-redmi-1s.txt
@@ -0,0 +1,485 @@
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6
+
+Listing raw device(s)
+Device 0 (VID=2717 and PID=1260) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   2717:1260 @ bus 1, dev 9
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 2717
+   idProduct: 1260
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 9
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x2717
+         Product: (null)
+         Vendor id: 0x1260
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Xiaomi
+   Model: HM 1S
+   Device version: 1.0
+   Serial number: 9d0aad64
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 6130769920
+      FreeSpaceInBytes: 2155921408
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 31427919872
+      FreeSpaceInBytes: 13414432768
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD card
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
diff --git a/logs/mtp-detect-redmi-hm1s.txt b/logs/mtp-detect-redmi-hm1s.txt
new file mode 100644
index 0000000..d97bebc
--- /dev/null
+++ b/logs/mtp-detect-redmi-hm1s.txt
@@ -0,0 +1,467 @@
+D=2717 and PID=1268) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   2717:1268 @ bus 1, dev 4
+Attempting to connect device(s)
+ignoring libusb_claim_interface() = -6PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
+LIBMTP libusb: Attempt to reset device
+Android device detected, assigning default bug flags
+Error 1: Get Storage information failed.
+Error 2: PTP Layer error 02fe: get_handles_recursively(): could not get object handles.
+Error 2: Error 02fe: PTP: Protocol error, data expected
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 2717
+   idProduct: 1268
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 4
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x2717
+         Product: (null)
+         Vendor id: 0x1268
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Xiaomi
+   Model: HM 1S
+   Device version: 1.0
+   Serial number: 4fc8078a
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-redmi-note-adb.txt b/logs/mtp-detect-redmi-note-adb.txt
new file mode 100644
index 0000000..b64b631
--- /dev/null
+++ b/logs/mtp-detect-redmi-note-adb.txt
@@ -0,0 +1,487 @@
+Device 0 (VID=2717 and PID=1248) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+libmtp version: 1.1.3
+
+Listing raw device(s)
+   Found 1 device(s):
+   2717:1248 @ bus 3, dev 11
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 2717
+   idProduct: 1248
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 3
+      Device number: 11
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x2717
+         Product: (null)
+         Vendor id: 0x1248
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: alps
+   Model: HM NOTE 1W
+   Device version: 1.0
+   Serial number: 0123456789ABCDEF
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 6298083328
+      FreeSpaceInBytes: 5226127360
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Phone storage
+      VolumeIdentifier: (null)
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 16005464064
+      FreeSpaceInBytes: 15500738560
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: การ์ดความจำ
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: lcsh92_wet_jb9
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-redmi-note.txt b/logs/mtp-detect-redmi-note.txt
new file mode 100644
index 0000000..700ee9a
--- /dev/null
+++ b/logs/mtp-detect-redmi-note.txt
@@ -0,0 +1,487 @@
+Device 0 (VID=2717 and PID=1240) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+libmtp version: 1.1.3
+
+Listing raw device(s)
+   Found 1 device(s):
+   2717:1240 @ bus 3, dev 13
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 2717
+   idProduct: 1240
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 3
+      Device number: 13
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x2717
+         Product: (null)
+         Vendor id: 0x1240
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: alps
+   Model: HM NOTE 1W
+   Device version: 1.0
+   Serial number: 0123456789ABCDEF
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 6298083328
+      FreeSpaceInBytes: 5226123264
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Phone storage
+      VolumeIdentifier: (null)
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 16005464064
+      FreeSpaceInBytes: 15500738560
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: การ์ดความจำ
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: lcsh92_wet_jb9
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-samsung-gn-jb.txt b/logs/mtp-detect-samsung-gn-jb.txt
new file mode 100644
index 0000000..fc90468
--- /dev/null
+++ b/logs/mtp-detect-samsung-gn-jb.txt
@@ -0,0 +1,470 @@
+libmtp version: 1.1.3
+
+Listing raw device(s)
+   Found 1 device(s):
+   Samsung: GT P7310/P7510/N7000/I9070/I9100/I9300 Galaxy Tab 7.7/10.1/S2/S3/Nexus/Note/Y (04e8:6860) @ bus 1, dev 44
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+Reading in zero packet after header
+Reading in zero packet after header
+Reading in zero packet after header
+Reading in zero packet after header
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 04e8
+   idProduct: 6860
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 44
+      Device entry info:
+         Vendor: Samsung
+         Vendor id: 0x04e8
+         Product: GT P7310/P7510/N7000/I9070/I9100/I9300 Galaxy Tab 7.7/10.1/S2/S3/Nexus/Note/Y
+         Vendor id: 0x6860
+         Device flags: 0x48008107
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: samsung
+   Model: Galaxy Nexus
+   Device version: 1.0
+   Serial number: <snip>
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 14311309312
+      FreeSpaceInBytes: 5839896476
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: SAMSUNG Mobile MTP Device
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+
+WMPInfo.xml file contents:
+<DeviceInfo>
+    <WMP DeviceID="{DE81DA89-740B-42CF-9B11-159284479C91}" RelationshipID="{00000000-0000-0000-0000-000000000000}"/>
+</DeviceInfo>
+
+OK.
diff --git a/logs/mtp-detect-samsung-gt-b2700.txt b/logs/mtp-detect-samsung-gt-b2700.txt
new file mode 100644
index 0000000..06acbdb
--- /dev/null
+++ b/logs/mtp-detect-samsung-gt-b2700.txt
@@ -0,0 +1,431 @@
+libmtp version: 0.3.7
+
+Listing raw device(s)
+Potential MTP Device with VendorID:04e8 and ProductID:6752 responded to control message 2 with a response that was too short. Problems may arrise but continuing
+Device 0 (VID=04e8 and PID=6752) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   04e8:6752 @ bus 0, dev 16
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 2
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 04e8
+   idProduct: 6752
+   IN endpoint maxpacket: 64 bytes
+   OUT endpoint maxpacket: 64 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 16
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x04e8
+         Product: (null)
+         Vendor id: 0x6752
+         Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: 0800                                   	..
+Microsoft device response to control message 1, CMD 0x08:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Potential MTP Device with VendorID:04e8 and ProductID:6752 responded to control message 2 with a response that was too short. Problems may arrise but continuing
+Device info:
+   Manufacturer: Samsung Electronics Co., Ltd. 
+   Model: GT-B2700
+   Device version: B2700PNHL
+   Serial number: 358260020471270
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMPPD: 11.0; microsoft.com/WMDRMPD: 10.1; 
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   101b: Get partial object
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9201: Report Added/Deleted Items
+   1011: Self test device
+   1012: Set object protection
+   1017: Reset device property value
+   1019: Move object
+   101a: Copy object
+   9808: Send object property list
+   9001: Unknown (9001)
+   9100: Unknown (9100)
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9202: Report Acquired Items
+Events supported:
+   0x4001
+   0x4004
+   0x4005
+   0x4006
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+   0xd407: Unknown property
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   b984: 3GP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 13000, MAX 192999, STEP 1 READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337, 14343, 14347, 14344, 47361, 12299,  READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: RepresentativeSampleDuration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 13000, MAX 192999, STEP 1 READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337, 14343, 14347, 14344, 47361, 12299,  READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: RepresentativeSampleDuration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 13000, MAX 192999, STEP 1 READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337, 14343, 14347, 14344, 47361, 12299,  READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: RepresentativeSampleDuration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+   b981: WMV
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 176, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 144, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de97: ScanDepth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 13000, MAX 16999, STEP 1 READ ONLY
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 0, 827739479, 844516695, 861293911,  GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 32000, MAX 96000, STEP 1 GET/SET
+      de9d: FramesPerThousandSeconds UINT32 data type enumeration: 0, 15000,  GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      dea1: EncodingProfile STRING data type READ ONLY
+   3801: JPEG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337, 14343, 14347, 14344, 47361, 12299,  READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: RepresentativeSampleDuration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+      d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   3807: GIF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337, 14343, 14347, 14344, 47361, 12299,  READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: RepresentativeSampleDuration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+      d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+   300c: ASF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 176, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 144, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de97: ScanDepth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 13000, MAX 16999, STEP 1 READ ONLY
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 0, 827739479, 844516695, 861293911,  GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 32000, MAX 96000, STEP 1 GET/SET
+      de9d: FramesPerThousandSeconds UINT32 data type enumeration: 0, 15000,  GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      dea1: EncodingProfile STRING data type READ ONLY
+   ba03: Abstract Audio Album
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337, 14343, 14347, 14344, 47361, 12299,  READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: RepresentativeSampleDuration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+      d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 40566784
+      FreeSpaceInBytes: 13725696
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Phone
+      VolumeIdentifier: 358260020471270
+Special directories:
+   Default music folder: 0x00000000
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: GT-B2700
+   Synchronization partner: (NULL)
+   Battery level 35 of 100 (35%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   Microsoft Windows Media Video
+   JPEG file
+   GIF bitmap file
+   Microsoft Advanced Systems Format
+
+Secure Time:
+0030723T193600.
+
+Device Certificate:
+?xml version="1.0" encoding="unicode" ?> <Test> <Description> Faked device certificate </Description> </Test
+OK.
+
+
+ 	  	 
diff --git a/logs/mtp-detect-samsung-gt-b2710.txt b/logs/mtp-detect-samsung-gt-b2710.txt
new file mode 100644
index 0000000..49ec0b4
--- /dev/null
+++ b/logs/mtp-detect-samsung-gt-b2710.txt
@@ -0,0 +1,535 @@
+Device 0 (VID=04e8 and PID=68af) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+libmtp version: 1.0.3
+
+Listing raw device(s)
+   Found 1 device(s):
+   04e8:68af @ bus 2, dev 3
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "dummy"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 04e8
+   idProduct: 68af
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 3
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x04e8
+         Product: (null)
+         Vendor id: 0x68af
+         Device flags: 0x00000000
+Configuration 0, interface 0, altsetting 0:
+   Interface implements PTP class, no further probing.
+Device info:
+   Manufacturer: Samsung Electronics Co., Ltd. 
+   Model: GT-B2710
+   Device version: B2710XXJK1
+   Serial number: 353531041042851
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMPPD: 11.0; microsoft.com/WMDRMPD: 10.1; 
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   101b: Get partial object
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9201: Report Added/Deleted Items
+   1011: Self test device
+   1012: Set object protection
+   1017: Reset device property value
+   1019: Move object
+   101a: Copy object
+   9808: Send object property list
+   9001: Unknown (9001)
+   9100: Unknown (9100)
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9202: Report Acquired Items
+Events supported:
+   0x4001
+   0x4004
+   0x4005
+   0x4006
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+   0xd407: Perceived Device Type
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 320999, STEP 1 READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14343, 14347, 14344, 47361, 12299,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: Representative Sample Duration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 176, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 144, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 85, 352, 353,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 16999, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 32000, MAX 288000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type enumeration: 0, 15000,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 320999, STEP 1 READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14343, 14347, 14344, 47361, 12299,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: Representative Sample Duration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 85, 352, 353,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 192999, STEP 1 READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14343, 14347, 14344, 47361, 12299,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: Representative Sample Duration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 176, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 144, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 85, 352, 353,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 16999, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 32000, MAX 288000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type enumeration: 0, 15000,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 3000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 3000, STEP 1 GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14343, 14347, 14344, 47361, 12299,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: Representative Sample Duration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 3000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 3000, STEP 1 GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14343, 14347, 14344, 47361, 12299,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: Representative Sample Duration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 3000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 3000, STEP 1 GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14343, 14347, 14344, 47361, 12299,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: Representative Sample Duration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 3000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 3000, STEP 1 GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14343, 14347, 14344, 47361, 12299,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: Representative Sample Duration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 176, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 144, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 85, 352, 353,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 16999, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 32000, MAX 288000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type enumeration: 0, 15000,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 3000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 3000, STEP 1 GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14343, 14347, 14344, 47361, 12299,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: Representative Sample Duration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 1960169472
+      FreeSpaceInBytes: 76406784
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Card
+      VolumeIdentifier: 353531041042851-20001
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 128647168
+      FreeSpaceInBytes: 12087296
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Phone
+      VolumeIdentifier: 353531041042851-10001
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: GT-B2710
+   Synchronization partner: (NULL)
+   Battery level 85 of 100 (85%)
+libmtp supported (playable) filetypes:
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   Microsoft Windows Media Video
+   JPEG file
+   Abstract Playlist file
+   GIF bitmap file
+   BMP bitmap file
+   Portable Network Graphics
+   Microsoft Advanced Systems Format
+   Abstract Album file
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20112222 13:58:43Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>A
+OK.
diff --git a/logs/mtp-detect-samsung-gt-i8190.txt b/logs/mtp-detect-samsung-gt-i8190.txt
new file mode 100644
index 0000000..b21cfaa
--- /dev/null
+++ b/logs/mtp-detect-samsung-gt-i8190.txt
@@ -0,0 +1,567 @@
+Error: Unable to open ~/.mtpz-data for reading.
+libmtp version: 1.1.5
+
+Listing raw device(s)
+   Found 1 device(s):
+   Samsung: Galaxy models (MTP) (04e8:6860) @ bus 2, dev 7
+Attempting to connect device(s)
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 04e8
+   idProduct: 6860
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 7
+      Device entry info:
+         Vendor: Samsung
+         Vendor id: 0x04e8
+         Product: Galaxy models (MTP)
+         Vendor id: 0x6860
+         Device flags: 0x48000007
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: SAMSUNG Electronics Co. Ltd. 
+   Model: GT-I8190
+   Device version: V1.0
+   Serial number: 354915053951910
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMPPD: 11.0; microsoft.com/WMPPD: 10.0; microsoft.com/WMDRMPD:10.1; microsoft.com/playready:1.10; 
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        microsoft.com/WMPPD: 11.0
+        microsoft.com/WMPPD: 10.0
+        microsoft.com/WMDRMPD: 10.1
+        microsoft.com/playready: 1.10
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   101b: Get partial object
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   100a: Get thumbnail
+   1011: Self test device
+   1012: Set object protection
+   1017: Reset device property value
+   9807: Get interdependent property description
+   9808: Send object property list
+   9100: Unknown (9100)
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   910c: Unknown (910c)
+   910d: Unknown (910d)
+   910e: Unknown (910e)
+   910f: Unknown (910f)
+   9110: Unknown (9110)
+   9111: Unknown (9111)
+   9112: Unknown (9112)
+   9113: Unknown (9113)
+   9114: Unknown (9114)
+   9115: Unknown (9115)
+   9116: Unknown (9116)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+   0xd407: Perceived Device Type
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd103: Revocation Info
+   0xd104: Unknown property
+   0xd105: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 384000, STEP 1 READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14343, 14347, 47361, 12299,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: Representative Sample Duration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 384000, STEP 1 READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14343, 14347, 47361, 12299,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: Representative Sample Duration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 384000, STEP 1 READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14343, 14347, 47361, 12299,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: Representative Sample Duration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 1280, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 85, 352, 353,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 192999, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 32000, MAX 10485760, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type enumeration: 0, 15000, 24000, 25000, 29970, 30000,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14343, 14347, 47361, 12299,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: Representative Sample Duration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14343, 14347, 47361, 12299,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: Representative Sample Duration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+   300a: MS AVI
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 1280, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 85, 352, 353,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 192999, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 32000, MAX 10485760, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type enumeration: 0, 15000, 24000, 25000, 29970, 30000,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 1280, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 85, 352, 353,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 192999, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 32000, MAX 10485760, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type enumeration: 0, 15000, 24000, 25000, 29970, 30000,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type READ ONLY
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 1280, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 85, 352, 353,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 192999, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 32000, MAX 10485760, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type enumeration: 0, 15000, 24000, 25000, 29970, 30000,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 1280, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 85, 352, 353,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 192999, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 32000, MAX 10485760, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type enumeration: 0, 15000, 24000, 25000, 29970, 30000,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14343, 14347, 47361, 12299,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: Representative Sample Duration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 4775288832
+      FreeSpaceInBytes: 635879424
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Phone
+      VolumeIdentifier: SECZ9519043CHOHB
+   StorageID: 0x00020002
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 15926198272
+      FreeSpaceInBytes: 3697410048
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Card
+      VolumeIdentifier: SECZ9519043CHOHB01
+Special directories:
+   Default music folder: 0x00000002
+   Default playlist folder: 0x00000013
+   Default picture folder: 0x00000007
+   Default video folder: 0x00000017
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: GT-I8190
+   Synchronization partner: Longhorn Sync Engine
+   Battery level 7 of 100 (7%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   Microsoft Windows Media Video
+   JPEG file
+   Folder
+   Abstract Playlist file
+   GIF bitmap file
+   Audio Video Interleave
+   MPEG video stream
+   Microsoft Advanced Systems Format
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Abstract Album file
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20130214 14:17:08Z#</VALUE><FLAG>DRM_CLK_SET</FLAG></DRMCLOCK>
+OK.
diff --git a/logs/mtp-detect-samsung-gt-i9070.txt b/logs/mtp-detect-samsung-gt-i9070.txt
new file mode 100644
index 0000000..e8205ce
--- /dev/null
+++ b/logs/mtp-detect-samsung-gt-i9070.txt
@@ -0,0 +1,579 @@
+libmtp version: 1.1.3
+
+Listing raw device(s)
+   Found 1 device(s):
+   Samsung: GT-P7310/P7510/N7000/I9100/Galaxy Tab 7.7/10.1/S2/Nexus/Note/Y (04e8:6860) @ bus 2, dev 9
+Attempting to connect device(s)
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 239
+   bDeviceSubClass: 2
+   bDeviceProtocol: 1
+   idVendor: 04e8
+   idProduct: 6860
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 9
+      Device entry info:
+         Vendor: Samsung
+         Vendor id: 0x04e8
+         Product: GT-P7310/P7510/N7000/I9100/Galaxy Tab 7.7/10.1/S2/Nexus/Note/Y
+         Vendor id: 0x6860
+         Device flags: 0x48000003
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: SAMSUNG Electronics Co. Ltd. 
+   Model: GT-I9070
+   Device version: V1.0
+   Serial number: 351524051229403
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMPPD: 11.0; microsoft.com/WMPPD: 10.0; microsoft.com/WMDRMPD:10.1; microsoft.com/playready:1.10; 
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        microsoft.com/WMPPD: 11.0
+        microsoft.com/WMPPD: 10.0
+        microsoft.com/WMDRMPD: 10.1
+        microsoft.com/playready: 1.10
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   101b: Get partial object
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   1011: Self test device
+   1012: Set object protection
+   1017: Reset device property value
+   9807: Get interdependent property description
+   9808: Send object property list
+   9100: Unknown (9100)
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   910c: Unknown (910c)
+   910d: Unknown (910d)
+   910e: Unknown (910e)
+   910f: Unknown (910f)
+   9110: Unknown (9110)
+   9111: Unknown (9111)
+   9112: Unknown (9112)
+   9113: Unknown (9113)
+   9114: Unknown (9114)
+   9115: Unknown (9115)
+   9116: Unknown (9116)
+Events supported:
+   0x4004
+   0x4005
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+   0xd407: Perceived Device Type
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd103: Revocation Info
+   0xd104: Unknown property
+   0xd105: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 384000, STEP 1 READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14343, 14347, 47361, 12299,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: Representative Sample Duration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 384000, STEP 1 READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14343, 14347, 47361, 12299,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: Representative Sample Duration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 384000, STEP 1 READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14343, 14347, 47361, 12299,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: Representative Sample Duration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 1280, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 85, 352, 353,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 192999, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 32000, MAX 10485760, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type enumeration: 0, 15000, 24000, 25000, 29970, 30000,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14343, 14347, 47361, 12299,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: Representative Sample Duration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14343, 14347, 47361, 12299,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: Representative Sample Duration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+   300a: MS AVI
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 1280, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 85, 352, 353,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 192999, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 32000, MAX 10485760, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type enumeration: 0, 15000, 24000, 25000, 29970, 30000,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 1280, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 85, 352, 353,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 192999, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 32000, MAX 10485760, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type enumeration: 0, 15000, 24000, 25000, 29970, 30000,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type READ ONLY
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 1280, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 85, 352, 353,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 192999, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 32000, MAX 10485760, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type enumeration: 0, 15000, 24000, 25000, 29970, 30000,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 1280, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 85, 352, 353,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 192999, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 32000, MAX 10485760, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type enumeration: 0, 15000, 24000, 25000, 29970, 30000,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14343, 14347, 47361, 12299,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: Representative Sample Duration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 4202364928
+      FreeSpaceInBytes: 4098195456
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Phone
+      VolumeIdentifier: SECZ9519043CHOHB
+   StorageID: 0x00020002
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 3961749504
+      FreeSpaceInBytes: 3961651200
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Card
+      VolumeIdentifier: SECZ9519043CHOHB01
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: GT-I9070
+   Synchronization partner: Longhorn Sync Engine
+   Battery level 99 of 100 (99%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   Microsoft Windows Media Video
+   JPEG file
+   Folder
+   Abstract Playlist file
+   GIF bitmap file
+   Audio Video Interleave
+   MPEG video stream
+   Microsoft Advanced Systems Format
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Abstract Album file
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20120606 08:04:23Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>
+OK.
diff --git a/logs/mtp-detect-samsung-gt-i9100.txt b/logs/mtp-detect-samsung-gt-i9100.txt
new file mode 100644
index 0000000..e9e702d
--- /dev/null
+++ b/logs/mtp-detect-samsung-gt-i9100.txt
@@ -0,0 +1,563 @@
+libmtp version: 1.1.2
+
+Listing raw device(s)
+   Found 1 device(s):
+   Samsung: GT-P7510/Galaxy Tab 7.7/10.1/S2/GT-N7000/Galaxy Nexus (04e8:6860) @ bus 1, dev 40
+Attempting to connect device(s)
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 04e8
+   idProduct: 6860
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 40
+      Device entry info:
+         Vendor: Samsung
+         Vendor id: 0x04e8
+         Product: GT-P7510/Galaxy Tab 7.7/10.1/S2/GT-N7000/Galaxy Nexus
+         Vendor id: 0x6860
+         Device flags: 0x48000003
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: SAMSUNG Electronics Co. Ltd. 
+   Model: GT-I9100
+   Device version: V1.0
+   Serial number: 358150043632976
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMPPD: 11.0; microsoft.com/WMPPD: 10.0; microsoft.com/WMDRMPD:10.1; microsoft.com/playready:1.10; 
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        microsoft.com/WMPPD: 11.0
+        microsoft.com/WMPPD: 10.0
+        microsoft.com/WMDRMPD: 10.1
+        microsoft.com/playready: 1.10
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   101b: Get partial object
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   1011: Self test device
+   1012: Set object protection
+   1017: Reset device property value
+   9807: Get interdependent property description
+   9808: Send object property list
+   9100: Unknown (9100)
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   910c: Unknown (910c)
+   910d: Unknown (910d)
+   910e: Unknown (910e)
+   910f: Unknown (910f)
+   9110: Unknown (9110)
+   9111: Unknown (9111)
+   9112: Unknown (9112)
+   9113: Unknown (9113)
+   9114: Unknown (9114)
+   9115: Unknown (9115)
+   9116: Unknown (9116)
+Events supported:
+   0x4004
+   0x4005
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+   0xd407: Perceived Device Type
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd103: Revocation Info
+   0xd104: Unknown property
+   0xd105: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 384000, STEP 1 READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14343, 14347, 47361, 12299,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: Representative Sample Duration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 384000, STEP 1 READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14343, 14347, 47361, 12299,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: Representative Sample Duration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 384000, STEP 1 READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14343, 14347, 47361, 12299,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: Representative Sample Duration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 85, 352, 353,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 192999, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 32000, MAX 10485760, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type enumeration: 0, 15000, 24000, 25000, 29970, 30000,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14343, 14347, 47361, 12299,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: Representative Sample Duration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14343, 14347, 47361, 12299,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: Representative Sample Duration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+   300a: MS AVI
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 85, 352, 353,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 192999, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 32000, MAX 10485760, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type enumeration: 0, 15000, 24000, 25000, 29970, 30000,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 85, 352, 353,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 192999, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 32000, MAX 10485760, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type enumeration: 0, 15000, 24000, 25000, 29970, 30000,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type READ ONLY
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 85, 352, 353,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 192999, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 32000, MAX 10485760, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type enumeration: 0, 15000, 24000, 25000, 29970, 30000,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 85, 352, 353,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 192999, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 32000, MAX 10485760, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type enumeration: 0, 15000, 24000, 25000, 29970, 30000,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14343, 14347, 47361, 12299,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: Representative Sample Duration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 12350881792
+      FreeSpaceInBytes: 2586279936
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Phone
+      VolumeIdentifier: SECZ9519043CHOHB
+   StorageID: 0x00020002
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 7732920320
+      FreeSpaceInBytes: 1552416768
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Card
+      VolumeIdentifier: SECZ9519043CHOHB01
+Special directories:
+   Default music folder: 0x00000044
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000027
+   Default video folder: 0x0000001d
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: GT-I9100
+   Synchronization partner: Longhorn Sync Engine
+   Battery level 68 of 100 (68%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   Microsoft Windows Media Video
+   JPEG file
+   Folder
+   Abstract Playlist file
+   GIF bitmap file
+   Audio Video Interleave
+   MPEG video stream
+   Microsoft Advanced Systems Format
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Abstract Album file
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20120228 07:39:36Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>
+OK.
diff --git a/logs/mtp-detect-samsung-gt-i9250.txt b/logs/mtp-detect-samsung-gt-i9250.txt
new file mode 100644
index 0000000..e31cc79
--- /dev/null
+++ b/logs/mtp-detect-samsung-gt-i9250.txt
@@ -0,0 +1,460 @@
+libmtp version: 1.1.1
+
+Listing raw device(s)
+   Found 1 device(s):
+   04e8:685c @ bus 7, dev 8
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 04e8
+   idProduct: 685c
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 7
+      Device number: 8
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x04e8
+         Product: (null)
+         Vendor id: 0x685c
+         Device flags: 0x00008104
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: samsung
+   Model: Galaxy Nexus
+   Device version: 1.0
+   Serial number: 0146970C0600A006
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 14311309312
+      FreeSpaceInBytes: 13956444060
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal Storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-samsung-gt-i9300.txt b/logs/mtp-detect-samsung-gt-i9300.txt
new file mode 100644
index 0000000..bfb6db4
--- /dev/null
+++ b/logs/mtp-detect-samsung-gt-i9300.txt
@@ -0,0 +1,232 @@
+My mtp-detect output on Ubuntu 12.04 is the following:
+http://pastebin.com/CN3LGNaZ
+
+The interesting part is probably this:
+
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 04e8
+   idProduct: 6860
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 9
+      Device entry info:
+         Vendor: Samsung
+         Vendor id: 0x04e8
+         Product: GT-P7310/P7510/N7000/I9100/Galaxy Tab 7.7/10.1/S2/Nexus/Note
+         Vendor id: 0x6860
+         Device flags: 0x48000003
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: SAMSUNG Electronics Co. Ltd.
+   Model: GT-I9300
+   Device version: V1.0
+   Serial number: 353166051261677
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMPPD: 11.0; microsoft.com/WMPPD: 10.0; microsoft.com/WMDRMPD:10.1; microsoft.com/playready:1.10;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        microsoft.com/WMPPD: 11.0
+        microsoft.com/WMPPD: 10.0
+        microsoft.com/WMDRMPD: 10.1
+        microsoft.com/playready: 1.10
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   101b: Get partial object
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   1011: Self test device
+   1012: Set object protection
+   1017: Reset device property value
+   9807: Get interdependent property description
+   9808: Send object property list
+   9100: Unknown (9100)
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   910c: Unknown (910c)
+   910d: Unknown (910d)
+   910e: Unknown (910e)
+   910f: Unknown (910f)
+   9110: Unknown (9110)
+   9111: Unknown (9111)
+   9112: Unknown (9112)
+   9113: Unknown (9113)
+   9114: Unknown (9114)
+   9115: Unknown (9115)
+   9116: Unknown (9116)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+   0xd407: Perceived Device Type
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd103: Revocation Info
+   0xd104: Unknown property
+   0xd105: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   b984: 3GP
+   3009: MP3
+   b901: WMA
+   b981: WMV
+   3801: JPEG
+   3001: Association/Directory
+   ba05: Abstract Audio Video Playlist
+   3000: Undefined Type
+   3807: GIF
+   300a: MS AVI
+   300b: MPEG
+   300c: ASF
+   b982: MP4
+   ba10: WPL Playlist
+   ba11: M3U Playlist
+   ba03: Abstract Audio Album
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 12082356224
+      FreeSpaceInBytes: 4802228224
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Phone
+      VolumeIdentifier: SECZ9519043CHOHB
+   StorageID: 0x00020002
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 7945191424
+      FreeSpaceInBytes: 2462679040
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Card
+      VolumeIdentifier: SECZ9519043CHOHB01
+Special directories:
+   Default music folder: 0x00000002
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000007
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   Microsoft Windows Media Video
+   JPEG file
+   Folder
+   Abstract Playlist file
+   GIF bitmap file
+   Audio Video Interleave
+   MPEG video stream
+   Microsoft Advanced Systems Format
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Abstract Album file
+ERROR: Could not close session!
+inep: usb_get_endpoint_status(): Device or resource busy
+outep: usb_get_endpoint_status(): Device or resource busy
+usb_clear_halt() on IN endpoint: Device or resource busy
+usb_clear_halt() on OUT endpoint: Device or resource busy
+usb_clear_halt() on INTERRUPT endpoint: Device or resource busy
+OK.
+
+
+$ mtp-detect
+libmtp version: 1.1.3
+
+Listing raw device(s)
+Device 0 (VID=04e8 and PID=6860) is a Samsung
+GT-P7310/P7510/N7000/I9100/Galaxy Tab 7.7/10.1/S2/Nexus/Note.
+   Found 1 device(s):
+   Samsung: GT-P7310/P7510/N7000/I9100/Galaxy Tab 7.7/10.1/S2/Nexus/Note
+(04e8:6860) @ bus 1, dev 17
+Attempting to connect device(s)
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 04e8
+   idProduct: 6860
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 17
+      Device entry info:
+         Vendor: Samsung
+         Vendor id: 0x04e8
+         Product: GT-P7310/P7510/N7000/I9100/Galaxy Tab
+7.7/10.1/S2/Nexus/Note
+         Vendor id: 0x6860
+         Device flags: 0x58000003
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: SAMSUNG Electronics Co. Ltd.
+   Model: GT-I9300
+   Device version: V1.0
+   Serial number: 351869051576851
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMPPD:
+11.0; microsoft.com/WMPPD: 10.0; microsoft.com/WMDRMPD:10.1; microsof
+t.com/playready:1.10;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        microsoft.com/WMPPD: 11.0
+        microsoft.com/WMPPD: 10.0
+        microsoft.com/WMDRMPD: 10.1
+        microsoft.com/playready: 1.10
diff --git a/logs/mtp-detect-samsung-gt-p7510.txt b/logs/mtp-detect-samsung-gt-p7510.txt
new file mode 100644
index 0000000..f356591
--- /dev/null
+++ b/logs/mtp-detect-samsung-gt-p7510.txt
@@ -0,0 +1,524 @@
+libmtp version: 1.1.0
+
+Listing raw device(s)
+Device 0 (VID=04e8 and PID=6860) is a Samsung GT-P7510/Galaxy Tab 10.1.
+   Found 1 device(s):
+   Samsung: GT-P7510/Galaxy Tab 10.1 (04e8:6860) @ bus 2, dev 12
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 239
+   bDeviceSubClass: 2
+   bDeviceProtocol: 1
+   idVendor: 04e8
+   idProduct: 6860
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 12
+      Device entry info:
+         Vendor: Samsung
+         Vendor id: 0x04e8
+         Product: GT-P7510/Galaxy Tab 10.1
+         Vendor id: 0x6860
+         Device flags: 0x08000002
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: SAMSUNG Electronics Co. Ltd.
+   Model: GT-I9100
+   Device version: V1.0
+   Serial number: *****************
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMPPD: 11.0; microsoft.com/WMPPD: 10.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+         microsoft.com/WMPPD: 11.0
+         microsoft.com/WMPPD: 10.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   101b: Get partial object
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   1011: Self test device
+   1012: Set object protection
+   1017: Reset device property value
+   1019: Move object
+   101a: Copy object
+   9807: Get interdependent property description
+   9808: Send object property list
+Events supported:
+   0x4004
+   0x4005
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+   0xd407: Perceived Device Type
+Playable File (Object) Types and Object Properties Supported:
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 384000, STEP 1 READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14343, 14347, 47361, 12299,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: Representative Sample Duration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 384000, STEP 1 READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14343, 14347, 47361, 12299,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: Representative Sample Duration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 384000, STEP 1 READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14343, 14347, 47361, 12299,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: Representative Sample Duration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 1280, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 85, 352, 353,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 192999, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 32000, MAX 10485760, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type enumeration: 0, 15000, 24000, 25000, 29970, 30000,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14343, 14347, 47361, 12299,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: Representative Sample Duration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14343, 14347, 47361, 12299,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: Representative Sample Duration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+   300a: MS AVI
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 1280, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 85, 352, 353,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 192999, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 32000, MAX 10485760, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type enumeration: 0, 15000, 24000, 25000, 29970, 30000,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 1280, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 85, 352, 353,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 192999, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 32000, MAX 10485760, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type enumeration: 0, 15000, 24000, 25000, 29970, 30000,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type READ ONLY
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 1280, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 85, 352, 353,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 192999, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 32000, MAX 10485760, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type enumeration: 0, 15000, 24000, 25000, 29970, 30000,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 1280, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 85, 352, 353,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 192999, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 32000, MAX 10485760, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type enumeration: 0, 15000, 24000, 25000, 29970, 30000,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14343, 14347, 47361, 12299,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: Representative Sample Duration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 12351995904
+      FreeSpaceInBytes: 9229139968
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Phone
+      VolumeIdentifier: SECZ9519043CHOHB
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: GT-I9100
+   Synchronization partner: Longhorn Sync Engine
+   Battery level 90 of 100 (90%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   Microsoft Windows Media Video
+   JPEG file
+   Folder
+   Abstract Playlist file
+   GIF bitmap file
+   Audio Video Interleave
+   MPEG video stream
+   Microsoft Advanced Systems Format
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Abstract Album file
+OK.
diff --git a/logs/mtp-detect-samsung-gt-s5230.txt b/logs/mtp-detect-samsung-gt-s5230.txt
new file mode 100644
index 0000000..abeed8f
--- /dev/null
+++ b/logs/mtp-detect-samsung-gt-s5230.txt
@@ -0,0 +1,262 @@
+libmtp version: 0.3.0
+
+Listing raw device(s)
+   Found 1 device(s):
+   04e8:e20c @ bus 0, dev 20
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 04e8
+   idProduct: e20c
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 20
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x04e8
+         Product: (null)
+         Vendor id: 0xe20c
+         Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: fe00                                   	..
+Microsoft device response to control message 1, CMD 0xfe:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000 0c00 0000 0001 0500	................
+	0030: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0040: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0050: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0060: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0070: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0080: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0090: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	00a0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	00b0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	00c0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	00d0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	00e0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	00f0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0100: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0110: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0120: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0130: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0140: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0150: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0160: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0170: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0180: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0190: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	01a0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	01b0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	01c0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	01d0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	01e0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	01f0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0200: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0210: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0220: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0230: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0240: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0250: 0000 0000 0000 0000 a814 4a83 0000 0000	..........J.....
+	0260: 0000 0000 0000 0000 2412 4a83 6002 4a83	........$.J.`.J.
+	0270: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0280: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0290: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	02a0: a0a4 7882 0000 0000 0000 0000 0000 0000	..x.............
+	02b0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	02c0: 0000 0000 0000 0000 0400 4a83 0700 0000	..........J.....
+	02d0: 00a4 7882 0000 0000 0000 0000 0000 0000	..x.............
+	02e0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	02f0: 0000 0000 0000 0000 2800 4a83 0700 0000	........(.J.....
+	0300: 60a3 7882 0000 0000 0000 0000 0000 0000	`.x.............
+	0310: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0320: 0000 0000 0000 0000 4c00 4a83 0700 0000	........L.J.....
+	0330: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0340: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0350: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0360: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0370: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0380: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0390: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	03a0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	03b0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	03c0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	03d0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	03e0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	03f0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+Microsoft device response to control message 2, CMD 0xfe:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000 0c00 0000 0001 0500	................
+	0030: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0040: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0050: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0060: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0070: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0080: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0090: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	00a0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	00b0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	00c0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	00d0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	00e0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	00f0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0100: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0110: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0120: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0130: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0140: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0150: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0160: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0170: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0180: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0190: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	01a0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	01b0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	01c0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	01d0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	01e0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	01f0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0200: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0210: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0220: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0230: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0240: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0250: 0000 0000 0000 0000 a814 4a83 0000 0000	..........J.....
+	0260: 0000 0000 0000 0000 2412 4a83 6002 4a83	........$.J.`.J.
+	0270: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0280: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0290: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	02a0: a0a4 7882 0000 0000 0000 0000 0000 0000	..x.............
+	02b0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	02c0: 0000 0000 0000 0000 0400 4a83 0700 0000	..........J.....
+	02d0: 00a4 7882 0000 0000 0000 0000 0000 0000	..x.............
+	02e0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	02f0: 0000 0000 0000 0000 2800 4a83 0700 0000	........(.J.....
+	0300: 60a3 7882 0000 0000 0000 0000 0000 0000	`.x.............
+	0310: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0320: 0000 0000 0000 0000 4c00 4a83 0700 0000	........L.J.....
+	0330: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0340: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0350: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0360: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0370: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0380: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0390: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	03a0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	03b0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	03c0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	03d0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	03e0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	03f0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+Device info:
+   Manufacturer: Samsung Electronics Co., Ltd. 
+   Model: GT-S5230
+   Device version: S5230XXIE7
+   Serial number: 355178033573333
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMPPD: 11.0; microsoft.com/WMDRMPD: 10.1; 
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   101b: Get partial object
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9201: Report Added/Deleted Items
+   1011: Self test device
+   1012: Set object protection
+   1017: Reset device property value
+   1019: Move object
+   101a: Copy object
+   9808: Send object property list
+   9001: Unknown (9001)
+   9100: Unknown (9100)
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9202: Report Acquired Items
+Events supported:
+   0x4001
+   0x4004
+   0x4005
+   0x4006
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+   0xd407: Unknown property
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   b984: 3GP
+   3009: MP3
+   b901: WMA
+   b981: WMV
+   3801: JPEG
+   3001: Association/Directory
+   ba05: Abstract Audio Video Playlist
+   3000: Undefined Type
+   3807: GIF
+   300c: ASF
+   ba03: Abstract Audio Album
+Special directories:
+   Default music folder: 0x00000000
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   Microsoft Windows Media Video
+   JPEG file
+   GIF bitmap file
+   Microsoft Advanced Systems Format
+Unable to acquire device certificate, perhaps this device does not support this
+WMPInfo.xml Does not exist on this device
+OK.
+
+ 	  	 
diff --git a/logs/mtp-detect-samsung-gt-s5230w.txt b/logs/mtp-detect-samsung-gt-s5230w.txt
new file mode 100644
index 0000000..df4de02
--- /dev/null
+++ b/logs/mtp-detect-samsung-gt-s5230w.txt
@@ -0,0 +1,139 @@
+libmtp version: 0.3.6            
+
+Listing raw device(s)
+Device 0 (VID=04e8 and PID=e20c) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):                                                         
+   04e8:e20c @ bus 0, dev 5                                                   
+Attempting to connect device(s)                                               
+Error 1: Get Storage information failed.                                      
+Error 2: PTP Layer error 02ff: get_all_metadata_fast(): could not get proplist of all objects.                                                                  
+Error 2: (Look this up in ptp.h for an explanation.)                            
+Error 2: PTP Layer error 02ff: get_handles_recursively(): could not get object handles.                                                                         
+Error 2: (Look this up in ptp.h for an explanation.)                            
+USB low-level info:                                                             
+   Using kernel interface "usbfs"                                               
+   bcdUSB: 512                                                                  
+   bDeviceClass: 0                                                              
+   bDeviceSubClass: 0                                                           
+   bDeviceProtocol: 0                                                           
+   idVendor: 04e8                                                               
+   idProduct: e20c                                                              
+   IN endpoint maxpacket: 512 bytes                                             
+   OUT endpoint maxpacket: 512 bytes                                            
+   Raw device info:                                                             
+      Bus location: 0                                                           
+      Device number: 5                                                          
+      Device entry info:                                                        
+         Vendor: (null)                                                         
+         Vendor id: 0x04e8                                                      
+         Product: (null)                                                        
+         Vendor id: 0xe20c                                                      
+         Device flags: 0x00000000                                               
+avoid probing device using kernel interface "usbfs"                             
+Device info:                                                                    
+   Manufacturer: Samsung Electronics Co., Ltd.                                  
+   Model: GT-S5230W                                                             
+   Device version: S523WXXJB2                                                   
+   Serial number: 358681031866226                                               
+   Vendor extension ID: 0x00000006                                              
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMPPD: 11.0; microsoft.com/WMDRMPD: 10.1;                                                    
+   Detected object size: 64 bits                                                
+Supported operations:                                                           
+   1001: get device info                                                        
+   1002: Open session                                                           
+   1003: Close session                                                          
+   1004: Get storage IDs                                                        
+   1005: Get storage info                                                       
+   1006: Get number of objects                                                  
+   1007: Get object handles                                                     
+   1008: Get object info                                                        
+   1009: Get object                                                             
+   100b: Delete object                                                          
+   100c: Send object info                                                       
+   100d: Send object                                                            
+   100f: Format storage                                                         
+   1014: Get device property description                                        
+   1015: Get device property value                                              
+   1016: Set device property value                                              
+   101b: Get partial object                                                     
+   9810: Get object references                                                  
+   9811: Set object references                                                  
+   9802: Get object property description                                        
+   9801: Get object properties supported                                        
+   9803: Get object property value                                              
+   9804: Set object property value                                              
+   9805: Get object property list                                               
+   9806: Set object property list                                               
+   9201: Report Added/Deleted Items                                             
+   1011: Self test device                                                       
+   1012: Set object protection                                                  
+   1017: Reset device property value                                            
+   1019: Move object                                                            
+   101a: Copy object                                                            
+   9808: Send object property list                                              
+   9001: Unknown (9001)                                                         
+   9100: Unknown (9100)                                                         
+   9101: Get secure time challenge                                              
+   9102: Get secure time response                                               
+   9103: Set license response                                                   
+   9104: Get sync list                                                          
+   9105: Send meter challenge query                                             
+   9106: Get meter challenge                                                    
+   9107: Get meter response                                                     
+   9108: Clean data store                                                       
+   9109: Get license state                                                      
+   910a: Send WMDRM-PD Command                                                  
+   910b: Send WMDRM-PD Request                                                  
+   9202: Report Acquired Items                                                  
+Events supported:                                                               
+   0x4001                                                                       
+   0x4004                                                                       
+   0x4005                                                                       
+   0x4006                                                                       
+Device Properties Supported:                                                    
+   0x5001: Battery Level                                                        
+   0xd401: Synchronization Partner                                              
+   0xd402: Friendly Device Name                                                 
+   0xd404: Unknown property                                                     
+   0xd407: Unknown property
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   b984: 3GP
+   3009: MP3
+   b901: WMA
+   b981: WMV
+   3801: JPEG
+   3001: Association/Directory
+   ba05: Abstract Audio Video Playlist
+   3000: Undefined Type
+   3807: GIF
+   300c: ASF
+   ba03: Abstract Audio Album
+Special directories:
+   Default music folder: 0x00000000
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   Microsoft Windows Media Video
+   JPEG file
+   GIF bitmap file
+   Microsoft Advanced Systems Format
+Unable to acquire device certificate, perhaps this device does not support this
+Error 2: PTP Layer error 02ff: get_device_unicode_property(): failed to get unicode property.
+Error 2: (Look this up in ptp.h for an explanation.)
+ERROR: Could not close session!
+OK.
+
+ 	  	 
diff --git a/logs/mtp-detect-samsung-gt-s7530.txt b/logs/mtp-detect-samsung-gt-s7530.txt
new file mode 100644
index 0000000..ab7b69c
--- /dev/null
+++ b/logs/mtp-detect-samsung-gt-s7530.txt
@@ -0,0 +1,799 @@
+Device 0 (VID=045e and PID=04ec) is a Microsoft Windows Phone.

+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6

+

+Listing raw device(s)

+   Found 1 device(s):

+   Microsoft: Windows Phone (045e:04ec) @ bus 8, dev 2

+Attempting to connect device(s)

+USB low-level info:

+   bcdUSB: 512

+   bDeviceClass: 239

+   bDeviceSubClass: 2

+   bDeviceProtocol: 1

+   idVendor: 045e

+   idProduct: 04ec

+   IN endpoint maxpacket: 512 bytes

+   OUT endpoint maxpacket: 512 bytes

+   Raw device info:

+      Bus location: 8

+      Device number: 2

+      Device entry info:

+         Vendor: Microsoft

+         Vendor id: 0x045e

+         Product: Windows Phone

+         Vendor id: 0x04ec

+         Device flags: 0x00000000

+Device info:

+   Manufacturer: SAMSUNG

+   Model: GT-S7530

+   Device version: 07.10.08862.03-00.00.00000.00-00.00.00000.00

+   Serial number: c3006575 - e801b97a - 4566fad0 - 73e7d134

+   Vendor extension ID: 0x00000006

+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 11.1; microsoft.com/AAVT: 1.0; microsoft.com/WMDRMND: 1.0; microsoft.com/MTPZ: 1.0;

+   Detected object size: 64 bits

+   Extensions:

+        microsoft.com: 1.0

+        microsoft.com/WMDRMPD: 10.1

+        microsoft.com/WMPPD: 11.1

+        microsoft.com/AAVT: 1.0

+        microsoft.com/WMDRMND: 1.0

+        microsoft.com/MTPZ: 1.0

+Supported operations:

+   1001: get device info

+   1002: Open session

+   1003: Close session

+   1004: Get storage IDs

+   1005: Get storage info

+   1006: Get number of objects

+   1007: Get object handles

+   1008: Get object info

+   1009: Get object

+   100b: Delete object

+   100c: Send object info

+   100d: Send object

+   100f: Format storage

+   1010: Reset device

+   1013: Power down device

+   1014: Get device property description

+   1015: Get device property value

+   1016: Set device property value

+   1019: Move object

+   101b: Get partial object

+   9810: Get object references

+   9811: Set object references

+   9802: Get object property description

+   9807: Get interdependent property description

+   9801: Get object properties supported

+   9803: Get object property value

+   9804: Set object property value

+   9805: Get object property list

+   9806: Set object property list

+   9808: Send object property list

+   9229: Unknown (9229)

+   922a: Unknown (922a)

+   922e: Unknown (922e)

+   922f: Unknown (922f)

+   9230: Unknown (9230)

+   9231: Unknown (9231)

+   9101: Get secure time challenge

+   9102: Get secure time response

+   9103: Set license response

+   9104: Get sync list

+   9105: Send meter challenge query

+   9106: Get meter challenge

+   9107: Get meter response

+   9108: Clean data store

+   9109: Get license state

+   910a: Send WMDRM-PD Command

+   910b: Send WMDRM-PD Request

+   9218: Unknown (9218)

+   9219: Unknown (9219)

+   9204: Unknown (9204)

+   9217: Unknown (9217)

+   9232: Unknown (9232)

+   9233: Unknown (9233)

+   9212: Send WMDRM-PD Application Request

+   9213: Get WMDRM-PD Application Response

+   9214: Enable trusted file operations

+   9215: Disable trusted file operations

+   9216: End trusted application session

+   9220: Unknown (9220)

+   9221: Unknown (9221)

+   9222: Unknown (9222)

+   9223: Unknown (9223)

+   6108: Unknown (6108)

+   6101: Unknown (6101)

+   6102: Unknown (6102)

+   6103: Unknown (6103)

+   6104: Unknown (6104)

+   6105: Unknown (6105)

+   6106: Unknown (6106)

+   6109: Unknown (6109)

+   610a: Unknown (610a)

+   610b: Unknown (610b)

+   610d: Unknown (610d)

+   6107: Unknown (6107)

+   9300: Unknown (9300)

+   9301: Unknown (9301)

+   9306: Unknown (9306)

+   9302: Unknown (9302)

+   9303: Unknown (9303)

+   9304: Unknown (9304)

+   9305: Unknown (9305)

+   930b: Unknown (930b)

+   930c: Unknown (930c)

+   930d: Unknown (930d)

+   930e: Unknown (930e)

+   9312: Unknown (9312)

+   9313: Unknown (9313)

+   9314: Unknown (9314)

+   9360: Unknown (9360)

+   9361: Unknown (9361)

+   9362: Unknown (9362)

+   9363: Unknown (9363)

+   9364: Unknown (9364)

+   9365: Unknown (9365)

+   9366: Unknown (9366)

+   9234: Unknown (9234)

+Events supported:

+   0x400c

+   0x4003

+   0xc701

+   0xc702

+Device Properties Supported:

+   0xd301: Unknown property

+   0xd501: Unknown property

+   0xd221: Unknown property

+   0xd101: Secure Time

+   0xd401: Synchronization Partner

+   0x5001: Battery Level

+   0xd302: Unknown property

+   0xd102: Device Certificate

+   0xd402: Friendly Device Name

+   0x5002: Functional Mode

+   0xd219: Unknown property

+   0xd238: Unknown property

+   0xd218: Unknown property

+   0xd30f: Unknown property

+   0xd22f: Unknown property

+   0xd305: Unknown property

+   0xd405: Device Icon

+   0xd225: Unknown property

+   0xd21c: Unknown property

+   0xd226: Unknown property

+   0xd406: Session Initiator Info

+   0xd237: Unknown property

+   0xd217: Unknown property

+   0xd103: Revocation Info

+   0xd21a: Unknown property

+   0xd232: Unknown property

+   0xd235: Unknown property

+   0xd233: Unknown property

+   0xd234: Unknown property

+   0xd21b: Unknown property

+   0xd21f: Unknown property

+   0xd300: Unknown property

+   0xd100: Unknown property

+   0xd220: Unknown property

+   0xd230: Unknown property

+   0xd307: Unknown property

+   0xd227: Unknown property

+   0xd308: Unknown property

+   0xd228: Unknown property

+   0xd30a: Unknown property

+   0xd22a: Unknown property

+   0xd30b: Unknown property

+   0xd22b: Unknown property

+   0xd30c: Unknown property

+   0xd22c: Unknown property

+   0xd309: Unknown property

+   0xd229: Unknown property

+   0xd30d: Unknown property

+   0xd22d: Unknown property

+   0xd30e: Unknown property

+   0xd22e: Unknown property

+   0xd231: Unknown property

+   0xd304: Unknown property

+   0xd236: Unknown property

+Playable File (Object) Types and Object Properties Supported:

+   bb80: Undefined Contact

+      da99: Unknown property UINT128 data type GET/SET

+      dc04: Object Size UINT64 data type READ ONLY

+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET

+      da97: Unknown property UINT128 data type GET/SET

+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET

+      dc07: Object File Name STRING data type GET/SET

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+   b218: Unknown(b218)

+      da99: Unknown property UINT128 data type GET/SET

+      dc44: Name STRING data type GET/SET

+      dc04: Object Size UINT64 data type READ ONLY

+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET

+      da97: Unknown property UINT128 data type GET/SET

+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET

+      dc07: Object File Name STRING data type GET/SET

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dac6: Unknown property STRING data type GET/SET

+   ba0b: Abstract Mediacast

+      da99: Unknown property UINT128 data type GET/SET

+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY

+      dc44: Name STRING data type GET/SET

+      dc04: Object Size UINT64 data type READ ONLY

+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET

+      da97: Unknown property UINT128 data type GET/SET

+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET

+      dc07: Object File Name STRING data type GET/SET

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  GET/SET

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET

+      dc46: Artist STRING data type GET/SET

+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET

+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY

+   b401: Unknown(b401)

+      da99: Unknown property UINT128 data type GET/SET

+      dc04: Object Size UINT64 data type READ ONLY

+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET

+      da97: Unknown property UINT128 data type GET/SET

+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET

+      dc07: Object File Name STRING data type GET/SET

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+   3000: Undefined Type

+      da99: Unknown property UINT128 data type GET/SET

+      dc04: Object Size UINT64 data type READ ONLY

+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET

+      da97: Unknown property UINT128 data type GET/SET

+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET

+      dc07: Object File Name STRING data type GET/SET

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+   b211: Media Card

+      da99: Unknown property UINT128 data type GET/SET

+      dc84: Representative Sample Width UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc44: Name STRING data type GET/SET

+      dc04: Object Size UINT64 data type READ ONLY

+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET

+      da97: Unknown property UINT128 data type GET/SET

+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET

+      dc07: Object File Name STRING data type GET/SET

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc81: Representative Sample Format UINT16 data type ANY 16BIT VALUE form GET/SET

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      da95: Unknown property array of UINT8 data type byte array:  GET/SET

+      dc83: Representative Sample Height UINT32 data type ANY 32BIT VALUE form READ ONLY

+      daa3: Unknown property UINT64 data type GET/SET

+      da96: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET

+      dab1: Unknown property STRING data type GET/SET

+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET

+   ba05: Abstract Audio Video Playlist

+      da99: Unknown property UINT128 data type GET/SET

+      dac4: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET

+      dc44: Name STRING data type GET/SET

+      dc04: Object Size UINT64 data type READ ONLY

+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET

+      da97: Unknown property UINT128 data type GET/SET

+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET

+      dc07: Object File Name STRING data type GET/SET

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      da9f: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET

+      daa3: Unknown property UINT64 data type GET/SET

+      dab3: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET

+      dac5: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET

+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET

+   ba03: Abstract Audio Album

+      dab9: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET

+      da99: Unknown property UINT128 data type GET/SET

+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY

+      dc44: Name STRING data type GET/SET

+      dc04: Object Size UINT64 data type READ ONLY

+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET

+      da97: Unknown property UINT128 data type GET/SET

+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET

+      dc47: Date Authored STRING data type DATETIME FORM GET/SET

+      dc07: Object File Name STRING data type GET/SET

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  GET/SET

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dac6: Unknown property STRING data type GET/SET

+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET

+      dc46: Artist STRING data type GET/SET

+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY

+   3001: Association/Directory

+      da99: Unknown property UINT128 data type GET/SET

+      dc04: Object Size UINT64 data type READ ONLY

+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET

+      da97: Unknown property UINT128 data type GET/SET

+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET

+      dc07: Object File Name STRING data type GET/SET

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+   3801: JPEG

+      da99: Unknown property UINT128 data type GET/SET

+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 480, STEP 1 READ ONLY

+      dc04: Object Size UINT64 data type READ ONLY

+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET

+      da97: Unknown property UINT128 data type GET/SET

+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET

+      dc87: Width UINT32 data type range: MIN 0, MAX 1224, STEP 1 GET/SET

+      dc47: Date Authored STRING data type DATETIME FORM GET/SET

+      dc07: Object File Name STRING data type GET/SET

+      dac2: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  GET/SET

+      dac1: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dc88: Height UINT32 data type range: MIN 0, MAX 2040, STEP 1 GET/SET

+      dac0: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 640, STEP 1 READ ONLY

+      dac3: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET

+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET

+   b981: WMV

+      de99: Audio WAVE Codec UINT32 data type enumeration: 353, 354,  READ ONLY

+      da99: Unknown property UINT128 data type GET/SET

+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY

+      dc44: Name STRING data type GET/SET

+      dc04: Object Size UINT64 data type READ ONLY

+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET

+      de97: Scan Depth UINT16 data type enumeration: 1,  READ ONLY

+      da97: Unknown property UINT128 data type GET/SET

+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET

+      dc87: Width UINT32 data type range: MIN 48, MAX 800, STEP 2 GET/SET

+      dc47: Date Authored STRING data type DATETIME FORM GET/SET

+      dc07: Object File Name STRING data type GET/SET

+      da82: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET

+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  GET/SET

+      dea1: Encoding Profile STRING data type READ ONLY

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dac6: Unknown property STRING data type GET/SET

+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET

+      dc46: Artist STRING data type GET/SET

+      de9b: Video Four CC Codec UINT32 data type enumeration: 861293911,  READ ONLY

+      da9b: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET

+      dc88: Height UINT32 data type range: MIN 32, MAX 480, STEP 2 GET/SET

+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET

+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 10000, MAX 30100, STEP 1 READ ONLY

+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET

+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET

+      dab6: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET

+      dab5: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc95: Meta Genre UINT16 data type ANY 16BIT VALUE form GET/SET

+      de9e: Key Frame Distance UINT32 data type enumeration: 3,  READ ONLY

+      da9e: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET

+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 256000, STEP 1 READ ONLY

+      da9a: Unknown property STRING data type GET/SET

+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  READ ONLY

+      dc94: Parental Rating STRING data type GET/SET

+      de91: Total Bit Rate UINT32 data type range: MIN 12000, MAX 2362000, STEP 1 READ ONLY

+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc4c: Source STRING data type GET/SET

+      dea0: Encoding Quality UINT32 data type enumeration: 50,  READ ONLY

+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET

+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET

+      da98: Unknown property STRING data type GET/SET

+      de92: Bit Rate Type UINT16 data type enumeration: 1,  READ ONLY

+      de9f: Buffer Size UINT32 data type enumeration: 3,  READ ONLY

+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY

+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY

+      de9c: Video Bit Rate UINT32 data type range: MIN 4000, MAX 2048000, STEP 1 READ ONLY

+   b982: MP4

+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  READ ONLY

+      da99: Unknown property UINT128 data type GET/SET

+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY

+      dc44: Name STRING data type GET/SET

+      dc04: Object Size UINT64 data type READ ONLY

+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET

+      de97: Scan Depth UINT16 data type enumeration: 1,  READ ONLY

+      da97: Unknown property UINT128 data type GET/SET

+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET

+      dc87: Width UINT32 data type range: MIN 48, MAX 800, STEP 2 GET/SET

+      dc47: Date Authored STRING data type DATETIME FORM GET/SET

+      dc07: Object File Name STRING data type GET/SET

+      da82: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET

+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  GET/SET

+      dea1: Encoding Profile STRING data type READ ONLY

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dac6: Unknown property STRING data type GET/SET

+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET

+      dc46: Artist STRING data type GET/SET

+      de9b: Video Four CC Codec UINT32 data type enumeration: 826496577, 844313677, 1446269005, 875967048, 875967080, 875967064, 875967096,  READ ONLY

+      da9b: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET

+      dc88: Height UINT32 data type range: MIN 32, MAX 480, STEP 2 GET/SET

+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET

+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 10000, MAX 30100, STEP 1 READ ONLY

+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET

+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET

+      dab6: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET

+      dab5: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc95: Meta Genre UINT16 data type ANY 16BIT VALUE form GET/SET

+      de9e: Key Frame Distance UINT32 data type ANY 32BIT VALUE form READ ONLY

+      da9e: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET

+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 READ ONLY

+      da9a: Unknown property STRING data type GET/SET

+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  READ ONLY

+      dc94: Parental Rating STRING data type GET/SET

+      de91: Total Bit Rate UINT32 data type range: MIN 25000, MAX 4730000, STEP 1 READ ONLY

+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc4c: Source STRING data type GET/SET

+      dea0: Encoding Quality UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET

+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET

+      da98: Unknown property STRING data type GET/SET

+      de92: Bit Rate Type UINT16 data type enumeration: 2, 1,  READ ONLY

+      de9f: Buffer Size UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY

+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY

+      de9c: Video Bit Rate UINT32 data type range: MIN 4000, MAX 4096000, STEP 1 READ ONLY

+   b216: Unknown(b216)

+      de99: Audio WAVE Codec UINT32 data type enumeration: 5633,  READ ONLY

+      da99: Unknown property UINT128 data type GET/SET

+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY

+      dc44: Name STRING data type GET/SET

+      dc04: Object Size UINT64 data type READ ONLY

+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET

+      de97: Scan Depth UINT16 data type enumeration: 1,  READ ONLY

+      da97: Unknown property UINT128 data type GET/SET

+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET

+      dc87: Width UINT32 data type range: MIN 48, MAX 800, STEP 2 GET/SET

+      dc47: Date Authored STRING data type DATETIME FORM GET/SET

+      dc07: Object File Name STRING data type GET/SET

+      da82: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET

+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  GET/SET

+      dea1: Encoding Profile STRING data type READ ONLY

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dac6: Unknown property STRING data type GET/SET

+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET

+      dc46: Artist STRING data type GET/SET

+      de9b: Video Four CC Codec UINT32 data type enumeration: 826496577, 844313677, 1446269005, 875967048, 875967080, 875967064, 875967096,  READ ONLY

+      da9b: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET

+      dc88: Height UINT32 data type range: MIN 32, MAX 480, STEP 2 GET/SET

+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET

+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 10000, MAX 30100, STEP 1 READ ONLY

+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET

+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET

+      dab6: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET

+      dab5: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc95: Meta Genre UINT16 data type ANY 16BIT VALUE form GET/SET

+      de9e: Key Frame Distance UINT32 data type ANY 32BIT VALUE form READ ONLY

+      da9e: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET

+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 323000, STEP 1 READ ONLY

+      da9a: Unknown property STRING data type GET/SET

+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  READ ONLY

+      dc94: Parental Rating STRING data type GET/SET

+      de91: Total Bit Rate UINT32 data type range: MIN 25000, MAX 4477000, STEP 1 READ ONLY

+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc4c: Source STRING data type GET/SET

+      dea0: Encoding Quality UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET

+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET

+      da98: Unknown property STRING data type GET/SET

+      de92: Bit Rate Type UINT16 data type enumeration: 2, 1,  READ ONLY

+      de9f: Buffer Size UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY

+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY

+      de9c: Video Bit Rate UINT32 data type range: MIN 25000, MAX 4096000, STEP 1 READ ONLY

+   b903: AAC

+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  READ ONLY

+      dab9: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET

+      da99: Unknown property UINT128 data type GET/SET

+      dc84: Representative Sample Width UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc44: Name STRING data type GET/SET

+      dc04: Object Size UINT64 data type READ ONLY

+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET

+      da97: Unknown property UINT128 data type GET/SET

+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET

+      dc47: Date Authored STRING data type DATETIME FORM GET/SET

+      dc07: Object File Name STRING data type GET/SET

+      da02: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET

+      da82: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET

+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      da01: Unknown property STRING data type GET/SET

+      dc81: Representative Sample Format UINT16 data type ANY 16BIT VALUE form GET/SET

+      d901: Buy flag UINT8 data type enumeration: 0, 1,  GET/SET

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      da9b: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET

+      dabb: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc9b: Album Artist STRING data type READ ONLY

+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 READ ONLY

+      da9a: Unknown property STRING data type GET/SET

+      dc9a: Album Name STRING data type READ ONLY

+      dac6: Unknown property STRING data type GET/SET

+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET

+      dc46: Artist STRING data type GET/SET

+      dab2: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET

+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET

+      dab8: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET

+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET

+      dabc: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc8c: Genre STRING data type GET/SET

+      dc95: Meta Genre UINT16 data type ANY 16BIT VALUE form GET/SET

+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET

+      da9e: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET

+      da00: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET

+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET

+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET

+      da03: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET

+      dc83: Representative Sample Height UINT32 data type ANY 32BIT VALUE form READ ONLY

+      da05: Unknown property STRING data type GET/SET

+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY

+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  READ ONLY

+   b215: M4A

+      de99: Audio WAVE Codec UINT32 data type enumeration: 5633,  READ ONLY

+      dab9: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET

+      da99: Unknown property UINT128 data type GET/SET

+      dc84: Representative Sample Width UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc44: Name STRING data type GET/SET

+      dc04: Object Size UINT64 data type READ ONLY

+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET

+      da97: Unknown property UINT128 data type GET/SET

+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET

+      dc47: Date Authored STRING data type DATETIME FORM GET/SET

+      dc07: Object File Name STRING data type GET/SET

+      da02: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET

+      da82: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET

+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      da01: Unknown property STRING data type GET/SET

+      dc81: Representative Sample Format UINT16 data type ANY 16BIT VALUE form GET/SET

+      d901: Buy flag UINT8 data type enumeration: 0, 1,  GET/SET

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      da9b: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET

+      dabb: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc9b: Album Artist STRING data type READ ONLY

+      de9a: Audio Bit Rate UINT32 data type range: MIN 6000, MAX 323000, STEP 1 READ ONLY

+      da9a: Unknown property STRING data type GET/SET

+      dc9a: Album Name STRING data type READ ONLY

+      dac6: Unknown property STRING data type GET/SET

+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET

+      dc46: Artist STRING data type GET/SET

+      dab2: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET

+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET

+      dab8: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET

+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET

+      dabc: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc8c: Genre STRING data type GET/SET

+      dc95: Meta Genre UINT16 data type ANY 16BIT VALUE form GET/SET

+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET

+      da9e: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET

+      da00: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET

+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET

+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET

+      da03: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET

+      dc83: Representative Sample Height UINT32 data type ANY 32BIT VALUE form READ ONLY

+      da05: Unknown property STRING data type GET/SET

+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY

+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  READ ONLY

+   300c: ASF

+      de99: Audio WAVE Codec UINT32 data type enumeration: 353, 354,  READ ONLY

+      da99: Unknown property UINT128 data type GET/SET

+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY

+      dc44: Name STRING data type GET/SET

+      dc04: Object Size UINT64 data type READ ONLY

+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET

+      de97: Scan Depth UINT16 data type enumeration: 1,  READ ONLY

+      da97: Unknown property UINT128 data type GET/SET

+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET

+      dc87: Width UINT32 data type range: MIN 48, MAX 800, STEP 2 GET/SET

+      dc47: Date Authored STRING data type DATETIME FORM GET/SET

+      dc07: Object File Name STRING data type GET/SET

+      da82: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET

+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  GET/SET

+      dea1: Encoding Profile STRING data type READ ONLY

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      dac6: Unknown property STRING data type GET/SET

+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET

+      dc46: Artist STRING data type GET/SET

+      de9b: Video Four CC Codec UINT32 data type enumeration: 861293911,  READ ONLY

+      da9b: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET

+      dc88: Height UINT32 data type range: MIN 32, MAX 480, STEP 2 GET/SET

+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET

+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 10000, MAX 30100, STEP 1 READ ONLY

+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET

+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET

+      dab6: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET

+      dab5: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc95: Meta Genre UINT16 data type ANY 16BIT VALUE form GET/SET

+      de9e: Key Frame Distance UINT32 data type enumeration: 3,  READ ONLY

+      da9e: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET

+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 256000, STEP 1 READ ONLY

+      da9a: Unknown property STRING data type GET/SET

+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  READ ONLY

+      dc94: Parental Rating STRING data type GET/SET

+      de91: Total Bit Rate UINT32 data type range: MIN 12000, MAX 2362000, STEP 1 READ ONLY

+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc4c: Source STRING data type GET/SET

+      dea0: Encoding Quality UINT32 data type enumeration: 50,  READ ONLY

+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET

+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET

+      da98: Unknown property STRING data type GET/SET

+      de92: Bit Rate Type UINT16 data type enumeration: 1,  READ ONLY

+      de9f: Buffer Size UINT32 data type enumeration: 3,  READ ONLY

+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 358, STEP 1 READ ONLY

+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY

+      de9c: Video Bit Rate UINT32 data type range: MIN 4000, MAX 2048000, STEP 1 READ ONLY

+   b901: WMA

+      de99: Audio WAVE Codec UINT32 data type enumeration: 353, 354,  READ ONLY

+      dab9: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET

+      da99: Unknown property UINT128 data type GET/SET

+      dc84: Representative Sample Width UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc44: Name STRING data type GET/SET

+      dc04: Object Size UINT64 data type READ ONLY

+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET

+      da97: Unknown property UINT128 data type GET/SET

+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET

+      dc47: Date Authored STRING data type DATETIME FORM GET/SET

+      dc07: Object File Name STRING data type GET/SET

+      da02: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET

+      da82: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET

+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      da01: Unknown property STRING data type GET/SET

+      dc81: Representative Sample Format UINT16 data type ANY 16BIT VALUE form GET/SET

+      d901: Buy flag UINT8 data type enumeration: 0, 1,  GET/SET

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      da9b: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET

+      dabb: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc9b: Album Artist STRING data type READ ONLY

+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 256000, STEP 1 READ ONLY

+      da9a: Unknown property STRING data type GET/SET

+      dc9a: Album Name STRING data type READ ONLY

+      dac6: Unknown property STRING data type GET/SET

+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET

+      dc46: Artist STRING data type GET/SET

+      dab2: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET

+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET

+      dab8: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET

+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET

+      dabc: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc8c: Genre STRING data type GET/SET

+      dc95: Meta Genre UINT16 data type ANY 16BIT VALUE form GET/SET

+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET

+      da9e: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET

+      da00: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET

+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET

+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET

+      da03: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET

+      dc83: Representative Sample Height UINT32 data type ANY 32BIT VALUE form READ ONLY

+      da05: Unknown property STRING data type GET/SET

+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY

+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  READ ONLY

+   3009: MP3

+      de99: Audio WAVE Codec UINT32 data type enumeration: 85,  READ ONLY

+      dab9: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET

+      da99: Unknown property UINT128 data type GET/SET

+      dc84: Representative Sample Width UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc44: Name STRING data type GET/SET

+      dc04: Object Size UINT64 data type READ ONLY

+      dab0: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET

+      da97: Unknown property UINT128 data type GET/SET

+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET

+      dc47: Date Authored STRING data type DATETIME FORM GET/SET

+      dc07: Object File Name STRING data type GET/SET

+      da02: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET

+      da82: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET

+      dd62: Time Bookmark UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY

+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET

+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY

+      da01: Unknown property STRING data type GET/SET

+      dc81: Representative Sample Format UINT16 data type ANY 16BIT VALUE form GET/SET

+      d901: Buy flag UINT8 data type enumeration: 0, 1,  GET/SET

+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY

+      da9b: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET

+      dabb: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY

+      dc9b: Album Artist STRING data type READ ONLY

+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 323000, STEP 1 READ ONLY

+      da9a: Unknown property STRING data type GET/SET

+      dc9a: Album Name STRING data type READ ONLY

+      dac6: Unknown property STRING data type GET/SET

+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET

+      dc46: Artist STRING data type GET/SET

+      dab2: Unknown property UINT8 data type ANY 8BIT VALUE form GET/SET

+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET

+      dab8: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET

+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET

+      dabc: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET

+      dc8c: Genre STRING data type GET/SET

+      dc95: Meta Genre UINT16 data type ANY 16BIT VALUE form GET/SET

+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET

+      da9e: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET

+      da00: Unknown property UINT32 data type ANY 32BIT VALUE form GET/SET

+      dd60: URL Source array of UINT16 data type ANY 16BIT VALUE form GET/SET

+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET

+      da03: Unknown property UINT16 data type enumeration: 0, 1,  GET/SET

+      dc83: Representative Sample Height UINT32 data type ANY 32BIT VALUE form READ ONLY

+      da05: Unknown property STRING data type GET/SET

+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY

+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  READ ONLY

+Storage Devices:

+   StorageID: 0x00010001

+      StorageType: 0x0003 fixed RAM storage

+      FilesystemType: 0x0002 generic hierarchical

+      AccessCapability: 0x0000 read/write

+      MaxCapacity: 2673229824

+      FreeSpaceInBytes: 1958100992

+      FreeSpaceInObjects: 4294967295

+      StorageDescription: Storage

+      VolumeIdentifier: c3006575 - e801b97a - 4566fad0 - 73e7d134

+Special directories:

+   Default music folder: 0xffffffff

+   Default playlist folder: 0xffffffff

+   Default picture folder: 0x05000004

+   Default video folder: 0xffffffff

+   Default organizer folder: 0xffffffff

+   Default zencast folder: 0xffffffff

+   Default album folder: 0xffffffff

+   Default text folder: 0xffffffff

+MTP-specific device properties:

+   Friendly name: SAMSUNG GT-S7530

+   Synchronization partner: (NULL)

+   Battery level 0 of 255 (0%)

+libmtp supported (playable) filetypes:

+   MediaCard

+   Abstract Playlist file

+   Abstract Album file

+   Folder

+   JPEG file

+   Microsoft Windows Media Video

+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)

+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3

+   MPEG-4 Part 14 Container Format (Audio Emphasis)

+   Microsoft Advanced Systems Format

+   Microsoft Windows Media Audio

+   ISO MPEG-1 Audio Layer 3

+OK.

diff --git a/logs/mtp-detect-samsung-gt-s7710.txt b/logs/mtp-detect-samsung-gt-s7710.txt
new file mode 100644
index 0000000..7552c1d
--- /dev/null
+++ b/logs/mtp-detect-samsung-gt-s7710.txt
@@ -0,0 +1,569 @@
+Listing raw device(s)
+Device 0 (VID=04e8 and PID=6860) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   04e8:6860 @ bus 1, dev 20
+Attempting to connect device(s)
+ignoring usb_claim_interface = -16ignoring usb_claim_interface = -22PTP_ERROR_IO: Trying again after re-initializing USB interface
+inep: usb_get_endpoint_status(): Device or resource busy
+outep: usb_get_endpoint_status(): Device or resource busy
+usb_clear_halt() on IN endpoint: Device or resource busy
+usb_clear_halt() on OUT endpoint: Device or resource busy
+usb_clear_halt() on INTERRUPT endpoint: Device or resource busy
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 04e8
+   idProduct: 6860
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 20
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x04e8
+         Product: (null)
+         Vendor id: 0x6860
+         Device flags: 0x00000000
+Configuration 0, interface 0, altsetting 0:
+   Interface implements PTP class, no further probing.
+Device info:
+   Manufacturer: SAMSUNG Electronics Co. Ltd. 
+   Model: GT-S7710
+   Device version: V1.0
+   Serial number: R31D30A5HFW
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMPPD: 11.0; microsoft.com/WMPPD: 10.0; microsoft.com/WMDRMPD:10.1; microsoft.com/playready:1.10; 
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   101b: Get partial object
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   100a: Get thumbnail
+   1011: Self test device
+   1012: Set object protection
+   1017: Reset device property value
+   9807: Get interdependent property description
+   9808: Send object property list
+   9100: Unknown (9100)
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   910c: Unknown (910c)
+   910d: Unknown (910d)
+   910e: Unknown (910e)
+   910f: Unknown (910f)
+   9110: Unknown (9110)
+   9111: Unknown (9111)
+   9112: Unknown (9112)
+   9113: Unknown (9113)
+   9114: Unknown (9114)
+   9115: Unknown (9115)
+   9116: Unknown (9116)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+   0xd407: Perceived Device Type
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd103: Revocation Info
+   0xd104: Unknown property
+   0xd105: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 384000, STEP 1 READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14343, 14347, 47361, 12299,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: Representative Sample Duration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 384000, STEP 1 READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14343, 14347, 47361, 12299,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: Representative Sample Duration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 384000, STEP 1 READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14343, 14347, 47361, 12299,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: Representative Sample Duration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 1280, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 85, 352, 353,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 192999, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 32000, MAX 10485760, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type enumeration: 0, 15000, 24000, 25000, 29970, 30000,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14343, 14347, 47361, 12299,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: Representative Sample Duration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14343, 14347, 47361, 12299,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: Representative Sample Duration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+   300a: MS AVI
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 1280, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 85, 352, 353,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 192999, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 32000, MAX 10485760, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type enumeration: 0, 15000, 24000, 25000, 29970, 30000,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 1280, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 85, 352, 353,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 192999, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 32000, MAX 10485760, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type enumeration: 0, 15000, 24000, 25000, 29970, 30000,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 1280, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 85, 352, 353,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 192999, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 32000, MAX 10485760, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type enumeration: 0, 15000, 24000, 25000, 29970, 30000,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 1280, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 85, 352, 353,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 192999, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 32000, MAX 10485760, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type enumeration: 0, 15000, 24000, 25000, 29970, 30000,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14343, 14347, 47361, 12299,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: Representative Sample Duration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 1057325056
+      FreeSpaceInBytes: 255119360
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Phone
+      VolumeIdentifier: SECZ9519043CHOHB
+   StorageID: 0x00020002
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 15921774592
+      FreeSpaceInBytes: 189988864
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Card
+      VolumeIdentifier: SECZ9519043CHOHB01
+Special directories:
+   Default music folder: 0x00000002
+   Default playlist folder: 0x0000000d
+   Default picture folder: 0x00000007
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: GT-S7710
+   Synchronization partner: Longhorn Sync Engine
+   Battery level 23 of 100 (23%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   Microsoft Windows Media Video
+   JPEG file
+   Abstract Playlist file
+   GIF bitmap file
+   Audio Video Interleave
+   MPEG video stream
+   Microsoft Advanced Systems Format
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Abstract Album file
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20130714 09:06:05Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>
+OK.
diff --git a/logs/mtp-detect-samsung-gt-s8500.txt b/logs/mtp-detect-samsung-gt-s8500.txt
new file mode 100644
index 0000000..f58809d
--- /dev/null
+++ b/logs/mtp-detect-samsung-gt-s8500.txt
@@ -0,0 +1,550 @@
+ 
+libmtp version: 1.0.2
+
+Listing raw device(s)
+Device 0 (VID=04e8 and PID=6819) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   04e8:6819 @ bus 1, dev 12
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 04e8
+   idProduct: 6819
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 12
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x04e8
+         Product: (null)
+         Vendor id: 0x6819
+         Device flags: 0x00000000
+Configuration 0, interface 0, altsetting 0:
+   Interface implements PTP class, no further probing.
+Device info:
+   Manufacturer: Samsung Electronics Co., Ltd. 
+   Model: Samsung Wave(GT-S8500)
+   Device version: S8500XXJF1
+   Serial number: 35922303026479
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMPPD: 11.0; microsoft.com/WMDRMPD: 10.1; Microsoft.com/DeviceServices:1.0; 
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   101b: Get partial object
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9201: Report Added/Deleted Items
+   9301: Unknown (9301)
+   9302: Unknown (9302)
+   9303: Unknown (9303)
+   9304: Unknown (9304)
+   9305: Unknown (9305)
+   9306: Unknown (9306)
+   9307: Unknown (9307)
+   9308: Unknown (9308)
+   9309: Unknown (9309)
+   930a: Unknown (930a)
+   1011: Self test device
+   1012: Set object protection
+   1017: Reset device property value
+   1019: Move object
+   101a: Copy object
+   9808: Send object property list
+   9001: Unknown (9001)
+   9100: Unknown (9100)
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9202: Report Acquired Items
+Events supported:
+   0x4001
+   0x4004
+   0x4005
+   0x4006
+   0xc301
+   0xc302
+   0xc303
+   0xc304
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+   0xd407: Perceived Device Type
+   0xd406: Session Initiator Info
+   0xd301: Unknown property
+   0xd302: Unknown property
+   0xd303: Unknown property
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 320999, STEP 1 READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14343, 14347, 14344, 47361, 12299,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: Representative Sample Duration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 1280, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 85, 352, 353,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 192999, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 32000, MAX 10485760, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type enumeration: 0, 15000, 24000, 25000, 29970, 30000,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 320999, STEP 1 READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14343, 14347, 14344, 47361, 12299,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: Representative Sample Duration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 85, 352, 353,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 192999, STEP 1 READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14343, 14347, 14344, 47361, 12299,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: Representative Sample Duration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 1280, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 85, 352, 353,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 192999, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 32000, MAX 10485760, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type enumeration: 0, 15000, 24000, 25000, 29970, 30000,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 3000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 3000, STEP 1 GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14343, 14347, 14344, 47361, 12299,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: Representative Sample Duration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 3000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 3000, STEP 1 GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14343, 14347, 14344, 47361, 12299,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: Representative Sample Duration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 3000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 3000, STEP 1 GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14343, 14347, 14344, 47361, 12299,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: Representative Sample Duration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 3000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 3000, STEP 1 GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14343, 14347, 14344, 47361, 12299,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: Representative Sample Duration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 1280, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 85, 352, 353,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 13000, MAX 192999, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 32000, MAX 10485760, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type enumeration: 0, 15000, 24000, 25000, 29970, 30000,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 3000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 3000, STEP 1 GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14343, 14347, 14344, 47361, 12299,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: Representative Sample Duration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 3928195072
+      FreeSpaceInBytes: 2582044672
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Card
+      VolumeIdentifier: 35922303026479-20001
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 409296896
+      FreeSpaceInBytes: 405872640
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Phone
+      VolumeIdentifier: 35922303026479-10001
+Special directories:
+   Default music folder: 0x004c5134
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0x004c5138
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Samsung Wave (GT-S8500)
+   Synchronization partner: {00000000-0000-0000-0000-000000000000}
+   Battery level 65 of 100 (65%)
+libmtp supported (playable) filetypes:
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   Microsoft Windows Media Video
+   JPEG file
+   Abstract Playlist file
+   GIF bitmap file
+   BMP bitmap file
+   Portable Network Graphics
+   Microsoft Advanced Systems Format
+   Abstract Album file
diff --git a/logs/mtp-detect-samsung-intensity.txt b/logs/mtp-detect-samsung-intensity.txt
new file mode 100644
index 0000000..204075d
--- /dev/null
+++ b/logs/mtp-detect-samsung-intensity.txt
@@ -0,0 +1,342 @@
+libmtp version: 0.3.7
+
+Listing raw device(s)
+   Found 1 device(s):
+   Samsung: YH-999 Portable Media Center/SGH-A707/SGH-L760V/SGH-U900 (04e8:5a0f) @ bus 0, dev 25
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 272
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 04e8
+   idProduct: 5a0f
+   IN endpoint maxpacket: 64 bytes
+   OUT endpoint maxpacket: 64 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 25
+      Device entry info:
+         Vendor: Samsung
+         Vendor id: 0x04e8
+         Product: YH-999 Portable Media Center/SGH-A707/SGH-L760V/SGH-U900
+         Vendor id: 0x5a0f
+         Device flags: 0x00000001
+Microsoft device descriptor 0xee:
+        0000: 1203 4d00 5300 4600 5400 3100 3000 3000   ..M.S.F.T.1.0.0.
+        0010: 0900                                      ..
+Device info:
+   Manufacturer: Samsung Electronics Co., Ltd.
+   Model: SCH-U450
+   Device version: CG01.1
+   Serial number: a000001d11d1af
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMPPD: 11.0; microsoft.com/WMPPD: 10.0; microsoft.com/WMDRMPD: 10.1;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   101b: Get partial object
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9201: Report Added/Deleted Items
+   1011: Self test device
+   1012: Set object protection
+   1017: Reset device property value
+   1019: Move object
+   101a: Copy object
+   9808: Send object property list
+   9001: Unknown (9001)
+   9100: Unknown (9100)
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9202: Report Acquired Items
+Events supported:
+   0x4001
+   0x4004
+   0x4005
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+   0xd407: Unknown property
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   b984: 3GP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 13000, MAX 384999, STEP 1 READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337, 14343, 14347, 14344, 47361, 12299,  READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: RepresentativeSampleDuration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 13000, MAX 384999, STEP 1 READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337, 14343, 14347, 14344, 47361, 12299,  READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: RepresentativeSampleDuration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 13000, MAX 192999, STEP 1 READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337, 14343, 14347, 14344, 47361, 12299,  READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: RepresentativeSampleDuration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+   b982: MP4
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 13000, MAX 384999, STEP 1 READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337, 14343, 14347, 14344, 47361, 12299,  READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: RepresentativeSampleDuration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   ba03: Abstract Audio Album
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337, 14343, 14347, 14344, 47361, 12299,  READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: RepresentativeSampleDuration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+      d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 1973911552
+      FreeSpaceInBytes: 1962999808
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Card
+      VolumeIdentifier: a000001d11d1af01
+Special directories:
+   Default music folder: 0x00000000
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: SCH-U450
+   Synchronization partner: SCH-U450
+   Battery level 0 of 100 (0%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+
+Secure Time:
+0030723T193600.
+
+Device Certificate:
+?xml version="1.0" encoding="unicode" ?> <Test> <Description> Faked device certificate </Description> </Test
+OK.
diff --git a/logs/mtp-detect-samsung-juke.txt b/logs/mtp-detect-samsung-juke.txt
new file mode 100644
index 0000000..5724530
--- /dev/null
+++ b/logs/mtp-detect-samsung-juke.txt
@@ -0,0 +1,356 @@
+$ examples/detect
+libmtp version: 0.2.2
+
+Attempting to connect device(s)
+PTP: Opening session
+PTP_ERROR_IO: Trying again after re-initializing USB interface
+PTP: Opening session
+Detect: Successfully connected 1 devices
+USB low-level info:
+  Using kernel interface "usbfs"
+  bcdUSB: 512
+  bDeviceClass: 0
+  bDeviceSubClass: 0
+  bDeviceProtocol: 0
+  idVendor: 04e8
+  idProduct: 6734
+  IN endpoint maxpacket: 512 bytes
+  OUT endpoint maxpacket: 512 bytes
+  Device flags: 0x00000002
+Microsoft device descriptor 0xee:
+       0000: 1203 4d00 5300 4600 5400 3100 3000 3000   ..M.S.F.T.1.0.0.
+       0010: 0100                                      ..
+Device info:
+  Manufacturer: Samsung Electronics Co.
+  Model: Samsung Juke
+  Device version:
+  Serial number: B4744780000000000000000000000000
+  Vendor extension ID: 0x00000006
+  Vendor extension description: microsoft.com/WMDRMPD: 10.1;
+  Detected object size: 64 bits
+Supported operations:
+  1001: get device info
+  1002: Open session
+  1003: Close session
+  1004: Get storage IDs
+  1005: Get storage info
+  1006: Get number of objects
+  1007: Get object handles
+  1008: Get object info
+  1009: Get object
+  100b: Delete object
+  100c: Send object info
+  100d: Send object
+  100f: Format storage
+  1010: Reset device
+  1014: Get device property description
+  1015: Get device property value
+  1016: Set device property value
+  9810: Get object references
+  9811: Set object references
+  9802: Get object property description
+  9801: Get object properties supported
+  9803: Get object property value
+  9804: Set object property value
+  9805: Get object property list
+  9806: Set object property list
+  101b: Get partial object
+  9201: Report Added/Deleted Items
+  9101: Get secure time challenge
+  9102: Get secure time response
+  9103: Set license response
+  9104: Get sync list
+  9105: Send meter challenge query
+  9106: Get meter challenge
+  9107: Get meter response
+  9108: Clean data store
+  9109: Get license state
+  910a: Send WMDRM-PD Command
+  910b: Send WMDRM-PD Request
+Events supported:
+  0x4004
+  0x4005
+Device Properties Supported:
+  0x5001: Battery Level
+  0xd401: Synchronization Partner
+  0xd402: Friendly Device Name
+  0xd101: Secure Time
+  0xd102: Device Certificate
+  0xd103: Revocation Info
+Playable File (Object) Types and Object Properties Supported:
+  3001: Association/Directory
+     dc44: Name STRING data type GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+  3009: MP3
+     dc44: Name STRING data type GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+     de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+     de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+     de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+     de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+     dc46: Artist STRING data type GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+     dc9b: AlbumArtist STRING data type GET/SET
+     dc96: Composer STRING data type GET/SET
+  b901: WMA
+     dc44: Name STRING data type GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+     dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+     de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+     de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 READ ONLY
+     de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+     de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+     dc46: Artist STRING data type GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+     dc9b: AlbumArtist STRING data type GET/SET
+     dc96: Composer STRING data type GET/SET
+  b903: AAC
+     dc44: Name STRING data type GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+     de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+     de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+     de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+     de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+     dc46: Artist STRING data type GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+     dc9b: AlbumArtist STRING data type GET/SET
+     dc96: Composer STRING data type GET/SET
+  3801: JPEG
+     dc44: Name STRING data type GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc87: Width UINT32 data type range: MIN 1, MAX 320, STEP 1 GET/SET
+     dc88: Height UINT32 data type range: MIN 1, MAX 240, STEP 1 GET/SET
+  300c: ASF
+     dc44: Name STRING data type GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc87: Width UINT32 data type range: MIN 1, MAX 320, STEP 1 GET/SET
+     dc88: Height UINT32 data type range: MIN 1, MAX 240, STEP 1 GET/SET
+     de97: ScanDepth UINT16 data type enumeration: 1,  READ ONLY
+     de9d: FramesPerThousandSeconds UINT32 data type range: MIN 15000, MAX 30000, STEP 1 GET/SET
+     de9b: VideoFourCCCodec UINT32 data type enumeration: 0, 1195724877, 861293911,  GET/SET
+     de9e: KeyFrameDistance UINT32 data type range: MIN 1000, MAX 10000, STEP 1 GET/SET
+     de9c: VideoBitRate UINT32 data type range: MIN 32768, MAX 768000, STEP 1 GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+     dc8c: Genre STRING data type GET/SET
+     de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+     de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+     de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+     dea1: EncodingProfile STRING data type GET/SET
+  3001: Association/Directory
+     dc44: Name STRING data type GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+  ba05: Abstract Audio Video Playlist
+     dc44: Name STRING data type GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+  3000: Undefined Type
+     dc44: Name STRING data type GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+  b802: Firmware
+     dc44: Name STRING data type GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+  ba03: Abstract Audio Album
+     dc44: Name STRING data type GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+Unknown OPFF type 6
+     dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337, READ ONLY
+     dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+     dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+     dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+     dc9b: AlbumArtist STRING data type GET/SET
+     dc46: Artist STRING data type GET/SET
+     dc8c: Genre STRING data type GET/SET
+     d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+Storage Devices:
+  StorageID: 0x00010001
+     StorageType: 0x0003
+     FilesystemType: 0x0002
+     AccessCapability: 0x0000
+     MaxCapacity: 2012217344
+     FreeSpaceInBytes: 1398882304
+     FreeSpaceInObjects: 2908
+     StorageDescription: Internal Storage
+     VolumeIdentifier: B4744780000000000000000000000000
+Special directories:
+  Default music folder: 0x20000003
+  Default playlist folder: 0x20000004
+  Default picture folder: 0x00000000
+  Default video folder: 0x00000000
+  Default organizer folder: 0x00000000
+  Default zencast folder: 0x00000000
+  Default album folder: 0x00000000
+  Default text folder: 0x00000000
+MTP-specific device properties:
+  Friendly name: Samsung Juke
+  Synchronization partner: Longhorn Sync Engine
+  Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+  ISO MPEG-1 Audio Layer 3
+  Microsoft Windows Media Audio
+  Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+  JPEG file
+  Microsoft Advanced Systems Format
+  Firmware file
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20071101
+02:46:56Z#</VALUE><FLAG>DRM_CLK_NEEDS_REFRESH</FLAG></DRMCLOCK>AG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID
+private="1">tHRHgAAAAAAAAAAAAAAAAAAAAAA=</UNIQUEID><PUBLICKEY
+private="1">TAgc/2jPXxLq/gHJRijomE0mwTnQhOd/PEUo1DLuQzEAty76lYBTYg==</PUBLICKEY><KEYDATA>XuBkAeQgg2A8GdHVO/lUyVbQLww=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>owp1zrBHh7eMEs/uJQ9C/ppEdCExtOK9B0vOjwe0sEcKkxRgELMpbA==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>8OHgXjFSSbjrS/lMIosgZfZU5j4=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.108.219</SECURITYVERSION><CERTIFICATE
+private="1">TAgc/2jPXxLq/gHJRijomE0mwTnQhOd/PEUo1DLuQzEAty76lYBTYgIEbNskkonvYMMgJmc0XbA/vcj2O1bjC0QrZdxTNhedz9B5Pu2XhVmVd3Yi</CERTIFICATE></FALLBACK><CERTIFICATE
+type="GROUP"><DATA><NAME>SCH-U470</NAME><MANUFACTURER>Samsung
+Elec.</MANUFACTURER><MAKE>Samsung Elec.</MAKE><DISTRIBUTOR>Samsung
+Elec.</DISTRIBUTOR><MODEL>SCH-U470</MODEL><SECURITYLEVEL>2000</SECURITYLEVEL><HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR><HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR><FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR><FIRMWARE_VER_MINOR>1</FIRMWARE_VER_MINOR><FEATURES><CLOCK>2</CLOCK><SECURECLOCK><URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL><PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY></SECURECLOCK><METERING>1</METERING><LICENSE_ACQ>0</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>0</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT><SUPPORT_REVOCATION><GUID>{CD75E604-543D-4A9C-9F09-FE6D24E8BF90}</GUID></SUPPORT_REVOCATION></FEATURES><LIMITS><MAXCHAINDEPTH>2</MAXCHAINDEPTH><MAXLICENSESIZE>10240</MAXLICENSESIZE><MAXHEADERSIZE>5120</MAXHEADERSIZE></LIMITS><PUBLICKEY>a/H0OaFHmUy8tvBU+lBAn0g/2SX5aBzazaysIjC+fJyH+KZyI/2KEQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>u0EXC4fOhglw5n4sOlS3Y2jtD0MPP0MpMEZm1PjEjxcyodTfxyOrQQ==</MSDRM_SIGNATURE_VALUE></CERT
+ IFICATE><CERTIFICATE
+type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>2111</AUTH_ID><PUBLICKEY>uk8RAuRderOsSQOiiL+cwyuTvi3jyu7fauvsiLVbwkSI3B1XWbzsMQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>7Uz/2vA+NynmkNrdMbHu770r0GS8/3/we4G5D5x7gDJ4ckMu/onpRA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>Xer3lXCg0TbG0D4ibUEiNLaE8Ah5l4o8QgYEIzJohL+EnCVhHh42gA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+WMPInfo.xml Does not exist on this device
+PTP: Closing session
+inep: usb_get_endpoint_status(): Connection timed out
+outep: usb_get_endpoint_status(): Connection timed out
+usb_clear_halt() on IN endpoint: Connection timed out
+usb_clear_halt() on OUT endpoint: Connection timed out
+usb_clear_halt() on INTERRUPT endpoint: Connection timed out
+OK.
diff --git a/logs/mtp-detect-samsung-nexus-10.txt b/logs/mtp-detect-samsung-nexus-10.txt
new file mode 100644
index 0000000..eb753b2
--- /dev/null
+++ b/logs/mtp-detect-samsung-nexus-10.txt
@@ -0,0 +1,475 @@
+Error: Unable to open ~/.mtpz-data for reading.
+libmtp version: 1.1.5
+
+Listing raw device(s)
+   Found 1 device(s):
+   18d1:4ee1 @ bus 1, dev 44
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 18d1
+   idProduct: 4ee1
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 44
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x18d1
+         Product: (null)
+         Vendor id: 0x4ee1
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: samsung
+   Model: Nexus 10
+   Device version: 1.0
+   Serial number: R32CB018G1L
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 29270093824
+      FreeSpaceInBytes: 27791818752
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-samsung-nexus-s.txt b/logs/mtp-detect-samsung-nexus-s.txt
new file mode 100644
index 0000000..c40c27f
--- /dev/null
+++ b/logs/mtp-detect-samsung-nexus-s.txt
@@ -0,0 +1,478 @@
+death@triQuad:~> mtp-detect
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6
+
+Listing raw device(s)
+Device 0 (VID=18d1 and PID=4e26) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   18d1:4e26 @ bus 1, dev 34
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 18d1
+   idProduct: 4e26
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 34
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x18d1
+         Product: (null)
+         Vendor id: 0x4e26
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Samsung
+   Model: Nexus S
+   Device version: 1.0
+   Serial number: ***************'
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 14300119040
+      FreeSpaceInBytes: 11383414784
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: USB storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00005a82
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
diff --git a/logs/mtp-detect-samsung-s8000.txt b/logs/mtp-detect-samsung-s8000.txt
new file mode 100644
index 0000000..3283857
--- /dev/null
+++ b/logs/mtp-detect-samsung-s8000.txt
@@ -0,0 +1,461 @@
+libmtp version: 0.3.7
+
+Listing raw device(s)
+   Found 1 device(s):
+   04e8:4f1f @ bus 0, dev 3
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 04e8
+   idProduct: 4f1f
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 3
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x04e8
+         Product: (null)
+         Vendor id: 0x4f1f
+         Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: 6f00                                   	o.
+Microsoft device response to control message 1, CMD 0x6f:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Microsoft device response to control message 2, CMD 0x6f:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Device info:
+   Manufacturer: Samsung Electronics Co., Ltd. 
+   Model: S8000
+   Device version: S8000XPII1
+   Serial number: 352028034990874
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMPPD: 11.0; microsoft.com/WMDRMPD: 10.1; 
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   101b: Get partial object
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9201: Report Added/Deleted Items
+   1011: Self test device
+   1012: Set object protection
+   1017: Reset device property value
+   1019: Move object
+   101a: Copy object
+   9808: Send object property list
+   9001: Unknown (9001)
+   9100: Unknown (9100)
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9202: Report Acquired Items
+Events supported:
+   0x4001
+   0x4004
+   0x4005
+   0x4006
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+   0xd407: Unknown property
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   b984: 3GP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 13000, MAX 192999, STEP 1 READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337, 14343, 14347, 14344, 47361, 12299,  READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: RepresentativeSampleDuration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 13000, MAX 192999, STEP 1 READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337, 14343, 14347, 14344, 47361, 12299,  READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: RepresentativeSampleDuration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 13000, MAX 192999, STEP 1 READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337, 14343, 14347, 14344, 47361, 12299,  READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: RepresentativeSampleDuration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+   b981: WMV
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 480, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de97: ScanDepth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 13000, MAX 192999, STEP 1 READ ONLY
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 0, 861293911,  GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 32000, MAX 2097152, STEP 1 GET/SET
+      de9d: FramesPerThousandSeconds UINT32 data type enumeration: 0, 15000, 24000, 25000, 29970, 30000,  GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      dea1: EncodingProfile STRING data type READ ONLY
+   3801: JPEG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337, 14343, 14347, 14344, 47361, 12299,  READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: RepresentativeSampleDuration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+      d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+   3807: GIF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337, 14343, 14347, 14344, 47361, 12299,  READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: RepresentativeSampleDuration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+      d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+   300c: ASF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 480, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de97: ScanDepth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 13000, MAX 192999, STEP 1 READ ONLY
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 0, 861293911,  GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 32000, MAX 2097152, STEP 1 GET/SET
+      de9d: FramesPerThousandSeconds UINT32 data type enumeration: 0, 15000, 24000, 25000, 29970, 30000,  GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      dea1: EncodingProfile STRING data type READ ONLY
+   ba03: Abstract Audio Album
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337, 14343, 14347, 14344, 47361, 12299,  READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: RepresentativeSampleDuration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+      d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 1451720704
+      FreeSpaceInBytes: 1199013888
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Phone
+      VolumeIdentifier: 35202803499087402
+Special directories:
+   Default music folder: 0x0000002f
+   Default playlist folder: 0x00000065
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000033
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: S8000
+   Synchronization partner: {00000000-0000-0000-0000-000000000000}
+   Battery level 65 of 100 (65%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   Microsoft Windows Media Video
+   JPEG file
+   GIF bitmap file
+   Microsoft Advanced Systems Format
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20091227 10:12:29Z#</VALUE><FLAG>DRM_CLK_SET</FLAG></DRMCLOCK>A
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">JnmpDJHz8CRCVuXpQvCRqQ==</UNIQUEID><PUBLICKEY private="1">WoQeIfoZg4CMlODWgBv21RH4iV0m/FbA64wmJ4uoE1RPlJ2icGKvGQ==</PUBLICKEY><KEYDATA>K8omLjdykUmJ7DI68+XbHHNXO4k=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>vJL9M2hYvkhVWccjEaBDDYmCN3WukLUGgo3RtXDf9z840idVNTkiEQ==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>AXDx8CNkgGxNXjuJNCQUeOBxr8I=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.114.13</SECURITYVERSION><CERTIFICATE private="1">WoQeIfoZg4CMlODWgBv21RH4iV0m/FbA64wmJ4uoE1RPlJ2icGKvGQIEcg2IEDtoEELx3ur+seu5q5+3Dn1KPSRgfDBVm+OPLQa6UiS10lmK1X2B</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>Cubic31</NAME>

+    <MANUFACTURER>SAMSUNG</MANUFACTURER>

+    <DISTRIBUTOR>SAMSUNG</DISTRIBUTOR>

+    <MODEL>SGH-S8000</MODEL>

+    <SECURITYLEVEL>2000</SECURITYLEVEL>

+    <HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR>

+    <HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR>

+    <FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR>

+    <FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>

+    <FEATURES>

+        <CLOCK>2</CLOCK>

+        <SECURECLOCK>

+            <URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL>

+            <PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY>

+        </SECURECLOCK>

+        <METERING>1</METERING>

+        <LICENSE_ACQ>0</LICENSE_ACQ>

+        <LICENSE_SYNC>1</LICENSE_SYNC>

+        <ENCRYPTION>1</ENCRYPTION>

+        <SYMMETRIC_OPT>1</SYMMETRIC_OPT>

+    </FEATURES>

+    <LIMITS>

+        <MAXCHAINDEPTH>2</MAXCHAINDEPTH>

+        <MAXLICENSESIZE>10240</MAXLICENSESIZE>

+        <MAXHEADERSIZE>5120</MAXHEADERSIZE>

+    </LIMITS><PUBLICKEY>sZZi0cv/dmcU2Bb1KP/04kpanCcybQOzzBSRHmZ42rmahFrgIw2FWQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>7u8opXL8mbp850/RopOqtvONCnA1vys1qdTXKMqY8POsypgQ0mQ/TQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>3441</AUTH_ID><PUBLICKEY>Abb3pqHX4u+ZIKo/ueOeTeJszXUVVoCOahFF+lwHIwmaNA3oTLynEw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>vT0csOAP1wl67T9OMas/o30tBWj8TUhx1Q63CdjIqVxV6Qbersh9Mg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>jy3yFxR1yLlx5p4ZSto/ir2a2Ub89uTHiEY72fmZ8ncTc+HXRakPew==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+
+WMPInfo.xml file contents:
+<DeviceInfo>

+    <WMP DeviceID="{CA8A530C-CE2C-4724-AB3D-E5034A3EF13E}" RelationshipID="{00000000-0000-0000-0000-000000000000}"/>

+</DeviceInfo>

+
+OK.
+
+ 	  	 
diff --git a/logs/mtp-detect-samsung-sgh-a707.txt b/logs/mtp-detect-samsung-sgh-a707.txt
new file mode 100644
index 0000000..f9eecdc
--- /dev/null
+++ b/logs/mtp-detect-samsung-sgh-a707.txt
@@ -0,0 +1,326 @@
+The device has a Microsoft device descriptor, but it's not MTP.
+This is not an MTP device. Presumable it is USB mass storage
+with some additional Janus (DRM) support.
+Device response to control message 1:
+	fffffff0: 6a00 0000 0001 0400 0100 0000 0000 0000	j...............
+	0000: 0001 4d00 0000 5400 0000 5000 0000 0000	..M...T...P.....
+	0010: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0020: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0030: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0040: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0050: 0000 0000 0000 0000 0000               	..........
+Found non-autodetected device "Samsung YH-999 Portable Media Center" on USB bus...
+Connected to MTP device.
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 272
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 04e8
+   idProduct: 5a0f
+   IN endpoint maxpacket: 64 bytes
+   OUT endpoint maxpacket: 64 bytes
+   Device flags: 0x00000000
+Device info:
+   Manufacturer: SAMSUNG Electronics Co. Ltd. 
+   Model: SGH-A707
+   Device version: A707UCFJ5
+   Serial number: 353777015294230
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/WMDRMPD: 10.1
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   101b: Get partial object
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9201: Report Added/Deleted Items
+   1011: Self test device
+   1012: Set object protection
+   1017: Reset device property value
+   1019: Move object
+   101a: Copy object
+   9808: Send object property list
+   9001: Unknown(9001)
+   9100: Unknown(9100)
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   0x4001
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Device Friendly Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3009: MP3
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc09: DateModified
+      dc44: Name
+      dc05: AssociationType
+      dc08: DateCreated
+      dc46: Artist
+      dc89: Duration
+      dc8a: Rating
+      dc8b: Track
+      dc8c: Genre
+      dc97: EffectiveRating
+      dc99: OriginalReleaseDate
+      dc9a: AlbumName
+      de93: SampleRate
+      de94: NumberOfChannels
+      de99: AudioWAVECodec
+      de9a: AudioBitRate
+      dc91: UseCount
+      de92: BitRateType
+      dc9b: AlbumArtist
+   b901: WMA
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc09: DateModified
+      dc44: Name
+      dc05: AssociationType
+      dc08: DateCreated
+      dc46: Artist
+      dc89: Duration
+      dc8a: Rating
+      dc8b: Track
+      dc8c: Genre
+      dc97: EffectiveRating
+      dc99: OriginalReleaseDate
+      dc9a: AlbumName
+      de93: SampleRate
+      de94: NumberOfChannels
+      de99: AudioWAVECodec
+      de9a: AudioBitRate
+      dc91: UseCount
+      de92: BitRateType
+      dc9b: AlbumArtist
+   b981: WMV
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc09: DateModified
+      dc44: Name
+      dc05: AssociationType
+      dc08: DateCreated
+      dc87: Width
+      dc88: Height
+      dc8c: Genre
+      dc91: UseCount
+      dc99: OriginalReleaseDate
+      de93: SampleRate
+      de94: NumberOfChannels
+      de97: ScanDepth
+      de99: AudioWAVECodec
+      de9a: AudioBitRate
+      de9b: VideoFourCCCodec
+      de9c: VideoBitRate
+      de9d: FramesPerThousandSeconds
+      de9e: KeyFrameDistance
+   3801: JPEG
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc09: DateModified
+      dc44: Name
+      dc05: AssociationType
+      dc08: DateCreated
+      dc46: Artist
+      dc8c: Genre
+      dc9b: AlbumArtist
+      dc87: Width
+      dc88: Height
+   3001: Association/Directory
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc09: DateModified
+      dc44: Name
+      dc05: AssociationType
+      dc08: DateCreated
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc09: DateModified
+      dc44: Name
+      dc05: AssociationType
+      dc08: DateCreated
+   3000: Undefined Type
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc09: DateModified
+      dc44: Name
+      dc05: AssociationType
+      dc08: DateCreated
+   3807: GIF
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc09: DateModified
+      dc44: Name
+      dc05: AssociationType
+      dc08: DateCreated
+      dc46: Artist
+      dc8c: Genre
+      dc9b: AlbumArtist
+      dc87: Width
+      dc88: Height
+   300c: ASF
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc09: DateModified
+      dc44: Name
+      dc05: AssociationType
+      dc08: DateCreated
+      dc87: Width
+      dc88: Height
+      dc8c: Genre
+      dc91: UseCount
+      dc99: OriginalReleaseDate
+      de93: SampleRate
+      de94: NumberOfChannels
+      de97: ScanDepth
+      de99: AudioWAVECodec
+      de9a: AudioBitRate
+      de9b: VideoFourCCCodec
+      de9c: VideoBitRate
+      de9d: FramesPerThousandSeconds
+      de9e: KeyFrameDistance
+   ba03: Abstract Audio Album
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc09: DateModified
+      dc44: Name
+      dc05: AssociationType
+      dc08: DateCreated
+      dc46: Artist
+      dc8c: Genre
+      dc9b: AlbumArtist
+      dc87: Width
+      dc88: Height
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 54198272
+      FreeSpaceInBytes: 4134912
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Phone
+      VolumeIdentifier: 353777015294230
+Special directories:
+   Default music folder: 0x00000035
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000036
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: SGH-A707
+   Synchronization partner: Longhorn Sync Engine
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   Microsoft Windows Media Video
+   JPEG file
+   GIF bitmap file
+   Microsoft Advanced Systems Format
+
+Secure Time:
+0030723T193600.
+
+Device Certificate:
+?xml version="1.0" encoding="unicode" ?> <Test> <Description> Faked device certificate </Description> </Test
+OK.
diff --git a/logs/mtp-detect-samsung-sgh-l760v.txt b/logs/mtp-detect-samsung-sgh-l760v.txt
new file mode 100644
index 0000000..92816d7
--- /dev/null
+++ b/logs/mtp-detect-samsung-sgh-l760v.txt
@@ -0,0 +1,422 @@
+libmtp version: 0.3.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   Samsung: YH-999 Portable Media Center/SGH-A707/SGH-L760V/SGH-U900 (04e8:5a0f) @ bus 0, dev 5
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 272
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 04e8
+   idProduct: 5a0f
+   IN endpoint maxpacket: 64 bytes
+   OUT endpoint maxpacket: 64 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 5
+      Device entry info:
+         Vendor: Samsung
+         Vendor id: 0x04e8
+         Product: YH-999 Portable Media Center/SGH-A707/SGH-L760V/SGH-U900
+         Vendor id: 0x5a0f
+         Device flags: 0x00000001
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: 0900                                   	..
+Microsoft device response to control message 1, CMD 0x09:
+	0000: 6a00 0000 0001 0400 0100 0000 0000 0000	j...............
+	0010: 0001 4d00 0000 5400 0000 5000 0000 0000	..M...T...P.....
+	0020: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0030: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0040: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0050: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0060: 0000 0000 0000 0000 0000               	..........
+Device info:
+   Manufacturer: Samsung Electronics Co., Ltd. 
+   Model: SGH-L760V
+   Device version: L760BUGH1
+   Serial number: 356603013289914
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMPPD: 10.0; microsoft.com/WMPPD: 11.0; vodafone.com/omadrmv2: 1.0; 
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   101b: Get partial object
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9201: Report Added/Deleted Items
+   1011: Self test device
+   1012: Set object protection
+   1017: Reset device property value
+   1019: Move object
+   101a: Copy object
+   9808: Send object property list
+   9001: Unknown (9001)
+   9202: Report Acquired Items
+Events supported:
+   0x4001
+   0x4004
+   0x4005
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   b984: 3GP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 13000, MAX 192999, STEP 1 READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337, 14343, 14347, 47361, 12299,  READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: RepresentativeSampleDuration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 13000, MAX 192999, STEP 1 READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337, 14343, 14347, 47361, 12299,  READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: RepresentativeSampleDuration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 13000, MAX 192999, STEP 1 READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337, 14343, 14347, 47361, 12299,  READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: RepresentativeSampleDuration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+   b981: WMV
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 176, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 144, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de97: ScanDepth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 13000, MAX 16999, STEP 1 READ ONLY
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 0, 827739479, 844516695, 861293911,  GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 32000, MAX 96000, STEP 1 GET/SET
+      de9d: FramesPerThousandSeconds UINT32 data type enumeration: 0, 15000,  GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+   3801: JPEG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337, 14343, 14347, 47361, 12299,  READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: RepresentativeSampleDuration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+      d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+   3807: GIF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337, 14343, 14347, 47361, 12299,  READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: RepresentativeSampleDuration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+      d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+   300c: ASF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 176, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 144, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de97: ScanDepth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 13000, MAX 16999, STEP 1 READ ONLY
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 0, 827739479, 844516695, 861293911,  GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 32000, MAX 96000, STEP 1 GET/SET
+      de9d: FramesPerThousandSeconds UINT32 data type enumeration: 0, 15000,  GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+   ba03: Abstract Audio Album
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc44: Name STRING data type GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337, 14343, 14347, 47361, 12299,  READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc85: RepresentativeSampleDuration UINT32 data type range: MIN 0, MAX 100000, STEP 1 READ ONLY
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+      d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 69926912
+      FreeSpaceInBytes: 34375680
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Phone
+      VolumeIdentifier: 356603013289914
+Special directories:
+   Default music folder: 0x00000003
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000005
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: SGH-L760V
+   Synchronization partner: SGH-L760V
+   Battery level 85 of 100 (85%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   Microsoft Windows Media Video
+   JPEG file
+   GIF bitmap file
+   Microsoft Advanced Systems Format
+Unable to acquire device certificate, perhaps this device does not support this
+
+WMPInfo.xml file contents:
+<DeviceInfo>

+    <WMP DeviceID="{AA9D2C49-2F20-41F8-853F-82C920DBF235}" RelationshipID="{00000000-0000-0000-0000-000000000000}"/>

+</DeviceInfo>

+
+OK.
diff --git a/logs/mtp-detect-samsung-sgh-u900.txt b/logs/mtp-detect-samsung-sgh-u900.txt
new file mode 100644
index 0000000..c1c75b3
--- /dev/null
+++ b/logs/mtp-detect-samsung-sgh-u900.txt
@@ -0,0 +1,146 @@
+PTP: Opening session
+Error 1: Get Storage information failed.
+Error 2: PTP Layer error 02ff: get_handles_recursively(): could not get object handles.
+Error 2: (Look this up in ptp.h for an explanation.)
+libmtp version: 0.3.3
+
+Listing raw device(s)
+   Found 1 device(s):
+   Samsung: YH-999 Portable Media Center/SGH-A707/SGH-L760V (04e8:5a0f) @ bus 0, dev 7
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 272
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 04e8
+   idProduct: 5a0f
+   IN endpoint maxpacket: 64 bytes
+   OUT endpoint maxpacket: 64 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 7
+      Device entry info:
+         Vendor: Samsung
+         Vendor id: 0x04e8
+         Product: YH-999 Portable Media Center/SGH-A707/SGH-L760V
+         Vendor id: 0x5a0f
+         Device flags: 0x00000001
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: 0900                                   	..
+Microsoft device response to control message 1, CMD 0x09:
+	0000: 6a00 0000 0001 0400 0100 0000 0000 0000	j...............
+	0010: 0001 4d00 0000 5400 0000 5000 0000 0000	..M...T...P.....
+	0020: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0030: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0040: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0050: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0060: 0000 0000 0000 0000 0000               	..........
+Device info:
+   Manufacturer: Samsung Electronics Co., Ltd. 
+   Model: SGH-U900
+   Device version: U90U+XX+H
+   Serial number: 355243021321028
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMPPD: 11.0; microsoft.com/WMPPD: 10.0; microsoft.com/WMDRMPD: 10.1; 
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   101b: Get partial object
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9201: Report Added/Deleted Items
+   1011: Self test device
+   1012: Set object protection
+   1017: Reset device property value
+   1019: Move object
+   101a: Copy object
+   9808: Send object property list
+   9001: Unknown (9001)
+   9100: Unknown (9100)
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9202: Report Acquired Items
+Events supported:
+   0x4001
+   0x4004
+   0x4005
+   0x4006
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+   0xd407: Unknown property
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   b984: 3GP
+   3009: MP3
+   b901: WMA
+   b981: WMV
+   3801: JPEG
+   3001: Association/Directory
+   ba05: Abstract Audio Video Playlist
+   3000: Undefined Type
+   3807: GIF
+   300c: ASF
+   ba03: Abstract Audio Album
+Special directories:
+   Default music folder: 0x00000000
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   ISO MPEGError 2: PTP Layer error 02ff: get_device_unicode_property(): failed to get unicode property.
+Error 2: (Look this up in ptp.h for an explanation.)
+PTP: Closing session
+ERROR: Could not close session!
+-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   Microsoft Windows Media Video
+   JPEG file
+   GIF bitmap file
+   Microsoft Advanced Systems Format
+Unable to acquire device certificate, perhaps this device does not support this
+WMPInfo.xml Does not exist on this device
+OK.
diff --git a/logs/mtp-detect-samsung-trance.txt b/logs/mtp-detect-samsung-trance.txt
new file mode 100644
index 0000000..c1b72bd
--- /dev/null
+++ b/logs/mtp-detect-samsung-trance.txt
@@ -0,0 +1,359 @@
+                                                                     
+                                                                     
+                                                                     
+                                             
+libmtp version: 0.3.7
+
+Listing raw device(s)
+   Found 1 device(s):
+   Samsung: SAMSUNG Trance (04e8:6763) @ bus 0, dev 30
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 04e8
+   idProduct: 6763
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 30
+      Device entry info:
+         Vendor: Samsung
+         Vendor id: 0x04e8
+         Product: SAMSUNG Trance
+         Vendor id: 0x6763
+         Device flags: 0x0000200a
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: 0100                                   	..
+Device info:
+   Manufacturer: SAMSUNG Electronics Inc.
+   Model: SAMSUNG Trance
+   Device version: (null)
+   Serial number: 0AE1BE80000000000000000000000000
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/WMDRMPD: 10.1;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   101b: Get partial object
+   9201: Report Added/Deleted Items
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd405: Device Icon
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3001: Association/Directory
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+   3009: MP3
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+   b901: WMA
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+   b903: AAC
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+   b983: MP2
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+   3801: JPEG
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 320, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 240, STEP 1 GET/SET
+   300c: ASF
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 320, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 240, STEP 1 GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 1,  READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 15000, MAX 30000, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 1195724877, 861293911,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 1000, MAX 10000, STEP 1 GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 32768, MAX 768000, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   3001: Association/Directory
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+   3000: Undefined Type
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+   b802: Firmware
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+   ba03: Abstract Audio Album
+      dc44: Name STRING data type GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc9b: Album Artist STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 929710080
+      FreeSpaceInBytes: 241811456
+      FreeSpaceInObjects: 3867
+      StorageDescription: Internal Storage
+      VolumeIdentifier: 0AE1BE80000000000000000000000000
+Special directories:
+   Default music folder: 0x20000002
+   Default playlist folder:
\ No newline at end of file
diff --git a/logs/mtp-detect-samsung-x830.txt b/logs/mtp-detect-samsung-x830.txt
new file mode 100644
index 0000000..5b23a4d
--- /dev/null
+++ b/logs/mtp-detect-samsung-x830.txt
@@ -0,0 +1,324 @@
+Autodetected device with VID=04e8 and PID=6702 is UNKNOWN.
+Please report this VID/PID and the device model name etc to the
+libmtp development team!
+Connected to MTP device.
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 04e8
+   idProduct: 6702
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000000
+Device info:
+   Manufacturer: SAMSUNG
+   Model: SGH-X830
+   Device version: V1.00
+   Serial number: 00000016760267513529870104927500 «ûßÿ
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/WMDRMPD: 10.03
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   101a: Copy object
+   101b: Get partial object
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9201: Report Added/Deleted Items
+   9001: Unknown(9001)
+   9002: Unknown(9002)
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   None.
+Device Properties Supported:
+   0xd101: Secure Time
+   0xd401: Synchronization Partner
+   0xd402: Device Friendly Name
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc05: AssociationType
+      dc07: ObjectFileName
+      dc0b: ParentObject
+      dc08: DateCreated
+      dc09: DateModified
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+   3001: Association/Directory
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc05: AssociationType
+      dc07: ObjectFileName
+      dc0b: ParentObject
+      dc08: DateCreated
+      dc09: DateModified
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+   3009: MP3
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc05: AssociationType
+      dc07: ObjectFileName
+      dc0b: ParentObject
+      dc08: DateCreated
+      dc09: DateModified
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+      dc84: RepresentativeSampleWidth
+      dc83: RepresentativeSampleHeight
+      dc86: RepresentativeSampleData
+      dc89: Duration
+      dc8a: Rating
+      dc8b: Track
+      dc91: UseCount
+      de91: TotalBitRate
+      de93: SampleRate
+      de94: NumberOfChannels
+      de99: AudioWAVECodec
+      de9a: AudioBitRate
+      dc46: Artist
+      dc96: Composer
+      dc9b: AlbumArtist
+      d901: BuyFlag
+      dc82: RepresentativeSampleSize
+      dc81: RepresentativeSampleFormat
+      dc9a: AlbumName
+      dc8c: Genre
+      dc93: LastAccessed
+   b802: Firmware
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc05: AssociationType
+      dc07: ObjectFileName
+      dc0b: ParentObject
+      dc08: DateCreated
+      dc09: DateModified
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+   b901: WMA
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc05: AssociationType
+      dc07: ObjectFileName
+      dc0b: ParentObject
+      dc08: DateCreated
+      dc09: DateModified
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+      dc84: RepresentativeSampleWidth
+      dc83: RepresentativeSampleHeight
+      dc86: RepresentativeSampleData
+      dc89: Duration
+      dc8a: Rating
+      dc8b: Track
+      dc91: UseCount
+      de91: TotalBitRate
+      de93: SampleRate
+      de94: NumberOfChannels
+      de99: AudioWAVECodec
+      de9a: AudioBitRate
+      dc46: Artist
+      dc96: Composer
+      dc9b: AlbumArtist
+      d901: BuyFlag
+      dc82: RepresentativeSampleSize
+      dc81: RepresentativeSampleFormat
+      dc9a: AlbumName
+      dc8c: Genre
+      dc93: LastAccessed
+   b903: AAC
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc05: AssociationType
+      dc07: ObjectFileName
+      dc0b: ParentObject
+      dc08: DateCreated
+      dc09: DateModified
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+      dc84: RepresentativeSampleWidth
+      dc83: RepresentativeSampleHeight
+      dc86: RepresentativeSampleData
+      dc89: Duration
+      dc8a: Rating
+      dc8b: Track
+      dc91: UseCount
+      de91: TotalBitRate
+      de93: SampleRate
+      de94: NumberOfChannels
+      de99: AudioWAVECodec
+      de9a: AudioBitRate
+      dc46: Artist
+      dc96: Composer
+      dc9b: AlbumArtist
+      d901: BuyFlag
+      dc82: RepresentativeSampleSize
+      dc81: RepresentativeSampleFormat
+      dc9a: AlbumName
+      dc8c: Genre
+      dc93: LastAccessed
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc05: AssociationType
+      dc07: ObjectFileName
+      dc0b: ParentObject
+      dc08: DateCreated
+      dc09: DateModified
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+   ba09: Abstract Audio Playlist
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc05: AssociationType
+      dc07: ObjectFileName
+      dc0b: ParentObject
+      dc08: DateCreated
+      dc09: DateModified
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+   ba10: WPL Playlist
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc05: AssociationType
+      dc07: ObjectFileName
+      dc0b: ParentObject
+      dc08: DateCreated
+      dc09: DateModified
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+   ba11: M3U Playlist
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc05: AssociationType
+      dc07: ObjectFileName
+      dc0b: ParentObject
+      dc08: DateCreated
+      dc09: DateModified
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 1046151168
+      FreeSpaceInBytes: 381386752
+      FreeSpaceInObjects: 381386752
+      StorageDescription: SGH-X830
+      VolumeIdentifier: 000100167502675135298701049275000«ûßÿ
+Special directories:
+   Default music folder: 0x00000000
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: SGH-X830
+   Synchronization partner: Longhorn Sync Engine
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Firmware file
+   Microsoft Windows Media Audio
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20110916 09:40:14Z#</VALUE><FLAG>DRM_CLK_NEEDS_REFRESH</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">CgoKCgoKCgoKCgoKCgoKCgoKCgo=</UNIQUEID><PUBLICKEY private="1">PxxT7kQIRdpyVpl2bWdZfnMhaF6W4DfsUJkQ5RkXH0lps1jsEsRlhw==</PUBLICKEY><KEYDATA>TA5OeR0fCrQsfuiwmFzcAcMhw3w=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>w4+BYH2GXELBvtSMweNY/niwCTQAUuF67ljdn2k/0UnQj2Qqf/tSfA==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>JpNQontONOULhKUYGYTkP0PXDyc=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.105.249</SECURITYVERSION><CERTIFICATE private="1">PxxT7kQIRdpyVpl2bWdZfnMhaF6W4DfsUJkQ5RkXH0lps1jsEsRlhwIEafnQYfen9/1lF7XVCmhf5GSKVPLXdUKo/4ESTuf0V+SyNX/TGnGFJuoF</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><MANUFACTURER>SAMSUNG</MANUFACTURER>

+    <MODEL>SAMSUNG MOBILE MTP</MODEL>

+    <SECURITYLEVEL>2000</SECURITYLEVEL>

+    <HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR>

+    <HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR>

+    <FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR>

+    <FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>

+    <FEATURES>

+        <CLOCK>2</CLOCK>

+        <SECURECLOCK>

+            <URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL>

+            <PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY>

+        </SECURECLOCK>

+        <METERING>1</METERING>

+        <LICENSE_ACQ>0</LICENSE_ACQ>

+        <LICENSE_SYNC>1</LICENSE_SYNC>

+        <ENCRYPTION>1</ENCRYPTION>

+        <SYMMETRIC_OPT>1</SYMMETRIC_OPT>

+    </FEATURES>

+    <LIMITS>

+        <MAXCHAINDEPTH>2</MAXCHAINDEPTH>

+        <MAXLICENSESIZE>10240</MAXLICENSESIZE>

+        <MAXHEADERSIZE>5120</MAXHEADERSIZE>

+    </LIMITS><PUBLICKEY>FRWb6sogmyejs+zIk91Q8Pys5Suk3mnC+l7lbgGbe52wwavCTiuAEw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>A7Jf+PoUXIgfuPVT/Y+WoEDE2lhtZtICn4hegNkzKerSWiiiCEssBw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1373</AUTH_ID><PUBLICKEY>sfafmxUhwSGkSopRF/o1gi//mEWxV/OFzRWZg31Ti8n8ItDrrME1eg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>b0cBrnQlTRQVuDLPMFAiLYLK0B2wT12UOBoa9tPjtID7vHMPScYyVw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>f6IENjvI3hQXOD7+QPXabQwl2neR1FMUiV0/sp8G2ZKxB+FLuuNMLA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+OK.
+
+ 	  	 
diff --git a/logs/mtp-detect-samsung-yh-820.txt b/logs/mtp-detect-samsung-yh-820.txt
new file mode 100644
index 0000000..7e15121
--- /dev/null
+++ b/logs/mtp-detect-samsung-yh-820.txt
@@ -0,0 +1,331 @@
+Attempting to connect device(s)
+PTP: Opening session
+Detect: Successfully connected 1 devices
+USB low-level info:
+  Using kernel interface "usbfs"
+  bcdUSB: 512
+  bDeviceClass: 0
+  bDeviceSubClass: 0
+  bDeviceProtocol: 0
+  idVendor: 04e8
+  idProduct: 502e
+  IN endpoint maxpacket: 512 bytes
+  OUT endpoint maxpacket: 512 bytes
+  Device flags: 0x00000001
+Microsoft device descriptor 0xee:
+       0000: 1203 4d00 5300 4600 5400 3100 3000 3000   ..M.S.F.T.1.0.0.
+       0010: fe00 0705 0102 0002 0007 0582 0200 0200   ................
+       0020: 0705 8103 0002 6400 3200 3000 3000 3700   ......d.2.0.0.7.
+       0030: 6500 3000 3000 2d00 3000 3000 3900 3500   e.0.0.-.0.0.9.5.
+       0040: 3000 3000 3300 6600 2d00 3000 3000 3000   0.0.3.f.-.0.0.0.
+       0050: 3000 3000 6100 3600 3000 0000 0000 0000   0.0.a.6.0.......
+       0060: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0070: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0080: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0090: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       00a0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       00b0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       00c0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       00d0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       00e0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       00f0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0100: 0000 00c0 6101 40a0 6201 4080 6101 40a0   ....a.@.b.@.a.@.
+       0110: 6101 4000 0000 0000 0000 0000 0000 0000   a.@.............
+       0120: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0130: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0140: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0150: 0000 0003 0000 0003 0000 0000 0000 0000   ................
+       0160: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0170: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0180: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0190: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       01a0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       01b0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       01c0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       01d0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       01e0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       01f0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0200: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0210: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0220: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0230: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0240: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0250: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0260: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0270: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0280: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0290: 0000 0000 0000 0000 0000 0000 0000 0028   ...............(
+       02a0: 5e28 5e28 5e28 5e28 5e28 5e28 5e28 5e28   ^(^(^(^(^(^(^(^(
+       02b0: 5e28 5e28 5e28 5e28 5e28 5e28 5e28 5e28   ^(^(^(^(^(^(^(^(
+       02c0: 5e28 5e28 5e28 5e28 5e28 5e28 5e28 5e28   ^(^(^(^(^(^(^(^(
+       02d0: 5e28 5e28 5e28 5e28 5e28 5e28 5e28 5e28   ^(^(^(^(^(^(^(^(
+       02e0: 5e28 5e28 5e28 5e28 5e28 5e28 5e28 5e28   ^(^(^(^(^(^(^(^(
+       02f0: 5e28 5e28 5e28 5e28 5e28 5e28 5e28 5e28   ^(^(^(^(^(^(^(^(
+       0300: 5e28 5e28 5e28 5e28 5e28 5e28 5e28 5e28   ^(^(^(^(^(^(^(^(
+       0310: 5e28 5e28 5e28 5e28 5e28 5e28 5e28 5e28   ^(^(^(^(^(^(^(^(
+       0320: 5e28 5e28 5e28 5e28 5e28 5e28 5e28 5e28   ^(^(^(^(^(^(^(^(
+       0330: 5e28 5e28 5e28 5e28 5e28 5e28 5e28 5e28   ^(^(^(^(^(^(^(^(
+       0340: 5e28 5e28 5e28 5e28 5e28 5e28 5e28 5e28   ^(^(^(^(^(^(^(^(
+       0350: 5e28 5e28 5e28 5e28 5e28 5e28 5e28 5e28   ^(^(^(^(^(^(^(^(
+       0360: 5e28 5e28 5e28 5e28 5e28 5e28 5e28 5e28   ^(^(^(^(^(^(^(^(
+       0370: 5e28 5e28 5e28 5e28 5e28 5e28 5e28 5e28   ^(^(^(^(^(^(^(^(
+       0380: 5e28 5e28 5e28 5e28 5e28 5e28 5e28 5e28   ^(^(^(^(^(^(^(^(
+       0390: 5e28 5e28 5e28 5e28 5e28 5e28 5e28 5e28   ^(^(^(^(^(^(^(^(
+       03a0: 5e28 5e28 5e28 5e28 5e28 5e28 5e28 5e28   ^(^(^(^(^(^(^(^(
+       03b0: 5e28 5e28 5e28 5e28 5e28 5e28 5e28 5e28   ^(^(^(^(^(^(^(^(
+       03c0: 5e28 5e28 5e28 5e28 5e28 5e28 5e28 5e28   ^(^(^(^(^(^(^(^(
+       03d0: 5e28 5e28 5e28 5e28 5e28 5e28 5e28 5e28   ^(^(^(^(^(^(^(^(
+       03e0: 5e28 5e28 5e28 5e28 5e28 5e28 5e28 5e28   ^(^(^(^(^(^(^(^(
+       03f0: 5e28 5e28 5e28 5e28 5e28 5e28 5e28 5e28   ^(^(^(^(^(^(^(^(
+Microsoft device response to control message 1, CMD 0xfe:
+       0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............
+       0010: 0001 4d54 5000 0000 0000 0000 0000 0000   ..MTP...........
+       0020: 0000 0000 0000 0000 3200 3000 3000 3700   ........2.0.0.7.
+       0030: 6500 3000 3000 2d00 3000 3000 3900 3500   e.0.0.-.0.0.9.5.
+       0040: 3000 3000 3300 6600 2d00 3000 3000 3000   0.0.3.f.-.0.0.0.
+       0050: 3000 3000 6100 3600 3000 0000 0000 0000   0.0.a.6.0.......
+       0060: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0070: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0080: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0090: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       00a0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       00b0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       00c0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       00d0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       00e0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       00f0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0100: 0000 00c0 6101 40a0 6201 4080 6101 4000   ....a.@.b.@.a.@.
+       0110: 6201 4000 0000 0000 0000 0000 0000 0000   b.@.............
+       0120: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0130: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0140: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0150: 0000 0006 0000 0006 0000 0000 0000 0000   ................
+       0160: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0170: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0180: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0190: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       01a0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       01b0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       01c0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       01d0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       01e0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       01f0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0200: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0210: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0220: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0230: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0240: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0250: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0260: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0270: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0280: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0290: 0000 0000 0000 0000 0000 0000 0000 0028   ...............(
+       02a0: 5e28 5e28 5e28 5e28 5e28 5e28 5e28 5e28   ^(^(^(^(^(^(^(^(
+       02b0: 5e28 5e28 5e28 5e28 5e28 5e28 5e28 5e28   ^(^(^(^(^(^(^(^(
+       02c0: 5e28 5e28 5e28 5e28 5e28 5e28 5e28 5e28   ^(^(^(^(^(^(^(^(
+       02d0: 5e28 5e28 5e28 5e28 5e28 5e28 5e28 5e28   ^(^(^(^(^(^(^(^(
+       02e0: 5e28 5e28 5e28 5e28 5e28 5e28 5e28 5e28   ^(^(^(^(^(^(^(^(
+       02f0: 5e28 5e28 5e28 5e28 5e28 5e28 5e28 5e28   ^(^(^(^(^(^(^(^(
+       0300: 5e28 5e28 5e28 5e28 5e28 5e28 5e28 5e28   ^(^(^(^(^(^(^(^(
+       0310: 5e28 5e28 5e28 5e28 5e28 5e28 5e28 5e28   ^(^(^(^(^(^(^(^(
+       0320: 5e28 5e28 5e28 5e28 5e28 5e28 5e28 5e28   ^(^(^(^(^(^(^(^(
+       0330: 5e28 5e28 5e28 5e28 5e28 5e28 5e28 5e28   ^(^(^(^(^(^(^(^(
+       0340: 5e28 5e28 5e28 5e28 5e28 5e28 5e28 5e28   ^(^(^(^(^(^(^(^(
+       0350: 5e28 5e28 5e28 5e28 5e28 5e28 5e28 5e28   ^(^(^(^(^(^(^(^(
+       0360: 5e28 5e28 5e28 5e28 5e28 5e28 5e28 5e28   ^(^(^(^(^(^(^(^(
+       0370: 5e28 5e28 5e28 5e28 5e28 5e28 5e28 5e28   ^(^(^(^(^(^(^(^(
+       0380: 5e28 5e28 5e28 5e28 5e28 5e28 5e28 5e28   ^(^(^(^(^(^(^(^(
+       0390: 5e28 5e28 5e28 5e28 5e28 5e28 5e28 5e28   ^(^(^(^(^(^(^(^(
+       03a0: 5e28 5e28 5e28 5e28 5e28 5e28 5e28 5e28   ^(^(^(^(^(^(^(^(
+       03b0: 5e28 5e28 5e28 5e28 5e28 5e28 5e28 5e28   ^(^(^(^(^(^(^(^(
+       03c0: 5e28 5e28 5e28 5e28 5e28 5e28 5e28 5e28   ^(^(^(^(^(^(^(^(
+       03d0: 5e28 5e28 5e28 5e28 5e28 5e28 5e28 5e28   ^(^(^(^(^(^(^(^(
+       03e0: 5e28 5e28 5e28 5e28 5e28 5e28 5e28 5e28   ^(^(^(^(^(^(^(^(
+       03f0: 5e28 5e28 5e28 5e28 5e28 5e28 5e28 5e28   ^(^(^(^(^(^(^(^(
+Potential MTP Device with VendorID:04e8 and ProductID:502e responded to
+control message 2 with a response that was too short. Problems may arrise but
+continuing
+Device info:
+  Manufacturer: Samsung
+  Model: Samsung PTP Device
+  Device version: PP5020AF-05.22-PP05-05.22-PP05-05.22-DT, (Build 130)
+  Serial number: 25da848a-00100000-02007e00-0095003f-00000a60
+  Vendor extension ID: 0x00000006
+  Vendor extension description: microsoft.com/WMDRMPD: 10.1
+Supported operations:
+  1014: Get device property description
+  1015: Get device property value
+  1001: get device info
+  1002: Open session
+  1003: Close session
+  1004: Get storage IDs
+  1005: Get storage info
+  1007: Get object handles
+  1008: Get object info
+  1009: Get object
+  101b: Get partial object
+  100c: Send object info
+  100d: Send object
+  100b: Delete object
+  1012: Set object protection
+  1016: Set device property value
+  9801: Get object properties supported
+  9802: Get object property description
+  9803: Get object property value
+  9805: Get object property list
+  9806: Set object property list
+  9810: Get object references
+  9811: Set object references
+  9101: Get secure time challenge
+  9102: Get secure time response
+  9103: Set license response
+  9104: Get sync list
+  9105: Send meter challenge query
+  9106: Get meter challenge
+  9107: Get meter response
+  9108: Clean data store
+  9109: Get license state
+Events supported:
+  None.
+Device Properties Supported:
+  0x5001: Battery Level
+  0xd101: Secure Time
+  0xd102: Device Certificate
+  0xd402: Friendly Device Name
+Playable File (Object) Types and Object Properties Supported:
+  3001: Association/Directory
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771, GET/SET
+     dc09: DateModified STRING data type GET/SET
+     de93: SampleRate UINT32 data type ANY 32BIT VALUE form GET/SET
+     de94: NumberOfChannels UINT16 data type ANY 16BIT VALUE form GET/SET
+     de99: AudioWAVECodec UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc8a: Rating UINT16 data type range: MIN 1038, MAX 1019, STEP 61454 GET/SET
+  3009: MP3
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771, GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+     dc44: Name STRING data type GET/SET
+     dc46: Artist STRING data type GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+     dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+     de9a: AudioBitRate UINT32 data type ANY 32BIT VALUE form GET/SET
+     de93: SampleRate UINT32 data type ANY 32BIT VALUE form GET/SET
+     de94: NumberOfChannels UINT16 data type ANY 16BIT VALUE form GET/SET
+     de99: AudioWAVECodec UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc8a: Rating UINT16 data type range: MIN 1038, MAX 1019, STEP 61454 GET/SET
+  3008: MS Wave
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771, GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc44: Name STRING data type GET/SET
+     dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+     de93: SampleRate UINT32 data type ANY 32BIT VALUE form GET/SET
+     de94: NumberOfChannels UINT16 data type ANY 16BIT VALUE form GET/SET
+     de99: AudioWAVECodec UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc8a: Rating UINT16 data type range: MIN 1038, MAX 1019, STEP 61454 GET/SET
+  3801: JPEG
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771, GET/SET
+     dc09: DateModified STRING data type GET/SET
+     de93: SampleRate UINT32 data type ANY 32BIT VALUE form GET/SET
+     de94: NumberOfChannels UINT16 data type ANY 16BIT VALUE form GET/SET
+     de99: AudioWAVECodec UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc8a: Rating UINT16 data type range: MIN 1038, MAX 1019, STEP 61454 GET/SET
+  ba05: Abstract Audio Video Playlist
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771, GET/SET
+     dc09: DateModified STRING data type GET/SET
+     de93: SampleRate UINT32 data type ANY 32BIT VALUE form GET/SET
+     de94: NumberOfChannels UINT16 data type ANY 16BIT VALUE form GET/SET
+     de99: AudioWAVECodec UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc8a: Rating UINT16 data type range: MIN 1038, MAX 1019, STEP 61454 GET/SET
+  b901: WMA
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771, GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+     dc44: Name STRING data type GET/SET
+     dc46: Artist STRING data type GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+     dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+     de9a: AudioBitRate UINT32 data type ANY 32BIT VALUE form GET/SET
+     de93: SampleRate UINT32 data type ANY 32BIT VALUE form GET/SET
+     de94: NumberOfChannels UINT16 data type ANY 16BIT VALUE form GET/SET
+     de99: AudioWAVECodec UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc8a: Rating UINT16 data type range: MIN 1038, MAX 1019, STEP 61454 GET/SET
+Storage Devices:
+  StorageID: 0x00010001
+     StorageType: 0x0004
+     FilesystemType: 0x0002
+     AccessCapability: 0x0000
+     MaxCapacity: 4991205376
+     FreeSpaceInBytes: 4921094912
+     FreeSpaceInObjects: 4294967295
+     StorageDescription: PPI HDD
+     VolumeIdentifier: YH-820
+Special directories:
+  Default music folder: 0x00050000
+  Default playlist folder: 0x00030000
+  Default picture folder: 0x00000000
+  Default video folder: 0x00000000
+  Default organizer folder: 0x00000000
+  Default zencast folder: 0x00000000
+  Default album folder: 0x00000000
+  Default text folder: 0x00000000
+MTP-specific device properties:
+  Friendly name: Samsung YH820
+  Synchronization partner: (NULL)
+  Battery level 67 of 100 (67%)
+libmtp supported (playable) filetypes:
+  ISO MPEG-1 Audio Layer 3
+  RIFF WAVE file
+  JPEG file
+  Microsoft Windows Media Audio
+Unable to acquire device certificate, perhaps this device does not support this
+Error 2: PTP Layer error 02fe: get_device_unicode_property(): failed to get unicode property.
+Error 2: (Look this up in ptp.h for an explanation.)
+WMPInfo.xml Does not exist on this device
+PTP: Closing session
+OK.
diff --git a/logs/mtp-detect-samsung-yh-925.txt b/logs/mtp-detect-samsung-yh-925.txt
new file mode 100644
index 0000000..49025e9
--- /dev/null
+++ b/logs/mtp-detect-samsung-yh-925.txt
@@ -0,0 +1,219 @@
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   bMaxPacketSize0: 64
+   idVendor: 04e8
+   idProduct: 502f
+Device info:
+   Manufacturer: Samsung
+   Model: Samsung PTP Device
+   Device version: PP5020AF-05.22-PP05-05.22-PP05-05.22-DT, (Build 130)
+   Serial number: 3fff0040-0010c837-00000000-0000003f-00000000
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/WMDRMPD: 10.1
+Supported operations:
+   0x1014
+   0x1015
+   0x1001
+   0x1002
+   0x1003
+   0x1004
+   0x1005
+   0x1007
+   0x1008
+   0x1009
+   0x101b
+   0x100c
+   0x100d
+   0x100b
+   0x1012
+   0x1016
+   0x9801
+   0x9802
+   0x9803
+   0x9805
+   0x9806
+   0x9810
+   0x9811
+   0x9101
+   0x9102
+   0x9103
+   0x9104
+   0x9105
+   0x9106
+   0x9107
+   0x9108
+   0x9109
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd402: Device Friendly Name
+Playable File (Object) Types and Object Properties Supported:
+   3001: Association/Directory
+      dc01: StorageID
+      dc0b: ParentObject
+      dc07: ObjectFileName
+      dc04: ObjectSize
+      dc02: ObjectFormat
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc03: ProtectionStatus
+      dc09: DateModified
+      de93: SampleRate
+      de94: NumberOfChannels
+      de99: AudioWAVECodec
+      dc8a: Rating
+   3009: MP3
+      dc01: StorageID
+      dc0b: ParentObject
+      dc07: ObjectFileName
+      dc04: ObjectSize
+      dc02: ObjectFormat
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc03: ProtectionStatus
+      dc09: DateModified
+      dc8b: Track
+      dc99: OriginalReleaseDate
+      dc44: Name
+      dc46: Artist
+      dc8c: Genre
+      dc9a: AlbumName
+      dc89: Duration
+      de9a: AudioBitRate
+      de93: SampleRate
+      de94: NumberOfChannels
+      de99: AudioWAVECodec
+      dc8a: Rating
+   3008: MS Wave
+      dc01: StorageID
+      dc0b: ParentObject
+      dc07: ObjectFileName
+      dc04: ObjectSize
+      dc02: ObjectFormat
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc03: ProtectionStatus
+      dc09: DateModified
+      dc44: Name
+      dc89: Duration
+      de93: SampleRate
+      de94: NumberOfChannels
+      de99: AudioWAVECodec
+      dc8a: Rating
+   3801: JPEG
+      dc01: StorageID
+      dc0b: ParentObject
+      dc07: ObjectFileName
+      dc04: ObjectSize
+      dc02: ObjectFormat
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc03: ProtectionStatus
+      dc09: DateModified
+      de93: SampleRate
+      de94: NumberOfChannels
+      de99: AudioWAVECodec
+      dc8a: Rating
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID
+      dc0b: ParentObject
+      dc07: ObjectFileName
+      dc04: ObjectSize
+      dc02: ObjectFormat
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc03: ProtectionStatus
+      dc09: DateModified
+      de93: SampleRate
+      de94: NumberOfChannels
+      de99: AudioWAVECodec
+      dc8a: Rating
+   b901: WMA
+      dc01: StorageID
+      dc0b: ParentObject
+      dc07: ObjectFileName
+      dc04: ObjectSize
+      dc02: ObjectFormat
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc03: ProtectionStatus
+      dc09: DateModified
+      dc8b: Track
+      dc99: OriginalReleaseDate
+      dc44: Name
+      dc46: Artist
+      dc8c: Genre
+      dc9a: AlbumName
+      dc89: Duration
+      de9a: AudioBitRate
+      de93: SampleRate
+      de94: NumberOfChannels
+      de99: AudioWAVECodec
+      dc8a: Rating
+Special directories:
+   Default music folder: 0x00040000
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: Samsung YH-925
+   Synchronization partner: (NULL)
+   Total bytes on device: 19990446080 (19064 MB)
+   Free bytes on device: 19888260096 (18966 MB)
+   Storage description: "PPI HDD"
+   Volume label: "NO NAME    "
+   Battery level 93 of 100 (93%)
+libmtp supported (playable) filetypes:
+   ISO MPEG Audio Layer 3
+   RIFF WAVE file
+   JPEG file
+   Microsoft Windows Media Audio
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20060203 
+21:15:40Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0">
+<CERTIFICATE type="DEVICE">
+<DATA><UNIQUEID 
+private="1">QAD/PzfIEAAAAAAAPwAAAAAAAAA=</UNIQUEID><PUBLICKEY 
+private="1">3a3gYfqlBf0VU9QGlqAwF6cq8R/wMVcZZAdhdYpXOzk2LLaqETC7ZA==</PUBLIC
+KEY><KEYDATA>oELEJ44dgHzjcEZSfQnf37FdY60=</KEYDATA></DATA><MSDRM_SIGNATURE_V
+ALUE>Fxzo92f839/8lM/9aeyWT0lIFmiwQmDOueraM3oBCHfTHBgDOGDICg==</MSDRM_SIGNATU
+RE_VALUE><SYMSIGNATURE>Y16XrFWkakK10EscljNwDyPaM5k=</SYMSIGNATURE></CERTIFIC
+ATE><FALLBACK><SECURITYVERSION>2.4.101.87</SECURITYVERSION><CERTIFICATE 
+private="1">3a3gYfqlBf0VU9QGlqAwF6cq8R/wMVcZZAdhdYpXOzk2LLaqETC7ZAIEZVemZT1N
+jbFZ7WahsQQA5H3rHOsWhSOI53bGHDrw2rkd/jGmz0524DR0</CERTIFICATE></FALLBACK>
+<CERTIFICATE type="GROUP">
+<DATA><SECURITYLEVEL>2000</SECURITYLEVEL><FEATURES><CLOCK>2</CL
+OCK><SECURECLOCK><URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL><PUB
+LICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY><
+/SECURECLOCK><METERING>1</METERING><LICENSE_ACQ>1</LICENSE_ACQ><LICENSE_SYNC
+>1</LICENSE_SYNC><ENCRYPTION>1</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT><
+/FEATURES><LIMITS><MAXCHAINDEPTH>2</MAXCHAINDEPTH><MAXLICENSESIZE>10240</MAX
+LICENSESIZE><MAXHEADERSIZE>5120</MAXHEADERSIZE></LIMITS><PUBLICKEY>fM517PmyQ
+hbdKTUZaKlz687KxTD0ttFPo5HcltpSVgN9iN6OSe4VGw==</PUBLICKEY></DATA><MSDRM_SIG
+NATURE_VALUE>BzCgrr7SYaHM6hPsHOj9wMfT9Dn7o2vL8GfGIVpR0lTf6JqM0kskZw==</MSDRM
+_SIGNATURE_VALUE>
+</CERTIFICATE>
+<CERTIFICATE type="AUTHORIZATION">
+<DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>187</
+AUTH_ID><PUBLICKEY>6ZDJjbq0X2Mjcil1dC4zpj1JsESE8OYoyMht8O+d4vbgXPha+hXYJw==<
+/PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>q+myxvwrxLK9va28WHcYeMYPKzOBSH/kH/e
+t5BGPhVjPybFaDKnzNQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE 
+type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOg
+ktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATU
+RE_VALUE>M3Km8EZAyFGkkJBZBFJdXekswz85u5tXZWyiUo7sCcVLlidoPHl5AA==</MSDRM_SIG
+NATURE_VALUE>
+</CERTIFICATE>
+</DEVCERT>
diff --git a/logs/mtp-detect-samsung-yp-k3.txt b/logs/mtp-detect-samsung-yp-k3.txt
new file mode 100644
index 0000000..df0c266
--- /dev/null
+++ b/logs/mtp-detect-samsung-yp-k3.txt
@@ -0,0 +1,240 @@
+Found non-autodetected device "Samsung YP-K3" on USB bus...
+PTP: Opening session
+Connected to MTP device.
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 04e8
+   idProduct: 5081
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000002
+Device info:
+   Manufacturer: Samsung Inc.
+   Model: Samsung YP-K3
+   Device version: Ver.1.04 WA JN
+   Serial number: 52D31194000293111814AB37F0003F16ble.com: 1.0;
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/WMDRMPD: 10.1;audible.com: 1.0;
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   101b: Get partial object
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Device Friendly Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3009: MP3
+      dc97: EffectiveRating
+      dc8a: Rating
+      dc44: Name
+      dc01: StorageID
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc09: DateModified
+      dc4f: NonConsumable
+      dc02: ObjectFormat
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+      dc03: ProtectionStatus
+      dc8b: Track
+      de9a: AudioBitRate
+      dc46: Artist
+      dc8c: Genre
+      de93: SampleRate
+      de94: NumberOfChannels
+      dc9a: AlbumName
+      dc89: Duration
+      de99: AudioWAVECodec
+      dc99: OriginalReleaseDate
+   b901: WMA
+      dc97: EffectiveRating
+      dc8a: Rating
+      dc44: Name
+      dc01: StorageID
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc09: DateModified
+      dc4f: NonConsumable
+      dc02: ObjectFormat
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+      dc03: ProtectionStatus
+      dc8b: Track
+      de9a: AudioBitRate
+      dc46: Artist
+      dc8c: Genre
+      de93: SampleRate
+      de94: NumberOfChannels
+      dc9a: AlbumName
+      dc89: Duration
+      de99: AudioWAVECodec
+      dc99: OriginalReleaseDate
+   3801: JPEG
+      dc97: EffectiveRating
+      dc8a: Rating
+      dc44: Name
+      dc01: StorageID
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc09: DateModified
+      dc4f: NonConsumable
+      dc02: ObjectFormat
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+      dc03: ProtectionStatus
+   3001: Association/Directory
+      dc97: EffectiveRating
+      dc8a: Rating
+      dc44: Name
+      dc01: StorageID
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc09: DateModified
+      dc4f: NonConsumable
+      dc02: ObjectFormat
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+      dc03: ProtectionStatus
+   ba05: Abstract Audio Video Playlist
+      dc97: EffectiveRating
+      dc8a: Rating
+      dc44: Name
+      dc01: StorageID
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc09: DateModified
+      dc4f: NonConsumable
+      dc02: ObjectFormat
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+      dc03: ProtectionStatus
+   3000: Undefined Type
+      dc97: EffectiveRating
+      dc8a: Rating
+      dc44: Name
+      dc01: StorageID
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc09: DateModified
+      dc4f: NonConsumable
+      dc02: ObjectFormat
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+      dc03: ProtectionStatus
+   b802: Firmware
+      dc97: EffectiveRating
+      dc8a: Rating
+      dc44: Name
+      dc01: StorageID
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc09: DateModified
+      dc4f: NonConsumable
+      dc02: ObjectFormat
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+      dc03: ProtectionStatus
+   ba03: Abstract Audio Album
+      dc97: EffectiveRating
+      dc8a: Rating
+      dc44: Name
+      dc01: StorageID
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc09: DateModified
+      dc4f: NonConsumable
+      dc02: ObjectFormat
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+      dc03: ProtectionStatus
+      dc46: Artist
+      dc8c: Genre
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 4037017600
+      FreeSpaceInBytes: 2622959616
+      FreeSpaceInObjects: 17098
+      StorageDescription: Internal Storage
+      VolumeIdentifier: 52D31194000293111814AB37F0003F16
+Special directories:
+   Default music folder: 0x20000003
+   Default playlist folder: 0x20000008
+   Default picture folder: 0x20000004
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x20000007
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: Samsung YP-K3
+   Synchronization partner: Longhorn Sync Engine
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   JPEG file
+   Firmware file
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20070220 
+21:16:22Z#</VALUE><FLAG>DRM_CLK_SET</FLAG></DRMCLOCK>AG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID 
+private="1">UtMRlAACkxEYFKs38AA/FgAAAAA=</UNIQUEID><PUBLICKEY 
+private="1">YtPj9AvCSm05fwJXTAdgRRxPrXtiqFncz3eFkF7ksqwnFSLk3G0lIw==</PUBLICKEY><KEYDATA>mUFPcatg/R69gpSXuBUAFdjpb9I=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>vhjROwm8YZ05KiCxbjY2AjAbMXYS1ifJpYQsUa0K1JGE2YqGGHQ0Uw==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>Xggs8dOmEc+bKZd3Qx6pOsr/Ej0=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.105.107</SECURITYVERSION><CERTIFICATE 
+private="1">YtPj9AvCSm05fwJXTAdgRRxPrXtiqFncz3eFkF7ksqwnFSLk3G0lIwIEaWvbaNg3uxfic0BX2xkhsBnWUnDwBL5IplWrIrglSmyQ04VGCdGlbbgJ</CERTIFICATE></FALLBACK><CERTIFICATE 
+type="GROUP"><DATA><NAME>TCCSDKBoard</NAME><MANUFACTURER>Telechips</MANUFACTURER><MAKE>Telechips</MAKE><DISTRIBUTOR>WideWorldImporters</DISTRIBUTOR><MODEL>TCC7XX</MODEL><SECURITYLEVEL>2000</SECURITYLEVEL><HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR><HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR><FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR><FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR><FEATURES><CLOCK>2</CLOCK><SECURECLOCK><URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL><PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY></SECURECLOCK><METERING>1</METERING><LICENSE_ACQ>0</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>0</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT></FEATURES><LIMITS><MAXCHAINDEPTH>2</MAXCHAINDEPTH><MAXLICENSESIZE>10240</MAXLICENSESIZE><MAXHEADERSIZE>5120</MAXHEADERSIZE></LIMITS><PUBLICKEY>qOxIhjTiT16ThbPhUSr8owa0VUkPuULltIn1cK3WdQYpQoZn2vJgYQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>3biCcFMgsYuHBQvlL3qw5DhmNjwQk60qmziGE7Oaf/6O9YEap6+
+ /Bg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE 
+type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1231</AUTH_ID><PUBLICKEY>uVjt9gtU10r8MkVOz6naLCacO3grl8HqKs4gN5R73dJBaF7nKmTIHA==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>3k5byRIQtCXmA6y0BJO1qA7Xmx9/+yMnCaukIoVpqO95vefmrE9DLQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE 
+type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>rjswZ823zQz7gHDqqLTEbryN+F0NpPVMYU3VecFmAJMY+TgwiexHAA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+PTP: Closing session
+OK.
+k
\ No newline at end of file
diff --git a/logs/mtp-detect-samsung-yp-k5.txt b/logs/mtp-detect-samsung-yp-k5.txt
new file mode 100644
index 0000000..556c361
--- /dev/null
+++ b/logs/mtp-detect-samsung-yp-k5.txt
@@ -0,0 +1,218 @@
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 04e8
+   idProduct: 505a
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000000
+Device info:
+   Manufacturer: Samsung Inc.
+   Model: Samsung YP-K5
+   Device version: Ver.1.03 WA JN
+   Serial number: 3464BDD400016951E712133FF0021F16ble.com: 1.0;
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/WMDRMPD: 10.1;audible.com: 1.0;
+Supported operations:
+   1001: Get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   101b: Get partial object
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Set meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Unknown(910a)
+   910b: Unknown(910b)
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Device Friendly Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3009: MP3
+      dc97: EffectiveRating
+      dc8a: Rating
+      dc44: Name
+      dc01: StorageID
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc09: DateModified
+      dc4f: NonConsumable
+      dc02: ObjectFormat
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+      dc03: ProtectionStatus
+      dc8b: Track
+      de9a: AudioBitRate
+      dc46: Artist
+      dc8c: Genre
+      de93: SampleRate
+      de94: NumberOfChannels
+      dc9a: AlbumName
+      dc89: Duration
+      de99: AudioWAVECodec
+      dc99: OriginalReleaseDate
+   b901: WMA
+      dc97: EffectiveRating
+      dc8a: Rating
+      dc44: Name
+      dc01: StorageID
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc09: DateModified
+      dc4f: NonConsumable
+      dc02: ObjectFormat
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+      dc03: ProtectionStatus
+      dc8b: Track
+      de9a: AudioBitRate
+      dc46: Artist
+      dc8c: Genre
+      de93: SampleRate
+      de94: NumberOfChannels
+      dc9a: AlbumName
+      dc89: Duration
+      de99: AudioWAVECodec
+      dc99: OriginalReleaseDate
+   3801: JPEG
+      dc97: EffectiveRating
+      dc8a: Rating
+      dc44: Name
+      dc01: StorageID
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc09: DateModified
+      dc4f: NonConsumable
+      dc02: ObjectFormat
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+      dc03: ProtectionStatus
+   3001: Association/Directory
+      dc97: EffectiveRating
+      dc8a: Rating
+      dc44: Name
+      dc01: StorageID
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc09: DateModified
+      dc4f: NonConsumable
+      dc02: ObjectFormat
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+      dc03: ProtectionStatus
+   ba05: Abstract Audio Video Playlist
+      dc97: EffectiveRating
+      dc8a: Rating
+      dc44: Name
+      dc01: StorageID
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc09: DateModified
+      dc4f: NonConsumable
+      dc02: ObjectFormat
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+      dc03: ProtectionStatus
+   3000: Undefined Type
+      dc97: EffectiveRating
+      dc8a: Rating
+      dc44: Name
+      dc01: StorageID
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc09: DateModified
+      dc4f: NonConsumable
+      dc02: ObjectFormat
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+      dc03: ProtectionStatus
+   b802: Firmware
+      dc97: EffectiveRating
+      dc8a: Rating
+      dc44: Name
+      dc01: StorageID
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc09: DateModified
+      dc4f: NonConsumable
+      dc02: ObjectFormat
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+      dc03: ProtectionStatus
+   ba03: Abstract Audio Album
+      dc97: EffectiveRating
+      dc8a: Rating
+      dc44: Name
+      dc01: StorageID
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc09: DateModified
+      dc4f: NonConsumable
+      dc02: ObjectFormat
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+      dc03: ProtectionStatus
+      dc46: Artist
+      dc8c: Genre
+Special directories:
+   Default music folder: 0x20000003
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x20000004
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: Samsung YP-K5
+   Synchronization partner: Longhorn Sync Engine
+   Total bytes on device: 1035599872 (987 MB)
+   Free bytes on device: 995304899 (949 MB)
+   Storage description: "Internal Storage"
+   Volume label: "3464BDD400016951E712133FF0021F16gine"
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   ISO MPEG Audio Layer 3
+   Microsoft Windows Media Audio
+   JPEG file
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#19700101 00:00:00Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>AG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">NGS91AABaVHnEhM/8AIfFgAAAAA=</UNIQUEID><PUBLICKEY private="1">lb+TWhA19FA+sD+8fEw8PAaJamIZIWURWRZ4x8z5tZ1cKDzwwQiVNg==</PUBLICKEY><KEYDATA>6EIECFXN5pF4h4/xXnBvWm0X3Ko=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>3ZpQV/dynAhxFjt2SFd1WBnuNTqRRT7NGJ6ur0OVfSjCU/+Ny588dg==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>NNMbAxV9x2JNUmpoTKn+EGL4zF0=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.104.243</SECURITYVERSION><CERTIFICATE private="1">lb+TWhA19FA+sD+8fEw8PAaJamIZIWURWRZ4x8z5tZ1cKDzwwQiVNgIEaPPAdAIRpqxdInYSUyr7KfBg4sZaQvPhyKizDQrsIfus/7CH5bxWeG5e</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>YP-K5</NAME><MANUFACTURER>Samsung</MANUFACTURER><MAKE>Samsung</MAKE><DISTRIBUTOR>WorldWideImporters</DISTRIBUTOR><MODEL>YP-K5</MODEL><SECURITYLEVEL>2000</SECURITYLEVEL><HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR><HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR><FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR><FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR><FEATURES><CLOCK>2</CLOCK><SECURECLOCK><URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL><PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY></SECURECLOCK><METERING>1</METERING><LICENSE_ACQ>0</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>0</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT></FEATURES><LIMITS><MAXCHAINDEPTH>2</MAXCHAINDEPTH><MAXLICENSESIZE>10240</MAXLICENSESIZE><MAXHEADERSIZE>5120</MAXHEADERSIZE></LIMITS><PUBLICKEY>QZt5UOW2pMsgDW5jPJeSa0oC3yE44+ivNp4dZps6Ofkk3LeLWwX0UQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>WUq0iNivBCcNDPHJa//l7X698WTcN1vmBtumyrUjwIxay9XBj0BiVA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1111</AUTH_ID><PUBLICKEY>xXZnNTfy+kMtWdcE4fV1VKU6Q0XXOtOYmynpZzxuCWaMZQVNduZPLA==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>Le5pFakN0g5yVyafphKn3wWwqkaVys9oEvA+DzQM6yBInixDJPI8aQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>8h+2HXlPASFEa+MnBC6pt4Aikxl/0WuSJQc7cgHZCRQ0+rY02tpQCA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+
diff --git a/logs/mtp-detect-samsung-yp-m1.txt b/logs/mtp-detect-samsung-yp-m1.txt
new file mode 100644
index 0000000..d42a062
--- /dev/null
+++ b/logs/mtp-detect-samsung-yp-m1.txt
@@ -0,0 +1,429 @@
+libmtp version: 1.0.2
+
+Listing raw device(s)
+   Found 1 device(s):
+   Samsung: YP-M1 (04e8:5118) @ bus 1, dev 4
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 04e8
+   idProduct: 5118
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 4
+      Device entry info:
+         Vendor: Samsung
+         Vendor id: 0x04e8
+         Product: YP-M1
+         Vendor id: 0x5118
+         Device flags: 0x00002202
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: fe00                                   	..
+Microsoft device response to control message 1, CMD 0xfe:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 3300 0000 0000	..MTP.....3.....
+	0020: 0000 0000 0000 0000                    	........
+Device responds to control message 2 with some data.
+Device info:
+   Manufacturer: SAMSUNG
+   Model: M1
+   Device version: 100
+   Serial number: 12345529330800000fa14
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMPPD: 10.0; microsoft.com/WMDRMPD: 10.1
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   1012: Set object protection
+   100d: Send object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   1019: Move object
+   101a: Copy object
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9103: Set license response
+   9109: Get license state
+   9108: Clean data store
+   9107: Get meter response
+   9106: Get meter challenge
+   9105: Send meter challenge query
+   9104: Get sync list
+   9102: Get secure time response
+   9101: Get secure time challenge
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc0a: Keywords STRING data type GET/SET
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc0a: Keywords STRING data type GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 5000000, STEP 1 READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de95: Audio Bit Depth UINT32 data type enumeration: 0, 8, 10, 12, 16, 24, 32,  GET/SET
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc95: Meta Genre UINT16 data type enumeration: 0, 1, 17, 18, 19, 20, 21, 33, 34, 35, 36, 37, 38, 39, 40, 48, 64, 65, 66,  GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 5000000, STEP 1 READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 1500, STEP 1 GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 100000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 1500, STEP 1 GET/SET
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc0a: Keywords STRING data type GET/SET
+   b802: Firmware
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc0a: Keywords STRING data type GET/SET
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 5000000, STEP 1 READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de95: Audio Bit Depth UINT32 data type enumeration: 0, 8, 10, 12, 16, 24, 32,  GET/SET
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc95: Meta Genre UINT16 data type enumeration: 0, 1, 17, 18, 19, 20, 21, 33, 34, 35, 36, 37, 38, 39, 40, 48, 64, 65, 66,  GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 5000000, STEP 1 READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de95: Audio Bit Depth UINT32 data type enumeration: 0, 8, 10, 12, 16, 24, 32,  GET/SET
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc95: Meta Genre UINT16 data type enumeration: 0, 1, 17, 18, 19, 20, 21, 33, 34, 35, 36, 37, 38, 39, 40, 48, 64, 65, 66,  GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 5000000, STEP 1 READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 1500, STEP 1 GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 100000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 0, MAX 48000, STEP 50 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 5000000, STEP 1 READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 1500, STEP 1 GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 100000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 2000, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1500, STEP 10 READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 6000000, STEP 10 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 1, 0,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc05: Association Type UINT16 data type enumeration: 1, 0,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc0a: Keywords STRING data type GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 7766835200
+      FreeSpaceInBytes: 5991858176
+      FreeSpaceInObjects: 0
+      StorageDescription: Internal Storage
+      VolumeIdentifier: MTP Volume - 65537 - 529330800000fa14
+Special directories:
+   Default music folder: 0x00000004
+   Default playlist folder: 0x00000005
+   Default picture folder: 0x00000006
+   Default video folder: 0x00000003
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0x00000008
+   Default album folder: 0xffffffff
+   Default text folder: 0x00000007
+MTP-specific device properties:
+   Friendly name: M1
+   Synchronization partner: (NULL)
+   Battery level 0 of 100 (0%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Advanced Systems Format
+   JPEG file
+   Firmware file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Microsoft Windows Media Video
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Abstract Album file
+   Abstract Playlist file
+   Ogg container format
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20106699 15:35:39Z#</VALUE><FLAG>DRM_CLK_SET</FLAG></DRMCLOCK>AG></DRMCLOCK>
+OK.
+
+ 	  	 
diff --git a/logs/mtp-detect-samsung-yp-p3.txt b/logs/mtp-detect-samsung-yp-p3.txt
new file mode 100644
index 0000000..26f8ff5
--- /dev/null
+++ b/logs/mtp-detect-samsung-yp-p3.txt
@@ -0,0 +1,583 @@
+libmtp version: 0.3.7
+
+Listing raw device(s)
+   Found 1 device(s):
+   Samsung: P3 (04e8:511a) @ bus 0, dev 13
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 04e8
+   idProduct: 511a
+   IN endpoint maxpacket: 64 bytes
+   OUT endpoint maxpacket: 64 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 13
+      Device entry info:
+         Vendor: Samsung
+         Vendor id: 0x04e8
+         Product: P3
+         Vendor id: 0x511a
+         Device flags: 0x00002008
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: 0100                                   	..
+Device info:
+   Manufacturer: SAMSUNG
+   Model: P3 
+   Device version: 
+   Serial number: 97B5F4A8E0D400000000000000000000
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/WMPPD: 11.0;microsoft.com/WMDRMPD: 10.1;microsoft.com/WMPPD: 10.0;audible.com: 1.0;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   9808: Send object property list
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   101b: Get partial object
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd405: Device Icon
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd103: Revocation Info
+Playable File (Object) Types and Object Properties Supported:
+   3001: Association/Directory
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+   3009: MP3
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc42: SyncID STRING data type GET/SET
+   b901: WMA
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc42: SyncID STRING data type GET/SET
+   3008: MS Wave
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc42: SyncID STRING data type GET/SET
+   3801: JPEG
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 480, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 272, STEP 1 GET/SET
+   380b: PNG
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 480, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 272, STEP 1 GET/SET
+   3804: BMP
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 480, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 272, STEP 1 GET/SET
+   3807: GIF
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 480, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 272, STEP 1 GET/SET
+   3004: Text
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   300a: MS AVI
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 480, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 272, STEP 1 GET/SET
+      de97: ScanDepth UINT16 data type enumeration: 1,  READ ONLY
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 15000, MAX 30000, STEP 1 GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 0, 1195724877, 861293911,  GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 1, MAX 850000, STEP 1 GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+      dc42: SyncID STRING data type GET/SET
+   300d: Apple Quicktime
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b981: WMV
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 480, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 272, STEP 1 GET/SET
+      de97: ScanDepth UINT16 data type enumeration: 1,  READ ONLY
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 15000, MAX 30000, STEP 1 GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 0, 1195724877, 861293911,  GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 1, MAX 850000, STEP 1 GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 1956000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+      dc42: SyncID STRING data type GET/SET
+   b903: AAC
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc42: SyncID STRING data type GET/SET
+   300c: ASF
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 480, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 272, STEP 1 GET/SET
+      de97: ScanDepth UINT16 data type enumeration: 1,  READ ONLY
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 15000, MAX 30000, STEP 1 GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 0, 1195724877, 861293911,  GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 1, MAX 850000, STEP 1 GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+      dc42: SyncID STRING data type GET/SET
+   3001: Association/Directory
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3000: Undefined Type
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b802: Firmware
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   ba03: Abstract Audio Album
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+   b900: Undefined Audio
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc42: SyncID STRING data type GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 15867838464
+      FreeSpaceInBytes: 11928313856
+      FreeSpaceInObjects: 23101
+      StorageDescription: Internal Storage
+      VolumeIdentifier: 97B5F4A8E0D400000000000000000000
+Special directories:
+   Default music folder: 0x20000007
+   Default playlist folder: 0x20000023
+   Default picture folder: 0x2000001d
+   Default video folder: 0x20000020
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x20000024
+   Default album folder: 0x00000000
+   Default text folder: 0x2000001f
+MTP-specific device properties:
+   Friendly name: P3 
+   Synchronization partner: Longhorn Sync Engine
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   RIFF WAVE file
+   JPEG file
+   Portable Network Graphics
+   BMP bitmap file
+   GIF bitmap file
+   Text file
+   Audio Video Interleave
+   Apple Quicktime container format
+   Microsoft Windows Media Video
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Microsoft Advanced Systems Format
+   Firmware file
+   Undefined audio file
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#19702233 16:57:47Z#</VALUE><FLAG>DRM_CLK_NEEDS_REFRESH</FLAG></DRMCLOCK>AG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">l7X0qODUAAAAAAAAAAAAAAAAAAA=</UNIQUEID><PUBLICKEY private="1">LsACVu2Yt8pkyMEECI/6JX5SQgRV03IC1i4/jE3uEEFPJAQxht74KA==</PUBLICKEY><KEYDATA>QS7V2Pqp7iDVxoATUHCohrafbNM=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>dNtQynMaBZQaB7OHXP3oirkR/QtEFmHy/ZzMa8gdWFVGP5nh58AhXA==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>zMaAU2hYjOVFtIAzsFsXnd3Fb7E=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.112.67</SECURITYVERSION><CERTIFICATE private="1">LsACVu2Yt8pkyMEECI/6JX5SQgRV03IC1i4/jE3uEEFPJAQxht74KAIEcEPJeFd4Q6L7pidFur7Im5x3aGFfQc1dI9s3SndNnWJETiZMkiNH3kJ2</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>YP-P3</NAME><MANUFACTURER>Samsung</MANUFACTURER><MAKE>Samsung</MAKE><DISTRIBUTOR>WorldWideImporters</DISTRIBUTOR><MODEL>YP-P3</MODEL><SECURITYLEVEL>2000</SECURITYLEVEL><HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR><HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR><FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR><FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR><FEATURES><CLOCK>2</CLOCK><SECURECLOCK><URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL><PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY></SECURECLOCK><METERING>1</METERING><LICENSE_ACQ>0</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>0</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT></FEATURES><LIMITS><MAXCHAINDEPTH>2</MAXCHAINDEPTH><MAXLICENSESIZE>10240</MAXLICENSESIZE><MAXHEADERSIZE>5120</MAXHEADERSIZE></LIMITS><PUBLICKEY>7yvFR8yNwRRELnfZttGS5XV2FDoIUCeRwEA9hYXyQLFCXtQEpVZHTg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>jTDAoQyOjy1rJbked3M1GxD+NyldSh/7PIDJR4yDbnJ0Wb5Nuic9TQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>2983</AUTH_ID><PUBLICKEY>p7HvLakHIqy/0D9VMyGsxLYikHokKnCdE37LwV7JMNSMP2AnNn91ag==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>iVvQ33/MHwVMd+hPARN23AyUcWNsgiPMFgobW6q004ld6HMeF8LWRg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>nOBk3Z/JjccgCjeBIv/D4kmx3xsGfKski8RZu3XkfcfDkYiq2a/zVA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+OK.
diff --git a/logs/mtp-detect-samsung-yp-q1.txt b/logs/mtp-detect-samsung-yp-q1.txt
new file mode 100644
index 0000000..3bab299
--- /dev/null
+++ b/logs/mtp-detect-samsung-yp-q1.txt
@@ -0,0 +1,429 @@
+PTP: Opening session
+PTP_ERROR_IO: Trying again after re-initializing USB interface
+PTP: Opening session
+libmtp version: 0.3.3
+
+Listing raw device(s)
+   Found 1 device(s):
+   Samsung: YP-Q1 (04e8:5115) @ bus 0, dev 8
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 04e8
+   idProduct: 5115
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 8
+      Device entry info:
+         Vendor: Samsung
+         Vendor id: 0x04e8
+         Product: YP-Q1
+         Vendor id: 0x5115
+         Device flags: 0x00000002
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: 0100                                   	..
+Device info:
+   Manufacturer: SAMSUNG
+   Model: Q1
+   Device version: 1.23
+   Serial number: 9A255DFB0019261397A0DE7CF0008F16
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/WMPPD: 11.0;microsoft.com/WMDRMPD: 10.1;microsoft.com/WMPPD: 10.0;microsoft.com/AAVT: 1.0;microsoft.com/WMDRMND: 1.0;audible.com: 1.0;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   101b: Get partial object
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9170: Open Media Session
+   9171: Close Media Session
+   9172: Get Next Data Block
+   9173: Set Current Time Position
+   9180: Send Registration Request
+   9181: Get Registration Response
+   9182: Get Proximity Challenge
+   9183: Send Proximity Response
+   9184: Send WMDRM-ND License Request
+   9185: Get WMDRM-ND License Response
+Events supported:
+   0x4004
+   0x4005
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd103: Revocation Info
+Playable File (Object) Types and Object Properties Supported:
+   3001: Association/Directory
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+   3009: MP3
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+   b901: WMA
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+   3801: JPEG
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 640, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 640, STEP 1 GET/SET
+   380b: PNG
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 640, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 640, STEP 1 GET/SET
+   3804: BMP
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 640, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 640, STEP 1 GET/SET
+   3807: GIF
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 640, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 640, STEP 1 GET/SET
+   b981: WMV
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 320, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 240, STEP 1 GET/SET
+      de97: ScanDepth UINT16 data type enumeration: 1,  READ ONLY
+      de9d: FramesPerThousandSeconds UINT32 data type enumeration: 0, 20000, 25000, 29970, 30000,  GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 1, MAX 850000, STEP 1 GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+   300c: ASF
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 320, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 240, STEP 1 GET/SET
+      de97: ScanDepth UINT16 data type enumeration: 1,  READ ONLY
+      de9d: FramesPerThousandSeconds UINT32 data type enumeration: 0, 20000, 25000, 29970, 30000,  GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 1, MAX 850000, STEP 1 GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+   3001: Association/Directory
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+   3000: Undefined Type
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+   b802: Firmware
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+   ba03: Abstract Audio Album
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 3959422976
+      FreeSpaceInBytes: 2829459456
+      FreeSpaceInObjects: 11755
+      StorageDescription: Internal Storage
+      VolumeIdentifier: 9A255DFB0019261397A0DE7CF0008F16
+Special directories:
+   Default music folder: 0x20000003
+   Default playlist folder: 0x20000007
+   Default picture folder: 0x20000005
+   Default video folder: 0x20000004
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x20000008
+   Default album folder: 0x00000000
+   Default text folder: 0x20000006
+MTP-specific device properties:
+   Friendly name: Q1
+   Synchronization partner: Longhorn Sync Engine
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   JPEG file
+   Portable Network Graphics
+   BMP bitmap file
+   GIF bitmap file
+   Microsoft Windows Media Video
+   Microsoft Advanced Systems Format
+   Firmware file
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20080216 04:57:42Z#</VALUE><FLAG>DRM_CLK_NEEDS_REFRESH</FLAG></DRMCLOCK>AG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">miVd+wAZJhOXoN588ACPFgAAAAA=</UNIQUEID><PUBLICKEY private="1">f5ZTnfdVJCBr+EZcGcyOeItdZGTzCMoua/q75vyJmbbRkCsiiGONXA==</PUBLICKEY><KEYDATA>9Vf+jY5NiA6PGacv7Svi9vn5OVI=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>WQpEBcHBBUV+Xx+/UkHSMkwvolOFQPWF5zmJI9oBbCaC1DNC2XFBQg==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>NS9/kxJ4fUU/xtsm2rzt1EMMWrw=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.108.81</SECURITYVERSION><CERTIFICATE private="1">f5ZTnfdVJCBr+EZcGcyOeItdZGTzCMoua/q75vyJmbbRkCsiiGONXAIEbFGfuQhkfsFBSgpanwXNtdYK2FqFO0xvoaG8W14Te4ivup3gxJLYbLkx</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>YP-T10</NAME><MANUFACTURER>Samsung</MANUFACTURER><MAKE>Samsung</MAKE><DISTRIBUTOR>WorldWideImporters</DISTRIBUTOR><MODEL>YP-T10</MODEL><SECURITYLEVEL>2000</SECURITYLEVEL><HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR><HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR><FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR><FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR><FEATURES><CLOCK>2</CLOCK><SECURECLOCK><URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL><PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY></SECURECLOCK><METERING>1</METERING><LICENSE_ACQ>0</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>0</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT></FEATURES><LIMITS><PTP: Closing session
+inep: usb_get_endpoint_status(): Connection timed out
+outep: usb_get_endpoint_status(): Connection timed out
+usb_clear_halt() on IN endpoint: Connection timed out
+usb_clear_halt() on OUT endpoint: Connection timed out
+usb_clear_halt() on INTERRUPT endpoint: Connection timed out
+MAXCHAINDEPTH>2</MAXCHAINDEPTH><MAXLICENSESIZE>10240</MAXLICENSESIZE><MAXHEADERSIZE>5120</MAXHEADERSIZE></LIMITS><PUBLICKEY>vRW/PPkzAfSzYbHv8LiL7SlduCMIW81dE7wFRuHHwZRIpgo8I6RGWg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>+leZFfHTUpPiJuxKrZY2NGc/E1NDZTaCFl84wvYcHSHdyMBbTL0AJw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1973</AUTH_ID><PUBLICKEY>LA99x43GKtSfbrir3YWgsHH/Ih/txGBoe5E8LV4KVNb9uQABohtMDw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>rId2DudMrmY+yzso2pVn0lNzYIHUpiH/CJBb+TvgT7FOGD7omELtGw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>SmPt0XQ5U8r9y+GecoWQ/zMpF2YxJ/6kRzS3tQKbVjUY2kJGVpqoJg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+WMPInfo.xml Does not exist on this device
+OK.
+
+ 	  	 
diff --git a/logs/mtp-detect-samsung-yp-q2.txt b/logs/mtp-detect-samsung-yp-q2.txt
new file mode 100644
index 0000000..8e1f1ff
--- /dev/null
+++ b/logs/mtp-detect-samsung-yp-q2.txt
@@ -0,0 +1,444 @@
+Device 0 (VID=04e8 and PID=511d) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+libmtp version: 0.3.7
+
+Listing raw device(s)
+   Found 1 device(s):
+   04e8:511d @ bus 0, dev 8
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 255
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 04e8
+   idProduct: 511d
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 8
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x04e8
+         Product: (null)
+         Vendor id: 0x511d
+         Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: 0100                                   	..
+Microsoft device response to control message 1, CMD 0x01:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Microsoft device response to control message 2, CMD 0x01:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Device info:
+   Manufacturer: Samsung
+   Model: Q2
+   Device version: 1.06
+   Serial number: 4103000113E6C8980002D9B1810A8898
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0;microsoft.com/WMPPD: 10.0;microsoft.com/WMDRMPD: 10.3;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc95: MetaGenre UINT16 data type enumeration: 0, 1, 17, 18, 20, 21, 33, 34, 35, 36, 37, 38, 39, 40, 48,  GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de95: AudioBitDepth UINT32 data type enumeration: 0, 8, 10, 12, 16, 24, 32,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+   300c: ASF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 480, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 270, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 0, MAX 1254400, STEP 1 GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de97: ScanDepth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 0, MAX 30000, STEP 1 GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 0, MAX 16000, STEP 1 GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 1, MAX 870400, STEP 1 GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3801: JPEG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 1500, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b802: Firmware
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc95: MetaGenre UINT16 data type enumeration: 0, 1, 17, 18, 20, 21, 33, 34, 35, 36, 37, 38, 39, 40, 48,  GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de95: AudioBitDepth UINT32 data type enumeration: 0, 8, 10, 12, 16, 24, 32,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+   b902: OGG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc95: MetaGenre UINT16 data type enumeration: 0, 1, 17, 18, 20, 21, 33, 34, 35, 36, 37, 38, 39, 40, 48,  GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de95: AudioBitDepth UINT32 data type enumeration: 0, 8, 10, 12, 16, 24, 32,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+   ba03: Abstract Audio Album
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  GET/SET
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 320, STEP 1 READ ONLY
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b981: WMV
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 480, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 270, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 0, MAX 1254400, STEP 1 GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de97: ScanDepth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 0, MAX 30000, STEP 1 GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 0, MAX 16000, STEP 1 GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 1, MAX 870400, STEP 1 GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b404: Unknown(b404)
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc95: MetaGenre UINT16 data type enumeration: 0, 1, 17, 18, 20, 21, 33, 34, 35, 36, 37, 38, 39, 40, 48,  GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de95: AudioBitDepth UINT32 data type enumeration: 0, 8, 10, 12, 16, 24, 32,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+   b402: Unknown(b402)
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 7931461632
+      FreeSpaceInBytes: 6935363584
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Internal Storage
+      VolumeIdentifier: 4103000113E6C8980002D9B1810A8898
+Special directories:
+   Default music folder: 0x00000013
+   Default playlist folder: 0x00000018
+   Default picture folder: 0x00000015
+   Default video folder: 0x00000014
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000016
+   Default album folder: 0x00000000
+   Default text folder: 0x00000017
+MTP-specific device properties:
+   Friendly name: Q2
+   Synchronization partner: Samsung
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Advanced Systems Format
+   JPEG file
+   Firmware file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Microsoft Windows Media Video
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#19800215 12:50:53Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">NDEwMzAwMDExM0U2Qzg5ODAwMDI=</UNIQUEID><PUBLICKEY private="1">Xja2g6o3hjBEit2HcWBUdTvxz2kym4vtsrpGr8usZ58NX3RVFG3ZWw==</PUBLICKEY><KEYDATA>JGGIx01qBfhJ6Dg5TKUrh7X2u3k=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>Hy9CKc+2j8J3xFtzhVx25c45KHm2iBaCl1jVO1Iol2xrlXhCzsA0SA==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>kHvzESPeKaF+9Q3HV6fr6hKH0Qc=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.105.15</SECURITYVERSION><CERTIFICATE private="1">Xja2g6o3hjBEit2HcWBUdTvxz2kym4vtsrpGr8usZ58NX3RVFG3ZWwIEaQ/pt8HY91pPIIAvtDdVMB+/86fiPwRIGms4v7Isd4Us7t8qS419C4U/</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><FEATURES><CLOCK>2</CLOCK><SECURECLOCK><URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL><PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY></SECURECLOCK><METERING>1</METERING><LICENSE_ACQ>1</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>1</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT></FEATURES><LIMITS><MAXCHAINDEPTH>2</MAXCHAINDEPTH><MAXLICENSESIZE>10240</MAXLICENSESIZE><MAXHEADERSIZE>5120</MAXHEADERSIZE></LIMITS><PUBLICKEY>E8w0ujcvj9/PvgR5wH7qnmJ+ayw5Va97nGWq6tlZK/H6wASCvK5qgQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>C5tRRT2sUN5tvjkCPGUkyNkVpgQks5svZn1M6mi4Q09iIceEOkVMMg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1139</AUTH_ID><PUBLICKEY>+etanHDKVWpDHUNpwbhHNc6v7F+uUIjNL2eXRuV+rNX6M0Wag++uQg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>/kEvwFp8ZZYs1XWmEbsEuVIT2Qn+/685LI1g33fBlL1rK8Mt1pbIIA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>Det7NJ7u813uPm1Anr3inWDYwyr2gFwDcEJjzrlGs98GqMgHzdkUfA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+OK.
+
+ 	  	 
diff --git a/logs/mtp-detect-samsung-yp-q3.txt b/logs/mtp-detect-samsung-yp-q3.txt
new file mode 100644
index 0000000..33a1283
--- /dev/null
+++ b/logs/mtp-detect-samsung-yp-q3.txt
@@ -0,0 +1,563 @@
+libmtp version: 1.0.6
+
+Listing raw device(s)
+Device 0 (VID=04e8 and PID=5130) is a Samsung YP-Q3.
+  Found 1 device(s):
+  Samsung: YP-Q3 (04e8:5130) @ bus 2, dev 13
+Attempting to connect device(s)
+USB low-level info:
+  Using kernel interface "usbfs"
+  bcdUSB: 512
+  bDeviceClass: 0
+  bDeviceSubClass: 0
+  bDeviceProtocol: 0
+  idVendor: 04e8
+  idProduct: 5130
+  IN endpoint maxpacket: 512 bytes
+  OUT endpoint maxpacket: 512 bytes
+  Raw device info:
+     Bus location: 2
+     Device number: 13
+     Device entry info:
+        Vendor: Samsung
+        Vendor id: 0x04e8
+        Product: YP-Q3
+        Vendor id: 0x5130
+        Device flags: 0x00001206
+Microsoft device descriptor 0xee:
+       0000: 1203 4d00 5300 4600 5400 3100 3000 3000   ..M.S.F.T.1.0.0.
+       0010: 0100                                      ..
+Device info:
+  Manufacturer: SAMSUNG
+  Model: Q3
+  Device version:
+  Serial number: 942C74A8B0A300000000000000000000
+  Vendor extension ID: 0x00000006
+  Vendor extension description: microsoft.com/WMPPD: 11.0;microsoft.com/WMDRMPD: 10.1;microsoft.com/WMPPD: 10.0;audible.com: 1.0;
+  Detected object size: 64 bits
+  Extensions:
+       microsoft.com/WMPPD: 11.0
+       microsoft.com/WMDRMPD: 10.1
+       microsoft.com/WMPPD: 10.0
+       audible.com: 1.0
+Supported operations:
+  1001: get device info
+  1002: Open session
+  1003: Close session
+  1004: Get storage IDs
+  1005: Get storage info
+  1006: Get number of objects
+  1007: Get object handles
+  1008: Get object info
+  1009: Get object
+  100b: Delete object
+  9808: Send object property list
+  100c: Send object info
+  100d: Send object
+  100f: Format storage
+  1010: Reset device
+  1014: Get device property description
+  1015: Get device property value
+  1016: Set device property value
+  9810: Get object references
+  9811: Set object references
+  9802: Get object property description
+  9801: Get object properties supported
+  9803: Get object property value
+  9804: Set object property value
+  9805: Get object property list
+  9806: Set object property list
+  101b: Get partial object
+  9201: Report Added/Deleted Items
+  9202: Report Acquired Items
+  9101: Get secure time challenge
+  9102: Get secure time response
+  9103: Set license response
+  9104: Get sync list
+  9105: Send meter challenge query
+  9106: Get meter challenge
+  9107: Get meter response
+  9108: Clean data store
+  9109: Get license state
+  910a: Send WMDRM-PD Command
+  910b: Send WMDRM-PD Request
+Events supported:
+  0x4004
+  0x4005
+Device Properties Supported:
+  0xd405: Device Icon
+  0x5001: Battery Level
+  0xd401: Synchronization Partner
+  0xd402: Friendly Device Name
+  0xd101: Secure Time
+  0xd102: Device Certificate
+  0xd103: Revocation Info
+Playable File (Object) Types and Object Properties Supported:
+  3001: Association/Directory
+     dc44: Name STRING data type GET/SET
+     dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: Object Size UINT64 data type READ ONLY
+     dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+     dc09: Date Modified STRING data type DATETIME FORM GET/SET
+     dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+     dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+     d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+     dc9a: Album Name STRING data type GET/SET
+  3009: MP3
+     dc44: Name STRING data type GET/SET
+     dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: Object Size UINT64 data type READ ONLY
+     dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+     dc09: Date Modified STRING data type DATETIME FORM GET/SET
+     dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+     dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+     d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+     dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+     de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+     de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+     de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+     de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+     de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+     dc46: Artist STRING data type GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc9a: Album Name STRING data type GET/SET
+     dc9b: Album Artist STRING data type GET/SET
+  b901: WMA
+     dc44: Name STRING data type GET/SET
+     dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: Object Size UINT64 data type READ ONLY
+     dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+     dc09: Date Modified STRING data type DATETIME FORM GET/SET
+     dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+     dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+     d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+     dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+     de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+     de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 READ ONLY
+     de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+     de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+     de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+     dc46: Artist STRING data type GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc9a: Album Name STRING data type GET/SET
+     dc9b: Album Artist STRING data type GET/SET
+  3008: MS Wave
+     dc44: Name STRING data type GET/SET
+     dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: Object Size UINT64 data type READ ONLY
+     dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+     dc09: Date Modified STRING data type DATETIME FORM GET/SET
+     dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+     dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+     d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+     dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+     de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+     de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+     de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+     de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+     de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+     dc46: Artist STRING data type GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc9a: Album Name STRING data type GET/SET
+     dc9b: Album Artist STRING data type GET/SET
+  3801: JPEG
+     dc44: Name STRING data type GET/SET
+     dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: Object Size UINT64 data type READ ONLY
+     dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+     dc09: Date Modified STRING data type DATETIME FORM GET/SET
+     dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+     dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+     d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+     dc87: Width UINT32 data type range: MIN 1, MAX 480, STEP 1 GET/SET
+     dc88: Height UINT32 data type range: MIN 1, MAX 272, STEP 1 GET/SET
+  380b: PNG
+     dc44: Name STRING data type GET/SET
+     dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: Object Size UINT64 data type READ ONLY
+     dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+     dc09: Date Modified STRING data type DATETIME FORM GET/SET
+     dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+     dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+     d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+     dc87: Width UINT32 data type range: MIN 1, MAX 480, STEP 1 GET/SET
+     dc88: Height UINT32 data type range: MIN 1, MAX 272, STEP 1 GET/SET
+  3804: BMP
+     dc44: Name STRING data type GET/SET
+     dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: Object Size UINT64 data type READ ONLY
+     dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+     dc09: Date Modified STRING data type DATETIME FORM GET/SET
+     dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+     dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+     d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+     dc87: Width UINT32 data type range: MIN 1, MAX 480, STEP 1 GET/SET
+     dc88: Height UINT32 data type range: MIN 1, MAX 272, STEP 1 GET/SET
+  3807: GIF
+     dc44: Name STRING data type GET/SET
+     dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: Object Size UINT64 data type READ ONLY
+     dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+     dc09: Date Modified STRING data type DATETIME FORM GET/SET
+     dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+     dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+     d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+     dc87: Width UINT32 data type range: MIN 1, MAX 480, STEP 1 GET/SET
+     dc88: Height UINT32 data type range: MIN 1, MAX 272, STEP 1 GET/SET
+  3004: Text
+     dc44: Name STRING data type GET/SET
+     dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: Object Size UINT64 data type READ ONLY
+     dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+     dc09: Date Modified STRING data type DATETIME FORM GET/SET
+     dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+     dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+     d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+  300a: MS AVI
+     dc44: Name STRING data type GET/SET
+     dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: Object Size UINT64 data type READ ONLY
+     dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+     dc09: Date Modified STRING data type DATETIME FORM GET/SET
+     dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+     dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+     d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+     dc87: Width UINT32 data type range: MIN 1, MAX 480, STEP 1 GET/SET
+     dc88: Height UINT32 data type range: MIN 1, MAX 272, STEP 1 GET/SET
+     de97: Scan Depth UINT16 data type enumeration: 1,  READ ONLY
+     de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 15000, MAX 30000, STEP 1 GET/SET
+     de9b: Video Four CC Codec UINT32 data type enumeration: 0, 1195724877, 861293911,  GET/SET
+     de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+     de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 850000, STEP 1 GET/SET
+     dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+     dc8c: Genre STRING data type GET/SET
+     de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+     de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+     de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+     de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+     dea1: Encoding Profile STRING data type GET/SET
+  300d: Apple Quicktime
+     dc44: Name STRING data type GET/SET
+     dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: Object Size UINT64 data type READ ONLY
+     dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+     dc09: Date Modified STRING data type DATETIME FORM GET/SET
+     dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+     dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+     d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+  b981: WMV
+     dc44: Name STRING data type GET/SET
+     dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: Object Size UINT64 data type READ ONLY
+     dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+     dc09: Date Modified STRING data type DATETIME FORM GET/SET
+     dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+     dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+     d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+     dc87: Width UINT32 data type range: MIN 1, MAX 480, STEP 1 GET/SET
+     dc88: Height UINT32 data type range: MIN 1, MAX 272, STEP 1 GET/SET
+     de97: Scan Depth UINT16 data type enumeration: 1,  READ ONLY
+     de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 15000, MAX 30000, STEP 1 GET/SET
+     de9b: Video Four CC Codec UINT32 data type enumeration: 0, 1195724877, 861293911,  GET/SET
+     de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+     de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 850000, STEP 1 GET/SET
+     dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+     dc8c: Genre STRING data type GET/SET
+     de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+     de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1956000, STEP 1 READ ONLY
+     de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+     de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+     dea1: Encoding Profile STRING data type GET/SET
+  b903: AAC
+     dc44: Name STRING data type GET/SET
+     dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: Object Size UINT64 data type READ ONLY
+     dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+     dc09: Date Modified STRING data type DATETIME FORM GET/SET
+     dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+     dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+     d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+     dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+     de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+     de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+     de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+     de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+     de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+     dc46: Artist STRING data type GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc9a: Album Name STRING data type GET/SET
+     dc9b: Album Artist STRING data type GET/SET
+  300c: ASF
+     dc44: Name STRING data type GET/SET
+     dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: Object Size UINT64 data type READ ONLY
+     dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+     dc09: Date Modified STRING data type DATETIME FORM GET/SET
+     dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+     dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+     d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+     dc87: Width UINT32 data type range: MIN 1, MAX 480, STEP 1 GET/SET
+     dc88: Height UINT32 data type range: MIN 1, MAX 272, STEP 1 GET/SET
+     de97: Scan Depth UINT16 data type enumeration: 1,  READ ONLY
+     de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 15000, MAX 30000, STEP 1 GET/SET
+     de9b: Video Four CC Codec UINT32 data type enumeration: 0, 1195724877, 861293911,  GET/SET
+     de9e: Key Frame Distance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+     de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 850000, STEP 1 GET/SET
+     dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+     dc8c: Genre STRING data type GET/SET
+     de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+     de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+     de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+     de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+     dea1: Encoding Profile STRING data type GET/SET
+  3001: Association/Directory
+     dc44: Name STRING data type GET/SET
+     dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: Object Size UINT64 data type READ ONLY
+     dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+     dc09: Date Modified STRING data type DATETIME FORM GET/SET
+     dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+     dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+     d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+     dc9a: Album Name STRING data type GET/SET
+  ba05: Abstract Audio Video Playlist
+     dc44: Name STRING data type GET/SET
+     dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: Object Size UINT64 data type READ ONLY
+     dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+     dc09: Date Modified STRING data type DATETIME FORM GET/SET
+     dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+     dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+     d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+  3000: Undefined Type
+     dc44: Name STRING data type GET/SET
+     dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: Object Size UINT64 data type READ ONLY
+     dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+     dc09: Date Modified STRING data type DATETIME FORM GET/SET
+     dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+     dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+     d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+  b802: Firmware
+     dc44: Name STRING data type GET/SET
+     dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: Object Size UINT64 data type READ ONLY
+     dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+     dc09: Date Modified STRING data type DATETIME FORM GET/SET
+     dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+     dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+     d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+  ba03: Abstract Audio Album
+     dc44: Name STRING data type GET/SET
+     dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: Object Size UINT64 data type READ ONLY
+     dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+     dc09: Date Modified STRING data type DATETIME FORM GET/SET
+     dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+     dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+     d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+     dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+     dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+     dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+     dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+     dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+     dc9b: Album Artist STRING data type GET/SET
+     dc46: Artist STRING data type GET/SET
+     dc8c: Genre STRING data type GET/SET
+  b900: Undefined Audio
+     dc44: Name STRING data type GET/SET
+     dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: Object Size UINT64 data type READ ONLY
+     dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+     dc09: Date Modified STRING data type DATETIME FORM GET/SET
+     dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+     dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+     d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+     dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+     de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+     de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+     de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+     de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+     de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+     dc46: Artist STRING data type GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc9a: Album Name STRING data type GET/SET
+     dc9b: Album Artist STRING data type GET/SET
+Storage Devices:
+  StorageID: 0x00010001
+     StorageType: 0x0003 fixed RAM storage
+     FilesystemType: 0x0002 generic hierarchical
+     AccessCapability: 0x0000 read/write
+     MaxCapacity: 7826251776
+     FreeSpaceInBytes: 2626666496
+     FreeSpaceInObjects: 15770
+     StorageDescription: Internal Storage
+     VolumeIdentifier: 942C74A8B0A300000000000000000000
+Special directories:
+  Default music folder: 0x20000005
+  Default playlist folder: 0xffffffff
+  Default picture folder: 0x20000006
+  Default video folder: 0x20000009
+  Default organizer folder: 0xffffffff
+  Default zencast folder: 0xffffffff
+  Default album folder: 0xffffffff
+  Default text folder: 0x20000008
+MTP-specific device properties:
+  Friendly name: Q3
+  Synchronization partner: Longhorn Sync Engine
+  Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+  Folder
+  ISO MPEG-1 Audio Layer 3
+  Microsoft Windows Media Audio
+  RIFF WAVE file
+  JPEG file
+  Portable Network Graphics
+  BMP bitmap file
+  GIF bitmap file
+  Text file
+  Audio Video Interleave
+  Apple Quicktime container format
+  Microsoft Windows Media Video
+  Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+  Microsoft Advanced Systems Format
+  Folder
+  Abstract Playlist file
+  Firmware file
+  Abstract Album file
+  Undefined audio file
+  Ogg container format
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#19702215 22:22:88Z#</VALUE><FLAG>DRM_CLK_NEEDS_REFRESH</FLAG></DRMCLOCK>AG></DRMCLOCK>
+OK.
diff --git a/logs/mtp-detect-samsung-yp-r0.txt b/logs/mtp-detect-samsung-yp-r0.txt
new file mode 100644
index 0000000..a36f3e4
--- /dev/null
+++ b/logs/mtp-detect-samsung-yp-r0.txt
@@ -0,0 +1,622 @@
+Potential MTP Device with VendorID:04e8 and ProductID:5125 responded to control message 2 with a response that was too short. Problems may arrise but continuing
+Device 0 (VID=04e8 and PID=5125) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+
+libmtp version: 1.0.1
+
+
+Listing raw device(s)
+   Found 1 device(s):
+   04e8:5125 @ bus 0, dev 12
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 255
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 04e8
+   idProduct: 5125
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 12
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x04e8
+         Product: (null)
+         Vendor id: 0x5125
+         Device flags: 0x00000000
+Device info:
+   Manufacturer: Samsung
+   Model: R0
+   Device version: V1.07
+   Serial number: 462F0D5805D604220852300000ECD704
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0;microsoft.com/WMPPD: 10.0;microsoft.com/WMDRMPD: 10.3;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc95: Meta Genre UINT16 data type enumeration: 0, 1, 17, 18, 20, 21, 33, 34, 35, 36, 37, 38, 39, 40, 48,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de95: Audio Bit Depth UINT32 data type enumeration: 0, 8, 10, 12, 16, 24, 32,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 480, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 204800000, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 30000, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 859189832, 958804552, 1195724877, 861293911,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 0, MAX 16000, STEP 1 GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX -671088640, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 6000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b802: Firmware
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc95: Meta Genre UINT16 data type enumeration: 0, 1, 17, 18, 20, 21, 33, 34, 35, 36, 37, 38, 39, 40, 48,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de95: Audio Bit Depth UINT32 data type enumeration: 0, 8, 10, 12, 16, 24, 32,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc95: Meta Genre UINT16 data type enumeration: 0, 1, 17, 18, 20, 21, 33, 34, 35, 36, 37, 38, 39, 40, 48,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de95: Audio Bit Depth UINT32 data type enumeration: 0, 8, 10, 12, 16, 24, 32,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 320, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 480, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 204800000, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 30000, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 859189832, 958804552, 1195724877, 861293911,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 0, MAX 16000, STEP 1 GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX -671088640, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+   300a: MS AVI
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 480, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 204800000, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 30000, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 859189832, 958804552, 1195724877, 861293911,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 0, MAX 16000, STEP 1 GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX -671088640, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc95: Meta Genre UINT16 data type enumeration: 0, 1, 17, 18, 20, 21, 33, 34, 35, 36, 37, 38, 39, 40, 48,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de95: Audio Bit Depth UINT32 data type enumeration: 0, 8, 10, 12, 16, 24, 32,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc95: Meta Genre UINT16 data type enumeration: 0, 1, 17, 18, 20, 21, 33, 34, 35, 36, 37, 38, 39, 40, 48,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de95: Audio Bit Depth UINT32 data type enumeration: 0, 8, 10, 12, 16, 24, 32,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc95: Meta Genre UINT16 data type enumeration: 0, 1, 17, 18, 20, 21, 33, 34, 35, 36, 37, 38, 39, 40, 48,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de95: Audio Bit Depth UINT32 data type enumeration: 0, 8, 10, 12, 16, 24, 32,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 6000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 6000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 6000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 480, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 204800000, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 30000, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 859189832, 958804552, 1195724877, 861293911,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 0, MAX 16000, STEP 1 GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX -671088640, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 7946305536
+      FreeSpaceInBytes: 5802119168
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Internal Storage
+      VolumeIdentifier: 462F0D5805D604220852300000ECD704
+Special directories:
+   Default music folder: 0x00000003
+   Default playlist folder: 0x00000193
+   Default picture folder: 0x0000012b
+   Default video folder: 0x0000018a
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000199
+   Default album folder: 0x0000019e
+   Default text folder: 0x00000185
+MTP-specific device properties:
+   Friendly name: R0
+   Synchronization partner: Samsung
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Advanced Systems Format
+   JPEG file
+   Firmware file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Abstract Album file
+   Abstract Playlist file
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Audio Video Interleave
+   RIFF WAVE file
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Free Lossless Audio Codec (FLAC)
+   BMP bitmap file
+   GIF bitmap file
+   Portable Network Graphics
+   Microsoft Windows Media Video
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20090203 02:41:12Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">MTIzNDU2Nzg5MDEyMzQ1Njc4OTA=</UNIQUEID><PUBLICKEY private="1">Jz+VwNFnFrDUDVC+XDdjW/mPLIYP9MVTudfwu1cWbcFZrjsitgIsPw==</PUBLICKEY><KEYDATA>6XXpndCPeqNkIzZeumtrLuFK7U0=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>ODnl4S5o/qFUe1wP7Nkzzd/lkEyVI1nfKh9w1w4CoTaKBvCJcsw7FA==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>97DNTCQW4BSF+MY5JBq5E9A4MUU=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.105.15</SECURITYVERSION><CERTIFICATE private="1">Jz+VwNFnFrDUDVC+XDdjW/mPLIYP9MVTudfwu1cWbcFZrjsitgIsPwIEaQ+TINEcn0xiD4DoKEEhES2G8dFfeYFRcl1c+eehO4HrKkn2wwEfDI05</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><FEATURES><CLOCK>2</CLOCK><SECURECLOCK><URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL><PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY></SECURECLOCK><METERING>1</METERING><LICENSE_ACQ>1</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>1</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT></FEATURES><LIMITS><MAXCHAINDEPTH>2</MAXCHAINDEPTH><MAXLICENSESIZE>10240</MAXLICENSESIZE><MAXHEADERSIZE>5120</MAXHEADERSIZE></LIMITS><PUBLICKEY>E8w0ujcvj9/PvgR5wH7qnmJ+ayw5Va97nGWq6tlZK/H6wASCvK5qgQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>C5tRRT2sUN5tvjkCPGUkyNkVpgQks5svZn1M6mi4Q09iIceEOkVMMg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1139</AUTH_ID><PUBLICKEY>+etanHDKVWpDHUNpwbhHNc6v7F+uUIjNL2eXRuV+rNX6M0Wag++uQg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>/kEvwFp8ZZYs1XWmEbsEuVIT2Qn+/685LI1g33fBlL1rK8Mt1pbIIA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>Det7NJ7u813uPm1Anr3inWDYwyr2gFwDcEJjzrlGs98GqMgHzdkUfA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+
+WMPInfo.xml file contents:
+<DeviceInfo>

+    <WMP DeviceID="{30EBC027-331B-4197-8829-5488BACBA019}" RelationshipID="{737EC4E3-455F-4D0D-AF87-C218E139AEDB}"/>

+</DeviceInfo>

+
+OK.
diff --git a/logs/mtp-detect-samsung-yp-s3.txt b/logs/mtp-detect-samsung-yp-s3.txt
new file mode 100644
index 0000000..a9d50cc
--- /dev/null
+++ b/logs/mtp-detect-samsung-yp-s3.txt
@@ -0,0 +1,405 @@
+libmtp version: 0.2.6.1
+
+Attempting to connect device(s)
+Device 1 (VID=04e8 and PID=5091) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+PTP: Opening session
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 04e8
+   idProduct: 5091
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: 0400                                   	..
+Microsoft device response to control message 1, CMD 0x04:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000 0403 0904 3a03 5300	............:.S.
+	0030: 6100 6d00 7300 7500 6e00 6700 2000 4500	a.m.s.u.n.g. .E.
+	0040: 6c00 6500 6300 7400 7200 6f00 6e00 6900	l.e.c.t.r.o.n.i.
+	0050: 6300 7300 2000 4300 6f00 2e00 2c00 4c00	c.s. .C.o...,.L.
+	0060: 7400 6400 2e00 0803 5300 3300 0000 2203	t.d.....S.3...".
+	0070: 3000 3700 6400 6600 3800 6100 6600 3400	0.7.d.f.8.a.f.4.
+	0080: 3000 3000 3000 3000 3000 3000 6600 6400	0.0.0.0.0.0.f.d.
+	0090: 0008 73f7 1b08 73f7 1f08 73f7 5908 73f7	..s...s...s.Y.s.
+	00a0: 6100 0000 0000 0000 0200 0000 0022 0100	a............"..
+	00b0: 0022 0200 0000 0000 0000 0000 8000 0000	."..............
+	00c0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	00d0: 0000 0000 0000 0000 0100 0002 0000 781f	..............x.
+	00e0: bf00 781f be00 0000 0008 0e25 ac08 0e2b	..x........%...+
+	00f0: 7008 0e2e 7c08 0e30 1808 0e32 ac08 0e35	p...|..0...2...5
+	0100: 0c08 0e35 a408 0e36 7808 0e37 8c08 0e39	...5...6x..7...9
+	0110: 1c08 0e3a 9c00 0000 0000 0000 0000 0000	...:............
+	0120: 0000 0000 0000 0000 0022 0100 0022 0200	........."..."..
+	0130: 00ff ffff ffff ffff ff00 0000 040b ec00	................
+	0140: 000b ec00 0005 f600 0005 f600 0002 fb00	................
+	0150: 0000 2462 0300 11f9 0300 1ad2 0300 2462	..$b..........$b
+	0160: 0200 24f9 0300 0cd2 0100 2462 0100 2172	..$.......$b..!r
+	0170: 0100 11f9 0100 2195 0100 1ad2 0100 2c8a	......!.......,.
+	0180: 0100 26af 0100 3c78 0100 2eaa 0100 24f9	..&...<x......$.
+	0190: 0100 24f9 0100 37ae 0100 2edd 0100 36c7	..$...7.......6.
+	01a0: 0100 36d2 0100 3677 0000 0009 9900 000b	..6...6w........
+	01b0: f600 000e f300 0013 b500 0016 b100 001d	................
+	01c0: e600 0027 3b00 0029 9f00 002f d800 0035	...';..).../...5
+	01d0: d200 003b ce00 0041 c800 0047 8600 004d	...;...A...G...M
+	01e0: be00 0053 7c00 0057 6400 005a c400 0060	...S|..Wd..Z...`
+	01f0: 3500 0066 1c00 006b 8e00 0071 7500 007d	5..f...k...qu..}
+	0200: fe00 0009 da00 000b f600 000e f300 0013	................
+	0210: b500 0017 4e00 001d e600 0027 3b00 0029	....N......';..)
+	0220: 9f00 002f d800 0035 d200 003b ce00 0041	.../...5...;...A
+	0230: c800 0047 8600 004d be00 0053 7c00 0059	...G...M...S|..Y
+	0240: b400 005f b000 0065 6d00 0066 1c00 006b	..._...em..f...k
+	0250: 8e00 0071 7500 007d fe00 0009 da00 000b	...qu..}........
+	0260: f600 000e f300 0013 b500 0017 ec00 001e	................
+	0270: f900 0028 a300 0029 9f00 002f d800 0035	...(...).../...5
+	0280: d200 003b ce00 0041 c800 0047 8600 004d	...;...A...G...M
+	0290: be00 0053 7c00 0059 b400 005f b000 0065	...S|..Y..._...e
+	02a0: 6d00 006b a600 0071 6300 0077 9c00 0084	m..k...qc..w....
+	02b0: 1000 0009 da00 000b f600 000e f300 0013	................
+	02c0: b500 0016 b100 001d e600 0027 3b00 0029	...........';..)
+	02d0: 9f00 002f d800 0035 d200 003b ce00 0041	.../...5...;...A
+	02e0: c800 0047 8600 004d be00 0053 7c00 0059	...G...M...S|..Y
+	02f0: b400 005f b000 0062 cf00 0066 1c00 006b	..._...b...f...k
+	0300: 8e00 0071 7500 007d fe00 000a dc00 000c	...qu..}........
+	0310: 9400 000e f300 0015 b800 0017 ec00 0022	..............."
+	0320: 6400 002b 3a00 002d dd00 0033 b600 0038	d..+:..-...3...8
+	0330: 9900 003e e400 0045 2d00 004a 1800 004d	...>...E-..J...M
+	0340: be00 0056 7c00 0059 b400 0063 2000 0069	...V|..Y...c ..i
+	0350: 1200 006f 8400 0075 7600 007b e800 008b	...o...uv..{....
+	0360: 3900 0009 da00 000b f600 000e f300 0013	9...............
+	0370: b500 0016 b100 001e f900 0029 4100 002b	...........)A..+
+	0380: 1e00 0031 9000 0037 c100 003b ce00 0041	...1...7...;...A
+	0390: c800 0047 8600 004d be00 0053 7c00 0057	...G...M...S|..W
+	03a0: 6400 005a c400 0060 3500 0066 1c00 006b	d..Z...`5..f...k
+	03b0: 8e00 0071 7500 007d fe00 0009 da00 000b	...qu..}........
+	03c0: f600 000e f300 0013 b500 0017 ec00 001e	................
+	03d0: f900 0029 4100 002b c500 0031 9000 0037	...)A..+...1...7
+	03e0: c100 003d f400 0044 2500 0047 8600 004d	...=...D%..G...M
+	03f0: be00 0053 7c00 0059 b400 005f b000 0065	...S|..Y..._...e
+Microsoft device response to control message 2, CMD 0x04:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000 0403 0904 3a03 5300	............:.S.
+	0030: 6100 6d00 7300 7500 6e00 6700 2000 4500	a.m.s.u.n.g. .E.
+	0040: 6c00 6500 6300 7400 7200 6f00 6e00 6900	l.e.c.t.r.o.n.i.
+	0050: 6300 7300 2000 4300 6f00 2e00 2c00 4c00	c.s. .C.o...,.L.
+	0060: 7400 6400 2e00 0803 5300 3300 0000 2203	t.d.....S.3...".
+	0070: 3000 3700 6400 6600 3800 6100 6600 3400	0.7.d.f.8.a.f.4.
+	0080: 3000 3000 3000 3000 3000 3000 6600 6400	0.0.0.0.0.0.f.d.
+	0090: 0008 73f7 1b08 73f7 1f08 73f7 5908 73f7	..s...s...s.Y.s.
+	00a0: 6100 0000 0000 0000 0200 0000 0022 0100	a............"..
+	00b0: 0022 0200 0000 0000 0000 0000 8000 0000	."..............
+	00c0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	00d0: 0000 0000 0000 0000 0100 0002 0000 781f	..............x.
+	00e0: bf00 781f be00 0000 0008 0e25 ac08 0e2b	..x........%...+
+	00f0: 7008 0e2e 7c08 0e30 1808 0e32 ac08 0e35	p...|..0...2...5
+	0100: 0c08 0e35 a408 0e36 7808 0e37 8c08 0e39	...5...6x..7...9
+	0110: 1c08 0e3a 9c00 0000 0000 0000 0000 0000	...:............
+	0120: 0000 0000 0000 0000 0022 0100 0022 0200	........."..."..
+	0130: 00ff ffff ffff ffff ff00 0000 040b ec00	................
+	0140: 000b ec00 0005 f600 0005 f600 0002 fb00	................
+	0150: 0000 2462 0300 11f9 0300 1ad2 0300 2462	..$b..........$b
+	0160: 0200 24f9 0300 0cd2 0100 2462 0100 2172	..$.......$b..!r
+	0170: 0100 11f9 0100 2195 0100 1ad2 0100 2c8a	......!.......,.
+	0180: 0100 26af 0100 3c78 0100 2eaa 0100 24f9	..&...<x......$.
+	0190: 0100 24f9 0100 37ae 0100 2edd 0100 36c7	..$...7.......6.
+	01a0: 0100 36d2 0100 3677 0000 0009 9900 000b	..6...6w........
+	01b0: f600 000e f300 0013 b500 0016 b100 001d	................
+	01c0: e600 0027 3b00 0029 9f00 002f d800 0035	...';..).../...5
+	01d0: d200 003b ce00 0041 c800 0047 8600 004d	...;...A...G...M
+	01e0: be00 0053 7c00 0057 6400 005a c400 0060	...S|..Wd..Z...`
+	01f0: 3500 0066 1c00 006b 8e00 0071 7500 007d	5..f...k...qu..}
+	0200: fe00 0009 da00 000b f600 000e f300 0013	................
+	0210: b500 0017 4e00 001d e600 0027 3b00 0029	....N......';..)
+	0220: 9f00 002f d800 0035 d200 003b ce00 0041	.../...5...;...A
+	0230: c800 0047 8600 004d be00 0053 7c00 0059	...G...M...S|..Y
+	0240: b400 005f b000 0065 6d00 0066 1c00 006b	..._...em..f...k
+	0250: 8e00 0071 7500 007d fe00 0009 da00 000b	...qu..}........
+	0260: f600 000e f300 0013 b500 0017 ec00 001e	................
+	0270: f900 0028 a300 0029 9f00 002f d800 0035	...(...).../...5
+	0280: d200 003b ce00 0041 c800 0047 8600 004d	...;...A...G...M
+	0290: be00 0053 7c00 0059 b400 005f b000 0065	...S|..Y..._...e
+	02a0: 6d00 006b a600 0071 6300 0077 9c00 0084	m..k...qc..w....
+	02b0: 1000 0009 da00 000b f600 000e f300 0013	................
+	02c0: b500 0016 b100 001d e600 0027 3b00 0029	...........';..)
+	02d0: 9f00 002f d800 0035 d200 003b ce00 0041	.../...5...;...A
+	02e0: c800 0047 8600 004d be00 0053 7c00 0059	...G...M...S|..Y
+	02f0: b400 005f b000 0062 cf00 0066 1c00 006b	..._...b...f...k
+	0300: 8e00 0071 7500 007d fe00 000a dc00 000c	...qu..}........
+	0310: 9400 000e f300 0015 b800 0017 ec00 0022	..............."
+	0320: 6400 002b 3a00 002d dd00 0033 b600 0038	d..+:..-...3...8
+	0330: 9900 003e e400 0045 2d00 004a 1800 004d	...>...E-..J...M
+	0340: be00 0056 7c00 0059 b400 0063 2000 0069	...V|..Y...c ..i
+	0350: 1200 006f 8400 0075 7600 007b e800 008b	...o...uv..{....
+	0360: 3900 0009 da00 000b f600 000e f300 0013	9...............
+	0370: b500 0016 b100 001e f900 0029 4100 002b	...........)A..+
+	0380: 1e00 0031 9000 0037 c100 003b ce00 0041	...1...7...;...A
+	0390: c800 0047 8600 004d be00 0053 7c00 0057	...G...M...S|..W
+	03a0: 6400 005a c400 0060 3500 0066 1c00 006b	d..Z...`5..f...k
+	03b0: 8e00 0071 7500 007d fe00 0009 da00 000b	...qu..}........
+	03c0: f600 000e f300 0013 b500 0017 ec00 001e	................
+	03d0: f900 0029 4100 002b c500 0031 9000 0037	...)A..+...1...7
+	03e0: c100 003d f400 0044 2500 0047 8600 004d	...=...D%..G...M
+	03f0: be00 0053 7c00 0059 b400 005f b000 0065	...S|..Y..._...e
+Device info:
+   Manufacturer: Samsung Electronics Co.,Ltd.
+   Model: S3
+   Device version: V1.01
+   Serial number: 07DF8AF4000000FD
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMPPD: 10.0; microsoft.com/WMDRMPD: 10.1microsoft.com/WMPPD: 11.,; 
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   101b: Get partial object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1011: Self test device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9810: Get object references
+   9811: Set object references
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   9201: Report Added/Deleted Items
+Events supported:
+   None.
+Device Properties Supported:
+   0xd402: Friendly Device Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd401: Synchronization Partner
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   3008: MS Wave
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5120, MAX 327680, STEP 1 GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 1, 2,  GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8192, MAX 49152, STEP 1 GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5120, MAX 327680, STEP 1 GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8192, MAX 49152, STEP 1 GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+   300c: ASF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5120, MAX 327680, STEP 1 GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 353,  GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8192, MAX 49152, STEP 1 GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+   3801: JPEG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 1920, STEP 1 GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 3072, STEP 1 GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5120, MAX 327680, STEP 1 GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 353, 355,  GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8192, MAX 49152, STEP 1 GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   ba03: Abstract Audio Album
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5120, MAX 327680, STEP 1 GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0,  GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8192, MAX 49152, STEP 1 GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type enumeration: 0, 1,  GET/SET
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  GET/SET
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 3957993472
+      FreeSpaceInBytes: 3911229440
+      FreeSpaceInObjects: 5967
+      StorageDescription: S3
+      VolumeIdentifier: 07df8af4000000fd
+Special directories:
+   Default music folder: 0x00008007
+   Default playlist folder: 0x00008001
+   Default picture folder: 0x00008008
+   Default video folder: 0x00008009
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00008005
+   Default album folder: 0x0000800a
+   Default text folder: 0x00008006
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: 
+libmtp supported (playable) filetypes:
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Advanced Systems Format
+   JPEG file
+   Microsoft Windows Media Audio
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20000201 08:53:21Z#</VALUE><FLAG>DRM_CLK_NEEDS_REFRESH</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">CgoKCgoKCgoKCgoKCgoKCgoKCgo=</UNIQUEID><PUBLICKEY private="1">DaMLNXgOJaE7JL6z9qHFYg6nJX4pnIRK/gwlQf1r5RwT142jPgwNIA==</PUBLICKEY><KEYDATA>E64t01R7LRaceo6Clbv21QkKBqQ=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>aXDDaQ3MdAZd/eTMxUCvdv57hoZzWioFgtDlnZL7Rwwrjga3J5YgGw==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>3/p7bm126YT7MPCkdUEj29V9utc=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.105.105</SECURITYVERSION><CERTIFICATE private="1">DaMLNXgOJaE7JL6z9qHFYg6nJX4pnIRK/gwlQf1r5RwT142jPgwNIAIEaWkRWSHSx9NBkP07jg9pYGgBroBlblzkaycTo0CqCCq0nWailL0I4Lga</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><FEATURES><CLOCK>2</CLOCK><SECURECLOCK><URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL><PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY></SECURECLOCK><METERING>1</METERING><LICENSE_ACQ>1</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>1</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT></FEATURES><LIMITS><MAXCHAINDEPTH>2</MAXCHAINDEPTH><MAXLICENSESIZE>10240</MAXLICENSESIZE><MAXHEADERSIZE>5120</MAXHEADERSIZE></LIMITS><PUBLICKEY>2hOkxOCK1QPe10JHYvfVUjYjLBMzXCftotZMbbB+VhO0gpWYnFSNJA==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>zVgOV3F4q2xlvMfFBZtW/YaNhE/9IBGpQpxDJG4cljg81O1sxP/KhA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1229</AUTH_ID><PUBLICKEY>8l60FgPW1vHhfaAFYkoYXMMHTFZCfCf98BXPcKJLbBjofB1fy8Bcbw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>LpLd030TMk4F6v2kAjf3LecPk0UOgCjPmQrGsKUfmyRBTRujDP3/LQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>YoS6xu8BvaENyvqIISjhFbO5wmakFMYg2/C8ALN0uuXvYRVe3JJZYw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+WMPInfo.xml Does not exist on this device
+PTP: Closing session
+OK.
diff --git a/logs/mtp-detect-samsung-yp-t10.txt b/logs/mtp-detect-samsung-yp-t10.txt
new file mode 100644
index 0000000..9aef327
--- /dev/null
+++ b/logs/mtp-detect-samsung-yp-t10.txt
@@ -0,0 +1,414 @@
+libmtp version: 0.2.3
+
+Attempting to connect device(s)
+PTP: Opening session
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 04e8
+   idProduct: 508a
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+        0000: 1203 4d00 5300 4600 5400 3100 3000 3000   ..M.S.F.T.1.0.0.
+        0010: 0100                                      ..
+Device info:
+   Manufacturer: SAMSUNG
+   Model: T10
+   Device version: 1.19
+   Serial number: 89C70D3D0014885566FBCFE4F0028F16
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/WMPPD: 11.0;microsoft.com/WMDRMPD: 10.1;microsoft.com/WMPPD: 10.0;microsoft.com/AAVT: 1.0;microsoft.com/WMDRMND: 1.0;audible.com: 1.0;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   101b: Get partial object
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9170: Open Media Session
+   9171: Close Media Session
+   9172: Get Next Data Block
+   9173: Set Current Time Position
+   9180: Send Registration Request
+   9181: Get Registration Response
+   9182: Get Proximity Challenge
+   9183: Send Proximity Response
+   9184: Send WMDRM-ND License Request
+   9185: Get WMDRM-ND License Response
+Events supported:
+   0x4004
+   0x4005
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd103: Revocation Info
+Playable File (Object) Types and Object Properties Supported:
+   3001: Association/Directory
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+   3009: MP3
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc42: SyncID STRING data type GET/SET
+   b901: WMA
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc42: SyncID STRING data type GET/SET
+   3801: JPEG
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 640, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 640, STEP 1 GET/SET
+   b981: WMV
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 320, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 240, STEP 1 GET/SET
+      de97: ScanDepth UINT16 data type enumeration: 1,  READ ONLY
+      de9d: FramesPerThousandSeconds UINT32 data type enumeration: 0, 20000, 25000, 29970, 30000,  GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 1, MAX 850000, STEP 1 GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+      dc42: SyncID STRING data type GET/SET
+   b903: AAC
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc42: SyncID STRING data type GET/SET
+   300c: ASF
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 320, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 240, STEP 1 GET/SET
+      de97: ScanDepth UINT16 data type enumeration: 1,  READ ONLY
+      de9d: FramesPerThousandSeconds UINT32 data type enumeration: 0, 20000, 25000, 29970, 30000,  GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911,  GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 1, MAX 850000, STEP 1 GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+      dc42: SyncID STRING data type GET/SET
+   3001: Association/Directory
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3000: Undefined Type
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b802: Firmware
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   ba03: Abstract Audio Album
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+Unknown OPFF type 6
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 3967680512
+      FreeSpaceInBytes: 3799252992
+      FreeSpaceInObjects: 11936
+      StorageDescription: Internal Storage
+      VolumeIdentifier: 89C70D3D0014885566FBCFE4F0028F16
+Special directories:
+   Default music folder: 0x20000004
+   Default playlist folder: 0x20000003
+   Default picture folder: 0x20000006
+   Default video folder: 0x20000005
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: T10
+   Synchronization partner: Longhorn Sync Engine
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   JPEG file
+   Microsoft Windows Media Video
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Microsoft Advanced Systems Format
+   Firmware file
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20070129
+13:42:57Z#</VALUE><FLAG>DRM_CLK_NEEDS_REFRESH</FLAG></DRMCLOCK>AG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID
+private="1">iccNPQAUiFVm+8/k8AKPFgAAAAA=</UNIQUEID><PUBLICKEY
+private="1">Bs+Dz0+of5Uda27sTtZ8b1Ie7G8v0lMcZI4D7JLkQH9Va3WLjSLnWQ==</PUBLICKEY><KEYDATA>2fxVLUrOy3RUmecmMl84PdAytEs=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>zRC2in8a58t0lpu9kZptTVwE9Ce1UWT2lB4QZu+fwFJLxYUMPJCWFw==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>nh8OOdOJpDE5sh6uWvUM2tF/hSA=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.108.81</SECURITYVERSION><CERTIFICATE
+private="1">Bs+Dz0+of5Uda27sTtZ8b1Ie7G8v0lMcZI4D7JLkQH9Va3WLjSLnWQIEbFE+t8pvUU+VKgnnS7KQEDHqyntIPPPoxjsV3whmZFAG8klBkjaLyK9t</CERTIFICATE></FALLBACK><CERTIFICATE
+type="GROUP"><DATA><NAME>YP-T10</NAME><MANUFACTURER>Samsung</MANUFACTURER><MAKE>Samsung</MAKE><DISTRIBUTOR>WorldWideImporters</DISTRIBUTOR><MODEL>YP-T10</MODEL><SECURITYLEVEL>2000</SECURITYLEVEL><HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR><HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR><FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR><FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR><FEATURES><CLOCK>2</CLOCK><SECURECLOCK><URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL><PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY></SECURECLOCK><METERING>1</METERING><LICENSE_ACQ>0</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>0</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT></FEATURES><LIMITS><MAXCHAINDEPTH>2</MAXCHAINDEPTH><MAXLICENSESIZE>10240</MAXLICENSESIZE><MAXHEADERSIZE>5120</MAXHEADERSIZE></LIMITS><PUBLICKEY>vRW/PPkzAfSzYbHv8LiL7SlduCMIW81dE7wFRuHHwZRIpgo8I6RGWg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>+leZFfHTUpPiJuxKrZY2NGc/E1NDZTaCFl84wvYcHSHdyMBbTL0AJw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1973</AUTH_ID><PUBLICKEY>LA99x43GKtSfbrir3YWgsHH/Ih/txGBoe5E8LV4KVNb9uQABohtMDw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>rId2DudMrmY+yzso2pVn0lNzYIHUpiH/CJBb+TvgT7FOGD7omELtGw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>SmPt0XQ5U8r9y+GecoWQ/zMpF2YxJ/6kRzS3tQKbVjUY2kJGVpqoJg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+WMPInfo.xml Does not exist on this device
+PTP: Closing session
+inep: usb_get_endpoint_status(): Connection timed out
+outep: usb_get_endpoint_status(): Connection timed out
+usb_clear_halt() on IN endpoint: Connection timed out
+usb_clear_halt() on OUT endpoint: Connection timed out
+usb_clear_halt() on INTERRUPT endpoint: Connection timed out
+OK.
diff --git a/logs/mtp-detect-samsung-yp-t9.txt b/logs/mtp-detect-samsung-yp-t9.txt
new file mode 100644
index 0000000..856ba01
--- /dev/null
+++ b/logs/mtp-detect-samsung-yp-t9.txt
@@ -0,0 +1,185 @@
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 272
+   bDeviceClass: 255
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 04e8
+   idProduct: 507f
+   IN endpoint maxpacket: 64 bytes
+   OUT endpoint maxpacket: 64 bytes
+   Device flags: 0x00000000
+Device info:
+   Manufacturer: Samsung Electronics Co.,Ltd.
+   Model: Samsung YP-T9
+   Device version: V1.00
+   Serial number: 7A9FE484000000E9
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMPPD: 10.0; microsoft.com/WMDRMPD: 10.1microsoft.com/WMPPD: 11.,; 
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1010: Reset device
+   1011: Self test device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9805: Get object property list
+   9806: Set object property list
+   9810: Get object references
+   9811: Set object references
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Unknown(910a)
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd402: Device Friendly Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0x5011: Date Time
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc41: PersistantUniqueObjectIdentifier
+      dc0b: ParentObject
+      dc4f: NonConsumable
+      dc44: Name
+   3001: Association/Directory
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc41: PersistantUniqueObjectIdentifier
+      dc0b: ParentObject
+      dc4f: NonConsumable
+      dc44: Name
+   3009: MP3
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc41: PersistantUniqueObjectIdentifier
+      dc0b: ParentObject
+      dc4f: NonConsumable
+      dc44: Name
+      dc46: Artist
+      dc8b: Track
+      dc8c: Genre
+      dc9a: AlbumName
+      de9a: AudioBitRate
+      dc03: ProtectionStatus
+      de99: AudioWAVECodec
+      de93: SampleRate
+      de94: NumberOfChannels
+      dc8a: Rating
+      dc89: Duration
+   b901: WMA
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc41: PersistantUniqueObjectIdentifier
+      dc0b: ParentObject
+      dc4f: NonConsumable
+      dc44: Name
+      dc46: Artist
+      dc8b: Track
+      dc8c: Genre
+      dc9a: AlbumName
+      de9a: AudioBitRate
+      dc03: ProtectionStatus
+      de99: AudioWAVECodec
+      de93: SampleRate
+      de94: NumberOfChannels
+      dc8a: Rating
+      dc89: Duration
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc41: PersistantUniqueObjectIdentifier
+      dc0b: ParentObject
+      dc4f: NonConsumable
+      dc44: Name
+   3801: JPEG
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc41: PersistantUniqueObjectIdentifier
+      dc0b: ParentObject
+      dc4f: NonConsumable
+      dc44: Name
+Special directories:
+   Default music folder: 0x00008001
+   Default playlist folder: 0x00008002
+   Default picture folder: 0x00008004
+   Default video folder: 0x00008005
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Total bytes on device: 3920896000 (3739 MB)
+   Free bytes on device: 3886161920 (3706 MB)
+   Storage description: "Samsung YP-T9 Storage"
+   Volume label: "7a9fe484000000e9"
+   Battery level 60 of 100 (60%)
+libmtp supported (playable) filetypes:
+   ISO MPEG Audio Layer 3
+   Microsoft Windows Media Audio
+   JPEG file
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20060911 18:51:22Z#</VALUE><FLAG>DRM_CLK_NEEDS_REFRESH</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID
+private="1">CgoKCgoKCgoKCgoKCgoKCgoKCgo=</UNIQUEID><PUBLICKEY
+private="1">LUYvz+oPOBIR2OM+rmiV1NesxAtS1GbXrGJ5KTSSYSKLWDteKvKqNg==</PUBLICKEY><KEYDATA>SRD81CpKpIt0FzG
+wiZmXBlgFjN8=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>jYvAh4EEtIpFJczOcPYMiheliQeHZFketgWLUNlIhd3woaJ5eY6
+XBA==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>nZrrzPrtSob0+7BSXjdTlRBUJwU=</SYMSIGNATURE></CERTIFICATE><FAL
+LBACK><SECURITYVERSION>2.4.105.105</SECURITYVERSION><CERTIFICATE
+private="1">LUYvz+oPOBIR2OM+rmiV1NesxAtS1GbXrGJ5KTSSYSKLWDteKvKqNgIEaWklJ12Ln+6CxMFLhl0lqNrdE+GcY/Jjyj1W
+LNQ1cl236PXPnGhBweRO</CERTIFICATE></FALLBACK><CERTIFICATE
+type="GROUP"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><FEATURES><CLOCK>2</CLOCK><SECURECLOCK><URL>http:/
+/go.microsoft.com/fwlink/?LinkId=25817</URL><PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*
+ikYGA==</PUBLICKEY></SECURECLOCK><METERING>1</METERING><LICENSE_ACQ>1</LICENSE_ACQ><LICENSE_SYNC>1</LICE
+NSE_SYNC><ENCRYPTION>1</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT></FEATURES><LIMITS><MAXCHAINDEPTH>2</
+MAXCHAINDEPTH><MAXLICENSESIZE>10240</MAXLICENSESIZE><MAXHEADERSIZE>5120</MAXHEADERSIZE></LIMITS><PUBLICK
+EY>2hOkxOCK1QPe10JHYvfVUjYjLBMzXCftotZMbbB+VhO0gpWYnFSNJA==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>zVg
+OV3F4q2xlvMfFBZtW/YaNhE/9IBGpQpxDJG4cljg81O1sxP/KhA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1229</AUTH_ID><PUBLICKEY>8l60FgPW
+1vHhfaAFYkoYXMMHTFZCfCf98BXPcKJLbBjofB1fy8Bcbw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>LpLd030TMk4F6v
+2kAjf3LecPk0UOgCjPmQrGsKUfmyRBTRujDP3/LQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zi
+zKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>YoS6xu8BvaENyvqIISjhFbO5wmakFMYg2/C8ALN0uuXvYRV
+e3JJZYw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
diff --git a/logs/mtp-detect-samsung-yp-u3.txt b/logs/mtp-detect-samsung-yp-u3.txt
new file mode 100644
index 0000000..a2f1304
--- /dev/null
+++ b/logs/mtp-detect-samsung-yp-u3.txt
@@ -0,0 +1,402 @@
+libmtp version: 0.2.4
+
+Attempting to connect device(s)
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 04e8
+   idProduct: 507d
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: 0400                                   	..
+Microsoft device response to control message 1, CMD 0x04:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000 0001 0000 0000 0000	................
+	0030: 0000 0000 0000 0000 0000 00aa aaaa aaaa	................
+	0040: aaaa aaee eeee eeee eeee eefe ffff ffff	................
+	0050: ffff ffff ffff ff7f bfdf eff7 fbfd fc7e	...............~
+	0060: bfdf eff7 fbfd 7e00 0a06 0002 0000 0040	......~........@
+	0070: 0100 0008 7106 0008 7118 0018 331e 001a	....q...q...3...
+	0080: c268 001a a66e 001a a66c c004 0000 0400	.h...n...l......
+	0090: 0004 0000 0000 0004 0040 0008 71a2 0000	.........@..q...
+	00a0: 0008 0000 0000 0008 7118 0000 00c0 0000	........q.......
+	00b0: 0340 0000 8001 0200 0000 0000 0000 0000	.@..............
+	00c0: 0000 0000 0024 0200 0000 000c 0000 0000	.....$..........
+	00d0: 0000 0001 0200 0024 0000 0000 0020 0000	.......$..... ..
+	00e0: 01e0 0000 0000 0000 0000 0000 0000 0000	................
+	00f0: 8000 0040 0000 0000 0000 0000 0000 0000	...@............
+	0100: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0110: 0040 0000 0000 0000 0000 0000 0000 0000	.@..............
+	0120: 0000 0000 0000 0000 0000 0000 0000 0008	................
+	0130: 707d 0008 70a1 0008 70e8 0501 0400 0008	p}..p...p.......
+	0140: 70aa 0000 0000 0000 0000 0000 0000 0000	p...............
+	0150: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0160: 0000 0008 70b3 0000 0000 0008 70ba 0000	....p.......p...
+	0170: 0000 0008 70c1 0000 0000 0000 0000 0000	....p...........
+	0180: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0190: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	01a0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	01b0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	01c0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	01d0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	01e0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	01f0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0200: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0210: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0220: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0230: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0240: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0250: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0260: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0270: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0280: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0290: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	02a0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	02b0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	02c0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	02d0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	02e0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	02f0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0300: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0310: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0320: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0330: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0340: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0350: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0360: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0370: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0380: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0390: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	03a0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	03b0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	03c0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	03d0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	03e0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	03f0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+Microsoft device response to control message 2, CMD 0x04:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000 0001 0000 0000 0000	................
+	0030: 0000 0000 0000 0000 0000 00aa aaaa aaaa	................
+	0040: aaaa aaee eeee eeee eeee eefe ffff ffff	................
+	0050: ffff ffff ffff ff7f bfdf eff7 fbfd fc7e	...............~
+	0060: bfdf eff7 fbfd 7e00 0a06 0002 0000 0040	......~........@
+	0070: 0100 0008 7106 0008 7118 0018 331e 001a	....q...q...3...
+	0080: c268 001a a66e 001a a66c c004 0000 0500	.h...n...l......
+	0090: 0004 0000 0000 0004 0040 0008 71a2 0000	.........@..q...
+	00a0: 0008 0000 0000 0008 7118 0000 00c0 0000	........q.......
+	00b0: 0340 0000 8001 0200 0000 0000 0000 0000	.@..............
+	00c0: 0000 0000 0024 0200 0000 000c 0000 0000	.....$..........
+	00d0: 0000 0001 0200 0024 0000 0000 0020 0000	.......$..... ..
+	00e0: 01e0 0000 0000 0000 0000 0000 0000 0000	................
+	00f0: 8000 0040 0000 0000 0000 0000 0000 0000	...@............
+	0100: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0110: 0040 0000 0000 0000 0000 0000 0000 0000	.@..............
+	0120: 0000 0000 0000 0000 0000 0000 0000 0008	................
+	0130: 707d 0008 70a1 0008 70e8 0501 0400 0008	p}..p...p.......
+	0140: 70aa 0000 0000 0000 0000 0000 0000 0000	p...............
+	0150: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0160: 0000 0008 70b3 0000 0000 0008 70ba 0000	....p.......p...
+	0170: 0000 0008 70c1 0000 0000 0000 0000 0000	....p...........
+	0180: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0190: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	01a0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	01b0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	01c0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	01d0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	01e0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	01f0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0200: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0210: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0220: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0230: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0240: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0250: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0260: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0270: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0280: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0290: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	02a0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	02b0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	02c0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	02d0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	02e0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	02f0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0300: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0310: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0320: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0330: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0340: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0350: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0360: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0370: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0380: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0390: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	03a0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	03b0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	03c0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	03d0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	03e0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	03f0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+Device info:
+   Manufacturer: Samsung Electronics
+   Model: Samsung YP-U3
+   Device version: VER 1.10 US
+   Serial number: 20FAFB6C9EF00000
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/WMDRMPD: 10.1
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   101b: Get partial object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1011: Self test device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9810: Get object references
+   9811: Set object references
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   9201: Report Added/Deleted Items
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd402: Friendly Device Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd401: Synchronization Partner
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5120, MAX 327680, STEP 1 GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8192, MAX 49152, STEP 1 GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+   300c: ASF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5120, MAX 327680, STEP 1 GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 353,  GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8192, MAX 49152, STEP 1 GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+   3801: JPEG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 1024, STEP 1 GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 1280, STEP 1 GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5120, MAX 327680, STEP 1 GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 353,  GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8192, MAX 49152, STEP 1 GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   b902: OGG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5120, MAX 327680, STEP 1 GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0,  GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8192, MAX 49152, STEP 1 GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+   ba03: Abstract Audio Album
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5120, MAX 327680, STEP 1 GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0,  GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8192, MAX 49152, STEP 1 GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 1986576384
+      FreeSpaceInBytes: 568082432
+      FreeSpaceInObjects: 5813
+      StorageDescription: Samsung Flash Media
+      VolumeIdentifier: KPACMGLPAPOJ
+Special directories:
+   Default music folder: 0x00008003
+   Default playlist folder: 0x00008004
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: ?????
+   Synchronization partner: ?????
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Advanced Systems Format
+   JPEG file
+   Microsoft Windows Media Audio
+   Ogg container format
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#19000101 01:00:16Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">CgoKCgoKCgoKCgoKCgoKCgoKCgo=</UNIQUEID><PUBLICKEY private="1">19CTj85m2JlyrawQcI4rgRoghxvVmWI7u50AUMo3k80IPMLV/LPLcw==</PUBLICKEY><KEYDATA>UiGqaGgE2/Vci00g5eZBm9tqxos=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>P+RmbriP1flucJygnR2y+dWlQyaLLwIJOlXrwSicEkS6jyywBbmKRA==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>mCuT02/rwggW5ytgAirLC+GtN7A=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.106.167</SECURITYVERSION><CERTIFICATE private="1">19CTj85m2JlyrawQcI4rgRoghxvVmWI7u50AUMo3k80IPMLV/LPLcwIEaqfEUr9CS1XZyNx4fDleDofI1QaxAzW52QezVedopjw1VQ4lmzqMNZxk</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><FEATURES><CLOCK>2</CLOCK><SECURECLOCK><URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL><PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY></SECURECLOCK><METERING>1</METERING><LICENSE_ACQ>0</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>0</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT></FEATURES><LIMITS><MAXCHAINDEPTH>2</MAXCHAINDEPTH><MAXLICENSESIZE>10240</MAXLICENSESIZE><MAXHEADERSIZE>5120</MAXHEADERSIZE></LIMITS><PUBLICKEY>7H0tGbM5GZlkhjYyaxEnB7BA+EOkuvRz7RkaVUWZGrfsoyV/yO+nBQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>08ggPruzkWHvbPK/RbQUCV1alDZac8XTXQC/TB57WPNBiBYCnFi8cw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1547</AUTH_ID><PUBLICKEY>3rjb7MuXV4F7g7Jc0lx7c8/rAVwfMj87XHbCsdWx3b7DuF6giV9yZA==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>XtmhTxSy2v9mTzSPT59XrN5z8CITGkTDwSbavRAyYZFj/ryz5AkAdQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>mv7YqhunaXXC+MNMd2/X2yo0FRLIPGKyYhyEnsiFa8IbOkddJtXcdw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>￿￿￿￿
+WMPInfo.xml Does not exist on this device
+OK.
diff --git a/logs/mtp-detect-samsung-yp-u4.txt b/logs/mtp-detect-samsung-yp-u4.txt
new file mode 100644
index 0000000..c36e19f
--- /dev/null
+++ b/logs/mtp-detect-samsung-yp-u4.txt
@@ -0,0 +1,350 @@
+libmtp version: 0.2.6.1
+
+Attempting to connect device(s)
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 255
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 04e8
+   idProduct: 5093
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: 0100                                   	..
+Microsoft device response to control message 1, CMD 0x01:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Microsoft device response to control message 2, CMD 0x01:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Device info:
+   Manufacturer: Samsung
+   Model: U4
+   Device version: 1.20
+   Serial number: 053030049B3A114805303004E14C3148
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0;microsoft.com/WMPPD: 10.0;microsoft.com/WMDRMPD: 10.3;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc95: MetaGenre UINT16 data type enumeration: 0, 1, 17, 18, 20, 21, 33, 34, 35, 36, 37, 38, 39, 40, 48,  GET/SET
+      de93: SampleRate UINT32 data type enumeration: 32000, 44100, 48000, 96000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de95: AudioBitDepth UINT32 data type enumeration: 0, 8, 10, 12, 16, 24, 32,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 12800, MAX 384000, STEP 100 GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+   300c: ASF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc95: MetaGenre UINT16 data type enumeration: 0, 1, 17, 18, 20, 21, 33, 34, 35, 36, 37, 38, 39, 40, 48,  GET/SET
+      de93: SampleRate UINT32 data type enumeration: 32000, 44100, 48000, 96000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de95: AudioBitDepth UINT32 data type enumeration: 0, 8, 10, 12, 16, 24, 32,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 12800, MAX 384000, STEP 100 GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3801: JPEG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 2000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 1500, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b802: Firmware
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc95: MetaGenre UINT16 data type enumeration: 0, 1, 17, 18, 20, 21, 33, 34, 35, 36, 37, 38, 39, 40, 48,  GET/SET
+      de93: SampleRate UINT32 data type enumeration: 32000, 44100, 48000, 96000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de95: AudioBitDepth UINT32 data type enumeration: 0, 8, 10, 12, 16, 24, 32,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 12800, MAX 384000, STEP 100 GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+   b902: OGG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc95: MetaGenre UINT16 data type enumeration: 0, 1, 17, 18, 20, 21, 33, 34, 35, 36, 37, 38, 39, 40, 48,  GET/SET
+      de93: SampleRate UINT32 data type enumeration: 32000, 44100, 48000, 96000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de95: AudioBitDepth UINT32 data type enumeration: 0, 8, 10, 12, 16, 24, 32,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 12800, MAX 384000, STEP 100 GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+   ba03: Abstract Audio Album
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  GET/SET
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 320, STEP 1 READ ONLY
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 4000251904
+      FreeSpaceInBytes: 3991650304
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Internal Storage
+      VolumeIdentifier: 053030049B3A114805303004E14C3148
+Special directories:
+   Default music folder: 0x00000010
+   Default playlist folder: 0x00000012
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000011
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: U4
+   Synchronization partner: Samsung
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Advanced Systems Format
+   JPEG file
+   Firmware file
+   Microsoft Windows Media Audio
+   Ogg container format
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#19800413 08:12:16Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">MDUzMDMwMDQ5QjNBMTE0ODA1MzA=</UNIQUEID><PUBLICKEY private="1">tJZROh1eN96iqucjjI/bcJWDYUwyMkPy/CBJwBahmizPcS/eK0v4Vg==</PUBLICKEY><KEYDATA>YGuTIvHoaxY5jKNqCcFR33u+Yic=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>MWZHN88fFEHSHYJglopqE4Vfm1qy0kWBzDafKJ10Q0xGm9luGDD4hQ==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>SselZaUyg8pYTEvaLulVFgHcNUk=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.105.15</SECURITYVERSION><CERTIFICATE private="1">tJZROh1eN96iqucjjI/bcJWDYUwyMkPy/CBJwBahmizPcS/eK0v4VgIEaQ9nfGTDui8FF2H8A0Y2CD6GEKEuHglOKgWU91HiK1r9ufyZNE9VQRx9</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><FEATURES><CLOCK>2</CLOCK><SECURECLOCK><URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL><PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY></SECURECLOCK><METERING>1</METERING><LICENSE_ACQ>1</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>1</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT></FEATURES><LIMITS><MAXCHAINDEPTH>2</MAXCHAINDEPTH><MAXLICENSESIZE>10240</MAXLICENSESIZE><MAXHEADERSIZE>5120</MAXHEADERSIZE></LIMITS><PUBLICKEY>E8w0ujcvj9/PvgR5wH7qnmJ+ayw5Va97nGWq6tlZK/H6wASCvK5qgQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>C5tRRT2sUN5tvjkCPGUkyNkVpgQks5svZn1M6mi4Q09iIceEOkVMMg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1139</AUTH_ID><PUBLICKEY>+etanHDKVWpDHUNpwbhHNc6v7F+uUIjNL2eXRuV+rNX6M0Wag++uQg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>/kEvwFp8ZZYs1XWmEbsEuVIT2Qn+/685LI1g33fBlL1rK8Mt1pbIIA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>Det7NJ7u813uPm1Anr3inWDYwyr2gFwDcEJjzrlGs98GqMgHzdkUfA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+WMPInfo.xml Does not exist on this device
+OK.
diff --git a/logs/mtp-detect-samsung-yp-u5.txt b/logs/mtp-detect-samsung-yp-u5.txt
new file mode 100644
index 0000000..f716569
--- /dev/null
+++ b/logs/mtp-detect-samsung-yp-u5.txt
@@ -0,0 +1,530 @@
+libmtp version: 0.3.7
+
+Listing raw device(s)
+   Found 1 device(s):
+   Samsung: YP-U5 (04e8:5121) @ bus 0, dev 10
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 04e8
+   idProduct: 5121
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 10
+      Device entry info:
+         Vendor: Samsung
+         Vendor id: 0x04e8
+         Product: YP-U5
+         Vendor id: 0x5121
+         Device flags: 0x00000003
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: 0100                                   	..
+Microsoft device response to control message 1, CMD 0x01:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Device info:
+   Manufacturer: Samsung
+   Model: U5
+   Device version: 1.12
+   Serial number: 08F9000020FDD2840002D9B1D682D284
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 10.0; microsoft.com/WMPPD: 11.0
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   101b: Get partial object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   100f: Format storage
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   9203: Get transferable playlist types
+   97f1: Unknown (97f1)
+   97f2: Unknown (97f2)
+   97f3: Unknown (97f3)
+   97f4: Unknown (97f4)
+   97f5: Unknown (97f5)
+   1010: Reset device
+   1012: Set object protection
+Events supported:
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd402: Friendly Device Name
+   0xd401: Synchronization Partner
+   0x5001: Battery Level
+   0xd405: Device Icon
+Playable File (Object) Types and Object Properties Supported:
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 4300000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 80, 85,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+   3008: MS Wave
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 2304000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 17,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 352, 353,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+   300c: ASF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 352, 353,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+   b902: OGG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+   b906: FLAC
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+   b903: AAC
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 41222,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+   300c: ASF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 352, 353,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+   3801: JPEG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337, 14340, 14343,  GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+   3807: GIF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337, 14340, 14343,  GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+   3804: BMP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337, 14340, 14343,  GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+   ba03: Abstract Audio Album
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337, 14340, 14343,  GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+   b909: Unknown(b909)
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 3968860160
+      FreeSpaceInBytes: 3957850112
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Internal Storage
+      VolumeIdentifier: 08F9000020FDD2840002D9B1D682D284
+Special directories:
+   Default music folder: 0x00000066
+   Default playlist folder: 0x00000074
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000067
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: U5
+   Synchronization partner: U5
+   Battery level 98 of 100 (98%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   RIFF WAVE file
+   Microsoft Windows Media Audio
+   Microsoft Advanced Systems Format
+   Ogg container format
+   Free Lossless Audio Codec (FLAC)
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Microsoft Advanced Systems Format
+   JPEG file
+   GIF bitmap file
+   BMP bitmap file
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20090516 22:04:34Z#</VALUE><FLAG>DRM_CLK_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">MDhGOTAwMDAyMEZERDI4NAoKCgo=</UNIQUEID><PUBLICKEY private="1">SpemWBZzbJwl+qjAJeevtD1yTnq4fueH8tHGy72FtkJ+GTl41v8rGg==</PUBLICKEY><KEYDATA>Qvwgsm0IR9cYQuyyEIS15Ps+Omw=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>wtdtR1ZYD2SlZXgyrmtN/9hpwx+5gwS570FcYj9xs0eCmIKJ0HexVw==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>eQDW/IuB9+LikpkOHFRAibGPZAk=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.102.255</SECURITYVERSION><CERTIFICATE private="1">SpemWBZzbJwl+qjAJeevtD1yTnq4fueH8tHGy72FtkJ+GTl41v8rGgIEZv/6MwI1jVZ2u5MHJhczIXJMUpZJGXlAyfGWlImndMcwwUjFdbeFJT1F</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><FEATURES><CLOCK>2</CLOCK><SECURECLOCK><URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL><PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY></SECURECLOCK><METERING>1</METERING><LICENSE_ACQ>1</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>1</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT></FEATURES><LIMITS><MAXCHAINDEPTH>2</MAXCHAINDEPTH><MAXLICENSESIZE>10240</MAXLICENSESIZE><MAXHEADERSIZE>5120</MAXHEADERSIZE></LIMITS><PUBLICKEY>luzgKlZvBQSs9WTaZUR/OWk1vx6ktrEVSKt6/qsU55g4m+U26NiJiQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>1XRO2t8Kmh4h01/pzxkiKFg8PmxsO+3cbmju098TNdvU6YKJp7qiRw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>611</AUTH_ID><PUBLICKEY>rE0WoLeFtKZxDp6G8oN+uLVNsQ6LG/MP5G33/N3YRBgU3ZvoMsC/Pg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>irFXzOg9Pu5+oggEs8k60vdL/E3Lqq1z5E5TR1GuTRnuCDC/mwN/Xw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>8uwJd6/SKa2QWs+lVxohcEQ0PwXWV4jNKsUWVWhhMyFA/vtqHPD/OQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+OK.
+
+ 	  	 
diff --git a/logs/mtp-detect-samsung-yp-z3.txt b/logs/mtp-detect-samsung-yp-z3.txt
new file mode 100644
index 0000000..2f1d2e0
--- /dev/null
+++ b/logs/mtp-detect-samsung-yp-z3.txt
@@ -0,0 +1,613 @@
+libmtp version: 1.1.1
+
+Listing raw device(s)
+   Found 1 device(s):
+   Samsung: YP-Z3 (04e8:5137) @ bus 2, dev 9
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 04e8
+   idProduct: 5137
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 9
+      Device entry info:
+         Vendor: Samsung
+         Vendor id: 0x04e8
+         Product: YP-Z3
+         Vendor id: 0x5137
+         Device flags: 0x00001006
+Device info:
+   Manufacturer: Samsung
+   Model: Z3
+   Device version: V1.16
+   Serial number: 247C24F5A609E2B3A973C4488B3CCB46
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0;microsoft.com/WMPPD: 10.0;microsoft.com/WMDRMPD: 10.3;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        microsoft.com/WMPPD: 10.0
+        microsoft.com/WMDRMPD: 10.3
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc95: Meta Genre UINT16 data type enumeration: 0, 1, 17, 18, 20, 21, 33, 34, 35, 36, 37, 38, 39, 40, 48,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de95: Audio Bit Depth UINT32 data type enumeration: 0, 8, 10, 12, 16, 24, 32,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 480, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 204800000, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 30000, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 859189832, 958804552, 1195724877, 861293911,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 0, MAX 16000, STEP 1 GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX -671088640, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 6000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b802: Firmware
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc95: Meta Genre UINT16 data type enumeration: 0, 1, 17, 18, 20, 21, 33, 34, 35, 36, 37, 38, 39, 40, 48,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de95: Audio Bit Depth UINT32 data type enumeration: 0, 8, 10, 12, 16, 24, 32,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc95: Meta Genre UINT16 data type enumeration: 0, 1, 17, 18, 20, 21, 33, 34, 35, 36, 37, 38, 39, 40, 48,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de95: Audio Bit Depth UINT32 data type enumeration: 0, 8, 10, 12, 16, 24, 32,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 320, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 10000000, STEP 1 READ ONLY
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 480, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 204800000, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 30000, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 859189832, 958804552, 1195724877, 861293911,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 0, MAX 16000, STEP 1 GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX -671088640, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+   300a: MS AVI
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 480, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 204800000, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 30000, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 859189832, 958804552, 1195724877, 861293911,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 0, MAX 16000, STEP 1 GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX -671088640, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc95: Meta Genre UINT16 data type enumeration: 0, 1, 17, 18, 20, 21, 33, 34, 35, 36, 37, 38, 39, 40, 48,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de95: Audio Bit Depth UINT32 data type enumeration: 0, 8, 10, 12, 16, 24, 32,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc95: Meta Genre UINT16 data type enumeration: 0, 1, 17, 18, 20, 21, 33, 34, 35, 36, 37, 38, 39, 40, 48,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de95: Audio Bit Depth UINT32 data type enumeration: 0, 8, 10, 12, 16, 24, 32,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc95: Meta Genre UINT16 data type enumeration: 0, 1, 17, 18, 20, 21, 33, 34, 35, 36, 37, 38, 39, 40, 48,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de95: Audio Bit Depth UINT32 data type enumeration: 0, 8, 10, 12, 16, 24, 32,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 6000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 6000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 6000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 480, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 0, MAX 204800000, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 30000, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 859189832, 958804552, 1195724877, 861293911,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 0, MAX 16000, STEP 1 GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX -671088640, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 0 GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 3699335168
+      FreeSpaceInBytes: 53657600
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Internal Storage
+      VolumeIdentifier: 247C24F5A609E2B3A973C4488B3CCB46
+Special directories:
+   Default music folder: 0x00000008
+   Default playlist folder: 0x00000392
+   Default picture folder: 0x00000398
+   Default video folder: 0x00000391
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0x00000399
+MTP-specific device properties:
+   Friendly name: Z3
+   Synchronization partner: Samsung
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   Folder
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Advanced Systems Format
+   JPEG file
+   Firmware file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Abstract Album file
+   Abstract Playlist file
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Audio Video Interleave
+   RIFF WAVE file
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Free Lossless Audio Codec (FLAC)
+   BMP bitmap file
+   GIF bitmap file
+   Portable Network Graphics
+   Microsoft Windows Media Video
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20110120 23:05:24Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>
+OK.
diff --git a/logs/mtp-detect-sandisk-sansa-c240.txt b/logs/mtp-detect-sandisk-sansa-c240.txt
new file mode 100644
index 0000000..c128ba1
--- /dev/null
+++ b/logs/mtp-detect-sandisk-sansa-c240.txt
@@ -0,0 +1,790 @@
+libmtp version: 0.2.1
+
+Attempting to connect device(s)
+Potential MTP Device with VendorID:0781 and ProductID:7450 responded to
+control message 2 with a response that was too short. Problems may arrise
+but continuing
+PTP: Opening session
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0781
+   idProduct: 7450
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000002
+Microsoft device descriptor 0xee:
+        0000: 1203 4d00 5300 4600 5400 3100 3000 3000   ..M.S.F.T.1.0.0.
+        0010: fe00 4d54 5000 0000 0000 0000 0000 0000   ..MTP...........
+        0020: 0000 0000 0000 0000 6400 3000 3100 3800   ........d.0.1.8.
+        0030: 3000 3400 3700 2d00 3600 6300 3000 3000   0.4.7.-.6.c.0.0.
+        0040: 3300 6100 6600 3400 2d00 3000 3000 3000   3.a.f.4.-.0.0.0.
+        0050: 3000 3000 3000 3000 3000 0000 0000 0000   0.0.0.0.0.......
+        0060: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0070: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0080: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0090: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        00a0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        00b0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        00c0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        00d0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        00e0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        00f0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0100: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0110: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0120: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0130: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0140: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0150: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0160: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0170: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0180: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0190: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        01a0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        01b0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        01c0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        01d0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        01e0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        01f0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0200: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0210: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0220: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0230: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0240: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0250: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0260: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0270: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0280: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0290: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        02a0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        02b0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        02c0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        02d0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        02e0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        02f0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0300: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0310: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0320: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0330: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0340: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0350: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0360: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0370: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0380: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0390: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        03a0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        03b0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        03c0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        03d0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        03e0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        03f0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+Microsoft device response to control message 1, CMD 0xfe:
+        0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............
+        0010: 0001 4d54 5000 0000 0000 0000 0000 0000   ..MTP...........
+        0020: 0000 0000 0000 0000 6400 3000 3100 3800   ........d.0.1.8.
+        0030: 3000 3400 3700 2d00 3600 6300 3000 3000   0.4.7.-.6.c.0.0.
+        0040: 3300 6100 6600 3400 2d00 3000 3000 3000   3.a.f.4.-.0.0.0.
+        0050: 3000 3000 3000 3000 3000 0000 0000 0000   0.0.0.0.0.......
+        0060: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0070: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0080: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0090: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        00a0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        00b0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        00c0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        00d0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        00e0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        00f0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0100: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0110: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0120: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0130: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0140: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0150: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0160: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0170: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0180: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0190: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        01a0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        01b0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        01c0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        01d0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        01e0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        01f0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0200: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0210: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0220: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0230: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0240: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0250: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0260: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0270: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0280: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0290: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        02a0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        02b0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        02c0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        02d0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        02e0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        02f0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0300: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0310: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0320: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0330: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0340: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0350: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0360: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0370: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0380: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0390: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        03a0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        03b0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        03c0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        03d0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        03e0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        03f0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+Potential MTP Device with VendorID:0781 and ProductID:7450 responded to
+control message 2 with a response that was too short. Problems may arrise
+but continuing
+Device info:
+   Manufacturer: SanDisk
+   Model: Sansa c250
+   Device version: Sansa 01.01.06P
+   Serial number: 4453033f-32305453-5d018047-6c003af4-00000000
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/WMDRMPD: 10.1
+Supported operations:
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   101b: Get partial object
+   100c: Send object info
+   100d: Send object
+   100b: Delete object
+   1012: Set object protection
+   100f: Format storage
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   0x4004
+   0x4005
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd401: Synchronization Partner
+   0xd402: Device Friendly Name
+Playable File (Object) Types and Object Properties Supported:
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type GET/SET
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type GET/SET
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 96000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 1500000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 85, 353, 384, 41222, 304, 1,  READ ONLY
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3, GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 2147483000, STEP 1000 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+   300c: ASF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 96000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 1500000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 85, 353, 384, 41222, 304, 1,  READ ONLY
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3, GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 2147483000, STEP 1000 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+   300a: MS AVI
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 96000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 1500000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 85, 353, 384, 41222, 304, 1,  READ ONLY
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3, GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 2147483000, STEP 1000 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+   3801: JPEG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 220, STEP 1 READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 176, STEP 1 READ ONLY
+   3804: BMP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 220, STEP 1 READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 176, STEP 1 READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type GET/SET
+   ba03: Abstract Audio Album
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 220, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 176, STEP 1 READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 77440, STEP 10 READ ONLY
+      dc8c: Genre STRING data type GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 96000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 1500000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 85, 353, 384, 41222, 304, 1,  READ ONLY
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3, GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 2147483000, STEP 1000 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 2020982464
+      FreeSpaceInBytes: 38256320
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Internal Memory
+      VolumeIdentifier: VOL0_Sansa_c250_4453033f-32305453-5d018047-6c003af4-00000000
+Special directories:
+   Default music folder: 0x00000000
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: Sansa c250
+   Synchronization partner: {00000000-0000-0000-0000-000000000000}
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Advanced Systems Format
+   Audio Video Interleave
+   JPEG file
+   BMP bitmap file
+   Microsoft Windows Media Audio
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20070815
+03:00:27Z#</VALUE><FLAG>DRM_CLK_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID
+private="1">PwNTRFNUMDJHgAFd9DoAbAAAAAA=</UNIQUEID><PUBLICKEY
+private="1">vPNbgTRkxhEafnVrob5Lhat/CwsPKt54wmrxiNGfm1zaE1U/NtuVhw==</PUBLICKEY><KEYDATA>TtFnh7U7Pg8/oY3RRMgz7f5WDZ0=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>/UKEp4NFuqncbVnodwNEpg7tB4QzxEX5uBEGPUwTrzyiERNERrqEQw==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>77sImUOi0amd9wYBbRcZ7JElZgw=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.106.11</SECURITYVERSION><CERTIFICATE
+private="1">vPNbgTRkxhEafnVrob5Lhat/CwsPKt54wmrxiNGfm1zaE1U/NtuVhwIEagup8abeALgJznwoPSv6U/eE0zueQYwkMKo56CY5WzuWg1ZFk0oIyi0O</CERTIFICATE></FALLBACK><CERTIFICATE
+type="GROUP"><DATA><NAME>Sansa C200</NAME>
+    <MANUFACTURER>Micro-Star</MANUFACTURER>
+    <MAKE>MSI</MAKE>
+    <DISTRIBUTOR>Micro-Star Int’l Co Ltd</DISTRIBUTOR>
+    <MODEL>SanDisk Sansa Series</MODEL>
+    <SECURITYLEVEL>2000</SECURITYLEVEL>
+    <HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR>
+    <HARDWARE_VER_MINOR>1</HARDWARE_VER_MINOR>
+    <FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR>
+    <FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>
+    <FEATURES>
+        <CLOCK>2</CLOCK>
+          <SECURECLOCK>
+                <URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL>
+                <PUBLICKEY>
+!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==
+</PUBLICKEY>
+          </SECURECLOCK>
+        <METERING>1</METERING>
+        <LICENSE_ACQ>1</LICENSE_ACQ>
+        <LICENSE_SYNC>1</LICENSE_SYNC>
+        <ENCRYPTION>1</ENCRYPTION>
+  <SYMMETRIC_OPT>1</SYMMETRIC_OPT>
+    </FEATURES>
+    <LIMITS>
+        <MAXCHAINDEPTH>2</MAXCHAINDEPTH>
+        <MAXLICENSESIZE>10240</MAXLICENSESIZE>
+        <MAXHEADERSIZE>5120</MAXHEADERSIZE>
+   
+</LIMITS><PUBLICKEY>dif5mSOYklFEWQW8Rk6I2+ugeFhuLpr7A+dBU3qH5sBoSXXuhYCgaQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>yszNKX0icRq05GWdgw2JODKILnIFvegA2rf6oWgBRJeCaLqCa7bNLw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1391</AUTH_ID><PUBLICKEY>4c2hgvX/sgV7OjJu82BQ9by7lxh2r6XZOOG0qx8QLa7h4AiO0JOVhQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>hreAI4Q0sKU6t+K+phUFHtjf0hjgSJguTc9R5XmzRu9hflAuTr4xZQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>8q56WrXAXSViV/Birc27ZR5APyMzCijSV8+pXdpi0B+66ctdri+Tcw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+WMPInfo.xml Does not exist on this device
+PTP: Closing session
+Clearing stall on IN endpoint
+Clearing stall on OUT endpoint
+OK.
+
+
+libmtp version: 0.1.5
+
+Attempting to connect device(s)
+Detect: Successfully connected 1 devices
+USB low-level info:
+  Using kernel interface "usbfs"
+  bcdUSB: 512
+  bDeviceClass: 0
+  bDeviceSubClass: 0
+  bDeviceProtocol: 0
+  idVendor: 0781
+  idProduct: 7450
+  IN endpoint maxpacket: 512 bytes
+  OUT endpoint maxpacket: 512 bytes
+  Device flags: 0x00000002
+Device info:
+  Manufacturer: SanDisk
+  Model: Sansa c240
+  Device version: Sansa 01.01.00F
+  Serial number: 4453033f-31305453-b7108047-6b00887a-00000000
+  Vendor extension ID: 0x00000006
+  Vendor extension description: microsoft.com/WMDRMPD: 10.1
+Supported operations:
+  1014: Get device property description
+  1015: Get device property value
+  1016: Set device property value
+  1017: Reset device property value
+  1001: get device info
+  1002: Open session
+  1003: Close session
+  1004: Get storage IDs
+  1005: Get storage info
+  1006: Get number of objects
+  1007: Get object handles
+  1008: Get object info
+  1009: Get object
+  101b: Get partial object
+  100c: Send object info
+  100d: Send object
+  100b: Delete object
+  1012: Set object protection
+  100f: Format storage
+  9801: Get object properties supported
+  9802: Get object property description
+  9803: Get object property value
+  9804: Set object property value
+  9805: Get object property list
+  9806: Set object property list
+  9810: Get object references
+  9811: Set object references
+  9201: Report Added/Deleted Items
+  9101: Get secure time challenge
+  9102: Get secure time response
+  9103: Set license response
+  9104: Get sync list
+  9105: Send meter challenge query
+  9106: Get meter challenge
+  9107: Get meter response
+  9108: Clean data store
+  9109: Get license state
+  910a: Send WMDRM-PD Command
+  910b: Send WMDRM-PD Request
+Events supported:
+  0x4004
+  0x4005
+Device Properties Supported:
+  0x5001: Battery Level
+  0xd101: Secure Time
+  0xd102: Device Certificate
+  0xd401: Synchronization Partner
+  0xd402: Device Friendly Name
+Playable File (Object) Types and Object Properties Supported:
+  3001: Association/Directory
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc09: DateModified STRING data type GET/SET
+  3000: Undefined Type
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc09: DateModified STRING data type GET/SET
+  3009: MP3
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc46: Artist STRING data type GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+     de93: SampleRate UINT32 data type range: MIN 8000, MAX 96000, STEP 50 READ ONLY
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+     de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 1500000, STEP 1 READ ONLY
+     de99: AudioWAVECodec UINT32 data type enumeration: 0, 85, 353, 384, 41222, 304, 1,  READ ONLY
+     de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+     dc9b: AlbumArtist STRING data type GET/SET
+     dc89: Duration UINT32 data type range: MIN 0, MAX 2147483000, STEP 1000 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+  300c: ASF
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc46: Artist STRING data type GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+     de93: SampleRate UINT32 data type range: MIN 8000, MAX 96000, STEP 50 READ ONLY
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+     de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 1500000, STEP 1 READ ONLY
+     de99: AudioWAVECodec UINT32 data type enumeration: 0, 85, 353, 384, 41222, 304, 1,  READ ONLY
+     de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+     dc9b: AlbumArtist STRING data type GET/SET
+     dc89: Duration UINT32 data type range: MIN 0, MAX 2147483000, STEP 1000 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+  300a: MS AVI
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc46: Artist STRING data type GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+     de93: SampleRate UINT32 data type range: MIN 8000, MAX 96000, STEP 50 READ ONLY
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+     de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 1500000, STEP 1 READ ONLY
+     de99: AudioWAVECodec UINT32 data type enumeration: 0, 85, 353, 384, 41222, 304, 1,  READ ONLY
+     de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+     dc9b: AlbumArtist STRING data type GET/SET
+     dc89: Duration UINT32 data type range: MIN 0, MAX 2147483000, STEP 1000 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+  3801: JPEG
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc88: Height UINT32 data type range: MIN 0, MAX 220, STEP 1 READ ONLY
+     dc87: Width UINT32 data type range: MIN 0, MAX 176, STEP 1 READ ONLY
+  3804: BMP
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc88: Height UINT32 data type range: MIN 0, MAX 220, STEP 1 READ ONLY
+     dc87: Width UINT32 data type range: MIN 0, MAX 176, STEP 1 READ ONLY
+  ba05: Abstract Audio Video Playlist
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc09: DateModified STRING data type GET/SET
+  ba03: Abstract Audio Album
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc9b: AlbumArtist STRING data type GET/SET
+     d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+     dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+     dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+     dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 220, STEP 1 READ ONLY
+     dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 176, STEP 1 READ ONLY
+     dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 77440, STEP 10 READ ONLY
+     dc8c: Genre STRING data type GET/SET
+  b901: WMA
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc46: Artist STRING data type GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+     de93: SampleRate UINT32 data type range: MIN 8000, MAX 96000, STEP 50 READ ONLY
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+     de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 1500000, STEP 1 READ ONLY
+     de99: AudioWAVECodec UINT32 data type enumeration: 0, 85, 353, 384, 41222, 304, 1,  READ ONLY
+     de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+     dc9b: AlbumArtist STRING data type GET/SET
+     dc89: Duration UINT32 data type range: MIN 0, MAX 2147483000, STEP 1000 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+Storage Devices:
+  StorageID: 0x00010001
+     StorageType: 0x0003
+     FilesystemType: 0x0002
+     AccessCapability: 0x0000
+     MaxCapacity: 997986120
+     FreeSpaceInBytes: 9183048
+     FreeSpaceInObjects: 4294967295
+     StorageDescription: Internal Memory
+     VolumeIdentifier: VOL0_Sansa_c240_4453033f-31305453-b7108047-6b00887a-00000000
+Special directories:
+  Default music folder: 0x00000001
+  Default playlist folder: 0x00000003
+  Default picture folder: 0x00000000
+  Default video folder: 0x00000000
+  Default organizer folder: 0x00000000
+  Default zencast folder: 0x00000000
+  Default album folder: 0x00000000
+  Default text folder: 0x00000000
+MTP-specific device properties:
+  Friendly name: Sansa c240
+  Synchronization partner: {00000000-0000-0000-0000-000000000000}
+  Battery level 43 of 100 (43%)
+libmtp supported (playable) filetypes:
+  ISO MPEG-1 Audio Layer 3
+  Microsoft Advanced Systems Format
+  Audio Video Interleave
+  JPEG file
+  BMP bitmap file
+  Microsoft Windows Media Audio
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20070508 22:48:36Z#</VALUE><FLAG>DRM_CLK_NEEDS_REFRESH</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">PwNTRFNUMDFHgBC3eogAawAAAAA=</UNIQUEID><PUBLICKEY private="1">uI9WF1l30WJuj1nCxrs0UaCtW1huJFSMaCNzRt1vrt0R9fP6mLEOBw==</PUBLICKEY><KEYDATA>LsWFcvmzrRqyDsz21nhG87LMqcc=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>qJ5Gp94Y0TYos4cxOIs0XHJSo2w0OQv+iRWqLf357ZJfxVQUeNGAaA==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>NJ7ml0xXGldHdBl518raEMWbtTM=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.106.11</SECURITYVERSION><CERTIFICATE private="1">uI9WF1l30WJuj1nCxrs0UaCtW1huJFSMaCNzRt1vrt0R9fP6mLEOBwIEagt5JFtwO/GzWFl9QJHGCmMcwbCWB83G3TZ7dk6icJXHX9+QqLym0ANS</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>Sansa C200</NAME>
+   <MANUFACTURER>Micro-Star</MANUFACTURER>
+   <MAKE>MSI</MAKE>
+   <DISTRIBUTOR>Micro-Star Int’l Co Ltd</DISTRIBUTOR>
+   <MODEL>SanDisk Sansa Series</MODEL>
+   <SECURITYLEVEL>2000</SECURITYLEVEL>
+   <HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR>
+   <HARDWARE_VER_MINOR>1</HARDWARE_VER_MINOR>
+   <FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR>
+   <FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>
+   <FEATURES>
+       <CLOCK>2</CLOCK>
+         <SECURECLOCK>
+               <URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL>
+               <PUBLICKEY>
+!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==
+</PUBLICKEY>
+         </SECURECLOCK>
+       <METERING>1</METERING>
+       <LICENSE_ACQ>1</LICENSE_ACQ>
+       <LICENSE_SYNC>1</LICENSE_SYNC>
+       <ENCRYPTION>1</ENCRYPTION>
+ <SYMMETRIC_OPT>1</SYMMETRIC_OPT>
+   </FEATURES>
+   <LIMITS>
+       <MAXCHAINDEPTH>2</MAXCHAINDEPTH>
+       <MAXLICENSESIZE>10240</MAXLICENSESIZE>
+       <MAXHEADERSIZE>5120</MAXHEADERSIZE>
+   </LIMITS><PUBLICKEY>dif5mSOYklFEWQW8Rk6I2+ugeFhuLpr7A+dBU3qH5sBoSXXuhYCgaQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>yszNKX0icRq05GWdgw2JODKILnIFvegA2rf6oWgBRJeCaLqCa7bNLw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1391</AUTH_ID><PUBLICKEY>4c2hgvX/sgV7OjJu82BQ9by7lxh2r6XZOOG0qx8QLa7h4AiO0JOVhQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>hreAI4Q0sKU6t+K+phUFHtjf0hjgSJguTc9R5XmzRu9hflAuTr4xZQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>8q56WrXAXSViV/Birc27ZR5APyMzCijSV8+pXdpi0B+66ctdri+Tcw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+WMPInfo.xml Does not exist on this device
+OK.
diff --git a/logs/mtp-detect-sandisk-sansa-c250.txt b/logs/mtp-detect-sandisk-sansa-c250.txt
new file mode 100644
index 0000000..a11d218
--- /dev/null
+++ b/logs/mtp-detect-sandisk-sansa-c250.txt
@@ -0,0 +1,450 @@
+libmtp version: 0.2.1
+
+Attempting to connect device(s)
+Detect: Successfully connected 1 devices
+USB low-level info:
+  bcdUSB: 512
+  bDeviceClass: 0
+  bDeviceSubClass: 0
+  bDeviceProtocol: 0
+  idVendor: 0781
+  idProduct: 7450
+  IN endpoint maxpacket: 512 bytes
+  OUT endpoint maxpacket: 512 bytes
+  Device flags: 0x00000003
+Microsoft device descriptor 0xee:
+       0000: 1203 4d00 5300 4600 5400 3100 3000 3000   ..M.S.F.T.1.0.0.
+       0010: fe00 0705 0102 0002 0007 0582 0200 0200   ................
+       0020: 0705 8103 0002 6400 6400 3000 3100 3800   ......d.d.0.1.8.
+       0030: 3000 3400 3700 2d00 3600 6300 3000 3000   0.4.7.-.6.c.0.0.
+       0040: 6200 6300 3200 6600 2d00 3000 3000 3000   b.c.2.f.-.0.0.0.
+       0050: 3000 3000 3000 3000 3000 0000 0000 0000   0.0.0.0.0.......
+       0060: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0070: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0080: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0090: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       00a0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       00b0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       00c0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       00d0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       00e0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       00f0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0100: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0110: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0120: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0130: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0140: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0150: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0160: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0170: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0180: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0190: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       01a0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       01b0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       01c0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       01d0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       01e0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       01f0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0200: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0210: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0220: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0230: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0240: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0250: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0260: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0270: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0280: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0290: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       02a0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       02b0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       02c0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       02d0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       02e0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       02f0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0300: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0310: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0320: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0330: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0340: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0350: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0360: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0370: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0380: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0390: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       03a0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       03b0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       03c0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       03d0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       03e0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       03f0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+Microsoft device response to control message 1, CMD 0xfe:
+       0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............
+       0010: 0001 4d54 5000 0000 0000 0000 0000 0000   ..MTP...........
+       0020: 0000 0000 0000 0000 6400 3000 3100 3800   ........d.0.1.8.
+       0030: 3000 3400 3700 2d00 3600 6300 3000 3000   0.4.7.-.6.c.0.0.
+       0040: 6200 6300 3200 6600 2d00 3000 3000 3000   b.c.2.f.-.0.0.0.
+       0050: 3000 3000 3000 3000 3000 0000 0000 0000   0.0.0.0.0.......
+       0060: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0070: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0080: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0090: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       00a0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       00b0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       00c0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       00d0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       00e0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       00f0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0100: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0110: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0120: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0130: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0140: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0150: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0160: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0170: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0180: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0190: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       01a0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       01b0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       01c0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       01d0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       01e0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       01f0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0200: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0210: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0220: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0230: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0240: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0250: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0260: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0270: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0280: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0290: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       02a0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       02b0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       02c0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       02d0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       02e0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       02f0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0300: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0310: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0320: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0330: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0340: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0350: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0360: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0370: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0380: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       0390: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       03a0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       03b0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       03c0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       03d0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       03e0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+       03f0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+Device info:
+  Manufacturer: SanDisk
+  Model: Sansa c250
+  Device version: Sansa 01.00.04A
+  Serial number: 4453033f-32305453-5d018047-6c00bc2f-00000000
+  Vendor extension ID: 0x00000006
+  Vendor extension description: microsoft.com/WMDRMPD: 10.1
+Supported operations:
+  1014: Get device property description
+  1015: Get device property value
+  1016: Set device property value
+  1017: Reset device property value
+  1001: get device info
+  1002: Open session
+  1003: Close session
+  1004: Get storage IDs
+  1005: Get storage info
+  1006: Get number of objects
+  1007: Get object handles
+  1008: Get object info
+  1009: Get object
+  101b: Get partial object
+  100c: Send object info
+  100d: Send object
+  100b: Delete object
+  1012: Set object protection
+  100f: Format storage
+  9801: Get object properties supported
+  9802: Get object property description
+  9803: Get object property value
+  9804: Set object property value
+  9805: Get object property list
+  9806: Set object property list
+  9810: Get object references
+  9811: Set object references
+  9201: Report Added/Deleted Items
+  9101: Get secure time challenge
+  9102: Get secure time response
+  9103: Set license response
+  9104: Get sync list
+  9105: Send meter challenge query
+  9106: Get meter challenge
+  9107: Get meter response
+  9108: Clean data store
+  9109: Get license state
+  910a: Send WMDRM-PD Command
+  910b: Send WMDRM-PD Request
+Events supported:
+  0x4004
+  0x4005
+Device Properties Supported:
+  0x5001: Battery Level
+  0xd101: Secure Time
+  0xd102: Device Certificate
+  0xd401: Synchronization Partner
+  0xd402: Friendly Device Name
+Playable File (Object) Types and Object Properties Supported:
+  3001: Association/Directory
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc09: DateModified STRING data type GET/SET
+  3000: Undefined Type
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc09: DateModified STRING data type GET/SET
+  3009: MP3
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc46: Artist STRING data type GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+     de93: SampleRate UINT32 data type range: MIN 8000, MAX 96000, STEP 50 READ ONLY
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+     de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 1500000, STEP 1 READ ONLY
+     de99: AudioWAVECodec UINT32 data type enumeration: 0, 85, 353, 384, 41222, 304, 1,  READ ONLY
+     de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+     dc9b: AlbumArtist STRING data type GET/SET
+     dc89: Duration UINT32 data type range: MIN 0, MAX 2147483000, STEP 1000 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+  300c: ASF
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc46: Artist STRING data type GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+     de93: SampleRate UINT32 data type range: MIN 8000, MAX 96000, STEP 50 READ ONLY
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+     de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 1500000, STEP 1 READ ONLY
+     de99: AudioWAVECodec UINT32 data type enumeration: 0, 85, 353, 384, 41222, 304, 1,  READ ONLY
+     de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+     dc9b: AlbumArtist STRING data type GET/SET
+     dc89: Duration UINT32 data type range: MIN 0, MAX 2147483000, STEP 1000 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+  300a: MS AVI
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc46: Artist STRING data type GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+     de93: SampleRate UINT32 data type range: MIN 8000, MAX 96000, STEP 50 READ ONLY
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+     de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 1500000, STEP 1 READ ONLY
+     de99: AudioWAVECodec UINT32 data type enumeration: 0, 85, 353, 384, 41222, 304, 1,  READ ONLY
+     de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+     dc9b: AlbumArtist STRING data type GET/SET
+     dc89: Duration UINT32 data type range: MIN 0, MAX 2147483000, STEP 1000 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+  3801: JPEG
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc88: Height UINT32 data type range: MIN 0, MAX 80, STEP 1 READ ONLY
+     dc87: Width UINT32 data type range: MIN 0, MAX 132, STEP 1 READ ONLY
+  3804: BMP
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc88: Height UINT32 data type range: MIN 0, MAX 80, STEP 1 READ ONLY
+     dc87: Width UINT32 data type range: MIN 0, MAX 132, STEP 1 READ ONLY
+  ba05: Abstract Audio Video Playlist
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc09: DateModified STRING data type GET/SET
+  ba03: Abstract Audio Album
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc9b: AlbumArtist STRING data type GET/SET
+     d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+     dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+     dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+     dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 80, STEP 1 READ ONLY
+     dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 132, STEP 1 READ ONLY
+     dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 21120, STEP 10 READ ONLY
+     dc8c: Genre STRING data type GET/SET
+  b901: WMA
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc46: Artist STRING data type GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+     de93: SampleRate UINT32 data type range: MIN 8000, MAX 96000, STEP 50 READ ONLY
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+     de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 1500000, STEP 1 READ ONLY
+     de99: AudioWAVECodec UINT32 data type enumeration: 0, 85, 353, 384, 41222, 304, 1,  READ ONLY
+     de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3,  GET/SET
+     dc9b: AlbumArtist STRING data type GET/SET
+     dc89: Duration UINT32 data type range: MIN 0, MAX 2147483000, STEP 1000 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+Storage Devices:
+  StorageID: 0x00010001
+     StorageType: 0x0003
+     FilesystemType: 0x0002
+     AccessCapability: 0x0000
+     MaxCapacity: 2021015040
+     FreeSpaceInBytes: 1980087808
+     FreeSpaceInObjects: 4294967295
+     StorageDescription: FIXED SD
+     VolumeIdentifier: VOL0_Sansa_c250_4453033f-32305453-5d018047-6c00bc2f-00000000
+Special directories:
+  Default music folder: 0x0000003f
+  Default playlist folder: 0x00000000
+  Default picture folder: 0x00000000
+  Default video folder: 0x00000000
+  Default organizer folder: 0x00000000
+  Default zencast folder: 0x00000000
+  Default album folder: 0x00000043
+  Default text folder: 0x00000000
+MTP-specific device properties:
+  Friendly name: Sansa c250
+  Synchronization partner:
+  Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+  ISO MPEG-1 Audio Layer 3
+  Microsoft Advanced Systems Format
+  Audio Video Interleave
+  JPEG file
+  BMP bitmap file
+  Microsoft Windows Media Audio
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20040828 12:16:16Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">PwNTRFNUMDJHgAFdL7wAbAAAAAA=</UNIQUEID><PUBLICKEY private="1">Prkp5/+j3VL0DtyeI4Xg0SAx1ynL4+KO9DnOwtggyIKQs/2A8zDLAg==</PUBLICKEY><KEYDATA>hIMYl7WPWiXevpg3pcvfpqm0atU=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>raRYYRBstwPaq08IRgmgwlphgYi4PuJooAhV00yb8mv8IbV4Wdi2fg==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>EpChaSPdR864/IebbkiKDfiQ5OM=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.106.11</SECURITYVERSION><CERTIFICATE private="1">Prkp5/+j3VL0DtyeI4Xg0SAx1ynL4+KO9DnOwtggyIKQs/2A8zDLAgIEagv5DXHu/bgise7DfUkS3KQ1yEtXFm/Q2z1eEE8EkSkb6fCAUhfU5GEz</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>Sansa C200</NAME>
+   <MANUFACTURER>Micro-Star</MANUFACTURER>
+   <MAKE>MSI</MAKE>
+   <DISTRIBUTOR>Micro-Star Int’l Co Ltd</DISTRIBUTOR>
+   <MODEL>SanDisk Sansa Series</MODEL>
+   <SECURITYLEVEL>2000</SECURITYLEVEL>
+   <HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR>
+   <HARDWARE_VER_MINOR>1</HARDWARE_VER_MINOR>
+   <FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR>
+   <FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>
+   <FEATURES>
+       <CLOCK>2</CLOCK>
+         <SECURECLOCK>
+               <URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL>
+               <PUBLICKEY>
+!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==
+</PUBLICKEY>
+         </SECURECLOCK>
+       <METERING>1</METERING>
+       <LICENSE_ACQ>1</LICENSE_ACQ>
+       <LICENSE_SYNC>1</LICENSE_SYNC>
+       <ENCRYPTION>1</ENCRYPTION>
+ <SYMMETRIC_OPT>1</SYMMETRIC_OPT>
+   </FEATURES>
+   <LIMITS>
+       <MAXCHAINDEPTH>2</MAXCHAINDEPTH>
+       <MAXLICENSESIZE>10240</MAXLICENSESIZE>
+       <MAXHEADERSIZE>5120</MAXHEADERSIZE>
+   </LIMITS><PUBLICKEY>dif5mSOYklFEWQW8Rk6I2+ugeFhuLpr7A+dBU3qH5sBoSXXuhYCgaQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>yszNKX0icRq05GWdgw2JODKILnIFvegA2rf6oWgBRJeCaLqCa7bNLw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1391</AUTH_ID><PUBLICKEY>4c2hgvX/sgV7OjJu82BQ9by7lxh2r6XZOOG0qx8QLa7h4AiO0JOVhQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>hreAI4Q0sKU6t+K+phUFHtjf0hjgSJguTc9R5XmzRu9hflAuTr4xZQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>8q56WrXAXSViV/Birc27ZR5APyMzCijSV8+pXdpi0B+66ctdri+Tcw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+WMPInfo.xml Does not exist on this device
+PTP: Closing session
+OK.
diff --git a/logs/mtp-detect-sandisk-sansa-clip-plus.txt b/logs/mtp-detect-sandisk-sansa-clip-plus.txt
new file mode 100644
index 0000000..4ecf22e
--- /dev/null
+++ b/logs/mtp-detect-sandisk-sansa-clip-plus.txt
@@ -0,0 +1,461 @@
+libmtp version: 1.0.2
+
+Listing raw device(s)
+   Found 1 device(s):
+   SanDisk: Sansa Clip+ (0781:74d0) @ bus 2, dev 3
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0781
+   idProduct: 74d0
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 3
+      Device entry info:
+         Vendor: SanDisk
+         Vendor id: 0x0781
+         Product: Sansa Clip+
+         Vendor id: 0x74d0
+         Device flags: 0x00004846
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: fe00                                   	..
+Microsoft device response to control message 1, CMD 0xfe:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Microsoft device response to control message 2, CMD 0xfe:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Device responds to control message 2 with some data.
+Device info:
+   Manufacturer: SanDisk
+   Model: Sansa Clip+ 2GB
+   Device version: v01.02.09P
+   Serial number: C909F5014851B6A80000000000000000
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/WMDRMPD: 10.1; audible.com: 1.0; microsoft.com/WMDRMND: 1.0; microsoft.com/AAVT: 1.0; microsoft.com: WMPPD10.0;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1012: Set object protection
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9170: Open Media Session
+   9171: Close Media Session
+   9172: Get Next Data Block
+   9173: Set Current Time Position
+   9180: Send Registration Request
+   9181: Get Registration Response
+   9182: Get Proximity Challenge
+   9183: Send Proximity Response
+   9184: Send WMDRM-ND License Request
+   9185: Get WMDRM-ND License Response
+   9201: Report Added/Deleted Items
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+Events supported:
+   0x4005
+   0x4004
+Device Properties Supported:
+   0x5001: Battery Level
+   0x5002: Functional Mode
+   0xd100: Unknown property
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd103: Revocation Info
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+   3008: MS Wave
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 134217727, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 17,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+   3009: MP3
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 134217727, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 85,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+   3801: JPEG
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+   b301: Unknown(b301)
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      da00: Unknown property UINT32 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,  GET/SET
+      da01: Unknown property STRING data type GET/SET
+      da02: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da03: Unknown property UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 134217727, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+   b901: WMA
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 134217727, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 352, 353, 354,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+   b902: OGG
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 134217727, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+   b904: Audible.com Codec
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      da00: Unknown property UINT32 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,  GET/SET
+      da01: Unknown property STRING data type GET/SET
+      da02: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da03: Unknown property UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 134217727, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+   b906: FLAC
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 134217727, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+   ba03: Abstract Audio Album
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+   ba05: Abstract Audio Video Playlist
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+   ba11: M3U Playlist
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 1939603456
+      FreeSpaceInBytes: 1717370880
+      FreeSpaceInObjects: 31765
+      StorageDescription: Internal Memory
+      VolumeIdentifier: C909F5014851B6A8
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 3956805632
+      FreeSpaceInBytes: 839729152
+      FreeSpaceInObjects: 31765
+      StorageDescription: External uSD Card
+      VolumeIdentifier: 01234567
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0x00000002
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Sansa Clip+ 2GB
+   Synchronization partner: (NULL)
+   Battery level 75 of 100 (75%)
+libmtp supported (playable) filetypes:
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   JPEG file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Audible.com Audio Codec
+   Free Lossless Audio Codec (FLAC)
+   Abstract Album file
+   Abstract Playlist file
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20071114 01:04:29Z#</VALUE><FLAG>DRM_CLK_NEEDS_REFRESH</FLAG></DRMCLOCK>
+OK.
diff --git a/logs/mtp-detect-sandisk-sansa-clip-v2.txt b/logs/mtp-detect-sandisk-sansa-clip-v2.txt
new file mode 100644
index 0000000..bb1ddfb
--- /dev/null
+++ b/logs/mtp-detect-sandisk-sansa-clip-v2.txt
@@ -0,0 +1,494 @@
+libmtp version: 0.3.4
+
+Listing raw device(s)
+   Found 1 device(s):
+   0781:7434 @ bus 0, dev 27
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0781
+   idProduct: 7434
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 27
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0781
+         Product: (null)
+         Vendor id: 0x7434
+         Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: fe00                                   	..
+Microsoft device response to control message 1, CMD 0xfe:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Microsoft device response to control message 2, CMD 0xfe:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Device info:
+   Manufacturer: SanDisk
+   Model: Sansa Clip 2GB
+   Device version: v02.01.16A
+   Serial number: 0C0FDF0A7009B6A80000000000000000
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/WMDRMPD: 10.1; audible.com: 1.0; microsoft.com/WMDRMND: 1.0; microsoft.com/AAVT: 1.0; microsoft.com: WMPPD10.0; 
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1012: Set object protection
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9170: Open Media Session
+   9171: Close Media Session
+   9172: Get Next Data Block
+   9173: Set Current Time Position
+   9180: Send Registration Request
+   9181: Get Registration Response
+   9182: Get Proximity Challenge
+   9183: Send Proximity Response
+   9184: Send WMDRM-ND License Request
+   9185: Get WMDRM-ND License Response
+   9201: Report Added/Deleted Items
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0x5002: Functional Mode
+   0xd100: Unknown property
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd103: Revocation Info
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   3008: MS Wave
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 134217727, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 1, 17,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+   3009: MP3
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 134217727, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+   300c: ASF
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 134217727, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 353,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+   b301: Unknown(b301)
+      da00: unknown(da00) UINT32 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7, 8,  GET/SET
+      da01: unknown(da01) STRING data type GET/SET
+      da02: unknown(da02) UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da03: unknown(da03) UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 134217727, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+   b901: WMA
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 134217727, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353, 354,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+   b902: OGG
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 134217727, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+   b904: Audible.com Codec
+      da00: unknown(da00) UINT32 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7, 8,  GET/SET
+      da01: unknown(da01) STRING data type GET/SET
+      da02: unknown(da02) UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da03: unknown(da03) UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 134217727, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+   b906: FLAC
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 134217727, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+   ba03: Abstract Audio Album
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+   ba05: Abstract Audio Video Playlist
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+   ba11: M3U Playlist
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 2016641024
+      FreeSpaceInBytes: 532971520
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Internal Memory
+      VolumeIdentifier: 0C0FDF0A7009B6A8
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0x00000002
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000017
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: Sansa Clip 2GB
+   Synchronization partner: {00000000-0000-0000-0000-000000000000}
+   Battery level 97 of 100 (97%)
+libmtp supported (playable) filetypes:
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Advanced Systems Format
+   Microsoft Windows Media Audio
+   Ogg container format
+   Audible.com Audio Codec
+   Free Lossless Audio Codec (FLAC)
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20090105 21:49:36Z#</VALUE><FLAG>DRM_CLK_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">MABDADAARgBEAEYAMABBADcAMAAwADkAQgA2AEEAOAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAA==</UNIQUEID><PUBLICKEY private="1">fhUC+/QijZ/4rUaDrjis1u0VTG5/bJl/46yNsxAyIQQ9rcg0sGkiUA==</PUBLICKEY><KEYDATA>YmaVekpKkEb9bDxe1toOZw2O6Uo=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>iwNk1uAtpMkytF5Cc1Esx5f7xk82LibzXPwO7ZRJT0Ot9eFX3INVEA==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>yLTRrx6Ilr/MuhHIxv82IuKBxG4=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.111.35</SECURITYVERSION><CERTIFICATE private="1">fhUC+/QijZ/4rUaDrjis1u0VTG5/bJl/46yNsxAyIQQ9rcg0sGkiUAIEbyP83FohB+KBhkYAwiS/SOCjTHfkW/zfd2w2pnPvOC99wum+X8R1LVQR</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>Clip+</NAME>

+	<MANUFACTURER>SanDisk Corporation</MANUFACTURER>

+	<MAKE>Sansa</MAKE>

+	<MODEL>Sansa Clip+</MODEL>

+	<SECURITYLEVEL>2000</SECURITYLEVEL>

+	<HARDWARE_VER_MAJOR>2</HARDWARE_VER_MAJOR>

+	<HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR>

+	<FIRMWARE_VER_MAJOR>0</FIRMWARE_VER_MAJOR>

+	<FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>

+

+	<SECURITYLEVEL>2000</SECURITYLEVEL>

+

+	<FEATURES>

+		<CLOCK>2</CLOCK>

+		<SECURECLOCK>

+			<URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL>

+			<PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY>

+		</SECURECLOCK>

+

+		<METERING>1</METERING>

+		<LICENSE_ACQ>1</LICENSE_ACQ>

+		<LICENSE_SYNC>1</LICENSE_SYNC>

+		<ENCRYPTION>1</ENCRYPTION>

+		<SYMMETRIC_OPT>1</SYMMETRIC_OPT>

+

+		<SUPPORT_REVOCATION>

+			<GUID>{CD75E604-543D-4A9C-9F09-FE6D24E8BF90}</GUID>

+		</SUPPORT_REVOCATION>

+

+	</FEATURES>

+

+	<LIMITS>

+		<MAXCHAINDEPTH>2</MAXCHAINDEPTH>

+		<MAXLICENSESIZE>10240</MAXLICENSESIZE>

+		<MAXHEADERSIZE>5120</MAXHEADERSIZE>

+	</LIMITS><PUBLICKEY>VbOg1CGbCRQuQmDdJu7VEbVObj8xxTz3DBkj0I4qX2430HWlCWuleQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>k7W8US0uNGzlL2TKDWcMHhQEMkAKPp0QSU+cu0DuuPxJ3p6HUYaDZA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>2695</AUTH_ID><PUBLICKEY>3JwjYFj2GuZrhCAshbYFNjgb9g2pl2j0nR8PR2rqyk4iIARZrN4GOQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>U/0OkXwkzkCBmOyuE9BAnxs3yHuGodfnpw/QyqUfVc2GbN2EP41OCQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>iCWGAEStZdbKH1OYrXLqSnMBZQOBx6P4mVnYKKu94Zq2ohh00BQlGA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+
+Device description WMPInfo.xml file:
+<DeviceInfo>

+    <WMP DeviceID="{DE25BD8B-0F7E-4DA2-A3DD-52BDE52DF67F}" RelationshipID="{00000000-0000-0000-0000-000000000000}"/>

+</DeviceInfo>

+
+OK.
+
+ 	  	 
diff --git a/logs/mtp-detect-sandisk-sansa-clip.txt b/logs/mtp-detect-sandisk-sansa-clip.txt
new file mode 100644
index 0000000..8e62429
--- /dev/null
+++ b/logs/mtp-detect-sandisk-sansa-clip.txt
@@ -0,0 +1,322 @@
+libmtp version: 0.2.1
+
+Attempting to connect device(s)
+PTP: Opening session
+Detect: Successfully connected 1 devices
+USB low-level info:
+  Using kernel interface "usbfs"
+  bcdUSB: 512
+  bDeviceClass: 0
+  bDeviceSubClass: 0
+  bDeviceProtocol: 0
+  idVendor: 0781
+  idProduct: 7432
+  IN endpoint maxpacket: 512 bytes
+  OUT endpoint maxpacket: 512 bytes
+  Device flags: 0x00000006
+Microsoft device descriptor 0xee:
+       0000: 1203 4d00 5300 4600 5400 3100 3000 3000   ..M.S.F.T.1.0.0.
+       0010: fe00                                      ..
+Microsoft device response to control message 1, CMD 0xfe:
+       0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............
+       0010: 0001 4d54 5000 0000 0000 0000 0000 0000   ..MTP...........
+       0020: 0000 0000 0000 0000                       ........
+Microsoft device response to control message 2, CMD 0xfe:
+       0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............
+       0010: 0001 4d54 5000 0000 0000 0000 0000 0000   ..MTP...........
+       0020: 0000 0000 0000 0000                       ........
+Device info:
+  Manufacturer: SanDisk
+  Model: Sansa Clip 1GB
+  Device version: v01.01.11A
+  Serial number: 5005C70A4142B4890000000000000000
+  Vendor extension ID: 0x00000006
+  Vendor extension description: microsoft.com/WMDRMPD: 10.1; audible.com: 1.0;
+Supported operations:
+  1001: get device info
+  1002: Open session
+  1003: Close session
+  1004: Get storage IDs
+  1005: Get storage info
+  1006: Get number of objects
+  1007: Get object handles
+  1008: Get object info
+  1009: Get object
+  100b: Delete object
+  100c: Send object info
+  100d: Send object
+  100f: Format storage
+  1014: Get device property description
+  1015: Get device property value
+  1016: Set device property value
+  1017: Reset device property value
+  101b: Get partial object
+  9101: Get secure time challenge
+  9102: Get secure time response
+  9103: Set license response
+  9104: Get sync list
+  9105: Send meter challenge query
+  9106: Get meter challenge
+  9107: Get meter response
+  9108: Clean data store
+  9109: Get license state
+  910a: Send WMDRM-PD Command
+  910b: Send WMDRM-PD Request
+  9201: Report Added/Deleted Items
+  9801: Get object properties supported
+  9802: Get object property description
+  9803: Get object property value
+  9804: Set object property value
+  9805: Get object property list
+  9810: Get object references
+  9811: Set object references
+Events supported:
+  0x4006
+Device Properties Supported:
+  0x5001: Battery Level
+  0x5002: Functional Mode
+  0xd100: Unknown property
+  0xd101: Secure Time
+  0xd102: Device Certificate
+  0xd401: Synchronization Partner
+  0xd402: Device Friendly Name
+Playable File (Object) Types and Object Properties Supported:
+  3000: Undefined Type
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc47: DateAuthored STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+  3001: Association/Directory
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc47: DateAuthored STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+  3008: MS Wave
+     d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc42: SyncID STRING data type GET/SET
+     dc44: Name STRING data type GET/SET
+     dc46: Artist STRING data type GET/SET
+     dc47: DateAuthored STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc89: Duration UINT32 data type range: MIN 0, MAX 134217727, STEP 1 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 1, MAX 100, STEP 1 GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+     dc9b: AlbumArtist STRING data type GET/SET
+     de92: BitRateType UINT16 data type enumeration: 2,  GET/SET
+     de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 GET/SET
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+     de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 9, 50, 80, 85, 352, 353, 354,  READ ONLY
+     de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+  3009: MP3
+     d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc42: SyncID STRING data type GET/SET
+     dc44: Name STRING data type GET/SET
+     dc46: Artist STRING data type GET/SET
+     dc47: DateAuthored STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc89: Duration UINT32 data type range: MIN 0, MAX 134217727, STEP 1 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 1, MAX 100, STEP 1 GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+     dc9b: AlbumArtist STRING data type GET/SET
+     de92: BitRateType UINT16 data type enumeration: 2,  GET/SET
+     de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 GET/SET
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+     de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 9, 50, 80, 85, 352, 353, 354,  READ ONLY
+     de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+  300c: ASF
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc47: DateAuthored STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+  b901: WMA
+     d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc42: SyncID STRING data type GET/SET
+     dc44: Name STRING data type GET/SET
+     dc46: Artist STRING data type GET/SET
+     dc47: DateAuthored STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc89: Duration UINT32 data type range: MIN 0, MAX 134217727, STEP 1 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 1, MAX 100, STEP 1 GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+     dc9b: AlbumArtist STRING data type GET/SET
+     de92: BitRateType UINT16 data type enumeration: 2,  GET/SET
+     de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 GET/SET
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+     de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 9, 50, 80, 85, 352, 353, 354,  READ ONLY
+     de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+  b904: Audible.com Codec
+     da00: unknown(da00) UINT32 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7, 8,  GET/SET
+     da01: unknown(da01) STRING data type GET/SET
+     da02: unknown(da02) UINT32 data type ANY 32BIT VALUE form READ ONLY
+     da03: unknown(da03) UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc46: Artist STRING data type GET/SET
+     dc47: DateAuthored STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc89: Duration UINT32 data type range: MIN 0, MAX 134217727, STEP 1 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 1, MAX 100, STEP 1 GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+     dc9b: AlbumArtist STRING data type GET/SET
+     de92: BitRateType UINT16 data type enumeration: 2,  GET/SET
+     de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 GET/SET
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+     de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 9, 50, 80, 85, 352, 353, 354,  READ ONLY
+     de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+  ba03: Abstract Audio Album
+     d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc42: SyncID STRING data type GET/SET
+     dc44: Name STRING data type GET/SET
+     dc47: DateAuthored STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc8a: Rating UINT16 data type range: MIN 1, MAX 100, STEP 1 GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc9b: AlbumArtist STRING data type GET/SET
+  ba05: Abstract Audio Video Playlist
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc47: DateAuthored STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+  ba11: M3U Playlist
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc47: DateAuthored STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+  StorageID: 0x00010001
+     StorageType: 0x0003
+     FilesystemType: 0x0002
+     AccessCapability: 0x0000
+     MaxCapacity: 1012383744
+     FreeSpaceInBytes: 596164608
+     FreeSpaceInObjects: 4294967156
+     StorageDescription: Internal Memory
+     VolumeIdentifier: 5005C70A4142B489
+Special directories:
+  Default music folder: 0x00000004
+  Default playlist folder: 0x00000009
+  Default picture folder: 0x00000000
+  Default video folder: 0x00000000
+  Default organizer folder: 0x00000000
+  Default zencast folder: 0x00000000
+  Default album folder: 0x00000013
+  Default text folder: 0x00000000
+MTP-specific device properties:
+  Friendly name: Sansa Clip 1GB
+  Synchronization partner: Unknown Partner
+  Battery level 60 of 100 (60%)
+libmtp supported (playable) filetypes:
+  RIFF WAVE file
+  ISO MPEG-1 Audio Layer 3
+  Microsoft Advanced Systems Format
+  Microsoft Windows Media Audio
+  Audible.com Audio Codec
+Unable to acquire device certificate, perhaps this device does not support this
+Error 2: PTP Layer error a101: get_device_unicode_property(): failed
+to get unicode property.
+Error 2: (Look this up in ptp.h for an explanation.)
diff --git a/logs/mtp-detect-sandisk-sansa-connect.txt b/logs/mtp-detect-sandisk-sansa-connect.txt
new file mode 100644
index 0000000..c99f30c
--- /dev/null
+++ b/logs/mtp-detect-sandisk-sansa-connect.txt
@@ -0,0 +1,244 @@
+Potential MTP Device with VendorID:0781 and ProductID:7480 responded to
+control message 2 with a response that was too short. Problems may arrise
+but continuing
+PTP: Opening session
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0781
+   idProduct: 7480
+   IN endpoint maxpacket: 64 bytes
+   OUT endpoint maxpacket: 64 bytes
+   Device flags: 0x00000002
+Device info:
+   Manufacturer: SanDisk
+   Model: Sansa Connect
+   Device version: 0.002a
+   Serial number: <snip>
+   Vendor extension ID: 0x00000006
+   Vendor extension description:  microsoft.com/WMDRMPD: 10.1;
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9805: Get object property list
+   9804: Set object property value
+   9807: Get interdependent property description
+   4001: Unknown(4001)
+   9810: Get object references
+   9811: Set object references
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   100f: Format storage
+   9806: Set object property list
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd402: Device Friendly Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   b901: WMA
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc49: URLReference STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 15918, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 9, 50, 80, 85, 352, 353, 354,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 32000, MAX 192000, STEP 1 READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 1, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc8f: SubscriptionContentID STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+   ba03: Abstract Audio Album
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 65536, STEP 1 READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 88, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 88, STEP 1 READ ONLY
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+   3000: Undefined Type
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+   3001: Association/Directory
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+   3009: MP3
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 9, 50, 80, 85, 352, 353, 354,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 32000, MAX 320000, STEP 1 READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 1, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc96: Composer STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+   3801: JPEG
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc88: Height UINT32 data type ANY 32BIT VALUE form GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 3629608960
+      FreeSpaceInBytes: 2528118784
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Internal Memory
+      VolumeIdentifier: 
+Special directories:
+   Default music folder: 0x01000000
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: Sansa Connect
+   Synchronization partner: (NULL)
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   Microsoft Windows Media Audio
+   ISO MPEG-1 Audio Layer 3
+   JPEG file
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20070625
+21:23:41Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID
+private="1">MDAzNTBjZGEwY2Q5NDc3NmY1ZTdkYjNiMDMwMDZjMjA=</UNIQUEID><PUBLICKEY
+private="1">N1UNmgK1Q91d+o6jTz1XYeslBBM/4vxftlmeqYP283U853zBDAsXfQ==</PUBLICKEY><KEYDATA>Hh2dgQ6Lf/GmgDqYq/PG170vQyU=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>v/q8lIrrzkrGnEzqrhVU/jRyyS3jDBZa/6cMPRMOlHwy4A54ZdXVLQ==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>L4RaI0MqkghSlXOmxdj2vM8pLeU=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.106.183</SECURITYVERSION><CERTIFICATE
+private="1">N1UNmgK1Q91d+o6jTz1XYeslBBM/4vxftlmeqYP283U853zBDAsXfQIEarfnTGArHCv/vfxqC5o1UXrJi39tCh0QhCsFK7SUxyPYqJHv5WmflQh6</CERTIFICATE></FALLBACK><CERTIFICATE
+type="GROUP"><DATA><NAME>Sansa</NAME>
+    <MANUFACTURER>SanDisk</MANUFACTURER>
+    <MODEL>Connect Series</MODEL>
+    <SECURITYLEVEL>2000</SECURITYLEVEL>
+    <HARDWARE_VER_MAJOR>0</HARDWARE_VER_MAJOR>
+    <HARDWARE_VER_MINOR>9</HARDWARE_VER_MINOR>
+    <FIRMWARE_VER_MAJOR>0</FIRMWARE_VER_MAJOR>
+    <FIRMWARE_VER_MINOR>9</FIRMWARE_VER_MINOR>
+    <FEATURES>
+        <CLOCK>2</CLOCK>
+        <SECURECLOCK>
+            <URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL>
+           
+<PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY>
+        </SECURECLOCK>
+        <METERING>1</METERING>
+        <LICENSE_ACQ>1</LICENSE_ACQ>
+        <LICENSE_SYNC>1</LICENSE_SYNC>
+        <ENCRYPTION>1</ENCRYPTION>
+        <SYMMETRIC_OPT>1</SYMMETRIC_OPT>
+    </FEATURES>
+    <LIMITS>
+        <MAXCHAINDEPTH>2</MAXCHAINDEPTH>
+        <MAXLICENSESIZE>10240</MAXLICENSESIZE>
+        <MAXHEADERSIZE>5120</MAXHEADERSIZE>
+   
+</LIMITS><PUBLICKEY>YMqDiUgOnJSZmC9X4W3Eqq+inhOIlQ7pk7ll0Ar5XY3hdDFFgma/Kw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>uoDlFYjjCQf5DlrrwEurDh6HEVYWLG3M8z+WPlnSmWI7wnbIESf9Nw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1563</AUTH_ID><PUBLICKEY>87ckEfUSAqzNZAoq2ByX+r4+31AbrSbpViMLb5Wpzbg+DMjG3gZATw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>5zo0gyvJqB8Kf1Lyc5Lym7dBUXzOSc3r7XKCNsHV3NdZuN+dJawlXw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>F/KiuSv+WSgoRpJjpL7Pe4Hw8IBHtod15X0uvXASBgnechDgNTDpgg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+WMPInfo.xml Does not exist on this device
+PTP: Closing session
+OK.
diff --git a/logs/mtp-detect-sandisk-sansa-e250.txt b/logs/mtp-detect-sandisk-sansa-e250.txt
new file mode 100644
index 0000000..259fcf8
--- /dev/null
+++ b/logs/mtp-detect-sandisk-sansa-e250.txt
@@ -0,0 +1,363 @@
+libmtp version: 1.1.2
+
+Listing raw device(s)
+   Found 1 device(s):
+   SanDisk: Sansa e200/e250/e260/e270/e280 (0781:7420) @ bus 1, dev 4
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "dummy"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0781
+   idProduct: 7420
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 4
+      Device entry info:
+         Vendor: SanDisk
+         Vendor id: 0x0781
+         Product: Sansa e200/e250/e260/e270/e280
+         Vendor id: 0x7420
+         Device flags: 0x00004043
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: fe00 2d00 3000 3000 3000 3000 3000 3000	..-.0.0.0.0.0.0.
+	0020: 3000 3000 2d00 3000 3000 3000 3000 3000	0.0.-.0.0.0.0.0.
+	0030: 3000 3000 3000 2d00 3000 3000 3000 3000	0.0.0.-.0.0.0.0.
+	0040: 3000 3000 3000 3000 2d00 3000 3000 3000	0.0.0.0.-.0.0.0.
+	0050: 3000 3000 3000 3000 3000 0000 0000 0000	0.0.0.0.0.......
+	0060: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0070: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0080: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0090: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	00a0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	00b0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	00c0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	00d0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	00e0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	00f0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0100: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0110: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0120: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0130: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0140: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0150: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0160: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0170: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0180: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0190: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	01a0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	01b0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	01c0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	01d0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	01e0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	01f0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0200: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0210: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0220: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0230: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0240: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0250: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0260: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0270: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0280: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0290: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	02a0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	02b0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	02c0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	02d0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	02e0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	02f0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0300: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0310: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0320: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0330: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0340: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0350: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0360: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0370: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0380: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0390: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	03a0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	03b0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	03c0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	03d0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	03e0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	03f0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+Microsoft device response to control message 1, CMD 0xfe:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000 3000 3000 3000 3000	........0.0.0.0.
+	0030: 3000 3000 3000 2d00 3000 3000 3000 3000	0.0.0.-.0.0.0.0.
+	0040: 3000 3000 3000 3000 2d00 3000 3000 3000	0.0.0.0.-.0.0.0.
+	0050: 3000 3000 3000 3000 3000 0000 0000 0000	0.0.0.0.0.......
+	0060: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0070: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0080: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0090: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	00a0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	00b0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	00c0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	00d0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	00e0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	00f0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0100: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0110: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0120: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0130: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0140: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0150: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0160: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0170: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0180: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0190: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	01a0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	01b0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	01c0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	01d0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	01e0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	01f0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0200: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0210: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0220: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0230: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0240: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0250: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0260: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0270: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0280: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0290: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	02a0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	02b0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	02c0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	02d0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	02e0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	02f0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0300: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0310: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0320: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0330: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0340: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0350: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0360: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0370: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0380: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	0390: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	03a0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	03b0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	03c0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	03d0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	03e0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+	03f0: 0000 0000 0000 0000 0000 0000 0000 0000	................
+Device responds to control message 2 with some data.
+Device info:
+   Manufacturer: SanDisk
+   Model: Sansa e250
+   Device version: PP5022AF-05.51-S301-00.12-S301.00.12E-D, (Build 169.20)
+   Serial number: 00000000-00000000-00000000-00000000-00000000
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/WMDRMPD: 10.1; portalplayer.com: 1.0; 
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com/WMDRMPD: 10.1
+        portalplayer.com: 1.0
+Supported operations:
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   101b: Get partial object
+   100c: Send object info
+   100d: Send object
+   100b: Delete object
+   1012: Set object protection
+   100f: Format storage
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+Playable File (Object) Types and Object Properties Supported:
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 1500000, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 50 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 1500000, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 50 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 220, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 176, STEP 1 READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc04: Object Size UINT64 data type READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 1500000, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 96000, STEP 50 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353,  GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 1980977924
+      FreeSpaceInBytes: 177718020
+      FreeSpaceInObjects: 2888
+      StorageDescription: PPI NAND
+      VolumeIdentifier: VOL0_SANSA_E250_00000000-00000000-00000000-00000000-00000000
+Special directories:
+   Default music folder: 0x00050000
+   Default playlist folder: 0x00070000
+   Default picture folder: 0x00080000
+   Default video folder: 0x000a0000
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Sansa e250
+   Synchronization partner: 
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   Folder
+   ISO MPEG-1 Audio Layer 3
+   RIFF WAVE file
+   Abstract Playlist file
+   Abstract Album file
+   Microsoft Windows Media Audio
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#19850722 12:03:42Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>
+OK.
diff --git a/logs/mtp-detect-sandisk-sansa-e260.txt b/logs/mtp-detect-sandisk-sansa-e260.txt
new file mode 100644
index 0000000..ed78b48
--- /dev/null
+++ b/logs/mtp-detect-sandisk-sansa-e260.txt
@@ -0,0 +1,253 @@
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   bMaxPacketSize0: 64
+   idVendor: 0781
+   idProduct: 7420
+Device info:
+   Manufacturer: SanDisk
+   Model: Sansa e260
+   Device version: PP5022AF-05.51-S301-00.12-S301.00.12A-D, (Build 169.20)
+   Serial number: 00000000-00000000-0319b387-edfbf414-00000000
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/WMDRMPD:10.1; portalplayer.com: 1.0; 
+Supported operations:
+   0x1014
+   0x1015
+   0x1016
+   0x1017
+   0x1001
+   0x1002
+   0x1003
+   0x1004
+   0x1005
+   0x1006
+   0x1007
+   0x1008
+   0x1009
+   0x101b
+   0x100c
+   0x100d
+   0x100b
+   0x1012
+   0x100f
+   0x9801
+   0x9802
+   0x9803
+   0x9804
+   0x9805
+   0x9806
+   0x9810
+   0x9811
+   0x9201
+   0x9101
+   0x9102
+   0x9103
+   0x9104
+   0x9105
+   0x9106
+   0x9107
+   0x9108
+   0x9109
+   0x910a
+   0x910b
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd401: Synchronization Partner
+   0xd402: Device Friendly Name
+Playable File (Object) Types and Object Properties Supported:
+   3001: Association/Directory
+      dc01: StorageID
+      dc0b: ParentObject
+      dc07: ObjectFileName
+      dc04: ObjectSize
+      dc02: ObjectFormat
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+      dc03: ProtectionStatus
+      dc09: DateModified
+   3009: MP3
+      dc01: StorageID
+      dc0b: ParentObject
+      dc07: ObjectFileName
+      dc04: ObjectSize
+      dc02: ObjectFormat
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc03: ProtectionStatus
+      dc09: DateModified
+      dc8b: Track
+      dc99: OriginalReleaseDate
+      dc0a: Keywords
+      dc44: Name
+      dc46: Artist
+      dc8c: Genre
+      dc9a: AlbumName
+      dc89: Duration
+      de9a: AudioBitRate
+      de93: SampleRate
+      de94: NumberOfChannels
+      dc8a: Rating
+      dc91: UseCount
+      d901: unknown(d901)
+   3008: MS Wave
+      dc01: StorageID
+      dc0b: ParentObject
+      dc07: ObjectFileName
+      dc04: ObjectSize
+      dc02: ObjectFormat
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc03: ProtectionStatus
+      dc09: DateModified
+      dc8b: Track
+      dc99: OriginalReleaseDate
+      dc0a: Keywords
+      dc44: Name
+      dc46: Artist
+      dc8c: Genre
+      dc9a: AlbumName
+      dc89: Duration
+      de9a: AudioBitRate
+      de93: SampleRate
+      de94: NumberOfChannels
+      dc8a: Rating
+      dc91: UseCount
+      d901: unknown(d901)
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID
+      dc0b: ParentObject
+      dc07: ObjectFileName
+      dc04: ObjectSize
+      dc02: ObjectFormat
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+      dc03: ProtectionStatus
+      dc09: DateModified
+   ba03: Abstract Audio Album
+      dc01: StorageID
+      dc0b: ParentObject
+      dc07: ObjectFileName
+      dc04: ObjectSize
+      dc02: ObjectFormat
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc03: ProtectionStatus
+      dc09: DateModified
+      dc0a: Keywords
+      dc44: Name
+      dc46: Artist
+      dc8c: Genre
+      dc81: RepresentativeSampleFormat
+      dc86: RepresentativeSampleData
+      dc83: RepresentativeSampleHeight
+      dc84: RepresentativeSampleWidth
+   b901: WMA
+      dc01: StorageID
+      dc0b: ParentObject
+      dc07: ObjectFileName
+      dc04: ObjectSize
+      dc02: ObjectFormat
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc03: ProtectionStatus
+      dc09: DateModified
+      dc8b: Track
+      dc99: OriginalReleaseDate
+      dc0a: Keywords
+      dc44: Name
+      dc46: Artist
+      dc8c: Genre
+      dc9a: AlbumName
+      dc89: Duration
+      de9a: AudioBitRate
+      de93: SampleRate
+      de94: NumberOfChannels
+      de99: AudioWAVECodec
+      dc8a: Rating
+      dc91: UseCount
+      d901: unknown(d901)
+Special directories:
+   Default music folder: 0x00000000
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+MTP-specific device properties:
+   Owner name: Sansa e260
+   Total bytes on device: 3988194052 (3803 MB)
+   Free bytes on device: 2961216260 (2824 MB)
+   Storage description: "PPI NAND"
+   Volume label: "VOL0_Sansa_e260_00000000-00000000-0319b387-edfbf414-00000000"
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   ISO MPEG Audio Layer 3
+   RIFF WAVE file
+   Microsoft Windows Media Audio
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20060627
+15:57:48Z#</VALUE><FLAG>DRM_CLK_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE
+type="DEVICE"><DATA><UNIQUEID
+private="1">AAAAAAAAAACHsxkDFPT77QAAAAA=</UNIQUEID><PUBLICKEY
+private="1">AR66YamKIBXU+DTH1c3Hp6N+QAMww7WW3RY1CROIPppe4olxuaFEPw==</PUBLIC
+KEY><KEYDATA>+b8713YcGKFtxiQfdPJiC56hgYY=</KEYDATA></DATA><MSDRM_SIGNATURE_V
+ALUE>2SmZjpj7YN1KbN3vVJ3P3e0Z0knd6Cwl8e4ckVIS2DbMdlnPd21OJg==</MSDRM_SIGNATU
+RE_VALUE><SYMSIGNATURE>myYX8w0j3LJ3ps9rtSFOSDb4gY4=</SYMSIGNATURE></CERTIFIC
+ATE><FALLBACK><SECURITYVERSION>2.4.104.93</SECURITYVERSION><CERTIFICATE
+private="1">AR66YamKIBXU+DTH1c3Hp6N+QAMww7WW3RY1CROIPppe4olxuaFEPwIEaF3ImuAp
+oRMryFIUqED6nkYnGenqOCshcvAMIe7siWZZFHpJZAlHGYJ3</CERTIFICATE></FALLBACK><CE
+RTIFICATE
+type="GROUP"><DATA><NAME>Sansa e200 Series</NAME>
+   <MANUFACTURER>SanDisk Corporation</MANUFACTURER>
+   <MAKE>MicroStar Internatioal</MAKE>
+   <SECURITYLEVEL>2000</SECURITYLEVEL>
+   <FEATURES>
+        <CLOCK>2</CLOCK>
+          <SECURECLOCK>
+                <URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL>
+                <PUBLICKEY>
+!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==
+</PUBLICKEY>
+          </SECURECLOCK>
+        <METERING>1</METERING>
+        <LICENSE_ACQ>1</LICENSE_ACQ>
+        <LICENSE_SYNC>1</LICENSE_SYNC>
+        <ENCRYPTION>1</ENCRYPTION>
+    <SYMMETRIC_OPT>1</SYMMETRIC_OPT>
+    </FEATURES>
+    <LIMITS>
+        <MAXCHAINDEPTH>2</MAXCHAINDEPTH>
+        <MAXLICENSESIZE>10240</MAXLICENSESIZE>
+        <MAXHEADERSIZE>5120</MAXHEADERSIZE>
+   
+</LIMITS><PUBLICKEY>n4ahYQBHQ72FRfkzvy7BruWYDSilgfObLpzG0M8SNcfDGWvJhvbrhA==
+</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>lB5HvVHvcXLb0QiYfskM3Wu0eXtx9Tw0QI
+iCoKLhBIer0k3ablA4Zg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>961</
+AUTH_ID><PUBLICKEY>vjU5IwzlqSww/T8ihHxTDmbw1hVeXXG8oNVvgBBYFinhSvQ1e0gNEQ==<
+/PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>3DU5omHe8sFqztXjYZ9vNr2/DkLabfYH5VI
+fWrf+XXA+RNASNDpnTg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOg
+ktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATU
+RE_VALUE>sw5Aa1lOYIBJ6TcDvUa1Dxd2HicA66aj6r/YW2pFvx9L8Oiy/zawbQ==</MSDRM_SIG
+NATURE_VALUE></CERTIFICATE></DEVCERT>
+
+Device description WMPInfo.xml file:
+<DeviceInfo>
+    <WMP
+DeviceID="{127324EE-2106-4B27-BA8B-F3208325037E}"
+RelationshipID="{0282FE0B-E1AE-48ED-B630-7F801A3B147B}"/>
+</DeviceInfo>
diff --git a/logs/mtp-detect-sandisk-sansa-e270.txt b/logs/mtp-detect-sandisk-sansa-e270.txt
new file mode 100644
index 0000000..a260ed8
--- /dev/null
+++ b/logs/mtp-detect-sandisk-sansa-e270.txt
@@ -0,0 +1,246 @@
+Attempting to connect device(s)
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0781
+   idProduct: 7420
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000002
+Device info:
+   Manufacturer: SanDisk
+   Model: Sansa e270
+   Device version: PP5022AF-05.51-S301-02.18-S301.02.18E-D, (Build 32.10)
+   Serial number: 00000000-00000000-3224b387-d925f515-00000000
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/WMDRMPD: 10.1; portalplayer.com: 1.0; 
+Supported operations:
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   101b: Get partial object
+   100c: Send object info
+   100d: Send object
+   100b: Delete object
+   1012: Set object protection
+   100f: Format storage
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd401: Synchronization Partner
+   0xd402: Device Friendly Name
+Playable File (Object) Types and Object Properties Supported:
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc09: DateModified STRING data type GET/SET
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc09: DateModified STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 1500000, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 96000, STEP 50 GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+   3008: MS Wave
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc09: DateModified STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 1500000, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 96000, STEP 50 GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc09: DateModified STRING data type GET/SET
+   ba03: Abstract Audio Album
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc09: DateModified STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 220, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 176, STEP 1 READ ONLY
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc09: DateModified STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 1500000, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 96000, STEP 50 GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 353,  GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 5991725124
+      FreeSpaceInBytes: 345147460
+      FreeSpaceInObjects: 4090
+      StorageDescription: PPI NAND
+      VolumeIdentifier: VOL0_Sansa_e270_00000000-00000000-3224b387-d925f515-00000000
+Special directories:
+   Default music folder: 0x00020000
+   Default playlist folder: 0x00060000
+   Default picture folder: 0x00070000
+   Default video folder: 0x00040000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: Sansa e270
+   Synchronization partner: 
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   RIFF WAVE file
+   Microsoft Windows Media Audio
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20070607 19:34:14Z#</VALUE><FLAG>DRM_CLK_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">AAAAAAAAAACHsyQyFfUl2QAAAAA=</UNIQUEID><PUBLICKEY private="1">FCkWyEPukCI5BS31jSFZIjyxyGPKFZoslaf6ufe1wlu/a4V3RHHyJw==</PUBLICKEY><KEYDATA>mUERJ1Tli0xgqIHLOYg2PSiAAvI=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>hce/atRvbjgVknKf9H0OVMfg222M5fcG3JirdiF9S78jW10xPQf5Aw==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>8TaelROuKRPMuILqWmCbtRIe3Ow=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.104.93</SECURITYVERSION><CERTIFICATE private="1">FCkWyEPukCI5BS31jSFZIjyxyGPKFZoslaf6ufe1wlu/a4V3RHHyJwIEaF1/wXbrw+RKpSIfecQ1RV8hWwQSQz1fp6sF4VhcXwDA1X2jQ9287YB8</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>Sansa e200 Series</NAME>

+   <MANUFACTURER>SanDisk Corporation</MANUFACTURER>

+   <MAKE>MicroStar Internatioal</MAKE>

+   <SECURITYLEVEL>2000</SECURITYLEVEL>

+   <FEATURES>

+        <CLOCK>2</CLOCK>

+	  <SECURECLOCK>

+		<URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL>

+		<PUBLICKEY>

+!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==

+</PUBLICKEY>

+	  </SECURECLOCK>

+        <METERING>1</METERING>

+        <LICENSE_ACQ>1</LICENSE_ACQ>

+        <LICENSE_SYNC>1</LICENSE_SYNC>

+        <ENCRYPTION>1</ENCRYPTION>

+    <SYMMETRIC_OPT>1</SYMMETRIC_OPT>

+    </FEATURES>

+    <LIMITS>

+        <MAXCHAINDEPTH>2</MAXCHAINDEPTH>

+        <MAXLICENSESIZE>10240</MAXLICENSESIZE>

+        <MAXHEADERSIZE>5120</MAXHEADERSIZE>

+    </LIMITS><PUBLICKEY>n4ahYQBHQ72FRfkzvy7BruWYDSilgfObLpzG0M8SNcfDGWvJhvbrhA==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>lB5HvVHvcXLb0QiYfskM3Wu0eXtx9Tw0QIiCoKLhBIer0k3ablA4Zg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>961</AUTH_ID><PUBLICKEY>vjU5IwzlqSww/T8ihHxTDmbw1hVeXXG8oNVvgBBYFinhSvQ1e0gNEQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>3DU5omHe8sFqztXjYZ9vNr2/DkLabfYH5VIfWrf+XXA+RNASNDpnTg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>sw5Aa1lOYIBJ6TcDvUa1Dxd2HicA66aj6r/YW2pFvx9L8Oiy/zawbQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+
+Device description WMPInfo.xml file:
+<DeviceInfo>

+    <WMP DeviceID="{7C48990D-8196-4700-B113-9135FB82E08A}" RelationshipID="{00000000-0000-0000-0000-000000000000}"/>

+</DeviceInfo>

+
+OK.
+
+ 	  	 
diff --git a/logs/mtp-detect-sandisk-sansa-e280.txt b/logs/mtp-detect-sandisk-sansa-e280.txt
new file mode 100644
index 0000000..cb96064
--- /dev/null
+++ b/logs/mtp-detect-sandisk-sansa-e280.txt
@@ -0,0 +1,251 @@
+This is not a Microsoft MTP descriptor...
+Device response to read device property 0xee:
+	fffffff0: 00ff ff00 001f 1e1d 1c1b 1a19 1817 1615	................
+	0000: 1413 1211 100f 0e0d 0c0b 0a09 0807 0605	................
+	0010: 0403 0201 9ece ffff ffff ffff ffff ffff	................
+	0020: ffff ffff ffff ffff ffff ffff ffff ffff	................
+	0030: ffff ffff ffff ffff ffff ffff ffff ffff	................
+	0040: ffff ffff ffff ffff ffff ffff ffff ffff	................
+	0050: ff90 0201 010b 0322 0601 0f0f 0005 0f00	......."........
+	0060: b40e 0310 0f00 081f 0001 1f00 370f 0022	............7.."
+	0070: 0f0c 0c0f 0236 0fde ee00 04b0 0002 0001	.....6..........
+	0080: 5502 d000 04b0 0258 c348 0000 0000 0000	U......X.H......
+	0090: 00                                     	.
+Autodetected device "SanDisk Sansa e200" (VID=0781,PID=7420) is known.
+Connected to MTP device.
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0781
+   idProduct: 7420
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000000
+Device info:
+   Manufacturer: SanDisk
+   Model: Sansa e280
+   Device version: PP5022AF-05.51-S301-02.18-S301.02.18A-D, (Build 32.10)
+   Serial number: 00000000-00000000-3978b387-d9fdf912-00000000
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/WMDRMPD: 10.1; portalplayer.com: 1.0; 
+Supported operations:
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   101b: Get partial object
+   100c: Send object info
+   100d: Send object
+   100b: Delete object
+   1012: Set object protection
+   100f: Format storage
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd401: Synchronization Partner
+   0xd402: Device Friendly Name
+Playable File (Object) Types and Object Properties Supported:
+   3001: Association/Directory
+      dc01: StorageID
+      dc0b: ParentObject
+      dc07: ObjectFileName
+      dc04: ObjectSize
+      dc02: ObjectFormat
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+      dc03: ProtectionStatus
+      dc09: DateModified
+   3009: MP3
+      dc01: StorageID
+      dc0b: ParentObject
+      dc07: ObjectFileName
+      dc04: ObjectSize
+      dc02: ObjectFormat
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc03: ProtectionStatus
+      dc09: DateModified
+      dc8b: Track
+      dc99: OriginalReleaseDate
+      dc0a: Keywords
+      dc44: Name
+      dc46: Artist
+      dc8c: Genre
+      dc9a: AlbumName
+      dc89: Duration
+      de9a: AudioBitRate
+      de93: SampleRate
+      de94: NumberOfChannels
+      dc8a: Rating
+      dc91: UseCount
+      d901: BuyFlag
+   3008: MS Wave
+      dc01: StorageID
+      dc0b: ParentObject
+      dc07: ObjectFileName
+      dc04: ObjectSize
+      dc02: ObjectFormat
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc03: ProtectionStatus
+      dc09: DateModified
+      dc8b: Track
+      dc99: OriginalReleaseDate
+      dc0a: Keywords
+      dc44: Name
+      dc46: Artist
+      dc8c: Genre
+      dc9a: AlbumName
+      dc89: Duration
+      de9a: AudioBitRate
+      de93: SampleRate
+      de94: NumberOfChannels
+      dc8a: Rating
+      dc91: UseCount
+      d901: BuyFlag
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID
+      dc0b: ParentObject
+      dc07: ObjectFileName
+      dc04: ObjectSize
+      dc02: ObjectFormat
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+      dc03: ProtectionStatus
+      dc09: DateModified
+   ba03: Abstract Audio Album
+      dc01: StorageID
+      dc0b: ParentObject
+      dc07: ObjectFileName
+      dc04: ObjectSize
+      dc02: ObjectFormat
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc03: ProtectionStatus
+      dc09: DateModified
+      dc0a: Keywords
+      dc44: Name
+      dc46: Artist
+      dc8c: Genre
+      dc81: RepresentativeSampleFormat
+      dc86: RepresentativeSampleData
+      dc83: RepresentativeSampleHeight
+      dc84: RepresentativeSampleWidth
+   b901: WMA
+      dc01: StorageID
+      dc0b: ParentObject
+      dc07: ObjectFileName
+      dc04: ObjectSize
+      dc02: ObjectFormat
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc03: ProtectionStatus
+      dc09: DateModified
+      dc8b: Track
+      dc99: OriginalReleaseDate
+      dc0a: Keywords
+      dc44: Name
+      dc46: Artist
+      dc8c: Genre
+      dc9a: AlbumName
+      dc89: Duration
+      de9a: AudioBitRate
+      de93: SampleRate
+      de94: NumberOfChannels
+      de99: AudioWAVECodec
+      dc8a: Rating
+      dc91: UseCount
+      d901: BuyFlag
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 7998969924
+      FreeSpaceInBytes: 7332210756
+      FreeSpaceInObjects: 4852
+      StorageDescription: PPI NAND
+      VolumeIdentifier: VOL0_Sansa_e280_00000000-00000000-3978b387-d9fdf912-00000000
+Special directories:
+   Default music folder: 0x00000000
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: sansa e280
+   Synchronization partner: (NULL)
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   RIFF WAVE file
+   Microsoft Windows Media Audio
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20070612 20:33:57Z#</VALUE><FLAG>DRM_CLK_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">AAAAAAAAAACHs3g5Evn92QAAAAA=</UNIQUEID><PUBLICKEY private="1">XBfYUExu4RJLuwN77zcT2xTkvh7T7N0magJQRAYkpknJSDnq1Or2UQ==</PUBLICKEY><KEYDATA>OgqWjYuBrpsm8wc2n4glUWNh/JA=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>7rvLVlnF84HOsB5zCfI8AhtflCjrHZ+4BEw6kPCVnFMKuXdAbLI1Qg==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>mQM969YcrKLwCguMNsbDagLb66k=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.104.93</SECURITYVERSION><CERTIFICATE private="1">XBfYUExu4RJLuwN77zcT2xTkvh7T7N0magJQRAYkpknJSDnq1Or2UQIEaF15le90TVR36HoyIGeh6ETPgoy7DLyBMQ6KzvSi40OekNHTfq2eH/kJ</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>Sansa e200 Series</NAME>

+   <MANUFACTURER>SanDisk Corporation</MANUFACTURER>

+   <MAKE>MicroStar Internatioal</MAKE>

+   <SECURITYLEVEL>2000</SECURITYLEVEL>

+   <FEATURES>

+        <CLOCK>2</CLOCK>

+	  <SECURECLOCK>

+		<URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL>

+		<PUBLICKEY>

+!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==

+</PUBLICKEY>

+	  </SECURECLOCK>

+        <METERING>1</METERING>

+        <LICENSE_ACQ>1</LICENSE_ACQ>

+        <LICENSE_SYNC>1</LICENSE_SYNC>

+        <ENCRYPTION>1</ENCRYPTION>

+    <SYMMETRIC_OPT>1</SYMMETRIC_OPT>

+    </FEATURES>

+    <LIMITS>

+        <MAXCHAINDEPTH>2</MAXCHAINDEPTH>

+        <MAXLICENSESIZE>10240</MAXLICENSESIZE>

+        <MAXHEADERSIZE>5120</MAXHEADERSIZE>

+    </LIMITS><PUBLICKEY>n4ahYQBHQ72FRfkzvy7BruWYDSilgfObLpzG0M8SNcfDGWvJhvbrhA==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>lB5HvVHvcXLb0QiYfskM3Wu0eXtx9Tw0QIiCoKLhBIer0k3ablA4Zg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>961</AUTH_ID><PUBLICKEY>vjU5IwzlqSww/T8ihHxTDmbw1hVeXXG8oNVvgBBYFinhSvQ1e0gNEQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>3DU5omHe8sFqztXjYZ9vNr2/DkLabfYH5VIfWrf+XXA+RNASNDpnTg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>sw5Aa1lOYIBJ6TcDvUa1Dxd2HicA66aj6r/YW2pFvx9L8Oiy/zawbQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+OK.
diff --git a/logs/mtp-detect-sandisk-sansa-e280v2.txt b/logs/mtp-detect-sandisk-sansa-e280v2.txt
new file mode 100644
index 0000000..d705448
--- /dev/null
+++ b/logs/mtp-detect-sandisk-sansa-e280v2.txt
@@ -0,0 +1,459 @@
+Device 0 (VID=0781 and PID=7422) is a SanDisk Sansa e260/e280 v2.
+
+libmtp version: 1.0.1
+
+Listing raw device(s)
+   Found 1 device(s):
+   SanDisk: Sansa e260/e280 v2 (0781:7422) @ bus 3, dev 17
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0781
+   idProduct: 7422
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 3
+      Device number: 17
+      Device entry info:
+         Vendor: SanDisk
+         Vendor id: 0x0781
+         Product: Sansa e260/e280 v2
+         Vendor id: 0x7422
+         Device flags: 0x00004846
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: fe00                                   	..
+Microsoft device response to control message 1, CMD 0xfe:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Microsoft device response to control message 2, CMD 0xfe:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Device responds to control message 2 with some data.
+Device info:
+   Manufacturer: SanDisk
+   Model: Sansa e260
+   Device version: v03.01.16A
+   Serial number: 990CD1184851B4870000000000000000
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/WMDRMPD: 10.1; audible.com: 1.0; microsoft.com/WMDRMND: 1.0; microsoft.com/AAVT: 1.0; 
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9170: Open Media Session
+   9171: Close Media Session
+   9172: Get Next Data Block
+   9173: Set Current Time Position
+   9180: Send Registration Request
+   9181: Get Registration Response
+   9182: Get Proximity Challenge
+   9183: Send Proximity Response
+   9184: Send WMDRM-ND License Request
+   9185: Get WMDRM-ND License Response
+   9201: Report Added/Deleted Items
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+Events supported:
+   0x4005
+   0x4004
+   0x4006
+Device Properties Supported:
+   0x5001: Battery Level
+   0x5002: Functional Mode
+   0xd100: Unknown property
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd103: Revocation Info
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+   3008: MS Wave
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 134217727, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 1, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 9, 50, 80, 85, 352, 353, 354,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+   3009: MP3
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 134217727, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 1, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 9, 50, 80, 85, 352, 353, 354,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+   300a: MS AVI
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 220, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 176, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX 134217727, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 1, MAX 100, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de95: Audio Bit Depth UINT32 data type enumeration: 8, 16, 32,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 64000, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 672000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type enumeration: 20000, 30000,  GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+   b901: WMA
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 134217727, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 1, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 9, 50, 80, 85, 352, 353, 354,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+   b904: Audible.com Codec
+      da00: Unknown property UINT32 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7, 8,  GET/SET
+      da01: Unknown property STRING data type GET/SET
+      da02: Unknown property UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da03: Unknown property UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 134217727, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 1, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 9, 50, 80, 85, 352, 353, 354,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+   ba03: Abstract Audio Album
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14343, 14337,  GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc8a: Rating UINT16 data type range: MIN 1, MAX 100, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 4072701952
+      FreeSpaceInBytes: 1333788672
+      FreeSpaceInObjects: 4294967278
+      StorageDescription: Internal Memory
+      VolumeIdentifier: 990CD1184851B487
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0x00000004
+   Default picture folder: 0xffffffff
+   Default video folder: 0x00000003
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Sansa e260
+   Synchronization partner: Unknown Partner
+   Battery level 98 of 100 (98%)
+libmtp supported (playable) filetypes:
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   Audio Video Interleave
+   Microsoft Advanced Systems Format
+   JPEG file
+   GIF bitmap file
+   Microsoft Windows Media Audio
+   Audible.com Audio Codec
+   Abstract Album file
+   Abstract Playlist file
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20090525 17:59:18Z#</VALUE><FLAG>DRM_CLK_NEEDS_REFRESH</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">blahblahblah==</UNIQUEID><PUBLICKEY private="1">blahblahbal==</PUBLICKEY><KEYDATA>blahblahblah=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>blahblahblah==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>blahblahblah=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.108.205</SECURITYVERSION><CERTIFICATE private="1">blahblahblahG43</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>E200</NAME>

+	<MANUFACTURER>SanDisk Corporation</MANUFACTURER>

+	<MAKE>Sansa</MAKE>

+	<MODEL>E200P</MODEL>

+	<SECURITYLEVEL>2000</SECURITYLEVEL>

+	<HARDWARE_VER_MAJOR>3</HARDWARE_VER_MAJOR>

+	<HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR>

+	<FIRMWARE_VER_MAJOR>3</FIRMWARE_VER_MAJOR>

+	<FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>

+

+	<SECURITYLEVEL>2000</SECURITYLEVEL>

+

+	<FEATURES>

+		<CLOCK>2</CLOCK>

+		<SECURECLOCK>

+			<URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL>

+			<PUBLICKEY>blahblahblah==</PUBLICKEY>

+		</SECURECLOCK>

+

+		<METERING>1</METERING>

+		<LICENSE_ACQ>1</LICENSE_ACQ>

+		<LICENSE_SYNC>1</LICENSE_SYNC>

+		<ENCRYPTION>1</ENCRYPTION>

+		<SYMMETRIC_OPT>1</SYMMETRIC_OPT>

+

+		<SUPPORT_REVOCATION>

+			<GUID>{blahblahblah}</GUID>

+		</SUPPORT_REVOCATION>

+

+	</FEATURES>

+

+	<LIMITS>

+		<MAXCHAINDEPTH>2</MAXCHAINDEPTH>

+		<MAXLICENSESIZE>10240</MAXLICENSESIZE>

+		<MAXHEADERSIZE>5120</MAXHEADERSIZE>

+	</LIMITS><PUBLICKEY>blahblahblah==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>blahblahblah==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>2097</AUTH_ID><PUBLICKEY>blahblahblah==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>blahblahblah==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>blahblahblah==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>blahblahblah==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+OK.
diff --git a/logs/mtp-detect-sandisk-sansa-express.txt b/logs/mtp-detect-sandisk-sansa-express.txt
new file mode 100644
index 0000000..913e631
--- /dev/null
+++ b/logs/mtp-detect-sandisk-sansa-express.txt
@@ -0,0 +1,397 @@
+Potential MTP Device with VendorID:0781 and ProductID:7460 responded to control message 2 with a response that was too short. Problems may arrise but continuing
+PTP: Opening session
+libmtp version: 0.1.5
+
+Attempting to connect device(s)
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0781
+   idProduct: 7460
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000007
+Device info:
+   Manufacturer: Sandisk
+   Model: Sansa Express
+   Device version: 01.00.15A2
+   Serial number: 0002FA9380574D150002FA9380510D97
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 10.0; microsoft.com/WMPPD: 11.0; audible.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   101b: Get partial object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   100f: Format storage
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   9203: Get type of playlists that are allowed to be transfered
+   97f1: Unknown(97f1)
+   97f2: Unknown(97f2)
+   97f3: Unknown(97f3)
+   97f4: Unknown(97f4)
+   1010: Reset device
+Events supported:
+   0x4004: Store added
+   0x4005: Store removed
+Device Properties Supported:
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd402: Device Friendly Name
+   0xd401: Synchronization Partner
+   0x5001: Battery Level
+   0xd405: Device Icon
+   0xd100: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 4300000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 80, 85,  READ ONLY
+      dc09: DateModified STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+   3008: MS Wave
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 2304000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 17,  READ ONLY
+      dc09: DateModified STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 352, 353,  READ ONLY
+      dc09: DateModified STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+   300c: ASF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 352, 353,  READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 220, STEP 1 GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 220, STEP 1 GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 0, MAX 24050, STEP 1 GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 0, 861293911,  GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 5000, MAX 385000, STEP 1 READ ONLY
+      de97: ScanDepth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  READ ONLY
+      dea1: EncodingProfile STRING data type GET/SET
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337, 14340, 14343,  GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+   3801: JPEG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337, 14340, 14343,  GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+   3807: GIF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337, 14340, 14343,  GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+   3804: BMP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337, 14340, 14343,  GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+   ba03: Abstract Audio Album
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337, 14340, 14343,  GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   b904: Audible.com Codec
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0,  READ ONLY
+      dc09: DateModified STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      da00: unknown(da00) UINT32 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7, 8,  READ ONLY
+      da02: unknown(da02) UINT32 data type ANY 32BIT VALUE form GET/SET
+      da01: unknown(da01) STRING data type READ ONLY
+      da03: unknown(da03) UINT16 data type enumeration: 0, 1,  GET/SET
+      da04: unknown(da04) UINT128 data type READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 1023002624
+      FreeSpaceInBytes: 132071424
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Internal Memory
+      VolumeIdentifier: 0002FA9380574D150002FA9380510D97
+Special directories:
+   Default music folder: 0x00000066
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: Sansa Express
+   Synchronization partner: Sansa Express
+   Battery level 129 of 129 (100%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   RIFF WAVE file
+   Microsoft Windows Media Audio
+   Microsoft Advanced Systems Format
+   JPEG file
+   GIF bitmap file
+   BMP bitmap file
+   Audible.com Audio Codec
+Unable to acquire device certificate, perhaps this device does not support this
+WMPInfo.xml Does not exist on this device
+OK.
diff --git a/logs/mtp-detect-sandisk-sansa-fuze.txt b/logs/mtp-detect-sandisk-sansa-fuze.txt
new file mode 100644
index 0000000..afcf846
--- /dev/null
+++ b/logs/mtp-detect-sandisk-sansa-fuze.txt
@@ -0,0 +1,451 @@
+libmtp version: 0.3.0
+
+Listing raw device(s)
+Found 1 device(s):
+  SanDisk: Sansa Fuze (0781:74c0) @ bus 0, dev 21
+Attempting to connect device(s)
+PTP: Opening session
+PTP_ERROR_IO: Trying again after re-initializing USB interface
+PTP: Opening session
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0781
+   idProduct: 74c0
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000041
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: fe00                                   	..
+Microsoft device response to control message 1, CMD 0xfe:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Microsoft device response to control message 2, CMD 0xfe:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Device info:
+   Manufacturer: SanDisk
+   Model: Sansa Fuze 8GB
+   Device version: v01.01.11A
+   Serial number: 500DD6017699B4910000000000000000
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/WMDRMPD: 10.1; audible.com: 1.0; microsoft.com/WMPPD:10.0microsoft.com/WMDRMND: 1.0; microsoft.com/AAVT: 1.0; 
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9170: Open Media Session
+   9171: Close Media Session
+   9172: Get Next Data Block
+   9173: Set Current Time Position
+   9180: Send Registration Request
+   9181: Get Registration Response
+   9182: Get Proximity Challenge
+   9183: Send Proximity Response
+   9184: Send WMDRM-ND License Request
+   9185: Get WMDRM-ND License Response
+   9201: Report Added/Deleted Items
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+Events supported:
+   0x4005
+   0x4004
+   0x4006
+Device Properties Supported:
+   0x5001: Battery Level
+   0x5002: Functional Mode
+   0xd100: Unknown property
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd103: Revocation Info
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc47: DateAuthored STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc47: DateAuthored STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   3008: MS Wave
+      d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc47: DateAuthored STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 134217727, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 1, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de92: BitRateType UINT16 data type enumeration: 2,  GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 9, 50, 80, 85, 352, 353, 354,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+   3009: MP3
+      d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc47: DateAuthored STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 134217727, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 1, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de92: BitRateType UINT16 data type enumeration: 2,  GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 9, 50, 80, 85, 352, 353, 354,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+   300a: MS AVI
+      d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc47: DateAuthored STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 176, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX 134217727, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 1, MAX 100, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 1, MAX 1048576, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type enumeration: 44100,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 2,  GET/SET
+      de97: ScanDepth UINT16 data type enumeration: 0,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 96000, MAX 128000, STEP 1 GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 0,  GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 1, MAX 900000, STEP 1 GET/SET
+      de9d: FramesPerThousandSeconds UINT32 data type enumeration: 20000,  GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 0, MAX 10, STEP 1 GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+   300c: ASF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc47: DateAuthored STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   3801: JPEG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc47: DateAuthored STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+   3807: GIF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc47: DateAuthored STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+   b901: WMA
+      d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc47: DateAuthored STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 134217727, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 1, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de92: BitRateType UINT16 data type enumeration: 2,  GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 9, 50, 80, 85, 352, 353, 354,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+   b904: Audible.com Codec
+      da00: unknown(da00) UINT32 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7, 8,  GET/SET
+      da01: unknown(da01) STRING data type GET/SET
+      da02: unknown(da02) UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da03: unknown(da03) UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc47: DateAuthored STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 134217727, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 1, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de92: BitRateType UINT16 data type enumeration: 2,  GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 9, 50, 80, 85, 352, 353, 354,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+   ba03: Abstract Audio Album
+      d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc47: DateAuthored STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14343, 14337,  GET/SET
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+      dc8a: Rating UINT16 data type range: MIN 1, MAX 100, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc47: DateAuthored STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   ba11: M3U Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc47: DateAuthored STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 8181055488
+      FreeSpaceInBytes: 2332852224
+      FreeSpaceInObjects: 4294965758
+      StorageDescription: Internal Memory
+      VolumeIdentifier: 500DD6017699B491
+Special directories:
+   Default music folder: 0x00000003
+   Default playlist folder: 0x00000606
+   Default picture folder: 0x00000000
+   Default video folder: 0x000005fc
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000007
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: Sansa Fuze 8GB
+   Synchronization partner: Unknown Partner
+   Battery level 65 of 100 (65%)
+libmtp supported (playable) filetypes:
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   Audio Video Interleave
+   Microsoft Advanced Systems Format
+   JPEG file
+   GIF bitmap file
+   Microsoft Windows Media Audio
+   Audible.com Audio Codec
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20080527 17:06:17Z#</VALUE><FLAG>DRM_CLK_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">NQAwADAARABEADYAMAAxADcANgA5ADkAQgA0ADkAMQAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAA==</UNIQUEID><PUBLICKEY private="1">bwrh9kn9aelh5BuOzmRAExqP5nMfSqF3cHnVosRv75A3xbmsEsiORQ==</PUBLICKEY><KEYDATA>HqQLCCGWCgy/FIG9MmRKWyn+fq4=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>TA4jdk5QuFrtvGFbONopF1It/SGVnIZFQrPWyThr20cN2Y+ySxLkMA==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>kn7EYdE2qdAFoxe1ph0yH7QTC+U=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.109.253</SECURITYVERSION><CERTIFICATE private="1">bwrh9kn9aelh5BuOzmRAExqP5nMfSqF3cHnVosRv75A3xbmsEsiORQIEbf2+BGZUFdnuvrqv+yOJ/9MAQDA0PkJ4vI4INfIUt7pHbCK4WaXFADZR</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>Coda</NAME>
+	<MANUFACTURER>SanDisk Corporation</MANUFACTURER>
+	<MAKE>Sansa</MAKE>
+	<MODEL>Sansa Coda</MODEL>
+	<SECURITYLEVEL>2000</SECURITYLEVEL>
+	<HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR>
+	<HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR>
+	<FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR>
+	<FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>
+
+	<SECURITYLEVEL>2000</SECURITYLEVEL>
+
+	<FEATURES>
+		<CLOCK>2</CLOCK>
+		<SECURECLOCK>
+			<URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL>
+			<PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY>
+		</SECURECLOCK>
+
+		<METERING>1</METERING>
+		<LICENSE_ACQ>1</LICENSE_ACQ>
+		<LICENSE_SYNC>1</LICENSE_SYNC>
+		<ENCRYPTION>1</ENCRYPTION>
+		<SYMMETRIC_OPT>1</SYMMETRIC_OPT>
+
+		<SUPPORT_REVOCATION>
+			<GUID>{CD75E604-543D-4A9C-9F09-FE6D24E8BF90}</GUID>
+		</SUPPORT_REVOCATION>
+
+	</FEATURES>
+
+	<LIMITS>
+		<MAXCHAINDEPTH>2</MAXCHAINDEPTH>
+		<MAXLICENSESIZE>10240</MAXLICENSESIZE>
+		<MAXHEADERSIZE>5120</MAXHEADERSIZE>
+	</LIMITS><PUBLICKEY>9Uf63yDlWzHH782A1WZ4LjqK+gZZUQjq6/7+Vn0HqhNQXHY+Qko2gA==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>19pYJjzpra/BhIdWV3711o4VrmCd+m2ZReTc1PBRk7VAAmNkSY8ABg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>2401</AUTH_ID><PUBLICKEY>3JwjYFj2GuZrhCAshbYFNjgb9g2pl2j0nR8PR2rqyk4iIARZrN4GOQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>e4OK/kbZXtpF1NB2f8/5OOuZmi4azIcBqar41AFC0pOaM+ZD091gZg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>zVXs6kIIvrG7d8DrLkFZVAkv5Bs/TaEyMBh27qQ9XlYCMGtiiAurUw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+
diff --git a/logs/mtp-detect-sandisk-sansa-fuzev2.txt b/logs/mtp-detect-sandisk-sansa-fuzev2.txt
new file mode 100644
index 0000000..57df52b
--- /dev/null
+++ b/logs/mtp-detect-sandisk-sansa-fuzev2.txt
@@ -0,0 +1,516 @@
+libmtp version: 0.3.0
+
+Listing raw device(s)
+   Found 1 device(s):
+   0781:74c2 @ bus 0, dev 3
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0781
+   idProduct: 74c2
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 3
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0781
+         Product: (null)
+         Vendor id: 0x74c2
+         Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: fe00                                   	..
+Microsoft device response to control message 1, CMD 0xfe:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Microsoft device response to control message 2, CMD 0xfe:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Device info:
+   Manufacturer: SanDisk
+   Model: Sansa Fuze 8GB
+   Device version: v02.01.17A
+   Serial number: 5513F4054724B6A80000000000000000
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/WMDRMPD: 10.1; audible.com: 1.0; microsoft.com/WMDRMND: 1.0; microsoft.com/AAVT: 1.0; microsoft.com: WMPPD10.0; 
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1012: Set object protection
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9170: Open Media Session
+   9171: Close Media Session
+   9172: Get Next Data Block
+   9173: Set Current Time Position
+   9180: Send Registration Request
+   9181: Get Registration Response
+   9182: Get Proximity Challenge
+   9183: Send Proximity Response
+   9184: Send WMDRM-ND License Request
+   9185: Get WMDRM-ND License Response
+   9201: Report Added/Deleted Items
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+Events supported:
+   0x4005
+   0x4004
+Device Properties Supported:
+   0x5001: Battery Level
+   0x5002: Functional Mode
+   0xd100: Unknown property
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd103: Revocation Info
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   3008: MS Wave
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 134217727, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 1, 17,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+   3009: MP3
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 134217727, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+   300a: MS AVI
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 224, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 176, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX 134217727, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 1, MAX 1048576, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type enumeration: 44100,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 2,  GET/SET
+      de97: ScanDepth UINT16 data type enumeration: 0,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 96000, MAX 128000, STEP 1 GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 0,  GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 1, MAX 900000, STEP 1 GET/SET
+      de9d: FramesPerThousandSeconds UINT32 data type enumeration: 20000,  GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 0, MAX 10, STEP 1 GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+   300c: ASF
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 134217727, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 353,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+   3801: JPEG
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+   b301: Unknown(b301)
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      da00: unknown(da00) UINT32 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,  GET/SET
+      da01: unknown(da01) STRING data type GET/SET
+      da02: unknown(da02) UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da03: unknown(da03) UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 134217727, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+   b901: WMA
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 134217727, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353, 354,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+   b902: OGG
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 134217727, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+   b904: Audible.com Codec
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      da00: unknown(da00) UINT32 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,  GET/SET
+      da01: unknown(da01) STRING data type GET/SET
+      da02: unknown(da02) UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da03: unknown(da03) UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 134217727, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+   b906: FLAC
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 134217727, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de92: BitRateType UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 25 GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+   ba03: Abstract Audio Album
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  GET/SET
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+   ba05: Abstract Audio Video Playlist
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+   ba11: M3U Playlist
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 7908491264
+      FreeSpaceInBytes: 752779264
+      FreeSpaceInObjects: 14635
+      StorageDescription: Internal Memory
+      VolumeIdentifier: 5513F4054724B6A8
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0x00000004
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000003
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000019
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: Sansa Fuze 8GB
+   Synchronization partner: {A8D50450-5DEA-4884-BA73-CF076D2D84F4}
+   Battery level 93 of 100 (93%)
+libmtp supported (playable) filetypes:
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   Audio Video Interleave
+   Microsoft Advanced Systems Format
+   JPEG file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Audible.com Audio Codec
+   Free Lossless Audio Codec (FLAC)
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20071117 10:15:56Z#</VALUE><FLAG>DRM_CLK_NEEDS_REFRESH</FLAG></DRMCLOCK>
+
+Device Certificate:
+
+ 	  	 
diff --git a/logs/mtp-detect-sandisk-sansa-m240.txt b/logs/mtp-detect-sandisk-sansa-m240.txt
new file mode 100644
index 0000000..ca2a01f
--- /dev/null
+++ b/logs/mtp-detect-sandisk-sansa-m240.txt
@@ -0,0 +1,284 @@
+$ examples/detect
+libmtp version: 0.2.2
+
+Attempting to connect device(s)
+PTP: Opening session
+PTP_ERROR_IO: Trying again after re-initializing USB interface
+PTP: Opening session
+Detect: Successfully connected 1 devices
+USB low-level info:
+  Using kernel interface "usbfs"
+  bcdUSB: 512
+  bDeviceClass: 0
+  bDeviceSubClass: 0
+  bDeviceProtocol: 0
+  idVendor: 0781
+  idProduct: 7400
+  IN endpoint maxpacket: 512 bytes
+  OUT endpoint maxpacket: 512 bytes
+  Device flags: 0x00000043
+Microsoft device descriptor 0xee:
+       0000: 1203 4d00 5300 4600 5400 3100 3000 3000   ..M.S.F.T.1.0.0.
+       0010: 0100                                      ..
+Device info:
+  Manufacturer: SanDisk Corporation
+  Model: Sansa m2xx
+  Device version: Version 1.3.0A
+  Serial number: 0781025AA0030078
+  Vendor extension ID: 0x00000006
+  Vendor extension description: microsoft.com/WMDRMPD: 10.1;audible.com: 1.0;
+  Detected object size: 32 bits
+Supported operations:
+  1001: get device info
+  1002: Open session
+  1003: Close session
+  1004: Get storage IDs
+  1005: Get storage info
+  1006: Get number of objects
+  1007: Get object handles
+  1008: Get object info
+  1009: Get object
+  100b: Delete object
+  100c: Send object info
+  100d: Send object
+  100f: Format storage
+  1010: Reset device
+  1014: Get device property description
+  1015: Get device property value
+  1016: Set device property value
+  1017: Reset device property value
+  9810: Get object references
+  9811: Set object references
+  9802: Get object property description
+  9801: Get object properties supported
+  9803: Get object property value
+  9804: Set object property value
+  9805: Get object property list
+  9806: Set object property list
+  101b: Get partial object
+  9101: Get secure time challenge
+  9102: Get secure time response
+  9103: Set license response
+  9104: Get sync list
+  9105: Send meter challenge query
+  9106: Get meter challenge
+  9107: Get meter response
+  9108: Clean data store
+  9109: Get license state
+  910a: Send WMDRM-PD Command
+  910b: Send WMDRM-PD Request
+Events supported:
+  None.
+Device Properties Supported:
+  0xd100: Unknown property
+  0x5001: Battery Level
+  0xd401: Synchronization Partner
+  0xd402: Friendly Device Name
+  0xd101: Secure Time
+  0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+  3009: MP3
+     dc44: Name STRING data type GET/SET
+     dc8a: Rating UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc97: EffectiveRating UINT16 data type ANY 16BIT VALUE form GET/SET
+     de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+     dc46: Artist STRING data type GET/SET
+     dc8c: Genre STRING data type GET/SET
+     de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+     dc9a: AlbumName STRING data type GET/SET
+     dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+     de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+  b901: WMA
+     dc44: Name STRING data type GET/SET
+     dc8a: Rating UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc97: EffectiveRating UINT16 data type ANY 16BIT VALUE form GET/SET
+     de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 READ ONLY
+     dc46: Artist STRING data type GET/SET
+     dc8c: Genre STRING data type GET/SET
+     de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+     dc9a: AlbumName STRING data type GET/SET
+     dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+     de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+  3008: MS Wave
+     dc44: Name STRING data type GET/SET
+     dc8a: Rating UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc97: EffectiveRating UINT16 data type ANY 16BIT VALUE form GET/SET
+     de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+     dc46: Artist STRING data type GET/SET
+     dc8c: Genre STRING data type GET/SET
+     de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+     dc9a: AlbumName STRING data type GET/SET
+     dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+     de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+  b904: Audible.com Codec
+     dc44: Name STRING data type GET/SET
+     dc46: Artist STRING data type GET/SET
+     dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+     da00: unknown(da00) UINT32 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7, 8,  GET/SET
+     da02: unknown(da02) UINT32 data type ANY 32BIT VALUE form READ ONLY
+     da03: unknown(da03) UINT16 data type enumeration: 0, 1,  READ ONLY
+     da01: unknown(da01) STRING data type GET/SET
+     da04: unknown(da04) array of UINT8 data type ANY 8BIT VALUE form GET/SET
+Unknown OPFF type 4
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+  3001: Association/Directory
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+  ba05: Abstract Audio Video Playlist
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+  3000: Undefined Type
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+  b802: Firmware
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+  ba03: Abstract Audio Album
+     dc44: Name STRING data type GET/SET
+     dc46: Artist STRING data type GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+  ba11: M3U Playlist
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc04: ObjectSize UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+Storage Devices:
+  StorageID: 0x00010001
+     StorageType: 0x0003
+     FilesystemType: 0x0002
+     AccessCapability: 0x0000
+     MaxCapacity: 1040941056
+     FreeSpaceInBytes: 173917307
+     FreeSpaceInObjects: 3525
+     StorageDescription: TCNAND0
+     VolumeIdentifier: 0781025AA0030078
+Special directories:
+  Default music folder: 0x20000008
+  Default playlist folder: 0x2000000b
+  Default picture folder: 0x00000000
+  Default video folder: 0x00000000
+  Default organizer folder: 0x00000000
+  Default zencast folder: 0x00000000
+  Default album folder: 0x00000000
+  Default text folder: 0x00000000
+MTP-specific device properties:
+  Friendly name: Sansa m240
+  Synchronization partner: Longhorn Sync Engine
+  Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+  ISO MPEG-1 Audio Layer 3
+  Microsoft Windows Media Audio
+  RIFF WAVE file
+  Audible.com Audio Codec
+  Firmware file
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20071102
+03:48:38Z#</VALUE><FLAG>DRM_CLK_NEEDS_REFRESH</FLAG></DRMCLOCK>AG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID
+private="1">q6ytrq+goaKjpKWmp6ipqgoKCgo=</UNIQUEID><PUBLICKEY
+private="1">lYA9qYhXaaH+urr5qkoCvAnA4je8WnN1Tyg/gU8HNFXccCGNQv5CNA==</PUBLICKEY><KEYDATA>q28RvEUhvZ0Kp7ojJnSQCe2uGOs=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>yIl7+mzTRJmmd8K4C9uK//w9hXvUFyi1c9nyx92T/A7uXy7cVwEzIA==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>JFYhahWHqdIvtzaly2gkWUtRj/M=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.102.109</SECURITYVERSION><CERTIFICATE
+private="1">lYA9qYhXaaH+urr5qkoCvAnA4je8WnN1Tyg/gU8HNFXccCGNQv5CNAIEZm3rQkh5OGOLVt1xu3CqhOZ+9tUuW8Va/geD3eoTNjTOctPm0xysr1UY</CERTIFICATE></FALLBACK><CERTIFICATE
+type="GROUP"><DATA><NAME>SANDISK</NAME><MANUFACTURER>DnC
+Tech</MANUFACTURER><MAKE>DnC
+Tech</MAKE><DISTRIBUTOR>WideWorldImporters</DISTRIBUTOR><MODEL>Sansa
+m200</MODEL><SECURITYLEVEL>2000</SECURITYLEVEL><HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR><HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR><FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR><FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR><FEATURES><CLOCK>2</CLOCK><SECURECLOCK><URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL><PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY></SECURECLOCK><METERING>1</METERING><LICENSE_ACQ>0</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>0</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT></FEATURES><LIMITS><MAXCHAINDEPTH>2</MAXCHAINDEPTH><MAXLICENSESIZE>10240</MAXLICENSESIZE><MAXHEADERSIZE>5120</MAXHEADERSIZE></LIMITS><PUBLICKEY>lQk10G9w1mPBGE0Z9edXxUUqaXISl3W619pekqQEwh8rgLhZTHHRPQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>RVBIEdZTtBlur/c6QZ/UY3U7thitRY1SPdhvf7EhGpJWUPZQXZR8Cg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>465</AUTH_ID><PUBLICKEY>mJCkdIQQQIfEK7cGBY8RUf24ewwE4FAtxXZ3kWAMiqPatkZnb9TYMw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>X2lDpZFZorlvqeq+L2Wb6Qwq/hza5Qu/qIDfRxDGpT8mvPm8eacQUg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>dC+gyydiIowBnJ8vNO56gz5VsxLQARvjwFpjhZOwSuD5w1OD/4VwQg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+
+Device description WMPInfo.xml file:
+<DeviceInfo>
+   <WMP DeviceID="{F260602D-ACED-4ECC-9458-ACD2E0B2884D}"
+RelationshipID="{00000000-0000-0000-0000-000000000000}"/>
+</DeviceInfo>
+
+PTP: Closing session
+OK.
diff --git a/logs/mtp-detect-sharp-sh-06e.txt b/logs/mtp-detect-sharp-sh-06e.txt
new file mode 100644
index 0000000..934e1b9
--- /dev/null
+++ b/logs/mtp-detect-sharp-sh-06e.txt
@@ -0,0 +1,490 @@
+Device 0 (VID=04dd and PID=96ca) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   04dd:96ca @ bus 5, dev 39
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 04dd
+   idProduct: 96ca
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 5
+      Device number: 39
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x04dd
+         Product: (null)
+         Vendor id: 0x96ca
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: NTT DOCOMO, Inc.
+   Model: SH-06E
+   Device version: 4.2.2
+   Serial number: 353467053430009
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 827739479, 844516695, 861293911,  READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 21709422592
+      FreeSpaceInBytes: 20380549120
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Microsoft Windows Media Video
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
\ No newline at end of file
diff --git a/logs/mtp-detect-sirius-stiletto2.txt b/logs/mtp-detect-sirius-stiletto2.txt
new file mode 100644
index 0000000..0efdfd9
--- /dev/null
+++ b/logs/mtp-detect-sirius-stiletto2.txt
@@ -0,0 +1,254 @@
+libmtp version: 0.3.0
+
+Attempting to connect device(s)
+Detect: Successfully connected 1 devices
+USB low-level info:
+  Using kernel interface "usbfs"
+  bcdUSB: 512
+  bDeviceClass: 0
+  bDeviceSubClass: 0
+  bDeviceProtocol: 0
+  idVendor: 18f6
+  idProduct: 0110
+  IN endpoint maxpacket: 512 bytes
+  OUT endpoint maxpacket: 512 bytes
+  Device flags: 0x00000001
+Configuration 0, interface 0, altsetting 0:
+  Interface description contains the string "MTP"
+  Device recognized as MTP, no further probing.
+Device info:
+  Manufacturer: Sirius
+  Model: Stiletto 2
+  Device version: 1.0
+  Serial number: 0082000b1054058355580184020072ec
+  Vendor extension ID: 0x00000006
+  Vendor extension description:  microsoft.com/WMDRMPD: 10.1;
+  Detected object size: 64 bits
+Supported operations:
+  1001: get device info
+  1002: Open session
+  1003: Close session
+  1010: Reset device
+  1014: Get device property description
+  1015: Get device property value
+  1016: Set device property value
+  1017: Reset device property value
+  1004: Get storage IDs
+  1005: Get storage info
+  1006: Get number of objects
+  1007: Get object handles
+  1008: Get object info
+  1009: Get object
+  100b: Delete object
+  100c: Send object info
+  100d: Send object
+  9801: Get object properties supported
+  9802: Get object property description
+  9803: Get object property value
+  9805: Get object property list
+  9804: Set object property value
+  9807: Get interdependent property description
+  4001: Unknown (4001)
+  9810: Get object references
+  9811: Set object references
+  9101: Get secure time challenge
+  9102: Get secure time response
+  9103: Set license response
+  9104: Get sync list
+  9105: Send meter challenge query
+  9106: Get meter challenge
+  9107: Get meter response
+  9108: Clean data store
+  9109: Get license state
+  910a: Send WMDRM-PD Command
+  910b: Send WMDRM-PD Request
+  100f: Format storage
+  9806: Set object property list
+Events supported:
+  None.
+Device Properties Supported:
+  0x5001: Battery Level
+  0xd402: Friendly Device Name
+  0xd101: Secure Time
+  0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+  b104: Unknown(b104)
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+  b901: WMA
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc46: Artist STRING data type GET/SET
+     dc48: Description array of UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc49: URLReference STRING data type REGULAR EXPRESSION FORM GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 15918, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+     de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 9, 50, 80, 85, 352, 353, 354,  READ ONLY
+     de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc8a: Rating UINT16 data type range: MIN 1, MAX 100, STEP 1 GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc8f: SubscriptionContentID STRING data type REGULAR EXPRESSION FORM GET/SET
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc96: Composer STRING data type GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+  ba05: Abstract Audio Video Playlist
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+  3000: Undefined Type
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type READ ONLY
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  READ ONLY
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+  3001: Association/Directory
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+  3008: MS Wave
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc46: Artist STRING data type READ ONLY
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc8c: Genre STRING data type GET/SET
+     dc96: Composer STRING data type READ ONLY
+  3009: MP3
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc46: Artist STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 9, 50, 80, 85, 352, 353, 354,  READ ONLY
+     de9a: AudioBitRate UINT32 data type range: MIN 32000, MAX 320000, STEP 1 GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc8a: Rating UINT16 data type range: MIN 1, MAX 100, STEP 1 GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc96: Composer STRING data type GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+  3801: JPEG
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc87: Width UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc88: Height UINT32 data type ANY 32BIT VALUE form GET/SET
+Storage Devices:
+  StorageID: 0x00010001
+     StorageType: 0x0003
+     FilesystemType: 0x0002
+     AccessCapability: 0x0000
+     MaxCapacity: 786490736
+     FreeSpaceInBytes: 1942896
+     FreeSpaceInObjects: 4294967295
+     StorageDescription: Internal Memory
+     VolumeIdentifier:
+Special directories:
+  Default music folder: 0x01000000
+  Default playlist folder: 0x01000003
+  Default picture folder: 0x00000000
+  Default video folder: 0x00000000
+  Default organizer folder: 0x00000000
+  Default zencast folder: 0x00000000
+  Default album folder: 0x00000000
+  Default text folder: 0x00000000
+MTP-specific device properties:
+  Friendly name: Stiletto 2
+  Synchronization partner: (NULL)
+  Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+  Microsoft Windows Media Audio
+  RIFF WAVE file
+  ISO MPEG-1 Audio Layer 3
+  JPEG file
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20080412
+01:41:54Z#</VALUE><FLAG>DRM_CLK_NEEDS_REFRESH</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID
+private="1">MDA4MjAwMGIxMDU0MDU4MzU1NTgwMTg0MDIwMDcyZWM=</UNIQUEID><PUBLICKEY
+private="1">Ef9gt/+M0PMXJhpYgK6HoJ/20DyJ/HHAG3d64+pxiMmNCwf9Oj2EOA==</PUBLICKEY><KEYDATA>WuK3oQPAqaefrnCMi/6xIfsrcuo=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>c8IXWmqRilDx0XHV8xKXHFaUdW6BNbmppKK7xL+dftzGBt6g8WgFfQ==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>jnjYEjB5UV2Ry6EI+HoPIE0uBAo=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.108.89</SECURITYVERSION><CERTIFICATE
+private="1">Ef9gt/+M0PMXJhpYgK6HoJ/20DyJ/HHAG3d64+pxiMmNCwf9Oj2EOAIEbFl5weGVKFKBvp4iKwg8QrkeOjg9RojVO5aRxVDDAKMONn+VDb/svCcF</CERTIFICATE></FALLBACK><CERTIFICATE
+type="GROUP"><DATA><NAME>Stiletto 2</NAME>
+   <MANUFACTURER>Zing Systems, Inc.</MANUFACTURER>
+   <MAKE>Sirius</MAKE>
+   <DISTRIBUTOR>Sirius Satellite Radio, Inc.</DISTRIBUTOR>
+   <MODEL>SL2</MODEL>
+   <SECURITYLEVEL>2000</SECURITYLEVEL>
+   <HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR>
+   <HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR>
+   <FIRMWARE_VER_MAJOR>2</FIRMWARE_VER_MAJOR>
+   <FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>
+   <FEATURES>
+       <CLOCK>2</CLOCK>
+       <SECURECLOCK>
+           <URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL>
+
+<PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY>
+
+       </SECURECLOCK>
+       <METERING>1</METERING>
+       <LICENSE_ACQ>1</LICENSE_ACQ>
+       <LICENSE_SYNC>1</LICENSE_SYNC>
+       <ENCRYPTION>1</ENCRYPTION>
+       <SYMMETRIC_OPT>1</SYMMETRIC_OPT>
+   </FEATURES>
+   <LIMITS>
+       <MAXCHAINDEPTH>2</MAXCHAINDEPTH>
+       <MAXLICENSESIZE>10240</MAXLICENSESIZE>
+       <MAXHEADERSIZE>5120</MAXHEADERSIZE>
+
+</LIMITS><PUBLICKEY>lC3XoSJVphgaNIcvbTOf56btAIm1RNkvSUutdWiXXvx1FStZEj/MKw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>CfZATKRGLAZ4NTqQWYwCmiYMmBKrdwldaOcLfl0Zg+Vq8esSdYQkFQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1981</AUTH_ID><PUBLICKEY>btGasWaE7LqohJ2zfck00MzmG0/uy+56ploHWJnDmuFrZzn9oOswbw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>pNebugeKuigfNG74TRE5Zcs+bz9NvDCn5O8LxS3S24xaC4U4E86nBA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>TkTu6iE2JI69l3qD8z3BDroLrgd70NZzCVxnSrq5FHGkny0kKxK0Jg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+WMPInfo.xml Does not exist on this device
+OK.
diff --git a/logs/mtp-detect-slacker-pmp.txt b/logs/mtp-detect-slacker-pmp.txt
new file mode 100644
index 0000000..c91639f
--- /dev/null
+++ b/logs/mtp-detect-slacker-pmp.txt
@@ -0,0 +1,163 @@
+libmtp version: 0.3.6
+
+Listing raw device(s)
+Device 0 (VID=1bdc and PID=fabf) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development
+team
+   Found 1 device(s):
+   1bdc:fabf @ bus 0, dev 14
+Attempting to connect device(s)
+Error 7: Unable to read Maximum Battery Level for this device even though
+the device supposedly supports this functionality
+Error 1: Get Storage information failed.
+Error 2: PTP Layer error 02fe: get_all_metadata_fast(): could not get
+proplist of all objects.
+Error 2: (Look this up in ptp.h for an explanation.)
+Error 2: PTP Layer error 02ff: get_handles_recursively(): could not get
+object handles.
+Error 2: (Look this up in ptp.h for an explanation.)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 1bdc
+   idProduct: fabf
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 14
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x1bdc
+         Product: (null)
+         Vendor id: 0xfabf
+         Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+        0000: 1203 4d00 5300 4600 5400 3100 3000 3000   ..M.S.F.T.1.0.0.
+        0010: 0d00                                      ..
+Microsoft device response to control message 1, CMD 0x0d:
+        0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............
+        0010: 0001 4d54 5000 0000 0000 0000 0000 0000   ..MTP...........
+        0020: 0000 0000 0000 0000                       ........
+Microsoft device response to control message 2, CMD 0x0d:
+        0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............
+        0010: 0001 4d54 5000 0000 0000 0000 0000 0000   ..MTP...........
+        0020: 0000 0000 0000 0000                       ........
+Device info:
+   Manufacturer: Slacker Inc.
+   Model: Slacker Portable Media Player
+   Device version: V1.0
+   Serial number: 00000000000000000601f00e2067d2d6
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/WMDRMPD: 10.1;
+microsoft.com/WMPPD: 10.0; microsoft.com/WMPPD: 11.0; slacker.com/PRD:
+1.0;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100c: Send object info
+   100d: Send object
+   1012: Set object protection
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9808: Send object property list
+   100b: Delete object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   101b: Get partial object
+   9802: Get object property description
+   9810: Get object references
+   9811: Set object references
+   9801: Get object properties supported
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   9701: Unknown (9701)
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd103: Revocation Info
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+   3001: Association/Directory
+   3004: Text
+   3008: MS Wave
+   3009: MP3
+   300a: MS AVI
+   300c: ASF
+   3801: JPEG
+   3804: BMP
+   3808: JFIF
+   b901: WMA
+   b802: Firmware
+   b903: AAC
+   b981: WMV
+   b982: MP4
+   b983: MP2
+   300b: MPEG
+   ba03: Abstract Audio Album
+   ba05: Abstract Audio Video Playlist
+Special directories:
+   Default music folder: 0x00000000
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Text file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   Audio Video Interleave
+   Microsoft Advanced Systems Format
+   JPEG file
+   BMP bitmap file
+   JFIF file
+   Microsoft Windows Media Audio
+   Firmware file
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Microsoft Windows Media Video
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+   ISO MPEG-1 Audio Layer 2
+   MPEG video stream
+Unable to acquire device certificate, perhaps this device does not support
+this
+Error 2: PTP Layer error 02ff: get_device_unicode_property(): failed to
+get unicode property.
+Error 2: (Look this up in ptp.h for an explanation.)
+ERROR: Could not close session!
+OK.
diff --git a/logs/mtp-detect-smarttq-t30.txt b/logs/mtp-detect-smarttq-t30.txt
new file mode 100644
index 0000000..556ae06
--- /dev/null
+++ b/logs/mtp-detect-smarttq-t30.txt
@@ -0,0 +1,461 @@
+
+
+libmtp version: 1.1.6
+
+Listing raw device(s)
+Found 1 device(s):
+0451:d108 @ bus 1, dev 30
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+bcdUSB: 512
+bDeviceClass: 0
+bDeviceSubClass: 0
+bDeviceProtocol: 0
+idVendor: 0451
+idProduct: d108
+IN endpoint maxpacket: 512 bytes
+OUT endpoint maxpacket: 512 bytes
+Raw device info:
+Bus location: 1
+Device number: 30
+Device entry info:
+Vendor: (null)
+Vendor id: 0x0451
+Product: (null)
+Vendor id: 0xd108
+Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+Interface description contains the string "MTP"
+Device recognized as MTP, no further probing.
+Device info:
+Manufacturer: Texas_Instruments_Inc
+Model: A6100
+Device version: 1.0
+Serial number: 015182350E00C01F
+Vendor extension ID: 0x00000006
+Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+Detected object size: 64 bits
+Extensions:
+microsoft.com: 1.0
+android.com: 1.0
+Supported operations:
+1001: get device info
+1002: Open session
+1003: Close session
+1004: Get storage IDs
+1005: Get storage info
+1006: Get number of objects
+1007: Get object handles
+1008: Get object info
+1009: Get object
+100a: Get thumbnail
+100b: Delete object
+100c: Send object info
+100d: Send object
+1014: Get device property description
+1015: Get device property value
+1016: Set device property value
+1017: Reset device property value
+101b: Get partial object
+9801: Get object properties supported
+9802: Get object property description
+9803: Get object property value
+9804: Set object property value
+9805: Get object property list
+9810: Get object references
+9811: Set object references
+95c1: Get Partial Object (64bit Offset)
+95c2: Send Partial Object
+95c3: Truncate Object
+95c4: Begin Edit Object
+95c5: End Edit Object
+Events supported:
+0x4002
+0x4003
+0x4004
+0x4005
+Device Properties Supported:
+0xd401: Synchronization Partner
+0xd402: Friendly Device Name
+0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+3000: Undefined Type
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+3001: Association/Directory
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+3004: Text
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+3005: HTML
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+3008: MS Wave
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc9b: Album Artist STRING data type READ ONLY
+dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc8c: Genre STRING data type READ ONLY
+dc96: Composer STRING data type READ ONLY
+3009: MP3
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc9b: Album Artist STRING data type READ ONLY
+dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc8c: Genre STRING data type READ ONLY
+dc96: Composer STRING data type READ ONLY
+300b: MPEG
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc48: Description STRING data type READ ONLY
+3801: JPEG
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc48: Description STRING data type READ ONLY
+3802: TIFF EP
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+3807: GIF
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc48: Description STRING data type READ ONLY
+3808: JFIF
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+380b: PNG
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc48: Description STRING data type READ ONLY
+380d: TIFF
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+b901: WMA
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc9b: Album Artist STRING data type READ ONLY
+dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc8c: Genre STRING data type READ ONLY
+dc96: Composer STRING data type READ ONLY
+b902: OGG
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc9b: Album Artist STRING data type READ ONLY
+dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc8c: Genre STRING data type READ ONLY
+dc96: Composer STRING data type READ ONLY
+b903: AAC
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc9b: Album Artist STRING data type READ ONLY
+dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc8c: Genre STRING data type READ ONLY
+dc96: Composer STRING data type READ ONLY
+b982: MP4
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+b983: MP2
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+b984: 3GP
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: Display Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+dc46: Artist STRING data type READ ONLY
+dc9a: Album Name STRING data type READ ONLY
+dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc48: Description STRING data type READ ONLY
+ba05: Abstract Audio Video Playlist
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+ba10: WPL Playlist
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+ba11: M3U Playlist
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+ba14: PLS Playlist
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+ba82: XMLDocument
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+b906: FLAC
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+StorageID: 0x00010001
+StorageType: 0x0003 fixed RAM storage
+FilesystemType: 0x0002 generic hierarchical
+AccessCapability: 0x0000 read/write
+MaxCapacity: 14680096768
+FreeSpaceInBytes: 12544466944
+FreeSpaceInObjects: 1073741824
+StorageDescription: Internal Storage
+VolumeIdentifier: (null)
+Special directories:
+Default music folder: 0xffffffff
+Default playlist folder: 0xffffffff
+Default picture folder: 0x00000006
+Default video folder: 0xffffffff
+Default organizer folder: 0xffffffff
+Default zencast folder: 0xffffffff
+Default album folder: 0xffffffff
+Default text folder: 0xffffffff
+MTP-specific device properties:
+Friendly name: (NULL)
+Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+Folder
+Text file
+HTML file
+RIFF WAVE file
+ISO MPEG-1 Audio Layer 3
+MPEG video stream
+JPEG file
+GIF bitmap file
+JFIF file
+Portable Network Graphics
+TIFF bitmap file
+Microsoft Windows Media Audio
+Ogg container format
+Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+ISO MPEG-1 Audio Layer 2
+Abstract Playlist file
+XML file
+Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-sony-e115.txt b/logs/mtp-detect-sony-e115.txt
new file mode 100644
index 0000000..a060d3d
--- /dev/null
+++ b/logs/mtp-detect-sony-e115.txt
@@ -0,0 +1,631 @@
+
+
+
+---
+
+** [bugs:#1431] Sony E2115**
+
+**Status:** open
+**Group:** 1.1.3
+**Labels:** Device 0 (VID=0fce and PID=01c5) is UNKNOWN. 
+**Created:** Wed Sep 30, 2015 11:32 PM UTC by Anonymous
+**Last Updated:** Wed Sep 30, 2015 11:32 PM UTC
+**Owner:** nobody
+
+
+Device 0 (VID=0fce and PID=01c5) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0fce:01c5 @ bus 2, dev 4
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fce
+   idProduct: 01c5
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 4
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0fce
+         Product: (null)
+         Vendor id: 0x01c5
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Sony
+   Model: E2115
+   Device version: 1.0
+   Serial number: WUJ01K8RC3
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0; microsoft.com/WPDNA: 1.0;sonyericsson.com/SE: 1.0; sony.net/MRLN: 1.0;microsoft.com/DeviceServices:1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+        microsoft.com/WPDNA: 1.0
+        sonyericsson.com/SE: 1.0
+        sony.net/MRLN: 1.0
+        microsoft.com/DeviceServices: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+   9301: Unknown (9301)
+   9302: Unknown (9302)
+   9303: Unknown (9303)
+   9304: Unknown (9304)
+   9305: Unknown (9305)
+   9306: Unknown (9306)
+   9307: Unknown (9307)
+   9308: Unknown (9308)
+   9309: Unknown (9309)
+   930a: Unknown (930a)
+   9185: Get WMDRM-ND License Response
+   9186: Unknown (9186)
+   9187: Unknown (9187)
+   9188: Unknown (9188)
+   9189: Unknown (9189)
+   9191: Unknown (9191)
+   9194: Unknown (9194)
+   9196: Unknown (9196)
+   9197: Unknown (9197)
+   940c: Unknown (940c)
+   940d: Unknown (940d)
+   9407: Unknown (9407)
+   9408: Unknown (9408)
+   9409: Unknown (9409)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4007
+   0x400c
+   0xc350
+   0xc35a
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd405: Device Icon
+   0x5003: Image Size
+   0xd120: Unknown property
+   0x5001: Battery Level
+   0xd302: Unknown property
+   0xd303: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1536000, STEP 1 GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1920, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 1080, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 34816000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1920, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 1080, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 20480000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1920, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 1080, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222, 1935764850,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+   b102: Unknown(b102)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      d920: Unknown property array of UINT64 data type GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 5146476544
+      FreeSpaceInBytes: 2169204736
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Archivio interno
+      VolumeIdentifier: 65537
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 15552479232
+      FreeSpaceInBytes: 15354593280
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Scheda SD
+      VolumeIdentifier: 131073
+Special directories:
+   Default music folder: 0x00000011
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000005
+   Default video folder: 0x00000013
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Xperia E4 Dual
+   Synchronization partner: (NULL)
+   Battery level 69 of 100 (68%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Abstract Album file
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/bugs/1431/>
+
+
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/>
\ No newline at end of file
diff --git a/logs/mtp-detect-sony-e2105.txt b/logs/mtp-detect-sony-e2105.txt
new file mode 100644
index 0000000..634f928
--- /dev/null
+++ b/logs/mtp-detect-sony-e2105.txt
@@ -0,0 +1,592 @@
+Device 0 (VID=0fce and PID=01c5) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+Error 1: Get Storage information failed.
+Error 2: PTP Layer error 02fe: get_handles_recursively(): could not get object handles.
+Error 2: Error 02fe: PTP: Protocol error, data expected
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   0fce:01c5 @ bus 1, dev 3
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fce
+   idProduct: 01c5
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 3
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0fce
+         Product: (null)
+         Vendor id: 0x01c5
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Sony
+   Model: E2105
+   Device version: 1.0
+   Serial number: WUJ01KMBXQ
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0; microsoft.com/WPDNA: 1.0;sonyericsson.com/SE: 1.0; sony.net/MRLN: 1.0;microsoft.com/DeviceServices:1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+        microsoft.com/WPDNA: 1.0
+        sonyericsson.com/SE: 1.0
+        sony.net/MRLN: 1.0
+        microsoft.com/DeviceServices: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+   9301: Unknown (9301)
+   9302: Unknown (9302)
+   9303: Unknown (9303)
+   9304: Unknown (9304)
+   9305: Unknown (9305)
+   9306: Unknown (9306)
+   9307: Unknown (9307)
+   9308: Unknown (9308)
+   9309: Unknown (9309)
+   930a: Unknown (930a)
+   9185: Get WMDRM-ND License Response
+   9186: Unknown (9186)
+   9187: Unknown (9187)
+   9188: Unknown (9188)
+   9189: Unknown (9189)
+   9191: Unknown (9191)
+   9194: Unknown (9194)
+   9196: Unknown (9196)
+   9197: Unknown (9197)
+   940c: Unknown (940c)
+   940d: Unknown (940d)
+   9407: Unknown (9407)
+   9408: Unknown (9408)
+   9409: Unknown (9409)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4007
+   0x400c
+   0xc350
+   0xc35a
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd405: Device Icon
+   0x5003: Image Size
+   0xd120: Unknown property
+   0x5001: Battery Level
+   0xd302: Unknown property
+   0xd303: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1536000, STEP 1 GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1920, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 1080, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 34816000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1920, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 1080, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 20480000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1920, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 1080, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222, 1935764850,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+   b102: Unknown(b102)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      d920: Unknown property array of UINT64 data type GET/SET
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Xperia E4
+   Synchronization partner: (NULL)
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Abstract Album file
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-sony-f5321.txt b/logs/mtp-detect-sony-f5321.txt
new file mode 100644
index 0000000..80a0f6b
--- /dev/null
+++ b/logs/mtp-detect-sony-f5321.txt
@@ -0,0 +1,647 @@
+
+
+
+---
+
+** [support-requests:#230] Sony F5321**
+
+**Status:** open
+**Group:** unknown release
+**Created:** Tue Oct 11, 2016 09:40 AM UTC by Petr Kletečka
+**Last Updated:** Tue Oct 11, 2016 09:40 AM UTC
+**Owner:** nobody
+
+
+Sony Xperia X compact - http://www.sonymobile.com/global-en/products/phones/xperia-x-compact/
+
+mtp-detect
+Device 0 (VID=0fce and PID=01e8) is UNKNOWN in libmtp v1.1.12.
+Please report this VID/PID and the device model to the libmtp development team
+
+libmtp version: 1.1.12
+
+Listing raw device(s)
+   Found 1 device(s):
+   0fce:01e8 @ bus 1, dev 21
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fce
+   idProduct: 01e8
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 21
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0fce
+         Product: (null)
+         Vendor id: 0x01e8
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Sony
+   Model: F5321
+   Device version: 1.0
+   Serial number: QV705C060B
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;sonyericsson.com/SE: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+        sonyericsson.com/SE: 1.0
+Supported operations:
+   1001: Unknown(1001)
+   1002: Unknown(1002)
+   1003: Unknown(1003)
+   1004: Unknown(1004)
+   1005: Unknown(1005)
+   1006: Unknown(1006)
+   1007: Unknown(1007)
+   1008: Unknown(1008)
+   1009: Unknown(1009)
+   100a: Unknown(100a)
+   100b: Unknown(100b)
+   100c: Unknown(100c)
+   100d: Unknown(100d)
+   1014: Unknown(1014)
+   1015: Unknown(1015)
+   1016: Unknown(1016)
+   1017: Unknown(1017)
+   101b: Unknown(101b)
+   9801: Unknown(9801)
+   9802: Unknown(9802)
+   9803: Unknown(9803)
+   9804: Unknown(9804)
+   9805: Unknown(9805)
+   9810: Unknown(9810)
+   9811: Unknown(9811)
+   95c1: Unknown(95c1)
+   95c2: Unknown(95c2)
+   95c3: Unknown(95c3)
+   95c4: Unknown(95c4)
+   95c5: Unknown(95c5)
+   9170: Unknown(9170)
+   9171: Unknown(9171)
+   9185: Unknown(9185)
+   9186: Unknown(9186)
+   9187: Unknown(9187)
+   9188: Unknown(9188)
+   9189: Unknown(9189)
+   9191: Unknown(9191)
+   9194: Unknown(9194)
+   9196: Unknown(9196)
+   9197: Unknown(9197)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+   0xc340
+   0xc350
+   0xc35a
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd405: Device Icon
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   300a: MS AVI
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 34816000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 4096, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 2160, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 4096, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 2160, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 139264000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 4096, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 2160, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 393216, STEP 1 READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 20480000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 4096, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 2160, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222, 1935764850,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 READ ONLY
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+Storage Devices:
+   StorageID: 0x4cec0001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 127831900160
+      FreeSpaceInBytes: 127072206848
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Karta SD
+      VolumeIdentifier: (null)
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 23385174016
+      FreeSpaceInBytes: 21011701760
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Vnitřní úložiště
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Xperia X Compact
+   Synchronization partner: (NULL)
+   Battery level 98 of 100 (98%)
+libmtp supported (playable) filetypes:
+   Audio Video Interleave
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Abstract Album file
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
+lsusb | grep Sony
+Bus 001 Device 018: ID 0fce:01e8 Sony Ericsson Mobile Communications AB
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/support-requests/230/>
+
+
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/>
\ No newline at end of file
diff --git a/logs/mtp-detect-sony-walkman-nwz-a728b.txt b/logs/mtp-detect-sony-walkman-nwz-a728b.txt
new file mode 100644
index 0000000..6e8e1f7
--- /dev/null
+++ b/logs/mtp-detect-sony-walkman-nwz-a728b.txt
@@ -0,0 +1,384 @@
+libmtp version: 0.2.6.1
+
+Attempting to connect device(s)
+PTP: Opening session
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 054c
+   idProduct: 035c
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000002
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: 3000                                   	0.
+Microsoft device response to control message 1, CMD 0x30:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Microsoft device response to control message 2, CMD 0x30:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Device info:
+   Manufacturer: Sony Corporation
+   Model: WALKMAN NWZ-A728B
+   Device version: 1.00
+   Serial number: 00000000000000000000000005000668
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0;
+microsoft.com/WMDRMPD: 10.1; sony.net/WMFU: 1.0; 
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   101b: Get partial object
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9201: Report Added/Deleted Items
+   9807: Get interdependent property description
+   9808: Send object property list
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9401: Unknown (9401)
+   9402: Unknown (9402)
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+   3008: MS Wave
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 1,  GET/SET
+      de9a: AudioBitRate UINT32 data type enumeration: 128000, 176400, 192000, 256000, 352800, 384000, 512000, 705600, 768000, 1024000, 1411200, 1536000,  GET/SET
+      de91: TotalBitRate UINT32 data type enumeration: 128000, 176400, 192000, 256000, 352800, 384000, 512000, 705600, 768000, 1024000, 1411200, 1536000,  GET/SET
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 32000, MAX 320000, STEP 1 GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 32000, MAX 320000, STEP 1 GET/SET
+   300c: ASF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   3801: JPEG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  GET/SET
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 65536, STEP 1 GET/SET
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 200, STEP 1 GET/SET
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 200, STEP 1 GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type byte array: GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 4000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+   b802: Firmware
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 512000, STEP 1 GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 5000, MAX 512000, STEP 1 GET/SET
+   b982: MP4
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 2, MAX 320, STEP 2 GET/SET
+      dc88: Height UINT32 data type range: MIN 2, MAX 240, STEP 2 GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 288000, STEP 1 GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 0, MAX 2788000, STEP 1 GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 844313677, 875967048,  GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 0, MAX 2500000, STEP 1 GET/SET
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 1000, MAX 30000, STEP 1 GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+   b984: 3GP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 288000, STEP 1 GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 0, MAX 2788000, STEP 1 GET/SET
+   ba03: Abstract Audio Album
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  GET/SET
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 65536, STEP 1 GET/SET
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 200, STEP 1 GET/SET
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 200, STEP 1 GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 7841251328
+      FreeSpaceInBytes: 6869123072
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Storage Media
+      VolumeIdentifier: 00000000000000000000000005000668
+Special directories:
+   Default music folder: 0x00000004
+   Default playlist folder: 0x0000002e
+   Default picture folder: 0x00000007
+   Default video folder: 0x00000008
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: Walkman Niek
+   Synchronization partner: {00000000-0000-0000-0000-000000000000}
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Advanced Systems Format
+   JPEG file
+   Firmware file
+   Microsoft Windows Media Audio
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20080325
+16:36:14Z#</VALUE><FLAG>DRM_CLK_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID
+private="1">AAABBwgAAQADAAUAAAAGBgg=</UNIQUEID><PUBLICKEY
+private="1">+kx6WYb8C+VOrwEwk6W4GUaD4TSgjo7Sh+zRfoQt7+hxEThyasOzaA==</PUBLICKEY><KEYDATA>/9MoW9AZRZG2qZ3rcJ4DcOBQLuE=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>BAZ0L22X0FXQt+JK3fbrY8baukojL/hanxdY6F4ahFVqVFzpLCO6EQ==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>szUXXaYecJPSoHodC+AIp5RqAvs=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.109.147</SECURITYVERSION><CERTIFICATE
+private="1">+kx6WYb8C+VOrwEwk6W4GUaD4TSgjo7Sh+zRfoQt7+hxEThyasOzaAIEbZPzA6I+L5b59Zxbjph9d5o0nF2RR0mJd2YSZyNYxspNPZIvxyyNrhNm</CERTIFICATE></FALLBACK><CERTIFICATE
+type="GROUP"><DATA><NAME>Walkman</NAME><MANUFACTURER>Sony</MANUFACTURER><MAKE>Sony</MAKE><DISTRIBUTOR>Sony</DISTRIBUTOR><MODEL>Walkman</MODEL><SECURITYLEVEL>2000</SECURITYLEVEL><FEATURES><CLOCK>2</CLOCK><SECURECLOCK><URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL><PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY></SECURECLOCK><METERING>1</METERING><LICENSE_ACQ>1</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>1</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT></FEATURES><LIMITS><MAXCHAINDEPTH>2</MAXCHAINDEPTH><MAXLICENSESIZE>10240</MAXLICENSESIZE><MAXHEADERSIZE>5120</MAXHEADERSIZE></LIMITS><PUBLICKEY>iHqdWxP5k6/sD3qEDzyJTnLytjRwoY8CRbqotYCTfco+83NpiPbHEw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>Pqk4gIiQMxJe00NV8x17I0ch1zNZowLamAXF/MwHVjbOuLqRw+Xubg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>2295</AUTH_ID><PUBLICKEY>ZFX5WVjT8PkdII/6rjcqbZCBECOUW52umeXUAM//Z7MwKDQgA7WWTg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>95vvO7HP2bmkiBmekqEq1qG4pTNiBrHcsO4yqJSWfHzNUkeB5tZBWQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>dsXO0Vh44n9FGIcOrGxAJz2Om3iU8ejBN448ZS55BQ383gaP9DLmYw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+
+Device description WMPInfo.xml file:
+<DeviceInfo>
+    <WMP DeviceID="{69B31091-4197-4631-A029-E4113DDDC112}"
+RelationshipID="{00000000-0000-0000-0000-000000000000}"/>
+</DeviceInfo>
+
+PTP: Closing session
+OK.
diff --git a/logs/mtp-detect-sony-walkman-nwz-a816.txt b/logs/mtp-detect-sony-walkman-nwz-a816.txt
new file mode 100644
index 0000000..7f2e030
--- /dev/null
+++ b/logs/mtp-detect-sony-walkman-nwz-a816.txt
@@ -0,0 +1,315 @@
+libmtp version: 0.2.4
+
+Attempting to connect device(s)
+PTP: Opening session
+Detect: Successfully connected 1 devices
+USB low-level info:
+  Using kernel interface "usbfs"
+  bcdUSB: 512
+  bDeviceClass: 0
+  bDeviceSubClass: 0
+  bDeviceProtocol: 0
+  idVendor: 054c
+  idProduct: 0325
+  IN endpoint maxpacket: 512 bytes
+  OUT endpoint maxpacket: 512 bytes
+  Device flags: 0x00000002
+Microsoft device descriptor 0xee:
+       0000: 1203 4d00 5300 4600 5400 3100 3000 3000   ..M.S.F.T.1.0.0.
+       0010: 3000                                      0.
+Microsoft device response to control message 1, CMD 0x30:
+       0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............
+       0010: 0001 4d54 5000 0000 0000 0000 0000 0000   ..MTP...........
+       0020: 0000 0000 0000 0000                       ........
+Microsoft device response to control message 2, CMD 0x30:
+       0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............
+       0010: 0001 4d54 5000 0000 0000 0000 0000 0000   ..MTP...........
+       0020: 0000 0000 0000 0000                       ........
+Device info:
+  Manufacturer: Sony Corporation
+  Model: WALKMAN NWZ-A816
+  Device version: 1.00
+  Serial number: 00000000000000000000000005106125
+  Vendor extension ID: 0x00000006
+  Vendor extension description: microsoft.com: 1.0;
+microsoft.com/WMDRMPD: 10.1; sony.net/WMFU: 1.0;
+  Detected object size: 64 bits
+Supported operations:
+  1001: get device info
+  1002: Open session
+  1003: Close session
+  1004: Get storage IDs
+  1005: Get storage info
+  1006: Get number of objects
+  1007: Get object handles
+  1008: Get object info
+  1009: Get object
+  100b: Delete object
+  100c: Send object info
+  100d: Send object
+  1014: Get device property description
+  1015: Get device property value
+  1016: Set device property value
+  101b: Get partial object
+  9810: Get object references
+  9811: Set object references
+  9802: Get object property description
+  9801: Get object properties supported
+  9803: Get object property value
+  9804: Set object property value
+  9805: Get object property list
+  9806: Set object property list
+  9201: Report Added/Deleted Items
+  9808: Send object property list
+  9101: Get secure time challenge
+  9102: Get secure time response
+  9103: Set license response
+  9104: Get sync list
+  9105: Send meter challenge query
+  9106: Get meter challenge
+  9107: Get meter response
+  9108: Clean data store
+  9109: Get license state
+  910a: Send WMDRM-PD Command
+  910b: Send WMDRM-PD Request
+  9401: Unknown (9401)
+  9402: Unknown (9402)
+Events supported:
+  None.
+Device Properties Supported:
+  0x5001: Battery Level
+  0xd401: Synchronization Partner
+  0xd402: Friendly Device Name
+  0xd101: Secure Time
+  0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+  3000: Undefined Type
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+  3001: Association/Directory
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+  3008: MS Wave
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc46: Artist STRING data type GET/SET
+     dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+     dc9b: AlbumArtist STRING data type GET/SET
+     de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+     de99: AudioWAVECodec UINT32 data type enumeration: 1,  GET/SET
+     de9a: AudioBitRate UINT32 data type enumeration: 128000, 176400, 192000, 256000, 352800, 384000, 512000, 705600, 768000, 1024000, 1411200, 1536000,  READ ONLY
+  3009: MP3
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc46: Artist STRING data type GET/SET
+     dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+     dc9b: AlbumArtist STRING data type GET/SET
+     de93: SampleRate UINT32 data type enumeration: 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+     de99: AudioWAVECodec UINT32 data type enumeration: 85,  GET/SET
+     de9a: AudioBitRate UINT32 data type range: MIN 32000, MAX 320000, STEP 1 READ ONLY
+  300c: ASF
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+  3801: JPEG
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc87: Width UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+     dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+  b802: Firmware
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+  b901: WMA
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc46: Artist STRING data type GET/SET
+     dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc99: OriginalReleaseDate STRING data type GET/SET
+     dc9a: AlbumName STRING data type GET/SET
+     dc9b: AlbumArtist STRING data type GET/SET
+     de93: SampleRate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+     de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  GET/SET
+     de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 512000, STEP 1 READ ONLY
+     d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+  b982: MP4
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+  b984: 3GP
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+  ba03: Abstract Audio Album
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+     dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 65536, STEP 1 READ ONLY
+     dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 200, STEP 1 READ ONLY
+     dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 200, STEP 1 READ ONLY
+     dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc9b: AlbumArtist STRING data type GET/SET
+     d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+  ba05: Abstract Audio Video Playlist
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc07: ObjectFileName STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+  StorageID: 0x00010001
+     StorageType: 0x0003
+     FilesystemType: 0x0002
+     AccessCapability: 0x0000
+     MaxCapacity: 3840933888
+     FreeSpaceInBytes: 3796303872
+     FreeSpaceInObjects: 4294967295
+     StorageDescription: Storage Media
+     VolumeIdentifier: 00000000000000000000000005106125
+Special directories:
+  Default music folder: 0x00000004
+  Default playlist folder: 0x00000000
+  Default picture folder: 0x00000007
+  Default video folder: 0x00000008
+  Default organizer folder: 0x00000000
+  Default zencast folder: 0x00000000
+  Default album folder: 0x00000000
+  Default text folder: 0x00000000
+MTP-specific device properties:
+  Friendly name: WALKMAN
+  Synchronization partner: (NULL)
+  Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+  RIFF WAVE file
+  ISO MPEG-1 Audio Layer 3
+  Microsoft Advanced Systems Format
+  JPEG file
+  Firmware file
+  Microsoft Windows Media Audio
+  MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20070228
+03:58:37Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID
+private="1">AAABBAkHCQUFAwUBAAYBAgU=</UNIQUEID><PUBLICKEY
+private="1">UzQ0VQykaeoQPrOgTYfXYXV1hmODVfwgyv713vldhWE4iX9GMeWneA==</PUBLICKEY><KEYDATA>BRDYsH9AiuTaa9BulaySDjA5bM4=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>5KJTDg8P5BMPjeLQ2cC9w3MufyWLSUAhubTlYDCWV4nsOHmomahHMA==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>BwkgCELkJlZjJ1nLoiPPp9yFeqM=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.107.187</SECURITYVERSION><CERTIFICATE
+private="1">UzQ0VQykaeoQPrOgTYfXYXV1hmODVfwgyv713vldhWE4iX9GMeWneAIEa7vFjBmH0DBgueM+PS22CbvV/BxgQOFHdnNy8KMWhSXz6ydhQwVkSGg+</CERTIFICATE></FALLBACK><CERTIFICATE
+type="GROUP"><DATA><NAME>Walkman</NAME><MANUFACTURER>Sony</MANUFACTURER><MAKE>Sony</MAKE><DISTRIBUTOR>Sony</DISTRIBUTOR><MODEL>Walkman</MODEL><SECURITYLEVEL>2000</SECURITYLEVEL><FEATURES><CLOCK>2</CLOCK><SECURECLOCK><URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL><PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY></SECURECLOCK><METERING>1</METERING><LICENSE_ACQ>1</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>1</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT></FEATURES><LIMITS><MAXCHAINDEPTH>2</MAXCHAINDEPTH><MAXLICENSESIZE>10240</MAXLICENSESIZE><MAXHEADERSIZE>5120</MAXHEADERSIZE></LIMITS><PUBLICKEY>RDfmmYew6SH8Gd6QaIIqXJCVqgLPn1sPxTc71zYTDvAqbUzRuoZ4TA==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>raN1NS4SI+p9Zg32AalcPDAsIHvsntZiofod4RZRW5iXeWZ+qthFUw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1823</AUTH_ID><PUBLICKEY>Ha/toGqNBmuSLvLgRNoGmHsuxS4n2PZY/WcbPkI1aY2Pq+cZ8RVSeA==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>lkcNZ5AC4rykVJcjFp1oRO7F4WxtVFmeMKrzPkb1zxhH9f8qhZQjHg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>vB+7tAF0Ee5jbWMEsKWuUqidmBpmW/nzr1TaaYdLTfwD/dN0IbE4gw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+WMPInfo.xml Does not exist on this device
+PTP: Closing session
+OK.
diff --git a/logs/mtp-detect-sony-walkman-nwz-a818.txt b/logs/mtp-detect-sony-walkman-nwz-a818.txt
new file mode 100644
index 0000000..af2f881
--- /dev/null
+++ b/logs/mtp-detect-sony-walkman-nwz-a818.txt
@@ -0,0 +1,299 @@
+libmtp version: 0.2.4
+
+Attempting to connect device(s)
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 054c
+   idProduct: 0325
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000002
+Device info:
+   Manufacturer: Sony Corporation
+   Model: WALKMAN NWZ-A818
+   Device version: 1.00
+   Serial number: 00000000000000000000000007611039
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; sony.net/WMFU: 1.0; 
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   101b: Get partial object
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9201: Report Added/Deleted Items
+   9808: Send object property list
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9401: Unknown (9401)
+   9402: Unknown (9402)
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+   3008: MS Wave
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 1,  GET/SET
+      de9a: AudioBitRate UINT32 data type enumeration: 128000, 176400, 192000, 256000, 352800, 384000, 512000, 705600, 768000, 1024000, 1411200, 1536000,  READ ONLY
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 32000, MAX 320000, STEP 1 READ ONLY
+   300c: ASF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   3801: JPEG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   b802: Firmware
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 512000, STEP 1 READ ONLY
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+   b982: MP4
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   b984: 3GP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   ba03: Abstract Audio Album
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 65536, STEP 1 READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 200, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 200, STEP 1 READ ONLY
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 7841251328
+      FreeSpaceInBytes: 4200923136
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Storage Media
+      VolumeIdentifier: 00000000000000000000000007611039
+Special directories:
+   Default music folder: 0x00000004
+   Default playlist folder: 0x00000022
+   Default picture folder: 0x00000007
+   Default video folder: 0x00000008
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000012
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: WALKMAN YVES
+   Synchronization partner: {106FE770-DC0F-4BF5-91B1-3463D920955F}
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Advanced Systems Format
+   JPEG file
+   Firmware file
+   Microsoft Windows Media Audio
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20080203 14:45:37Z#</VALUE><FLAG>DRM_CLK_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">AAABBAkHCQYFBQcGAQEAAwk=</UNIQUEID><PUBLICKEY private="1">w3wCKNpn5fvnIdXk7rHi4vigIC+je5AT61n1DcnNPR0LcouuIMj7bw==</PUBLICKEY><KEYDATA>wg2M13EXf9MtmP4GAMKo2edH0Mc=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>rD10JykcqYWcKiEg4E5upINUZ1ei0olicbP3Rqe1plKoWiPo3RnSiA==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>sxi7FivGMxv4BM21AIuxyBVkf+o=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.107.187</SECURITYVERSION><CERTIFICATE private="1">w3wCKNpn5fvnIdXk7rHi4vigIC+je5AT61n1DcnNPR0LcouuIMj7bwIEa7tTS7so1sFaT76aCPyWVKManCmbHsCkvzMfhcdK8LhyxnpgKPY6+e0R</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>Walkman</NAME><MANUFACTURER>Sony</MANUFACTURER><MAKE>Sony</MAKE><DISTRIBUTOR>Sony</DISTRIBUTOR><MODEL>Walkman</MODEL><SECURITYLEVEL>2000</SECURITYLEVEL><FEATURES><CLOCK>2</CLOCK><SECURECLOCK><URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL><PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY></SECURECLOCK><METERING>1</METERING><LICENSE_ACQ>1</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>1</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT></FEATURES><LIMITS><MAXCHAINDEPTH>2</MAXCHAINDEPTH><MAXLICENSESIZE>10240</MAXLICENSESIZE><MAXHEADERSIZE>5120</MAXHEADERSIZE></LIMITS><PUBLICKEY>RDfmmYew6SH8Gd6QaIIqXJCVqgLPn1sPxTc71zYTDvAqbUzRuoZ4TA==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>raN1NS4SI+p9Zg32AalcPDAsIHvsntZiofod4RZRW5iXeWZ+qthFUw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1823</AUTH_ID><PUBLICKEY>Ha/toGqNBmuSLvLgRNoGmHsuxS4n2PZY/WcbPkI1aY2Pq+cZ8RVSeA==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>lkcNZ5AC4rykVJcjFp1oRO7F4WxtVFmeMKrzPkb1zxhH9f8qhZQjHg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>vB+7tAF0Ee5jbWMEsKWuUqidmBpmW/nzr1TaaYdLTfwD/dN0IbE4gw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+
+Device description WMPInfo.xml file:
+<DeviceInfo>

+    <WMP DeviceID="{702F7CF6-E57A-4C79-99D2-08F487E80472}" RelationshipID="{106FE770-DC0F-4BF5-91B1-3463D920955F}"/>

+</DeviceInfo>

+
+OK.
diff --git a/logs/mtp-detect-sony-walkman-nwz-a828.txt b/logs/mtp-detect-sony-walkman-nwz-a828.txt
new file mode 100644
index 0000000..0821739
--- /dev/null
+++ b/logs/mtp-detect-sony-walkman-nwz-a828.txt
@@ -0,0 +1,375 @@
+libmtp version: 0.2.6.1
+
+Attempting to connect device(s)
+Device 1 (VID=054c and PID=035b) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+PTP: Opening session
+PTP_ERROR_IO: Trying again after re-initializing USB interface
+PTP: Opening session
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 054c
+   idProduct: 035b
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+        0000: 1203 4d00 5300 4600 5400 3100 3000 3000   ..M.S.F.T.1.0.0.
+        0010: 3000                                      0.
+Microsoft device response to control message 1, CMD 0x30:
+        0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............
+        0010: 0001 4d54 5000 0000 0000 0000 0000 0000   ..MTP...........
+        0020: 0000 0000 0000 0000                       ........
+Microsoft device response to control message 2, CMD 0x30:
+        0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............
+        0010: 0001 4d54 5000 0000 0000 0000 0000 0000   ..MTP...........
+        0020: 0000 0000 0000 0000                       ........
+Device info:
+   Manufacturer: Sony Corporation
+   Model: WALKMAN NWZ-A828
+   Device version: 1.01
+   Serial number: 00000000000000000000000005006237
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; sony.net/WMFU: 1.0; 
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   101b: Get partial object
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9201: Report Added/Deleted Items
+   9807: Get interdependent property description
+   9808: Send object property list
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9401: Unknown (9401)
+   9402: Unknown (9402)
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+   3008: MS Wave
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 1,  GET/SET
+      de9a: AudioBitRate UINT32 data type enumeration: 128000, 176400, 192000, 256000, 352800, 384000, 512000, 705600, 768000, 1024000, 1411200, 1536000,  GET/SET
+      de91: TotalBitRate UINT32 data type enumeration: 128000, 176400, 192000, 256000, 352800, 384000, 512000, 705600, 768000, 1024000, 1411200, 1536000,  GET/SET
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 32000, MAX 320000, STEP 1 GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 32000, MAX 320000, STEP 1 GET/SET
+   300c: ASF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   3801: JPEG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  GET/SET
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 65536, STEP 1 GET/SET
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 200, STEP 1 GET/SET
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 200, STEP 1 GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 4000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+   b802: Firmware
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 512000, STEP 1 GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 5000, MAX 512000, STEP 1 GET/SET
+   b982: MP4
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 2, MAX 320, STEP 2 GET/SET
+      dc88: Height UINT32 data type range: MIN 2, MAX 240, STEP 2 GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 288000, STEP 1 GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 0, MAX 2788000, STEP 1 GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 844313677, 875967048,  GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 0, MAX 2500000, STEP 1 GET/SET
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 1000, MAX 30000, STEP 1 GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+   b984: 3GP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 288000, STEP 1 GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 0, MAX 2788000, STEP 1 GET/SET
+   ba03: Abstract Audio Album
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  GET/SET
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 65536, STEP 1 GET/SET
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 200, STEP 1 GET/SET
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 200, STEP 1 GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 7841251328
+      FreeSpaceInBytes: 5191303168
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Storage Media
+      VolumeIdentifier: 00000000000000000000000005006237
+Special directories:
+   Default music folder: 0x00000004
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000007
+   Default video folder: 0x00000008
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: WM
+   Synchronization partner: (NULL)
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Advanced Systems Format
+   JPEG file
+   Firmware file
+   Microsoft Windows Media Audio
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20080220 16:35:18Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">AAABBwgAAAQGAAUAAAYCAwc=</UNIQUEID><PUBLICKEY private="1">WsmGmOkopx9PDWY4YPRx4JSfUGtA3hu+ezuhjEgMcSo3bwLBnk+2Dg==</PUBLICKEY><KEYDATA>NrfvUhOT0BXUSR8JkXBeB2gHQrI=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>hpojgVOlLvLFhg2VCi9UPG/JHT15kwGM7S3EmykVegoXcD1WRkYYYQ==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>SySHiynYeyRhuogHSKuj7n2IlfE=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.108.227</SECURITYVERSION><CERTIFICATE private="1">WsmGmOkopx9PDWY4YPRx4JSfUGtA3hu+ezuhjEgMcSo3bwLBnk+2DgIEbON0BXnca8hUoMLKv39D1u409pnhefwoWzf5rrmPemW42QVXTYAJsyVb</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>Walkman</NAME><MANUFACTURER>Sony</MANUFACTURER><MAKE>Sony</MAKE><DISTRIBUTOR>Sony</DISTRIBUTOR><MODEL>Walkman</MODEL><SECURITYLEVEL>2000</SECURITYLEVEL><FEATURES><CLOCK>2</CLOCK><SECURECLOCK><URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL><PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY></SECURECLOCK><METERING>1</METERING><LICENSE_ACQ>1</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>1</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT></FEATURES><LIMITS><MAXCHAINDEPTH>2</MAXCHAINDEPTH><MAXLICENSESIZE>10240</MAXLICENSESIZE><MAXHEADERSIZE>5120</MAXHEADERSIZE></LIMITS><PUBLICKEY>htgYujaMGhtMzfKI3yR5BxCIPkHUb6G7eNK4ZHxrFOCNp613AFIYVg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>YIeYcjegEgGVhz5Iv1mkBubWqB5eZuzvdJ3JxguMnEd8XwJa5c5CIw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>2119</AUTH_ID><PUBLICKEY>5QaFNU7sWDXdDgaVc0XQZ8BlzhQ7hmmlkoPy75/cTh4iRwNo/9HyNg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>kp+pasj2iQ9cd61aC0rU94DIzYXEl9R1OtbXW9b9+O6CsLaJ/XR+Lw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>hnZ59DT2amE3Rh2jYT0okQs7y1bz1qsbEXGijccmFB9Ey6o82HvuLA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+WMPInfo.xml Does not exist on this device
+PTP: Closing session
+OK.
diff --git a/logs/mtp-detect-sony-walkman-nwz-a829.txt b/logs/mtp-detect-sony-walkman-nwz-a829.txt
new file mode 100644
index 0000000..3911275
--- /dev/null
+++ b/logs/mtp-detect-sony-walkman-nwz-a829.txt
@@ -0,0 +1,375 @@
+$ sudo mtp-detect 
+libmtp version: 0.2.6.1
+
+Attempting to connect device(s)
+PTP: Opening session
+PTP_ERROR_IO: Trying again after re-initializing USB interface
+PTP: Opening session
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 054c
+   idProduct: 035b
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000002
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: 3000                                   	0.
+Microsoft device response to control message 1, CMD 0x30:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Microsoft device response to control message 2, CMD 0x30:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Device info:
+   Manufacturer: Sony Corporation
+   Model: WALKMAN NWZ-A829
+   Device version: 1.01
+   Serial number: 00000000000000000000000005003970
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; sony.net/WMFU: 1.0; 
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   101b: Get partial object
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9201: Report Added/Deleted Items
+   9807: Get interdependent property description
+   9808: Send object property list
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9401: Unknown (9401)
+   9402: Unknown (9402)
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+   3008: MS Wave
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 1,  GET/SET
+      de9a: AudioBitRate UINT32 data type enumeration: 128000, 176400, 192000, 256000, 352800, 384000, 512000, 705600, 768000, 1024000, 1411200, 1536000,  GET/SET
+      de91: TotalBitRate UINT32 data type enumeration: 128000, 176400, 192000, 256000, 352800, 384000, 512000, 705600, 768000, 1024000, 1411200, 1536000,  GET/SET
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 32000, MAX 320000, STEP 1 GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 32000, MAX 320000, STEP 1 GET/SET
+   300c: ASF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   3801: JPEG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  GET/SET
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 65536, STEP 1 GET/SET
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 200, STEP 1 GET/SET
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 200, STEP 1 GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 4000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+   b802: Firmware
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 512000, STEP 1 GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 5000, MAX 512000, STEP 1 GET/SET
+   b982: MP4
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 2, MAX 320, STEP 2 GET/SET
+      dc88: Height UINT32 data type range: MIN 2, MAX 240, STEP 2 GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 288000, STEP 1 GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 0, MAX 2788000, STEP 1 GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 844313677, 875967048,  GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 0, MAX 2500000, STEP 1 GET/SET
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 1000, MAX 30000, STEP 1 GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+   b984: 3GP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 288000, STEP 1 GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 0, MAX 2788000, STEP 1 GET/SET
+   ba03: Abstract Audio Album
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  GET/SET
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 65536, STEP 1 GET/SET
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 200, STEP 1 GET/SET
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 200, STEP 1 GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 15842115584
+      FreeSpaceInBytes: 7230652416
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Storage Media
+      VolumeIdentifier: 00000000000000000000000005003970
+Special directories:
+   Default music folder: 0x00000004
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000007
+   Default video folder: 0x00000008
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: WALKMAN
+   Synchronization partner: (NULL)
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Advanced Systems Format
+   JPEG file
+   Firmware file
+   Microsoft Windows Media Audio
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20080228 10:39:57Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">AAABBwgAAAkDAAUAAAMJBwA=</UNIQUEID><PUBLICKEY private="1">8F6niZgPW+SQOS13sEcvZNYHRx7P5TO2HUZaUnF6Ba1kxf4QHtr9hA==</PUBLICKEY><KEYDATA>AVH2jPcQdTot/c5QfY3W3DdkKAc=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>LfSFK91Gp/56spZ+I9uMqgx2wE1QcJpHuOjTexkaVAkmuof0+GxkBw==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>65OBDiORMgYQ5jlRH+n4WqymXMU=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.108.227</SECURITYVERSION><CERTIFICATE private="1">8F6niZgPW+SQOS13sEcvZNYHRx7P5TO2HUZaUnF6Ba1kxf4QHtr9hAIEbOMSKBnJKA0joeaHOdwxeMDTA1gSY3BfGMhe/ZfP8d2CJ2QNN0ypcHtv</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>Walkman</NAME><MANUFACTURER>Sony</MANUFACTURER><MAKE>Sony</MAKE><DISTRIBUTOR>Sony</DISTRIBUTOR><MODEL>Walkman</MODEL><SECURITYLEVEL>2000</SECURITYLEVEL><FEATURES><CLOCK>2</CLOCK><SECURECLOCK><URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL><PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY></SECURECLOCK><METERING>1</METERING><LICENSE_ACQ>1</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>1</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT></FEATURES><LIMITS><MAXCHAINDEPTH>2</MAXCHAINDEPTH><MAXLICENSESIZE>10240</MAXLICENSESIZE><MAXHEADERSIZE>5120</MAXHEADERSIZE></LIMITS><PUBLICKEY>htgYujaMGhtMzfKI3yR5BxCIPkHUb6G7eNK4ZHxrFOCNp613AFIYVg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>YIeYcjegEgGVhz5Iv1mkBubWqB5eZuzvdJ3JxguMnEd8XwJa5c5CIw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>2119</AUTH_ID><PUBLICKEY>5QaFNU7sWDXdDgaVc0XQZ8BlzhQ7hmmlkoPy75/cTh4iRwNo/9HyNg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>kp+pasj2iQ9cd61aC0rU94DIzYXEl9R1OtbXW9b9+O6CsLaJ/XR+Lw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>hnZ59DT2amE3Rh2jYT0okQs7y1bz1qsbEXGijccmFB9Ey6o82HvuLA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+WMPInfo.xml Does not exist on this device
+PTP: Closing session
+OK.
+
diff --git a/logs/mtp-detect-sony-walkman-nwz-e354.txt b/logs/mtp-detect-sony-walkman-nwz-e354.txt
new file mode 100644
index 0000000..2f578d3
--- /dev/null
+++ b/logs/mtp-detect-sony-walkman-nwz-e354.txt
@@ -0,0 +1,431 @@
+Device 0 (VID=054c and PID=04cb) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+object 7 has parent 0xffffffff (-1) continuing anyway
+object 8 has parent 0xffffffff (-1) continuing anyway
+object 9 has parent 0xffffffff (-1) continuing anyway
+object b has parent 0xffffffff (-1) continuing anyway
+object c has parent 0xffffffff (-1) continuing anyway
+object d has parent 0xffffffff (-1) continuing anyway
+object e has parent 0xffffffff (-1) continuing anyway
+object f has parent 0xffffffff (-1) continuing anyway
+object 3c has parent 0xffffffff (-1) continuing anyway
+libmtp version: 1.0.2
+
+Listing raw device(s)
+   Found 1 device(s):
+   054c:04cb @ bus 1, dev 3
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 054c
+   idProduct: 04cb
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 3
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x054c
+         Product: (null)
+         Vendor id: 0x04cb
+         Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: 3000                                   	0.
+Microsoft device response to control message 1, CMD 0x30:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Microsoft device response to control message 2, CMD 0x30:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Device responds to control message 2 with some data.
+Device info:
+   Manufacturer: Sony Corporation
+   Model: WALKMAN NWZ-E354
+   Device version: 1.00
+   Serial number: 00000000000000000000000005061709
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; sony.net/WMFU: 1.0; 
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   101b: Get partial object
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9201: Report Added/Deleted Items
+   9807: Get interdependent property description
+   9808: Send object property list
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9401: Unknown (9401)
+   9402: Unknown (9402)
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd303: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type enumeration: 128000, 176400, 192000, 256000, 352800, 384000, 512000, 705600, 768000, 1024000, 1411200, 1536000,  GET/SET
+      de91: Total Bit Rate UINT32 data type enumeration: 128000, 176400, 192000, 256000, 352800, 384000, 512000, 705600, 768000, 1024000, 1411200, 1536000,  GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc42: Sync ID STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 32000, MAX 320000, STEP 1 GET/SET
+      de91: Total Bit Rate UINT32 data type range: MIN 32000, MAX 320000, STEP 1 GET/SET
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 480, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 270, STEP 1 GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 5512000, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 826496599, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 5000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1000, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 1,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 15, MAX 15, STEP 1 GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 65536, STEP 1 GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 200, STEP 1 GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 200, STEP 1 GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 4096, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 4096, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+   b802: Firmware
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc42: Sync ID STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 352, 353,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 512000, STEP 1 GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      de91: Total Bit Rate UINT32 data type range: MIN 5000, MAX 512000, STEP 1 GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc42: Sync ID STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 5648,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 320000, STEP 1 GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      de91: Total Bit Rate UINT32 data type range: MIN 0, MAX 320000, STEP 1 GET/SET
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 5648,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 320000, STEP 1 GET/SET
+      de91: Total Bit Rate UINT32 data type range: MIN 16000, MAX 320000, STEP 1 GET/SET
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 65536, STEP 1 GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 200, STEP 1 GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 200, STEP 1 GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 32, MAX 720, STEP 2 GET/SET
+      dc88: Height UINT32 data type range: MIN 32, MAX 480, STEP 2 GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 6512000, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 826496599, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 6000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1000, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 1,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 15, MAX 15, STEP 1 GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 7513636864
+      FreeSpaceInBytes: 3707731968
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Storage Media
+      VolumeIdentifier: 00000000000000000000000005061709
+Special directories:
+   Default music folder: 0x00000007
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x0000000b
+   Default video folder: 0x0000000c
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: WALKMAN
+   Synchronization partner: (NULL)
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Advanced Systems Format
+   JPEG file
+   Firmware file
+   Microsoft Windows Media Audio
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Abstract Album file
+   Abstract Playlist file
+   Microsoft Windows Media Video
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20103331 16:23:43Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>AG></DRMCLOCK>
+OK.
diff --git a/logs/mtp-detect-sony-walkman-nwz-e436f.txt b/logs/mtp-detect-sony-walkman-nwz-e436f.txt
new file mode 100644
index 0000000..a593d16
--- /dev/null
+++ b/logs/mtp-detect-sony-walkman-nwz-e436f.txt
@@ -0,0 +1,483 @@
+libmtp version: 1.0.0
+
+Listing raw device(s)
+   Found 1 device(s):
+   Sony: Walkman NWZ-E436F (054c:0385) @ bus 0, dev 15
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 054c
+   idProduct: 0385
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 15
+      Device entry info:
+         Vendor: Sony
+         Vendor id: 0x054c
+         Product: Walkman NWZ-E436F
+         Vendor id: 0x0385
+         Device flags: 0x00000002
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: 0100                                   	..
+Microsoft device response to control message 1, CMD 0x01:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Device info:
+   Manufacturer: Sony Corporation
+   Model: WALKMAN NWZ-E436F
+   Device version: 1.02
+   Serial number: 00000000000000000000000005453003
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 10.0; microsoft.com/WMPPD: 11.0
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   101b: Get partial object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   100f: Format storage
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   9203: Get transferable playlist types
+   97f1: Unknown (97f1)
+   97f2: Unknown (97f2)
+   97f3: Unknown (97f3)
+   97f4: Unknown (97f4)
+   97f5: Unknown (97f5)
+   1010: Reset device
+   1012: Set object protection
+Events supported:
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd402: Friendly Device Name
+   0xd401: Synchronization Partner
+   0x5001: Battery Level
+   0xd405: Device Icon
+Playable File (Object) Types and Object Properties Supported:
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 4300000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 80, 85,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 2304000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 2, 17,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 352, 353,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 41222,  GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 352, 353,  GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 30050, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 5000, MAX 768010, STEP 1 READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14340, 14343,  GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc97: Effective Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14340, 14343,  GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14340, 14343,  GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1198010, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 352, 353,  GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 30050, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 5000, MAX 768010, STEP 1 READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14340, 14343,  GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 0, 80, 85, 41222,  GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: Skip Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 30050, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 5000, MAX 768010, STEP 1 READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc84: Representative Sample Width UINT32 data type 
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14340, 14343,  GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+   b907: Unknown(b907)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc42: Sync ID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 3930587136
+      FreeSpaceInBytes: 2832629760
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Storage Media
+      VolumeIdentifier: 00000000000000000000000005453003
+Special directories:
+   Default music folder: 0x0001006e
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000086
+   Default video folder: 0x00000067
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: Maryanne
+   Synchronization partner: WALKMAN NWZ-E436F
+   Battery level 96 of 100 (96%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   RIFF WAVE file
+   Microsoft Windows Media Audio
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Microsoft Advanced Systems Format
+   Abstract Playlist file
+   JPEG file
+   Abstract Album file
+   Microsoft Windows Media Video
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+Unable to acquire device certificate, perhaps this device does not support this
+Error 2: PTP Layer error 02ff: get_device_unicode_property(): failed to get unicode property.
+Error 2: (Look this up in ptp.h for an explanation.)
+
+
+^X^C
diff --git a/logs/mtp-detect-sony-walkman-nwz-s516.txt b/logs/mtp-detect-sony-walkman-nwz-s516.txt
new file mode 100644
index 0000000..1d7171a
--- /dev/null
+++ b/logs/mtp-detect-sony-walkman-nwz-s516.txt
@@ -0,0 +1,370 @@
+Device 1 (VID=054c and PID=0326) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+PTP: Opening session
+Detect: Successfully connected 1 devices
+USB low-level info:
+  Using kernel interface "usbfs"
+  bcdUSB: 512
+  bDeviceClass: 0
+  bDeviceSubClass: 0
+  bDeviceProtocol: 0
+  idVendor: 054c
+  idProduct: 0326
+  IN endpoint maxpacket: 512 bytes
+  OUT endpoint maxpacket: 512 bytes
+Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+0000: 1203 4d00 5300 4600 5400 3100 3000 3000 ..M.S.F.T.1.0.0.
+0010: 3000 0.
+Microsoft device response to control message 1, CMD 0x30:
+0000: 2800 0000 0001 0400 0100 0000 0000 0000 (...............
+0010: 0001 4d54 5000 0000 0000 0000 0000 0000 ..MTP...........
+0020: 0000 0000 0000 0000 ........
+Microsoft device response to control message 2, CMD 0x30:
+0000: 2800 0000 0001 0400 0100 0000 0000 0000 (...............
+0010: 0001 4d54 5000 0000 0000 0000 0000 0000 ..MTP...........
+0020: 0000 0000 0000 0000 ........
+Device info:
+  Manufacturer: Sony Corporation
+  Model: WALKMAN NWZ-S516
+  Device version: 1.00
+  Serial number: 00000000000000000000000005011742
+  Vendor extension ID: 0x00000006
+  Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; sony.net/WMFU: 1.0;
+Supported operations:
+  1001: get device info
+  1002: Open session
+  1003: Close session
+  1004: Get storage IDs
+  1005: Get storage info
+  1006: Get number of objects
+  1007: Get object handles
+  1008: Get object info
+  1009: Get object
+  100b: Delete object
+  100c: Send object info
+  100d: Send object
+  1014: Get device property description
+  1015: Get device property value
+  1016: Set device property value
+  101b: Get partial object
+  9810: Get object references
+  9811: Set object references
+  9802: Get object property description
+  9801: Get object properties supported
+  9803: Get object property value
+  9804: Set object property value
+  9805: Get object property list
+  9806: Set object property list
+  9201: Report Added/Deleted Items
+  9808: Send object property list
+  9101: Get secure time challenge
+  9102: Get secure time response
+  9103: Set license response
+  9104: Get sync list
+  9105: Send meter challenge query
+  9106: Get meter challenge
+  9107: Get meter response
+  9108: Clean data store
+  9109: Get license state
+  910a: Send WMDRM-PD Command
+  910b: Send WMDRM-PD Request
+  9401: Unknown(9401)
+  9402: Unknown(9402)
+Events supported:
+  None.
+Device Properties Supported:
+  0x5001: Battery Level
+  0xd401: Synchronization Partner
+  0xd402: Device Friendly Name
+  0xd101: Secure Time
+  0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+  3000: Undefined Type
+    dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+    dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+    dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ ONLY
+    dc04: ObjectSize UINT64 data type READ ONLY
+    dc07: ObjectFileName STRING data type GET/SET
+    dc09: DateModified STRING data type GET/SET
+    dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+    dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+    dc44: Name STRING data type GET/SET
+    dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+  3001: Association/Directory
+    dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+    dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+    dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ ONLY
+    dc04: ObjectSize UINT64 data type READ ONLY
+    dc07: ObjectFileName STRING data type GET/SET
+    dc09: DateModified STRING data type GET/SET
+    dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+    dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+    dc44: Name STRING data type GET/SET
+    dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+    dc05: AssociationType UINT16 data type enumeration: 0, 1, GET/SET
+  3008: MS Wave
+    dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+    dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+    dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc07: ObjectFileName STRING data type GET/SET
+dc09: DateModified STRING data type GET/SET
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc44: Name STRING data type GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc46: Artist STRING data type GET/SET
+dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1
+GET/SET
+dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+dc8c: Genre STRING data type GET/SET
+dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+dc99: OriginalReleaseDate STRING data type GET/SET
+dc9a: AlbumName STRING data type GET/SET
+dc9b: AlbumArtist STRING data type GET/SET
+de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000,
+16000, 22050, 24000, 32000, 44100, 48000, READ ONLY
+de94: NumberOfChannels UINT16 data type enumeration: 1, 2, GET/SET
+de99: AudioWAVECodec UINT32 data type enumeration: 1, GET/SET
+de9a: AudioBitRate UINT32 data type enumeration: 128000, 176400,
+192000, 256000, 352800, 384000, 512000, 705600, 768000, 1024000, 1411200,
+1536000, READ ONLY
+3009: MP3
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ
+ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc07: ObjectFileName STRING data type GET/SET
+dc09: DateModified STRING data type GET/SET
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc44: Name STRING data type GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc46: Artist STRING data type GET/SET
+dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1
+GET/SET
+dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+dc8c: Genre STRING data type GET/SET
+dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+dc99: OriginalReleaseDate STRING data type GET/SET
+dc9a: AlbumName STRING data type GET/SET
+dc9b: AlbumArtist STRING data type GET/SET
+de93: SampleRate UINT32 data type enumeration: 16000, 22050, 24000,
+32000, 44100, 48000, READ ONLY
+de94: NumberOfChannels UINT16 data type enumeration: 1, 2, GET/SET
+de99: AudioWAVECodec UINT32 data type enumeration: 85, GET/SET
+de9a: AudioBitRate UINT32 data type range: MIN 32000, MAX 320000,
+STEP 1 READ ONLY
+300c: ASF
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ
+ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc07: ObjectFileName STRING data type GET/SET
+dc09: DateModified STRING data type GET/SET
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc44: Name STRING data type GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+3801: JPEG
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ
+ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc07: ObjectFileName STRING data type GET/SET
+dc09: DateModified STRING data type GET/SET
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc44: Name STRING data type GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc87: Width UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ
+ONLY
+dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ
+ONLY
+b802: Firmware
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ
+ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc07: ObjectFileName STRING data type GET/SET
+dc09: DateModified STRING data type GET/SET
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc44: Name STRING data type GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+b901: WMA
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ
+ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc07: ObjectFileName STRING data type GET/SET
+dc09: DateModified STRING data type GET/SET
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc44: Name STRING data type GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc46: Artist STRING data type GET/SET
+dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1
+GET/SET
+dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+dc8c: Genre STRING data type GET/SET
+dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+dc99: OriginalReleaseDate STRING data type GET/SET
+dc9a: AlbumName STRING data type GET/SET
+dc9b: AlbumArtist STRING data type GET/SET
+de93: SampleRate UINT32 data type enumeration: 8000, 11025, 16000,
+22050, 32000, 44100, 48000, READ ONLY
+de94: NumberOfChannels UINT16 data type enumeration: 1, 2, GET/SET
+de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,
+GET/SET
+de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 512000, STEP
+1 READ ONLY
+d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+b982: MP4
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ
+ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc07: ObjectFileName STRING data type GET/SET
+dc09: DateModified STRING data type GET/SET
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc44: Name STRING data type GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+b984: 3GP
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ
+ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc07: ObjectFileName STRING data type GET/SET
+dc09: DateModified STRING data type GET/SET
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc44: Name STRING data type GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+ba03: Abstract Audio Album
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ
+ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc07: ObjectFileName STRING data type GET/SET
+dc09: DateModified STRING data type GET/SET
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc44: Name STRING data type GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,
+READ ONLY
+dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX
+65536, STEP 1 READ ONLY
+dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX
+200, STEP 1 READ ONLY
+dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX
+200, STEP 1 READ ONLY
+dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT
+VALUE form GET/SET
+Unknown OPFF type 6
+dc8c: Genre STRING data type GET/SET
+dc9b: AlbumArtist STRING data type GET/SET
+d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+ba05: Abstract Audio Video Playlist
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ
+ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc07: ObjectFileName STRING data type GET/SET
+dc09: DateModified STRING data type GET/SET
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc44: Name STRING data type GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+Storage Devices:
+  StorageID: 0x00010001
+  StorageType: 0x0003
+  FilesystemType: 0x0002
+  AccessCapability: 0x0000
+  MaxCapacity: 3840933888
+  FreeSpaceInBytes: 319455232
+  FreeSpaceInObjects: 4294967295
+  StorageDescription: Storage Media
+  VolumeIdentifier: 00000000000000000000000005011742
+Special directories:
+  Default music folder: 0x00000004
+  Default playlist folder: 0x00000000
+  Default picture folder: 0x00000007
+  Default video folder: 0x00000000
+  Default organizer folder: 0x00000000
+  Default zencast folder: 0x00000000
+  Default album folder: 0x00000216
+  Default text folder: 0x00000000
+MTP-specific device properties:
+  Friendly name: WALKMAN
+  Synchronization partner: {00000000-0000-0000-0000-000000000000}
+  Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+  RIFF WAVE file
+  ISO MPEG-1 Audio Layer 3
+  Microsoft Advanced Systems Format
+  JPEG file
+  Firmware file
+  Microsoft Windows Media Audio
+  MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20071227
+01:10:46Z#</VALUE><FLAG>DRM_CLK_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID
+private="1">AAABBwUFCAcIAQUAAQEHBAI=</UNIQUEID><PUBLICKEY
+private="1">3R0DMB5nzV7+YMmX2Y7eOGqY0h1kidagAPLfQg/AqquZADAOi2PWBQ==</PUBLI
+CKEY><KEYDATA>RJdtc1nEIhk/c4Jgrav3NOoaeww=</KEYDATA></DATA><MSDRM_SIGNATURE
+_VALUE>uGaDnWCx055tpKvQUqpVHMvyXHegJCFMW0gycB1LGeBbsUEXrAAmXQ==</MSDRM_SIGN
+ATURE_VALUE><SYMSIGNATURE>wZoo5yradZ+VhIjxNu6L8vGJF9o=</SYMSIGNATURE></CERT
+IFICATE><FALLBACK><SECURITYVERSION>2.4.107.191</SECURITYVERSION><CERTIFICAT
+E
+private="1">3R0DMB5nzV7+YMmX2Y7eOGqY0h1kidagAPLfQg/AqquZADAOi2PWBQIEa79u8yq
+KKhjuWgaXGL/uP0zM9rQKBrX9WQNiHPtuvE+Y7fEiKey+T5tK</CERTIFICATE></FALLBACK><
+CERTIFICATE
+type="GROUP"><DATA><NAME>Walkman</NAME><MANUFACTURER>Sony</MANUFACTURER><MA
+KE>Sony</MAKE><DISTRIBUTOR>Sony</DISTRIBUTOR><MODEL>Walkman</MODEL><SECURIT
+YLEVEL>2000</SECURITYLEVEL><FEATURES><CLOCK>2</CLOCK><SECURECLOCK><URL>http
+://go.microsoft.com/fwlink/?LinkId=25817</URL><PUBLICKEY>!CNhvvz1WaNV1AFUme
+txkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY></SECURECLOCK><METERING>1
+</METERING><LICENSE_ACQ>1</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRY
+PTION>1</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT></FEATURES><LIMITS><MAX
+CHAINDEPTH>2</MAXCHAINDEPTH><MAXLICENSESIZE>10240</MAXLICENSESIZE><MAXHEADE
+RSIZE>5120</MAXHEADERSIZE></LIMITS><PUBLICKEY>lzgPooFAeWA0jYRRYBVshxGEMitl7
+x+hlYwLVSsTpWsTCQgioVyTNQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>XOSDdp
+7x3HEfDYW6zjYP3Ug5Ph7jSFVXjeWtI/Zu2v6UAHE1KNvGhQ==</MSDRM_SIGNATURE_VALUE><
+/CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1827
+</AUTH_ID><PUBLICKEY>o8hyGYZ3BBvIr2RWfWyTVMdztYf9DLXnVf+FZyRFbOljxXZkwUnKSQ
+==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>ElNjWDAcZiAe+os4GAiPVBMjmHcsbr1
+Nv9VFv12f7PGZK+Qj5fByeQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbO
+gktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNA
+TURE_VALUE>ROCYNKzPx/zmhsI1LKec6DbMPA5hB4//QVRowfjtaL5Ru7Wv9wAuJg==</MSDRM_
+SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+
+Device description WMPInfo.xml file:
+<DeviceInfo>
+<WMP DeviceID="{1812399A-A14D-4B1A-83AE-229A21FC17C5}"
+RelationshipID="{00000000-0000-0000-0000-000000000000}"/>
+</DeviceInfo>
+
+PTP: Closing session
+OK.
diff --git a/logs/mtp-detect-sony-walkman-nwz-s545.txt b/logs/mtp-detect-sony-walkman-nwz-s545.txt
new file mode 100644
index 0000000..f4cf355
--- /dev/null
+++ b/logs/mtp-detect-sony-walkman-nwz-s545.txt
@@ -0,0 +1,530 @@
+libmtp version: 0.3.7
+
+Listing raw device(s)
+Potential MTP Device with VendorID:054c and ProductID:03fe responded to control message 2 with a response that was too short. Problems may arrise but continuing
+Device 0 (VID=054c and PID=03fe) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   054c:03fe @ bus 0, dev 3
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 054c
+   idProduct: 03fe
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 3
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x054c
+         Product: (null)
+         Vendor id: 0x03fe
+         Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: 0100                                   	..
+Microsoft device response to control message 1, CMD 0x01:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Potential MTP Device with VendorID:054c and ProductID:03fe responded to control message 2 with a response that was too short. Problems may arrise but continuing
+Device info:
+   Manufacturer: Sony Corporation
+   Model: WALKMAN NWZ-S545
+   Device version: 1.00
+   Serial number: 00000000000000000000000004056580
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 10.0; microsoft.com/WMPPD: 11.0; sony.net/WMFU: 1.0
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   101b: Get partial object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   100f: Format storage
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   9203: Get transferable playlist types
+   97f1: Unknown (97f1)
+   97f2: Unknown (97f2)
+   97f3: Unknown (97f3)
+   97f4: Unknown (97f4)
+   97f5: Unknown (97f5)
+   1010: Reset device
+   1012: Set object protection
+   9807: Get interdependent property description
+   9401: Unknown (9401)
+   9402: Unknown (9402)
+Events supported:
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd402: Friendly Device Name
+   0xd401: Synchronization Partner
+   0x5001: Battery Level
+   0xd405: Device Icon
+Playable File (Object) Types and Object Properties Supported:
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 4300000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 80, 85,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+   3008: MS Wave
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 2304000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 17,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 352, 353,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+   b903: AAC
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 41222,  GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+   300c: ASF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 352, 353,  GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 0, MAX 30050, STEP 1 GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 0, 861293911,  GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 5000, MAX 768010, STEP 1 READ ONLY
+      de97: ScanDepth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337, 14340, 14343,  GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+   3801: JPEG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337, 14340, 14343,  GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+   3807: GIF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337, 14340, 14343,  GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+   3804: BMP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337, 14340, 14343,  GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+   ba03: Abstract Audio Album
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337, 14340, 14343,  GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+   b981: WMV
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 1478576, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 352, 353,  GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 272, STEP 1 GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 480, STEP 1 GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 0, MAX 30050, STEP 1 GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 0, 861293911,  GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 5000, MAX 1048576, STEP 1 READ ONLY
+      de97: ScanDepth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337, 14340, 14343,  GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+   b982: MP4
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 80, 85, 41222,  GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 480, STEP 1 GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 640, STEP 1 GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 0, MAX 30050, STEP 1 GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 0,  GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 5000, MAX 1572864, STEP 1 READ ONLY
+      de97: ScanDepth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7,  GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337, 14340, 14343,  GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 15840837632
+      FreeSpaceInBytes: 10046385512
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Storage Media
+      VolumeIdentifier: 00000000000000000000000004056580
+Special directories:
+   Default music folder: 0x00000068
+   Default playlist folder: 0x000007ee
+   Default picture folder: 0x0000006a
+   Default video folder: 0x00000067
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: WALKMAN
+   Synchronization partner: WALKMAN NWZ-S545
+   Battery level 99 of 100 (99%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   RIFF WAVE file
+   Microsoft Windows Media Audio
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Microsoft Advanced Systems Format
+   JPEG file
+   GIF bitmap file
+   BMP bitmap file
+   Microsoft Windows Media Video
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20100108 02:47:10Z#</VALUE><FLAG>DRM_CLK_NEEDS_REFRESH</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">MDAwMDAwMDEwMDAwMUJBMgoKCgo=</UNIQUEID><PUBLICKEY private="1">gxKzDXjcPHS7rvUP+aVS7QOuXgFZvhQjXWCjZlZsnAzx/enL83rFFA==</PUBLICKEY><KEYDATA>q0KXxVdqWVmkiFG2sz6gKuupRuo=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>D64r+XmsOTWEe5HBhUUVK7SwISfHGGc+PBlVkUSqUWxr6f8RfferVw==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>PRB9gUShd3RqpCEWyr7yUcg3BEk=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.113.179</SECURITYVERSION><CERTIFICATE private="1">gxKzDXjcPHS7rvUP+aVS7QOuXgFZvhQjXWCjZlZsnAzx/enL83rFFAIEcbP3bc+R8W3mJO8kgg80FFiA4xFyE0BZMLOx7BysvFUUUTXA5XhbZMgv</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>Walkman</NAME><MANUFACTURER>Sony</MANUFACTURER><MAKE>Sony</MAKE><DISTRIBUTOR>Sony</DISTRIBUTOR><MODEL>Walkman</MODEL><SECURITYLEVEL>2000</SECURITYLEVEL><FEATURES><CLOCK>2</CLOCK><SECURECLOCK><URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL><PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY></SECURECLOCK><METERING>1</METERING><LICENSE_ACQ>1</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>1</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT></FEATURES><LIMITS><MAXCHAINDEPTH>2</MAXCHAINDEPTH><MAXLICENSESIZE>10240</MAXLICENSESIZE><MAXHEADERSIZE>5120</MAXHEADERSIZE></LIMITS><PUBLICKEY>WkE5YkC7aJ5pzVrmf5J7ej3ZVoUKwEHAtPv4rkYdvKeuqd8pa+PmMQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>ssMPzjU0Vs/pbxuH8fEGoXxowTRHtIqXrGUqD2uB2cULzsBGCF1oFA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>3351</AUTH_ID><PUBLICKEY>dET+Vay0Z2TNJu6Mf5Dg89UMfXcKfmU0H5Q0M0jDgk0Tuux9nYvkdQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>cA+mkQSGjfKw4MspoToGcx/gLV4uRP6aqZ8c6Gdq1iRYsMuxMqUGbA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>3Qi9EhbnqBCwPf5X9XMFSJvLxjDRxOnz0B/PIENKpFrgBj/NQ9mmhQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+OK.
diff --git a/logs/mtp-detect-sony-walkman-nwz-s616f.txt b/logs/mtp-detect-sony-walkman-nwz-s616f.txt
new file mode 100644
index 0000000..8fcf837
--- /dev/null
+++ b/logs/mtp-detect-sony-walkman-nwz-s616f.txt
@@ -0,0 +1,309 @@
+libmtp version: 0.2.6.1
+
+Attempting to connect device(s)
+PTP: Opening session
+PTP_ERROR_IO: Trying again after re-initializing USB interface
+PTP: Opening session
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 054c
+   idProduct: 0327
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000002
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: 3000                                   	0.
+Microsoft device response to control message 1, CMD 0x30:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Microsoft device response to control message 2, CMD 0x30:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Device info:
+   Manufacturer: Sony Corporation
+   Model: WALKMAN NWZ-S616F
+   Device version: 1.00
+   Serial number: 00000000000000000000000005355400
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; sony.net/WMFU: 1.0; 
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   101b: Get partial object
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9201: Report Added/Deleted Items
+   9808: Send object property list
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9401: Unknown (9401)
+   9402: Unknown (9402)
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+   3008: MS Wave
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 1,  GET/SET
+      de9a: AudioBitRate UINT32 data type enumeration: 128000, 176400, 192000, 256000, 352800, 384000, 512000, 705600, 768000, 1024000, 1411200, 1536000,  READ ONLY
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 32000, MAX 320000, STEP 1 READ ONLY
+   300c: ASF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   3801: JPEG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   b802: Firmware
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 512000, STEP 1 READ ONLY
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+   b982: MP4
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   b984: 3GP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   ba03: Abstract Audio Album
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 65536, STEP 1 READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 200, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 200, STEP 1 READ ONLY
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 3840933888
+      FreeSpaceInBytes: 970162176
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Storage Media
+      VolumeIdentifier: 00000000000000000000000005355400
+Special directories:
+   Default music folder: 0x00000004
+   Default playlist folder: 0x0000042c
+   Default picture folder: 0x00000007
+   Default video folder: 0x00000008
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: WALKMAN
+   Synchronization partner: (NULL)
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Advanced Systems Format
+   JPEG file
+   Firmware file
+   Microsoft Windows Media Audio
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20080715 22:58:29Z#</VALUE><FLAG>DRM_CLK_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">AAABBwUFCAQJBgUDBQUEAAA=</UNIQUEID><PUBLICKEY private="1">A2nn4Wgv1k9coujyTAcKEkoKQmrQGR4ZYsOXgeR6YdkxuTlaXH2sOA==</PUBLICKEY><KEYDATA>Xdil2n+7R4etgkE3Z5I2DYJjTnE=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>eNWqcuVYaLt/xefb7fqJ04YnJxxxekFE3fW1fD3uAU5k8g4Jhyd7Lg==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>zcOgwA5ITvR2OdqTPwn3z1WS9ic=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.107.193</SECURITYVERSION><CERTIFICATE private="1">A2nn4Wgv1k9coujyTAcKEkoKQmrQGR4ZYsOXgeR6YdkxuTlaXH2sOAIEa8G5BvVCKIUybuomZqYUhpZbUbZUTwmGyXh5ji2Murave8EcCuYLZY5u</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>Walkman</NAME><MANUFACTURER>Sony</MANUFACTURER><MAKE>Sony</MAKE><DISTRIBUTOR>Sony</DISTRIBUTOR><MODEL>Walkman</MODEL><SECURITYLEVEL>2000</SECURITYLEVEL><FEATURES><CLOCK>2</CLOCK><SECURECLOCK><URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL><PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY></SECURECLOCK><METERING>1</METERING><LICENSE_ACQ>1</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>1</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT></FEATURES><LIMITS><MAXCHAINDEPTH>2</MAXCHAINDEPTH><MAXLICENSESIZE>10240</MAXLICENSESIZE><MAXHEADERSIZE>5120</MAXHEADERSIZE></LIMITS><PUBLICKEY>o9wK49TNM0/ID0TR0GZOTQJaoVlbHA0GsdBr3t0NB4lBQirZKrfhKQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>hluUVnnLOKGYijl7z2MaVuhfrTFcuF0l7qY9vjfGSrZ/AwsQXmLEMQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1829</AUTH_ID><PUBLICKEY>RosQbBMLgdRdTNONotMCSbMK2HKQXF7ITeJSwcsIWROvlhUjCt5wfw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>KmXouuSpKrB9JeONnc1EBUB7yg4RG/vhDEGbttDhpdktPwtuhzUNcg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>/BmiGou3NGiy668IPaFgMS0sU2B7a1kIVzM4E8bYaqMk02j1Jyo6Kg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+WMPInfo.xml Does not exist on this device
+PTP: Closing session
+OK.
diff --git a/logs/mtp-detect-sony-walkman-nwz-s618f.txt b/logs/mtp-detect-sony-walkman-nwz-s618f.txt
new file mode 100644
index 0000000..d1145d8
--- /dev/null
+++ b/logs/mtp-detect-sony-walkman-nwz-s618f.txt
@@ -0,0 +1,306 @@
+libmtp version: 0.2.1
+
+Attempting to connect device(s)
+PTP: Opening session
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 054c
+   idProduct: 0327
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000002
+Microsoft device descriptor 0xee:
+        0000: 1203 4d00 5300 4600 5400 3100 3000 3000   ..M.S.F.T.1.0.0.
+        0010: 3000                                      0.
+Microsoft device response to control message 1, CMD 0x30:
+        0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............
+        0010: 0001 4d54 5000 0000 0000 0000 0000 0000   ..MTP...........
+        0020: 0000 0000 0000 0000                       ........
+Microsoft device response to control message 2, CMD 0x30:
+        0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............
+        0010: 0001 4d54 5000 0000 0000 0000 0000 0000   ..MTP...........
+        0020: 0000 0000 0000 0000                       ........
+Device info:
+   Manufacturer: Sony Corporation
+   Model: WALKMAN NWZ-S618F
+   Device version: 1.00
+   Serial number: 00000000000000000000000005015057
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; sony.net/WMFU: 1.0;
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   101b: Get partial object
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9201: Report Added/Deleted Items
+   9808: Send object property list
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9401: Unknown(9401)
+   9402: Unknown(9402)
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Device Friendly Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+   3008: MS Wave
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 1,  GET/SET
+      de9a: AudioBitRate UINT32 data type enumeration: 128000, 176400, 192000, 256000, 352800, 384000, 512000, 705600, 768000, 1024000, 1411200, 1536000,  READ ONLY
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 32000, MAX 320000, STEP 1 READ ONLY
+   300c: ASF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   3801: JPEG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   b802: Firmware
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 512000, STEP 1 READ ONLY
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+   b982: MP4
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   b984: 3GP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   ba03: Abstract Audio Album
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 65536, STEP 1 READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 200, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 200, STEP 1 READ ONLY
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 7841251328
+      FreeSpaceInBytes: 7054065664
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Storage Media
+      VolumeIdentifier: 00000000000000000000000005015057
+Special directories:
+   Default music folder: 0x00000004
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000007
+   Default video folder: 0x00000008
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: WALKMAN
+   Synchronization partner: (NULL)
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Advanced Systems Format
+   JPEG file
+   Firmware file
+   Microsoft Windows Media Audio
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20070210 12:45:47Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version=" 1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">AAABBwUFCAUHBwUAAQUABQc=</UNIQUEID><PUBLICKEY private="1">MI9IXZXnW23Z3iRdK5Cf+o36d3xDQnDTRLDYxc2E1Ltn8MdNuzt4Lw==</PUBLICKEY><KEYDATA>jZq83O8bnIvnVszjNMkMhNnSwzQ=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>l0EFdqodOXb6xFgMqoSD2Gf47XB2NzKbHn77RjEgaPpLEAi3JpuMPw==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>pCWkdzT+slV9vgGQ5ZPyZoW0uHo=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION> 2.4.107.193</SECURITYVERSION><CERTIFICATE private="1">MI9IXZXnW23Z3iRdK5Cf+o36d3xDQnDTRLDYxc2E1Ltn8MdNuzt4LwIEa8FldZXgyXptjwcHzslRIDn0MwWJY0+HHqXIuckFJ9ZzZcMXBEo8YRRa</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>Walkman</NAME><MANUFACTURER>Sony</MANUFACTURER><MAKE>Sony</MAKE><DISTRIBUTOR>Sony</DISTRIBUTOR><MODEL>Walkman</MODEL><SECURITYLEVEL>2000</SECURITYLEVEL><FEATURES><CLOCK>2</CLOCK><SECURECLOCK><URL> http://go.microsoft.com/fwlink/?LinkId=25817</URL><PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY></SECURECLOCK><METERING>1</METERING><LICENSE_ACQ>1</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>1</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT></FEATURES><LIMITS><MAXCHAINDEPTH>2</MAXCHAINDEPTH><MAXLICENSESIZE>10240</MAXLICENSESIZE><MAXHEADERSIZE>5120</MAXHEADERSIZE></LIMITS><PUBLICKEY>o9wK49TNM0/ID0TR0GZOTQJaoVlbHA0GsdBr3t0NB4lBQirZKrfhKQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>hluUVnnLOKGYijl7z2MaVuhfrTFcuF0l7qY9vjfGSrZ/AwsQXmLEMQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1829</AUTH_ID><PUBLICKEY>RosQbBMLgdRdTNONotMCSbMK2HKQXF7ITeJSwcsIWROvlhUjCt5wfw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>KmXouuSpKrB9JeONnc1EBUB7yg4RG/vhDEGbttDhpdktPwtuhzUNcg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>/BmiGou3NGiy668IPaFgMS0sU2B7a1kIVzM4E8bYaqMk02j1Jyo6Kg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+WMPInfo.xml Does not exist on this device
+PTP: Closing session
+OK.
diff --git a/logs/mtp-detect-sony-walkman-nwz-s638f.txt b/logs/mtp-detect-sony-walkman-nwz-s638f.txt
new file mode 100644
index 0000000..9b46879
--- /dev/null
+++ b/logs/mtp-detect-sony-walkman-nwz-s638f.txt
@@ -0,0 +1,425 @@
+libmtp version: 0.3.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   Sony: Walkman NWZ-S638F (054c:038e) @ bus 0, dev 19
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 054c
+   idProduct: 038e
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 19
+      Device entry info:
+         Vendor: Sony
+         Vendor id: 0x054c
+         Product: Walkman NWZ-S638F
+         Vendor id: 0x038e
+         Device flags: 0x00000002
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: 3000                                   	0.
+Microsoft device response to control message 1, CMD 0x30:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Microsoft device response to control message 2, CMD 0x30:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Device info:
+   Manufacturer: Sony Corporation
+   Model: WALKMAN NWZ-S638F
+   Device version: 1.11
+   Serial number: 00000000000000000000000005220932
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; sony.net/WMFU: 1.0; 
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   101b: Get partial object
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9201: Report Added/Deleted Items
+   9807: Get interdependent property description
+   9808: Send object property list
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9401: Unknown (9401)
+   9402: Unknown (9402)
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+   3008: MS Wave
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 1,  GET/SET
+      de9a: AudioBitRate UINT32 data type enumeration: 128000, 176400, 192000, 256000, 352800, 384000, 512000, 705600, 768000, 1024000, 1411200, 1536000,  GET/SET
+      de91: TotalBitRate UINT32 data type enumeration: 128000, 176400, 192000, 256000, 352800, 384000, 512000, 705600, 768000, 1024000, 1411200, 1536000,  GET/SET
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 32000, MAX 320000, STEP 1 GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 32000, MAX 320000, STEP 1 GET/SET
+   300c: ASF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 480, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 270, STEP 1 GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 353,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 5512000, STEP 1 GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 826496599, 861293911,  GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 1, MAX 5000000, STEP 1 GET/SET
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 1000, MAX 30000, STEP 1 GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+      de97: ScanDepth UINT16 data type enumeration: 1,  GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 15, MAX 15, STEP 1 GET/SET
+   3801: JPEG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  GET/SET
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 65536, STEP 1 GET/SET
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 200, STEP 1 GET/SET
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 200, STEP 1 GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 4000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+   b802: Firmware
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 512000, STEP 1 GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 5000, MAX 512000, STEP 1 GET/SET
+   b982: MP4
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 2, MAX 320, STEP 2 GET/SET
+      dc88: Height UINT32 data type range: MIN 2, MAX 240, STEP 2 GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 0, MAX 3076000, STEP 1 GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 844313677, 875967048,  GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 0, MAX 2500000, STEP 1 GET/SET
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 1000, MAX 30000, STEP 1 GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+   b984: 3GP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+   ba03: Abstract Audio Album
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  GET/SET
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 65536, STEP 1 GET/SET
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 200, STEP 1 GET/SET
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 200, STEP 1 GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   b981: WMV
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 480, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 270, STEP 1 GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 353,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 5512000, STEP 1 GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 826496599, 861293911,  GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 1, MAX 5000000, STEP 1 GET/SET
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 1000, MAX 30000, STEP 1 GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+      de97: ScanDepth UINT16 data type enumeration: 1,  GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 15, MAX 15, STEP 1 GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 7725907968
+      FreeSpaceInBytes: 4648534016
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Storage Media
+      VolumeIdentifier: 00000000000000000000000005220932
+Special directories:
+   Default music folder: 0x00000000
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: WALKMAN
+   Synchronization partner: (NULL)
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Advanced Systems Format
+   JPEG file
+   Firmware file
+   Microsoft Windows Media Audio
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+   Microsoft Windows Media Video
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20080101 07:15:37Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">AAABBwgAAgMFAAUCAgAJAwI=</UNIQUEID><PUBLICKEY private="1">s2IyQBma1YpTxIqRcY4ATbs4FkVrwK72f84UwD71o7arX+tEHbhZWw==</PUBLICKEY><KEYDATA>02juSFDaODd1ivlEoYZ597O8aOs=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>zGvAXzMTpl8wOVJDxQ6h8oWG82HkBCU877mVweih+tSRDpYkdFjJbw==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>RXgTUtkmRGxbGL9eM6zaoaYotrQ=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.110.155</SECURITYVERSION><CERTIFICATE private="1">s2IyQBma1YpTxIqRcY4ATbs4FkVrwK72f84UwD71o7arX+tEHbhZWwIEbptKM64E6c9REX5OOEfJwZEDl17wEeT8lixYmOVcWqi/3oHLQJiuyGqF</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>Walkman</NAME><MANUFACTURER>Sony</MANUFACTURER><MAKE>Sony</MAKE><DISTRIBUTOR>Sony</DISTRIBUTOR><MODEL>Walkman</MODEL><SECURITYLEVEL>2000</SECURITYLEVEL><FEATURES><CLOCK>2</CLOCK><SECURECLOCK><URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL><PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY></SECURECLOCK><METERING>1</METERING><LICENSE_ACQ>1</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>1</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT></FEATURES><LIMITS><MAXCHAINDEPTH>2</MAXCHAINDEPTH><MAXLICENSESIZE>10240</MAXLICENSESIZE><MAXHEADERSIZE>5120</MAXHEADERSIZE></LIMITS><PUBLICKEY>utBUiQqaFTEgJfMGY6kD+4JnP3ReHSJvn8ac2ri0UI4OgwdiooxYAA==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>yGfwEA7b2M0eiDGFN9g3FjsP6V7GmUizMaJYhDfHDzLDpDYffAOkIA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>2559</AUTH_ID><PUBLICKEY>FnOiTwWl8Uaox9xrWEGayriEbEzSybrxDwe6vUJ9SZ2FT1dnfaeGUA==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>Y0u507ui0hJXZ8vT8u3dh1LhCS/lVzQeTg4XtYTCufBN0TDBSSfzPw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>lZXUWkGvEkk/4SSV9UtfcZeLwHFOV8dEbsbchgaPTHXDw8YFf9Xhfw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+OK.
diff --git a/logs/mtp-detect-sony-walkman-nwz-s716f.txt b/logs/mtp-detect-sony-walkman-nwz-s716f.txt
new file mode 100644
index 0000000..908559a
--- /dev/null
+++ b/logs/mtp-detect-sony-walkman-nwz-s716f.txt
@@ -0,0 +1,368 @@
+libmtp version: 0.2.6.1
+
+Attempting to connect device(s)
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 054c
+   idProduct: 035a
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000002
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: 3000                                   	0.
+Microsoft device response to control message 1, CMD 0x30:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Microsoft device response to control message 2, CMD 0x30:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Device info:
+   Manufacturer: Sony Corporation
+   Model: WALKMAN NWZ-S716F
+   Device version: 1.00
+   Serial number: 00000000000000000000000005001485
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; sony.net/WMFU: 1.0; 
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   101b: Get partial object
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9201: Report Added/Deleted Items
+   9807: Get interdependent property description
+   9808: Send object property list
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9401: Unknown (9401)
+   9402: Unknown (9402)
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+   3008: MS Wave
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 1,  GET/SET
+      de9a: AudioBitRate UINT32 data type enumeration: 128000, 176400, 192000, 256000, 352800, 384000, 512000, 705600, 768000, 1024000, 1411200, 1536000,  GET/SET
+      de91: TotalBitRate UINT32 data type enumeration: 128000, 176400, 192000, 256000, 352800, 384000, 512000, 705600, 768000, 1024000, 1411200, 1536000,  GET/SET
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 32000, MAX 320000, STEP 1 GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 32000, MAX 320000, STEP 1 GET/SET
+   300c: ASF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   3801: JPEG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  GET/SET
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 65536, STEP 1 GET/SET
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 200, STEP 1 GET/SET
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 200, STEP 1 GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 4000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+   b802: Firmware
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 512000, STEP 1 GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 5000, MAX 512000, STEP 1 GET/SET
+   b982: MP4
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 2, MAX 320, STEP 2 GET/SET
+      dc88: Height UINT32 data type range: MIN 2, MAX 240, STEP 2 GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 288000, STEP 1 GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 0, MAX 2788000, STEP 1 GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 844313677, 875967048,  GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 0, MAX 2500000, STEP 1 GET/SET
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 1000, MAX 30000, STEP 1 GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+   b984: 3GP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 288000, STEP 1 GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 0, MAX 2788000, STEP 1 GET/SET
+   ba03: Abstract Audio Album
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  GET/SET
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 65536, STEP 1 GET/SET
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 200, STEP 1 GET/SET
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 200, STEP 1 GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 3840933888
+      FreeSpaceInBytes: 1749778432
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Storage Media
+      VolumeIdentifier: 00000000000000000000000005001485
+Special directories:
+   Default music folder: 0x00000004
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000007
+   Default video folder: 0x00000008
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: WALKMAN
+   Synchronization partner: (NULL)
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Advanced Systems Format
+   JPEG file
+   Firmware file
+   Microsoft Windows Media Audio
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20070409 18:27:40Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">AAABBwgAAAEDAAUAAAEECAU=</UNIQUEID><PUBLICKEY private="1">nP/UwzBcpWVNnZJ0K4DnKm1gn21U4z6+9krNm5qMerHiFLDLfJomKA==</PUBLICKEY><KEYDATA>P+LA94sl7ILU7n5gH2Lord8b4iY=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>VnmEsPmfr+s5J9/X/rHDGrHVZHmAolfLGkt8x+7pYkacdVxociqbLg==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>cAac9obRJOCH/z4yAk7Zmfhip7Y=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.109.145</SECURITYVERSION><CERTIFICATE private="1">nP/UwzBcpWVNnZJ0K4DnKm1gn21U4z6+9krNm5qMerHiFLDLfJomKAIEbZG8ozJVQt2hS5rYTSdZHTW1SLGCgi6JdQUfR+NsGgy5mB0f4kCzYQVY</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>Walkman</NAME><MANUFACTURER>Sony</MANUFACTURER><MAKE>Sony</MAKE><DISTRIBUTOR>Sony</DISTRIBUTOR><MODEL>Walkman</MODEL><SECURITYLEVEL>2000</SECURITYLEVEL><FEATURES><CLOCK>2</CLOCK><SECURECLOCK><URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL><PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY></SECURECLOCK><METERING>1</METERING><LICENSE_ACQ>1</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>1</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT></FEATURES><LIMITS><MAXCHAINDEPTH>2</MAXCHAINDEPTH><MAXLICENSESIZE>10240</MAXLICENSESIZE><MAXHEADERSIZE>5120</MAXHEADERSIZE></LIMITS><PUBLICKEY>PtqVGopMTC4s4dp1/sEc/WA0QU8Iw/4bv7wGe4ImSF5H1C7vVFVTeg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>HA7nwY1gP9u05zc59wFRV6J+4EAJPdOsmWNmEdIfkhUFbtVLOHVxag==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>2293</AUTH_ID><PUBLICKEY>hqSIxsHrYfG4KDXUlEw3Zgk8PhsKmYe8m8dpWS63Yh2JxxW6RSlvGg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>aWFoQSQHzL6nBL59/brM9nHgq1/bW4hYkCUAYhDjtYNO7ib4IAlVRA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>8ln3zvELCDZteREC+Yxb7boDLQkppbIANrQx+Ng7ROdPGqID4s3VSw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+WMPInfo.xml Does not exist on this device
+OK.
diff --git a/logs/mtp-detect-sony-walkman-nwz-s739f.txt b/logs/mtp-detect-sony-walkman-nwz-s739f.txt
new file mode 100644
index 0000000..fc04b9f
--- /dev/null
+++ b/logs/mtp-detect-sony-walkman-nwz-s739f.txt
@@ -0,0 +1,433 @@
+libmtp version: 0.3.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   Sony: Walkman NWZ-S739F (054c:038c) @ bus 0, dev 10
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 054c
+   idProduct: 038c
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 10
+      Device entry info:
+         Vendor: Sony
+         Vendor id: 0x054c
+         Product: Walkman NWZ-S739F
+         Vendor id: 0x038c
+         Device flags: 0x00000002
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: 3000                                   	0.
+Microsoft device response to control message 1, CMD 0x30:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Microsoft device response to control message 2, CMD 0x30:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Device info:
+   Manufacturer: Sony Corporation
+   Model: WALKMAN NWZ-S739F
+   Device version: 1.10
+   Serial number: 00000000000000000000000005010810
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; sony.net/WMFU: 1.0; 
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   101b: Get partial object
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9201: Report Added/Deleted Items
+   9807: Get interdependent property description
+   9808: Send object property list
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9401: Unknown (9401)
+   9402: Unknown (9402)
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+   3008: MS Wave
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 1,  GET/SET
+      de9a: AudioBitRate UINT32 data type enumeration: 128000, 176400, 192000, 256000, 352800, 384000, 512000, 705600, 768000, 1024000, 1411200, 1536000,  GET/SET
+      de91: TotalBitRate UINT32 data type enumeration: 128000, 176400, 192000, 256000, 352800, 384000, 512000, 705600, 768000, 1024000, 1411200, 1536000,  GET/SET
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 32000, MAX 320000, STEP 1 GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 32000, MAX 320000, STEP 1 GET/SET
+   300c: ASF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 480, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 270, STEP 1 GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 353,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 5512000, STEP 1 GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 826496599, 861293911,  GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 1, MAX 5000000, STEP 1 GET/SET
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 1000, MAX 30000, STEP 1 GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+      de97: ScanDepth UINT16 data type enumeration: 1,  GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 15, MAX 15, STEP 1 GET/SET
+   3801: JPEG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  GET/SET
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 65536, STEP 1 GET/SET
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 200, STEP 1 GET/SET
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 200, STEP 1 GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 4000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+   b802: Firmware
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 512000, STEP 1 GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 5000, MAX 512000, STEP 1 GET/SET
+   b982: MP4
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 2, MAX 320, STEP 2 GET/SET
+      dc88: Height UINT32 data type range: MIN 2, MAX 240, STEP 2 GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 0, MAX 3076000, STEP 1 GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 844313677, 875967048,  GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 0, MAX 2500000, STEP 1 GET/SET
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 1000, MAX 30000, STEP 1 GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+   b984: 3GP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+   ba03: Abstract Audio Album
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  GET/SET
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX 65536, STEP 1 GET/SET
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 200, STEP 1 GET/SET
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 200, STEP 1 GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   b981: WMV
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM GET/SET
+      dc09: DateModified STRING data type DATETIME FORM GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 480, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 270, STEP 1 GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 353,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 5512000, STEP 1 GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 826496599, 861293911,  GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 1, MAX 5000000, STEP 1 GET/SET
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 1000, MAX 30000, STEP 1 GET/SET
+      dea1: EncodingProfile STRING data type GET/SET
+      de97: ScanDepth UINT16 data type enumeration: 1,  GET/SET
+      de9e: KeyFrameDistance UINT32 data type range: MIN 15, MAX 15, STEP 1 GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 15726804992
+      FreeSpaceInBytes: 13306298368
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Storage Media
+      VolumeIdentifier: 00000000000000000000000005010810
+Special directories:
+   Default music folder: 0x00000000
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: WALKMAN
+   Synchronization partner: {1CD7742B-BAC7-4062-9683-277C3D806341}
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Advanced Systems Format
+   JPEG file
+   Firmware file
+   Microsoft Windows Media Audio
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+   Microsoft Windows Media Video
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20090302 10:23:22Z#</VALUE><FLAG>DRM_CLK_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">AAABBwgAAgYFAAUAAQAIAQA=</UNIQUEID><PUBLICKEY private="1">8J/CdoZMp9dM50ymn88UgIAPLjF2q4Kht4BJ2CdSxNZYnL+dZ9V0OQ==</PUBLICKEY><KEYDATA>mJv+0ezNonhrqPAARR06Ke02N9U=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>AMTLKycuBLivijcxwmbTTjYvy36n6uLXAcyBmcpnMdPXxc1g3f4agQ==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>G7lztkrIcE4KYzf9+Uo3faAfNj4=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.110.151</SECURITYVERSION><CERTIFICATE private="1">8J/CdoZMp9dM50ymn88UgIAPLjF2q4Kht4BJ2CdSxNZYnL+dZ9V0OQIEbpeHA1NitwmAfBlA5jGk75XAB67aQQ4PfLJC3Gf2pI/TA1dbGAiu15Vr</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>Walkman</NAME><MANUFACTURER>Sony</MANUFACTURER><MAKE>Sony</MAKE><DISTRIBUTOR>Sony</DISTRIBUTOR><MODEL>Walkman</MODEL><SECURITYLEVEL>2000</SECURITYLEVEL><FEATURES><CLOCK>2</CLOCK><SECURECLOCK><URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL><PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY></SECURECLOCK><METERING>1</METERING><LICENSE_ACQ>1</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>1</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT></FEATURES><LIMITS><MAXCHAINDEPTH>2</MAXCHAINDEPTH><MAXLICENSESIZE>10240</MAXLICENSESIZE><MAXHEADERSIZE>5120</MAXHEADERSIZE></LIMITS><PUBLICKEY>N3Rrh2sAzQC+Nh34uce9v7V9bw1QThg1IDqhPaZvTXR05kEgzKcwgA==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>7+H8FUkpdSM01TUv5KTYY/jGyjiW2R2bhXxZS7o5Ga9De6DRaZwBag==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>2555</AUTH_ID><PUBLICKEY>prkyH2b9oX6SdAq0WZDAR61PfSfNfrzggM4s8PIPjRWw0S6gZaPrHw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>YbxpVpeuK/iZEO8xxXOkcl0X3COlF/+yNWQS7oqbkrrtlEsN9Un6fw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>ZmNGJU5PqJhvHrL3CVwQ5LQggkm5m93HUKNsxf8kZh/GytDt+8+kJA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+
+WMPInfo.xml file contents:
+<DeviceInfo>

+    <WMP DeviceID="{5072F98E-DCDA-49CC-B3F0-0BEB4449EDB8}" RelationshipID="{1CD7742B-BAC7-4062-9683-277C3D806341}"/>

+</DeviceInfo>

+
+OK.
+
+ 	  	 
diff --git a/logs/mtp-detect-sony-walkman-nwz-s765.txt b/logs/mtp-detect-sony-walkman-nwz-s765.txt
new file mode 100644
index 0000000..1a8a18d
--- /dev/null
+++ b/logs/mtp-detect-sony-walkman-nwz-s765.txt
@@ -0,0 +1,439 @@
+Device 0 (VID=054c and PID=05a8) is a Sony NWZ-S765.
+object 8 has parent 0xffffffff (-1) continuing anyway
+object 9 has parent 0xffffffff (-1) continuing anyway
+object a has parent 0xffffffff (-1) continuing anyway
+object b has parent 0xffffffff (-1) continuing anyway
+object c has parent 0xffffffff (-1) continuing anyway
+object d has parent 0xffffffff (-1) continuing anyway
+object e has parent 0xffffffff (-1) continuing anyway
+object f has parent 0xffffffff (-1) continuing anyway
+object 10 has parent 0xffffffff (-1) continuing anyway
+object 11 has parent 0xffffffff (-1) continuing anyway
+object 1f4 has parent 0xffffffff (-1) continuing anyway
+object 1f5 has parent 0xffffffff (-1) continuing anyway
+
+libmtp version: 1.1.0
+
+Listing raw device(s)
+   Found 1 device(s):
+   Sony: NWZ-S765 (054c:05a8) @ bus 1, dev 12
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 054c
+   idProduct: 05a8
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 12
+      Device entry info:
+         Vendor: Sony
+         Vendor id: 0x054c
+         Product: NWZ-S765
+         Vendor id: 0x05a8
+         Device flags: 0x12000006
+Device info:
+   Manufacturer: Sony Corporation
+   Model: WALKMAN NWZ-S765
+   Device version: 1.00
+   Serial number: 00000000000000000000000005436965
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; sony.net/WMFU: 1.0; 
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+         microsoft.com/WMDRMPD: 10.1
+         sony.net/WMFU: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   101b: Get partial object
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9201: Report Added/Deleted Items
+   9807: Get interdependent property description
+   9808: Send object property list
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9401: Unknown (9401)
+   9402: Unknown (9402)
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd303: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type enumeration: 128000, 176400, 192000, 256000, 352800, 384000, 512000, 705600, 768000, 1024000, 1411200, 1536000,  GET/SET
+      de91: Total Bit Rate UINT32 data type enumeration: 128000, 176400, 192000, 256000, 352800, 384000, 512000, 705600, 768000, 1024000, 1411200, 1536000,  GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc42: Sync ID STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 32000, MAX 320000, STEP 1 GET/SET
+      de91: Total Bit Rate UINT32 data type range: MIN 32000, MAX 320000, STEP 1 GET/SET
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 480, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 270, STEP 1 GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 5512000, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 826496599, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 5000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1000, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 1,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 15, MAX 15, STEP 1 GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 65536, STEP 1 GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 200, STEP 1 GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 200, STEP 1 GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 4096, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 1, MAX 4096, STEP 1 GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+   b802: Firmware
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc42: Sync ID STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 352, 353,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 512000, STEP 1 GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      de91: Total Bit Rate UINT32 data type range: MIN 5000, MAX 512000, STEP 1 GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc42: Sync ID STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 34, MAX 720, STEP 2 GET/SET
+      dc88: Height UINT32 data type range: MIN 32, MAX 480, STEP 2 GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 5648,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      de91: Total Bit Rate UINT32 data type range: MIN 0, MAX 10576000, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 844313677, 875967048,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX 10000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1000, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 5648,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+      de91: Total Bit Rate UINT32 data type range: MIN 16000, MAX 576000, STEP 1 GET/SET
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 65536, STEP 1 GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 200, STEP 1 GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 200, STEP 1 GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 32, MAX 720, STEP 2 GET/SET
+      dc88: Height UINT32 data type range: MIN 32, MAX 480, STEP 2 GET/SET
+      dc89: Duration UINT32 data type range: MIN 1, MAX 2147483647, STEP 1 READ ONLY
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 16000, 22050, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 6512000, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 826496599, 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 6000000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1000, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 1,  GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 15, MAX 15, STEP 1 GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 15139110912
+      FreeSpaceInBytes: 10569613312
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Storage Media
+      VolumeIdentifier: 00000000000000000000000005436965
+Special directories:
+   Default music folder: 0x00000008
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x0000000b
+   Default video folder: 0x0000000c
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0x000001f4
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: WALKMAN
+   Synchronization partner: (NULL)
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   Folder
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Advanced Systems Format
+   JPEG file
+   Firmware file
+   Microsoft Windows Media Audio
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Abstract Album file
+   Abstract Playlist file
+   Microsoft Windows Media Video
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20114433 20:26:16Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>AG></DRMCLOCK>
+
+WMPInfo.xml file contents:
+<DeviceInfo>

+    <WMP DeviceID="{15762964-BBCD-4530-8A2D-03A836DE1FC2}" RelationshipID="{A3EBBD19-116D-4BD8-AE85-E95BF79EFDAB}"/>

+</DeviceInfo>

+
+OK.
diff --git a/logs/mtp-detect-sony-walkman-nwz-w202.txt b/logs/mtp-detect-sony-walkman-nwz-w202.txt
new file mode 100644
index 0000000..dd06e27
--- /dev/null
+++ b/logs/mtp-detect-sony-walkman-nwz-w202.txt
@@ -0,0 +1,555 @@
+mtp-detect now gives:
+libmtp version: 0.3.7
+
+Listing raw device(s)
+Found 1 device(s):
+Sony: Walkman NWZ-W202 (054c:0388) @ bus 0, dev 4
+Attempting to connect device(s)
+USB low-level info:
+Using kernel interface "usbfs"
+bcdUSB: 512
+bDeviceClass: 0
+bDeviceSubClass: 0
+bDeviceProtocol: 0
+idVendor: 054c
+idProduct: 0388
+IN endpoint maxpacket: 512 bytes
+OUT endpoint maxpacket: 512 bytes
+Raw device info:
+Bus location: 0
+Device number: 4
+Device entry info:
+Vendor: Sony
+Vendor id: 0x054c
+Product: Walkman NWZ-W202
+Vendor id: 0x0388
+Device flags: 0x00000002
+Microsoft device descriptor 0xee:
+0000: 1203 4d00 5300 4600 5400 3100 3000 3000 ..M.S.F.T.1.0.0.
+0010: 0100 ..
+Microsoft device response to control message 1, CMD 0x01:
+0000: 2800 0000 0001 0400 0100 0000 0000 0000 (...............
+0010: 0001 4d54 5000 0000 0000 0000 0000 0000 ..MTP...........
+0020: 0000 0000 0000 0000 ........
+Device info:
+Manufacturer: Sony Corporation
+Model: WALKMAN NWZ-W202
+Device version: Ver1.00
+Serial number: 10FA97F5020088
+Vendor extension ID: 0x00000006
+Vendor extension description: microsoft.com: 1.0;
+microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 10.0;
+microsoft.com/WMPPD: 11.0
+Detected object size: 64 bits
+Supported operations:
+1001: get device info
+1002: Open session
+1003: Close session
+1004: Get storage IDs
+1005: Get storage info
+1006: Get number of objects
+1007: Get object handles
+1008: Get object info
+1009: Get object
+101b: Get partial object
+100b: Delete object
+100c: Send object info
+100d: Send object
+1014: Get device property description
+1015: Get device property value
+1016: Set device property value
+9802: Get object property description
+9801: Get object properties supported
+9803: Get object property value
+9804: Set object property value
+9805: Get object property list
+9806: Set object property list
+9808: Send object property list
+9101: Get secure time challenge
+9102: Get secure time response
+9103: Set license response
+9104: Get sync list
+9105: Send meter challenge query
+9106: Get meter challenge
+9107: Get meter response
+9108: Clean data store
+9109: Get license state
+910a: Send WMDRM-PD Command
+910b: Send WMDRM-PD Request
+100f: Format storage
+9810: Get object references
+9811: Set object references
+9201: Report Added/Deleted Items
+9202: Report Acquired Items
+9203: Get transferable playlist types
+97f1: Unknown (97f1)
+97f2: Unknown (97f2)
+97f3: Unknown (97f3)
+97f4: Unknown (97f4)
+97f5: Unknown (97f5)
+1010: Reset device
+1012: Set object protection
+Events supported:
+0x4004
+0x4005
+Device Properties Supported:
+0xd101: Secure Time
+0xd102: Device Certificate
+0xd402: Friendly Device Name
+0xd401: Synchronization Partner
+0x5001: Battery Level
+0xd405: Device Icon
+Playable File (Object) Types and Object Properties Supported:
+3009: MP3
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ
+ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM
+GET/SET
+dc08: DateCreated STRING data type DATETIME FORM GET/SET
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc42: SyncID STRING data type GET/SET
+dc0d: Hidden UINT16 data type enumeration: 0, 1, GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc9a: AlbumName STRING data type GET/SET
+dc46: Artist STRING data type GET/SET
+dc9b: AlbumArtist STRING data type GET/SET
+de93: SampleRate UINT32 data type enumeration: 8000, 11025, 16000,
+22050, 32000, 44100, 48000, READ ONLY
+de94: NumberOfChannels UINT16 data type enumeration: 1, 2, GET/SET
+de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 4300000, STEP
+1 READ ONLY
+dc44: Name STRING data type GET/SET
+dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1
+GET/SET
+de99: AudioWAVECodec UINT32 data type enumeration: 0, 80, 85,
+GET/SET
+dc09: DateModified STRING data type DATETIME FORM GET/SET
+dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+dc8c: Genre STRING data type GET/SET
+dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+3008: MS Wave
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ
+ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM
+GET/SET
+dc08: DateCreated STRING data type DATETIME FORM GET/SET
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc42: SyncID STRING data type GET/SET
+dc0d: Hidden UINT16 data type enumeration: 0, 1, GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc9a: AlbumName STRING data type GET/SET
+dc46: Artist STRING data type GET/SET
+dc9b: AlbumArtist STRING data type GET/SET
+de93: SampleRate UINT32 data type enumeration: 8000, 11025, 16000,
+22050, 32000, 44100, 48000, READ ONLY
+de94: NumberOfChannels UINT16 data type enumeration: 1, 2, GET/SET
+de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 2304000,
+STEP 1 READ ONLY
+dc44: Name STRING data type GET/SET
+dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1
+GET/SET
+de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 17,
+GET/SET
+dc09: DateModified STRING data type DATETIME FORM GET/SET
+dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+dc8c: Genre STRING data type GET/SET
+dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+b901: WMA
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ
+ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM
+GET/SET
+dc08: DateCreated STRING data type DATETIME FORM GET/SET
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc42: SyncID STRING data type GET/SET
+dc0d: Hidden UINT16 data type enumeration: 0, 1, GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc9a: AlbumName STRING data type GET/SET
+dc46: Artist STRING data type GET/SET
+dc9b: AlbumArtist STRING data type GET/SET
+de93: SampleRate UINT32 data type enumeration: 8000, 11025, 16000,
+22050, 32000, 44100, 48000, READ ONLY
+de94: NumberOfChannels UINT16 data type enumeration: 1, 2, GET/SET
+de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 430000,
+STEP 1 READ ONLY
+dc44: Name STRING data type GET/SET
+dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1
+GET/SET
+de99: AudioWAVECodec UINT32 data type enumeration: 0, 352, 353,
+GET/SET
+dc09: DateModified STRING data type DATETIME FORM GET/SET
+dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+dc8c: Genre STRING data type GET/SET
+dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+b903: AAC
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ
+ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM
+GET/SET
+dc08: DateCreated STRING data type DATETIME FORM GET/SET
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc42: SyncID STRING data type GET/SET
+dc0d: Hidden UINT16 data type enumeration: 0, 1, GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc9a: AlbumName STRING data type GET/SET
+dc46: Artist STRING data type GET/SET
+dc9b: AlbumArtist STRING data type GET/SET
+de93: SampleRate UINT32 data type enumeration: 8000, 11025, 16000,
+22050, 32000, 44100, 48000, READ ONLY
+de94: NumberOfChannels UINT16 data type enumeration: 1, 2, GET/SET
+de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 430000,
+STEP 1 READ ONLY
+dc44: Name STRING data type GET/SET
+dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1
+GET/SET
+de99: AudioWAVECodec UINT32 data type enumeration: 0, 41222,
+GET/SET
+dc09: DateModified STRING data type DATETIME FORM GET/SET
+dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+dc8c: Genre STRING data type GET/SET
+dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+300c: ASF
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ
+ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM
+GET/SET
+dc08: DateCreated STRING data type DATETIME FORM GET/SET
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc42: SyncID STRING data type GET/SET
+dc0d: Hidden UINT16 data type enumeration: 0, 1, GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc9a: AlbumName STRING data type GET/SET
+dc46: Artist STRING data type GET/SET
+dc9b: AlbumArtist STRING data type GET/SET
+de93: SampleRate UINT32 data type enumeration: 8000, 11025, 16000,
+22050, 32000, 44100, 48000, READ ONLY
+de94: NumberOfChannels UINT16 data type enumeration: 1, 2, GET/SET
+de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 430000,
+STEP 1 READ ONLY
+dc44: Name STRING data type GET/SET
+dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1
+GET/SET
+de99: AudioWAVECodec UINT32 data type enumeration: 0, 352, 353,
+GET/SET
+dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+dc09: DateModified STRING data type DATETIME FORM GET/SET
+dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+dc8c: Genre STRING data type GET/SET
+dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+de9e: KeyFrameDistance UINT32 data type range: MIN 0, MAX 15000,
+STEP 1 GET/SET
+de9d: FramesPerThousandSeconds UINT32 data type range: MIN 0, MAX
+30050, STEP 1 GET/SET
+de9b: VideoFourCCCodec UINT32 data type enumeration: 0, 861293911,
+GET/SET
+de9c: VideoBitRate UINT32 data type range: MIN 5000, MAX 768010,
+STEP 1 READ ONLY
+de97: ScanDepth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5, 6,
+7, GET/SET
+dea1: EncodingProfile STRING data type GET/SET
+dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX
+10000, STEP 1 GET/SET
+dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX
+10000, STEP 1 GET/SET
+dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX
+-1, STEP 1 READ ONLY
+dc81: RepresentativeSampleFormat UINT16 data type enumeration:
+14337, 14340, 14343, GET/SET
+dc86: RepresentativeSampleData array of UINT8 data type byte array:
+GET/SET
+3001: Association/Directory
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ
+ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc05: AssociationType UINT16 data type enumeration: 0, 1, GET/SET
+dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM
+GET/SET
+dc08: DateCreated STRING data type DATETIME FORM GET/SET
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc42: SyncID STRING data type GET/SET
+dc0d: Hidden UINT16 data type enumeration: 0, 1, GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc44: Name STRING data type GET/SET
+dc09: DateModified STRING data type DATETIME FORM GET/SET
+ba05: Abstract Audio Video Playlist
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ
+ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM
+GET/SET
+dc08: DateCreated STRING data type DATETIME FORM GET/SET
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc42: SyncID STRING data type GET/SET
+dc0d: Hidden UINT16 data type enumeration: 0, 1, GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc44: Name STRING data type GET/SET
+dc09: DateModified STRING data type DATETIME FORM GET/SET
+3801: JPEG
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ
+ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM
+GET/SET
+dc08: DateCreated STRING data type DATETIME FORM GET/SET
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc42: SyncID STRING data type GET/SET
+dc0d: Hidden UINT16 data type enumeration: 0, 1, GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc44: Name STRING data type GET/SET
+dc88: Height UINT32 data type range: MIN 0, MAX 10000, STEP 1
+GET/SET
+dc87: Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+dc09: DateModified STRING data type DATETIME FORM GET/SET
+dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1
+GET/SET
+dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX
+10000, STEP 1 GET/SET
+dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX
+10000, STEP 1 GET/SET
+dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX
+-1, STEP 1 READ ONLY
+dc81: RepresentativeSampleFormat UINT16 data type enumeration:
+14337, 14340, 14343, GET/SET
+dc86: RepresentativeSampleData array of UINT8 data type byte array:
+GET/SET
+3807: GIF
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ
+ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM
+GET/SET
+dc08: DateCreated STRING data type DATETIME FORM GET/SET
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc42: SyncID STRING data type GET/SET
+dc0d: Hidden UINT16 data type enumeration: 0, 1, GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc44: Name STRING data type GET/SET
+dc88: Height UINT32 data type range: MIN 0, MAX 10000, STEP 1
+GET/SET
+dc87: Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+dc09: DateModified STRING data type DATETIME FORM GET/SET
+dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1
+GET/SET
+dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX
+10000, STEP 1 GET/SET
+dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX
+10000, STEP 1 GET/SET
+dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX
+-1, STEP 1 READ ONLY
+dc81: RepresentativeSampleFormat UINT16 data type enumeration:
+14337, 14340, 14343, GET/SET
+dc86: RepresentativeSampleData array of UINT8 data type byte array:
+GET/SET
+3804: BMP
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ
+ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM
+GET/SET
+dc08: DateCreated STRING data type DATETIME FORM GET/SET
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc42: SyncID STRING data type GET/SET
+dc0d: Hidden UINT16 data type enumeration: 0, 1, GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc44: Name STRING data type GET/SET
+dc88: Height UINT32 data type range: MIN 0, MAX 10000, STEP 1
+GET/SET
+dc87: Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+dc09: DateModified STRING data type DATETIME FORM GET/SET
+dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1
+GET/SET
+dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+dc92: SkipCount UINT32 data type ANY 32BIT VALUE form GET/SET
+dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX
+10000, STEP 1 GET/SET
+dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX
+10000, STEP 1 GET/SET
+dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX
+-1, STEP 1 READ ONLY
+dc81: RepresentativeSampleFormat UINT16 data type enumeration:
+14337, 14340, 14343, GET/SET
+dc86: RepresentativeSampleData array of UINT8 data type byte array:
+GET/SET
+ba03: Abstract Audio Album
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ
+ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM
+GET/SET
+dc08: DateCreated STRING data type DATETIME FORM GET/SET
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc42: SyncID STRING data type GET/SET
+dc0d: Hidden UINT16 data type enumeration: 0, 1, GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc9b: AlbumArtist STRING data type GET/SET
+dc44: Name STRING data type GET/SET
+dc8c: Genre STRING data type GET/SET
+d901: BuyFlag UINT8 data type range: MIN 0, MAX 1, STEP 1 GET/SET
+dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX
+10000, STEP 1 GET/SET
+dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX
+10000, STEP 1 GET/SET
+dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX
+-1, STEP 1 READ ONLY
+dc81: RepresentativeSampleFormat UINT16 data type enumeration:
+14337, 14340, 14343, GET/SET
+dc86: RepresentativeSampleData array of UINT8 data type byte array:
+GET/SET
+3000: Undefined Type
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ
+ONLY
+dc04: ObjectSize UINT64 data type READ ONLY
+dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM
+GET/SET
+dc08: DateCreated STRING data type DATETIME FORM GET/SET
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc42: SyncID STRING data type GET/SET
+dc0d: Hidden UINT16 data type enumeration: 0, 1, GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc44: Name STRING data type GET/SET
+Storage Devices:
+StorageID: 0x00010001
+StorageType: 0x0003 fixed RAM storage
+FilesystemType: 0x0002 generic hierarchical
+AccessCapability: 0x0000 read/write
+MaxCapacity: 1928855552
+FreeSpaceInBytes: 1652260864
+FreeSpaceInObjects: 4294967295
+StorageDescription: Storage Media
+VolumeIdentifier: 33FA0001324A8D2E0002D9B161C24D2E
+Special directories:
+Default music folder: 0x00000070
+Default playlist folder: 0x00000000
+Default picture folder: 0x00000000
+Default video folder: 0x00000000
+Default organizer folder: 0x00000000
+Default zencast folder: 0x00000000
+Default album folder: 0x00000000
+Default text folder: 0x00000000
+MTP-specific device properties:
+Friendly name: WALKMAN NWZ-W202
+Synchronization partner: WALKMAN NWZ-W202
+Battery level 99 of 100 (99%)
+libmtp supported (playable) filetypes:
+ISO MPEG-1 Audio Layer 3
+RIFF WAVE file
+Microsoft Windows Media Audio
+Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+Microsoft Advanced Systems Format
+JPEG file
+GIF bitmap file
+BMP bitmap file
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#19700222
+12:10:57Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID
+private="1">MzNGQTAwMDEzMjRBOEQyRQoKCgo=</UNIQUEID><PUBLICKEY
+private="1">gUDNl6K4A8rKKoOlGxMsTpCTyCM4mDO8bJI2e/PGqHFM8jgyH4TUew==</PUBLICKEY><KEYDATA>RkRHwfFBtwocQxb1vXhq+Wu1U+Q=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>brVpnBTRtkYj21B23R4GOAmhLhnUukZmUKE3+XT+tJyP7XF1ASyYHw==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>oIQcKO3zlqHbw6ZCFDyAqT7LUUg=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.112.171</SECURITYVERSION><CERTIFICATE
+private="1">gUDNl6K4A8rKKoOlGxMsTpCTyCM4mDO8bJI2e/PGqHFM8jgyH4TUewIEcKsLkirTsbAN6P51wkXvpgoddvnnVQI6HWxUT9tKwcTpYaD8rul7+GRL</CERTIFICATE></FALLBACK><CERTIFICATE
+type="GROUP"><DATA><NAME>Walkman</NAME>
+<MANUFACTURER>Sony</MANUFACTURER>
+<MAKE>Flextronics</MAKE>
+<DISTRIBUTOR>Sony</DISTRIBUTOR>
+<MODEL>ICX-1122</MODEL>
+<SECURITYLEVEL>2000</SECURITYLEVEL>
+<HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR>
+<HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR>
+<FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR>
+<FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>
+<FEATURES>
+<CLOCK>2</CLOCK>
+<SECURECLOCK>
+<URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL>
+<PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY>
+</SECURECLOCK>
+<METERING>1</METERING>
+<LICENSE_ACQ>1</LICENSE_ACQ>
+<LICENSE_SYNC>1</LICENSE_SYNC>
+<ENCRYPTION>1</ENCRYPTION>
+<SYMMETRIC_OPT>1</SYMMETRIC_OPT>
+</FEATURES>
+<LIMITS>
+<MAXCHAINDEPTH>2</MAXCHAINDEPTH>
+<MAXLICENSESIZE>10240</MAXLICENSESIZE>
+<MAXHEADERSIZE>5120</MAXHEADERSIZE>
+
+</LIMITS><PUBLICKEY>5NNetVrlRMwT7x823193ecnr7iGMyC6zQc2tGIQ1ZvYpVrCLAQCPhw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>wSOxVy32A7Zsbgq9h3DrnzQGGQH1exmIQ7n2oq1VLAGMzo9qC8n1Ww==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>3087</AUTH_ID><PUBLICKEY>ELWuIRmtGOqXTRhe/yHSsVtVZoVb1LSZh2sTzypUydaZAUiWRIFnSg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>Ul2JXnitAFwH1tyNnDjOBgAQyXNDeBnYemNm5HIcC/Bj2jtaoU3yCQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>yzpXMjZimc+n6ZWk1hoKDSfsBiEYSWHdRXnugRsrWI+J1c2Pa58PIQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+OK.
+
diff --git a/logs/mtp-detect-sony-xperia-a.txt b/logs/mtp-detect-sony-xperia-a.txt
new file mode 100644
index 0000000..cf3bf0e
--- /dev/null
+++ b/logs/mtp-detect-sony-xperia-a.txt
@@ -0,0 +1,593 @@
+
+alice@alice-LM-iSH435S-N ~ $ mtp-detect
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6
+
+Listing raw device(s)
+Device 0 (VID=0fce and PID=5198) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0fce:5198 @ bus 3, dev 115
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fce
+   idProduct: 5198
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 3
+      Device number: 115
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0fce
+         Product: (null)
+         Vendor id: 0x5198
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Sony
+   Model: SO-04E
+   Device version: 1.0
+   Serial number: CB5A1UR24C
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0; microsoft.com/WPDNA: 1.0;sonyericsson.com/SE: 1.0; sony.net/MRLN: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+        microsoft.com/WPDNA: 1.0
+        sonyericsson.com/SE: 1.0
+        sony.net/MRLN: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+   9186: Unknown (9186)
+   9187: Unknown (9187)
+   9188: Unknown (9188)
+   9189: Unknown (9189)
+   9191: Unknown (9191)
+   9194: Unknown (9194)
+   9196: Unknown (9196)
+   9197: Unknown (9197)
+   940c: Unknown (940c)
+   940d: Unknown (940d)
+   9407: Unknown (9407)
+   9408: Unknown (9408)
+   9409: Unknown (9409)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0xc350
+   0xc35a
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd405: Device Icon
+   0x5003: Image Size
+   0xd120: Unknown property
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1536000, STEP 1 GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 17408000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 20480000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+   b102: Unknown(b102)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      d920: Unknown property array of UINT64 data type GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 27662876672
+      FreeSpaceInBytes: 25490354176
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: 内部ストレージ
+      VolumeIdentifier: 65537
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 31902957568
+      FreeSpaceInBytes: 30653743104
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SDカード
+      VolumeIdentifier: 131073
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0x00000003
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Xperia A
+   Synchronization partner: (NULL)
+   Battery level 70 of 100 (69%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Abstract Album file
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+
+OK.
diff --git a/logs/mtp-detect-sony-xperia-c.txt b/logs/mtp-detect-sony-xperia-c.txt
new file mode 100644
index 0000000..1aef676
--- /dev/null
+++ b/logs/mtp-detect-sony-xperia-c.txt
@@ -0,0 +1,571 @@
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   0fce:51a3 @ bus 1, dev 8
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fce
+   idProduct: 51a3
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 8
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0fce
+         Product: (null)
+         Vendor id: 0x51a3
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Sony
+   Model: C2305
+   Device version: 1.0
+   Serial number: QO3A22C03499
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0; microsoft.com/WPDNA: 1.0;sonyericsson.com/SE: 1.0; sony.net/MRLN: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+        microsoft.com/WPDNA: 1.0
+        sonyericsson.com/SE: 1.0
+        sony.net/MRLN: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+   9186: Unknown (9186)
+   9187: Unknown (9187)
+   9188: Unknown (9188)
+   9189: Unknown (9189)
+   9191: Unknown (9191)
+   9194: Unknown (9194)
+   9196: Unknown (9196)
+   9197: Unknown (9197)
+   940c: Unknown (940c)
+   940d: Unknown (940d)
+   9407: Unknown (9407)
+   9408: Unknown (9408)
+   9409: Unknown (9409)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4007
+   0x400c
+   0xc350
+   0xc35a
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd405: Device Icon
+   0x5003: Image Size
+   0xd120: Unknown property
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1536000, STEP 1 GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 17408000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 20480000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+   b102: Unknown(b102)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      d920: Unknown property array of UINT64 data type GET/SET
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Xperia C
+   Synchronization partner: (NULL)
+   Battery level 40 of 100 (40%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Abstract Album file
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-sony-xperia-compact-z5.txt b/logs/mtp-detect-sony-xperia-compact-z5.txt
new file mode 100644
index 0000000..4a89ad1
--- /dev/null
+++ b/logs/mtp-detect-sony-xperia-compact-z5.txt
@@ -0,0 +1,622 @@
+libmtp version: 1.1.10
+
+Listing raw device(s)
+Device 0 (VID=0fce and PID=01da) is UNKNOWN in libmtp v1.1.10.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0fce:01da @ bus 1, dev 13
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fce
+   idProduct: 01da
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 13
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0fce
+         Product: (null)
+         Vendor id: 0x01da
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Sony
+   Model: E5823
+   Device version: 1.0
+   Serial number: <removed>
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;sonyericsson.com/SE: 1.0;microsoft.com/DeviceServices:1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+        sonyericsson.com/SE: 1.0
+        microsoft.com/DeviceServices: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+   9301: Unknown (9301)
+   9302: Unknown (9302)
+   9303: Unknown (9303)
+   9304: Unknown (9304)
+   9305: Unknown (9305)
+   9306: Unknown (9306)
+   9307: Unknown (9307)
+   9308: Unknown (9308)
+   9309: Unknown (9309)
+   930a: Unknown (930a)
+   9170: Open Media Session
+   9171: Close Media Session
+   9185: Get WMDRM-ND License Response
+   9186: Unknown (9186)
+   9187: Unknown (9187)
+   9188: Unknown (9188)
+   9189: Unknown (9189)
+   9191: Unknown (9191)
+   9194: Unknown (9194)
+   9196: Unknown (9196)
+   9197: Unknown (9197)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+   0xc340
+   0xc350
+   0xc35a
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd405: Device Icon
+   0x5003: Image Size
+   0x5001: Battery Level
+   0xd302: Unknown property
+   0xd303: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   300a: MS AVI
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 34816000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 4096, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 2160, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 4096, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 2160, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 139264000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 4096, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 2160, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 393216, STEP 1 READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 20480000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 4096, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 2160, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222, 1935764850,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 READ ONLY
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 24240054272
+      FreeSpaceInBytes: 19348787200
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: 65537
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Xperia Z5 Compact
+   Synchronization partner: (NULL)
+   Battery level 79 of 100 (79%)
+libmtp supported (playable) filetypes:
+   Audio Video Interleave
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Abstract Album file
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-sony-xperia-e3.txt b/logs/mtp-detect-sony-xperia-e3.txt
new file mode 100644
index 0000000..e16e424
--- /dev/null
+++ b/logs/mtp-detect-sony-xperia-e3.txt
@@ -0,0 +1,586 @@
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   0fce:01bc @ bus 1, dev 6
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fce
+   idProduct: 01bc
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 6
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0fce
+         Product: (null)
+         Vendor id: 0x01bc
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Sony
+   Model: D2203
+   Device version: 1.0
+   Serial number: BL4A26D16917
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0; microsoft.com/WPDNA: 1.0;sonyericsson.com/SE: 1.0; sony.net/MRLN: 1.0;microsoft.com/DeviceServices:1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+        microsoft.com/WPDNA: 1.0
+        sonyericsson.com/SE: 1.0
+        sony.net/MRLN: 1.0
+        microsoft.com/DeviceServices: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+   9301: Unknown (9301)
+   9302: Unknown (9302)
+   9303: Unknown (9303)
+   9304: Unknown (9304)
+   9305: Unknown (9305)
+   9306: Unknown (9306)
+   9307: Unknown (9307)
+   9308: Unknown (9308)
+   9309: Unknown (9309)
+   930a: Unknown (930a)
+   9185: Get WMDRM-ND License Response
+   9186: Unknown (9186)
+   9187: Unknown (9187)
+   9188: Unknown (9188)
+   9189: Unknown (9189)
+   9191: Unknown (9191)
+   9194: Unknown (9194)
+   9196: Unknown (9196)
+   9197: Unknown (9197)
+   940c: Unknown (940c)
+   940d: Unknown (940d)
+   9407: Unknown (9407)
+   9408: Unknown (9408)
+   9409: Unknown (9409)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0xc350
+   0xc35a
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd405: Device Icon
+   0x5003: Image Size
+   0xd120: Unknown property
+   0x5001: Battery Level
+   0xd302: Unknown property
+   0xd303: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1536000, STEP 1 GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 17408000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 20480000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+   b102: Unknown(b102)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      d920: Unknown property array of UINT64 data type GET/SET
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Xperia E3
+   Synchronization partner: (NULL)
+   Battery level 58 of 100 (57%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Abstract Album file
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-sony-xperia-go.txt b/logs/mtp-detect-sony-xperia-go.txt
new file mode 100644
index 0000000..afdea00
--- /dev/null
+++ b/logs/mtp-detect-sony-xperia-go.txt
@@ -0,0 +1,557 @@
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6
+
+Listing raw device(s)
+Device 0 (VID=0fce and PID=017e) is a SONY ST27i/ST27a Xperia go MTP.
+   Found 1 device(s):
+   SONY: ST27i/ST27a Xperia go MTP (0fce:017e) @ bus 1, dev 5
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+Error 1: Get Storage information failed.
+Error 2: PTP Layer error 02fe: get_handles_recursively(): could not get object handles.
+Error 2: Error 02fe: PTP: Protocol error, data expected
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fce
+   idProduct: 017e
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 5
+      Device entry info:
+         Vendor: SONY
+         Vendor id: 0x0fce
+         Product: ST27i/ST27a Xperia go MTP
+         Vendor id: 0x017e
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Sony
+   Model: ST27i
+   Device version: 1.0
+   Serial number: CB5A1KEUZC
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0; microsoft.com/WPDNA: 1.0;sonyericsson.com/SE: 1.0; sony.net/MRLN: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+        microsoft.com/WPDNA: 1.0
+        sonyericsson.com/SE: 1.0
+        sony.net/MRLN: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+   9186: Unknown (9186)
+   9187: Unknown (9187)
+   9188: Unknown (9188)
+   9189: Unknown (9189)
+   9191: Unknown (9191)
+   9194: Unknown (9194)
+   9196: Unknown (9196)
+   9197: Unknown (9197)
+   940c: Unknown (940c)
+   940d: Unknown (940d)
+   9407: Unknown (9407)
+   9408: Unknown (9408)
+   9409: Unknown (9409)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0xc350
+   0xc35a
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd405: Device Icon
+   0x5003: Image Size
+   0xd120: Unknown property
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 32000, MAX 44100, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 17408000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 20480000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+   b102: Unknown(b102)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      d920: Unknown property array of UINT64 data type GET/SET
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: ST27i
+   Synchronization partner: (NULL)
+   Battery level 31 of 100 (31%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Abstract Album file
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-sony-xperia-j.txt b/logs/mtp-detect-sony-xperia-j.txt
new file mode 100644
index 0000000..dda5781
--- /dev/null
+++ b/logs/mtp-detect-sony-xperia-j.txt
@@ -0,0 +1,656 @@
+
+### OUTPUT GIVEN BY "mtp-detect":
+
+~ $ sudo mtp-detect
+libmtp version: 1.1.4
+
+Listing raw device(s)
+Device 0 (VID=0fce and PID=5188) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0fce:5188 @ bus 1, dev 5
+Attempting to connect device(s)
+PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
+LIBMTP libusb: Attempt to reset device
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fce
+   idProduct: 5188
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 5
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0fce
+         Product: (null)
+         Vendor id: 0x5188
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Sony
+   Model: ST26i
+   Device version: 1.0
+   Serial number: YT90037MUL
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;sonyericsson.com/SE: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+        sonyericsson.com/SE: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+   9183: Send Proximity Response
+   9184: Send WMDRM-ND License Request
+   9186: Unknown (9186)
+   9187: Unknown (9187)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0xc350
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd405: Device Icon
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 32000, MAX 44100, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 17408000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 20480000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 62773248
+      FreeSpaceInBytes: 35026944
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD-kort
+      VolumeIdentifier: (null)
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 2153218048
+      FreeSpaceInBytes: 1967095808
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Intern lagring
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Sony Xperia J
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Abstract Album file
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
+
+
+
+### OUTPUT GIVEN BY "lsusb -v":
+
+~ $ sudo lsusb -v
+
+Bus 001 Device 005: ID 0fce:5188 Sony Ericsson Mobile Communications AB 
+Device Descriptor:
+  bLength                18
+  bDescriptorType         1
+  bcdUSB               2.00
+  bDeviceClass            0 (Defined at Interface level)
+  bDeviceSubClass         0 
+  bDeviceProtocol         0 
+  bMaxPacketSize0        64
+  idVendor           0x0fce Sony Ericsson Mobile Communications AB
+  idProduct          0x5188 
+  bcdDevice            2.31
+  iManufacturer           2 Android
+  iProduct                3 Android
+  iSerial                 4 YT90037MUL
+  bNumConfigurations      1
+  Configuration Descriptor:
+    bLength                 9
+    bDescriptorType         2
+    wTotalLength           62
+    bNumInterfaces          2
+    bConfigurationValue     1
+    iConfiguration          0 
+    bmAttributes         0xc0
+      Self Powered
+    MaxPower              500mA
+    Interface Descriptor:
+      bLength                 9
+      bDescriptorType         4
+      bInterfaceNumber        0
+      bAlternateSetting       0
+      bNumEndpoints           3
+      bInterfaceClass       255 Vendor Specific Class
+      bInterfaceSubClass    255 Vendor Specific Subclass
+      bInterfaceProtocol      0 
+      iInterface              5 MTP
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x81  EP 1 IN
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x01  EP 1 OUT
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x82  EP 2 IN
+        bmAttributes            3
+          Transfer Type            Interrupt
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x001c  1x 28 bytes
+        bInterval               6
+    Interface Descriptor:
+      bLength                 9
+      bDescriptorType         4
+      bInterfaceNumber        1
+      bAlternateSetting       0
+      bNumEndpoints           2
+      bInterfaceClass       255 Vendor Specific Class
+      bInterfaceSubClass     66 
+      bInterfaceProtocol      1 
+      iInterface              0 
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x83  EP 3 IN
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x02  EP 2 OUT
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+
diff --git a/logs/mtp-detect-sony-xperia-m.txt b/logs/mtp-detect-sony-xperia-m.txt
new file mode 100644
index 0000000..c15d2d5
--- /dev/null
+++ b/logs/mtp-detect-sony-xperia-m.txt
@@ -0,0 +1,591 @@
+Device 0 (VID=0fce and PID=019b) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+libmtp version: 1.1.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   0fce:019b @ bus 2, dev 4
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fce
+   idProduct: 019b
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 4
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0fce
+         Product: (null)
+         Vendor id: 0x019b
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Sony
+   Model: C1904
+   Device version: 1.0
+   Serial number: YT910BPY6N
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0; microsoft.com/WPDNA: 1.0;sonyericsson.com/SE: 1.0; sony.net/MRLN: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+        microsoft.com/WPDNA: 1.0
+        sonyericsson.com/SE: 1.0
+        sony.net/MRLN: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+   9186: Unknown (9186)
+   9187: Unknown (9187)
+   9188: Unknown (9188)
+   9189: Unknown (9189)
+   9191: Unknown (9191)
+   9194: Unknown (9194)
+   9196: Unknown (9196)
+   9197: Unknown (9197)
+   940c: Unknown (940c)
+   940d: Unknown (940d)
+   9407: Unknown (9407)
+   9408: Unknown (9408)
+   9409: Unknown (9409)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0xc350
+   0xc35a
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd405: Device Icon
+   0x5003: Image Size
+   0xd120: Unknown property
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1536000, STEP 1 GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 17408000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 20480000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+   b102: Unknown(b102)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      d920: Unknown property array of UINT64 data type GET/SET
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 965836800
+      FreeSpaceInBytes: 311656448
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD Card
+      VolumeIdentifier: 131073
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 2204012544
+      FreeSpaceInBytes: 1679130624
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal Storage
+      VolumeIdentifier: 65537
+Special directories:
+   Default music folder: 0x00000c61
+   Default playlist folder: 0x00000c6d
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Xperia M
+   Synchronization partner: (NULL)
+   Battery level 92 of 100 (92%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Abstract Album file
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-sony-xperia-m2-aqua.txt b/logs/mtp-detect-sony-xperia-m2-aqua.txt
new file mode 100644
index 0000000..ad9604c
--- /dev/null
+++ b/logs/mtp-detect-sony-xperia-m2-aqua.txt
@@ -0,0 +1,636 @@
+libmtp version: 1.1.9
+
+Listing raw device(s)
+Device 0 (VID=0fce and PID=01b8) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0fce:01b8 @ bus 2, dev 46
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fce
+   idProduct: 01b8
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 46
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0fce
+         Product: (null)
+         Vendor id: 0x01b8
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Sony
+   Model: D2406
+   Device version: 1.0
+   Serial number: ZH80067FX3
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0; microsoft.com/WPDNA: 1.0;sonyericsson.com/SE: 1.0; sony.net/MRLN: 1.0;microsoft.com/DeviceServices:1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+        microsoft.com/WPDNA: 1.0
+        sonyericsson.com/SE: 1.0
+        sony.net/MRLN: 1.0
+        microsoft.com/DeviceServices: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+   9301: Unknown (9301)
+   9302: Unknown (9302)
+   9303: Unknown (9303)
+   9304: Unknown (9304)
+   9305: Unknown (9305)
+   9306: Unknown (9306)
+   9307: Unknown (9307)
+   9308: Unknown (9308)
+   9309: Unknown (9309)
+   930a: Unknown (930a)
+   9185: Get WMDRM-ND License Response
+   9186: Unknown (9186)
+   9187: Unknown (9187)
+   9188: Unknown (9188)
+   9189: Unknown (9189)
+   9191: Unknown (9191)
+   9194: Unknown (9194)
+   9196: Unknown (9196)
+   9197: Unknown (9197)
+   940c: Unknown (940c)
+   940d: Unknown (940d)
+   9407: Unknown (9407)
+   9408: Unknown (9408)
+   9409: Unknown (9409)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0xc350
+   0xc35a
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd405: Device Icon
+   0x5003: Image Size
+   0xd120: Unknown property
+   0x5001: Battery Level
+   0xd302: Unknown property
+   0xd303: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   300a: MS AVI
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 34816000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1920, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 1080, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1536000, STEP 1 GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1920, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 1080, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 34816000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1920, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 1080, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 20480000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1920, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 1080, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+   b102: Unknown(b102)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      d920: Unknown property array of UINT64 data type GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 5311942656
+      FreeSpaceInBytes: 1315770368
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Mémoire de stockage interne
+      VolumeIdentifier: 65537
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 15923412992
+      FreeSpaceInBytes: 14978973696
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Carte SD
+      VolumeIdentifier: 131073
+Special directories:
+   Default music folder: 0x00000426
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000005
+   Default video folder: 0x00000429
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Xperia M2 Aqua
+   Synchronization partner: (NULL)
+   Battery level 98 of 100 (98%)
+libmtp supported (playable) filetypes:
+   Audio Video Interleave
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Abstract Album file
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-sony-xperia-m2.txt b/logs/mtp-detect-sony-xperia-m2.txt
new file mode 100644
index 0000000..019a3f1
--- /dev/null
+++ b/logs/mtp-detect-sony-xperia-m2.txt
@@ -0,0 +1,608 @@
+Device 0 (VID=0fce and PID=01aa) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+libmtp version: 1.1.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   0fce:01aa @ bus 2, dev 3
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fce
+   idProduct: 01aa
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 3
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0fce
+         Product: (null)
+         Vendor id: 0x01aa
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Sony
+   Model: D2303
+   Device version: 1.0
+   Serial number: ZH8004HV7W
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0; microsoft.com/WPDNA: 1.0;sonyericsson.com/SE: 1.0; sony.net/MRLN: 1.0;microsoft.com/DeviceServices:1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+        microsoft.com/WPDNA: 1.0
+        sonyericsson.com/SE: 1.0
+        sony.net/MRLN: 1.0
+        microsoft.com/DeviceServices: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+   9301: Unknown (9301)
+   9302: Unknown (9302)
+   9303: Unknown (9303)
+   9304: Unknown (9304)
+   9305: Unknown (9305)
+   9306: Unknown (9306)
+   9307: Unknown (9307)
+   9308: Unknown (9308)
+   9309: Unknown (9309)
+   930a: Unknown (930a)
+   9185: Get WMDRM-ND License Response
+   9186: Unknown (9186)
+   9187: Unknown (9187)
+   9188: Unknown (9188)
+   9189: Unknown (9189)
+   9191: Unknown (9191)
+   9194: Unknown (9194)
+   9196: Unknown (9196)
+   9197: Unknown (9197)
+   940c: Unknown (940c)
+   940d: Unknown (940d)
+   9407: Unknown (9407)
+   9408: Unknown (9408)
+   9409: Unknown (9409)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0xc350
+   0xc35a
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd405: Device Icon
+   0x5003: Image Size
+   0xd120: Unknown property
+   0x5001: Battery Level
+   0xd301: Unknown property
+   0xd302: Unknown property
+   0xd303: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1536000, STEP 1 GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 17408000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 20480000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+   b102: Unknown(b102)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      d920: Unknown property array of UINT64 data type GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 5311942656
+      FreeSpaceInBytes: 4436766720
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Vnitřní úložiště
+      VolumeIdentifier: 65537
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 7939817472
+      FreeSpaceInBytes: 7760379904
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Karta SD
+      VolumeIdentifier: 131073
+Special directories:
+   Default music folder: 0x0000042a
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000005
+   Default video folder: 0x0000042d
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Xperia M2
+   Synchronization partner: (NULL)
+   Battery level 71 of 100 (70%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Abstract Album file
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-sony-xperia-m2dual.txt b/logs/mtp-detect-sony-xperia-m2dual.txt
new file mode 100644
index 0000000..97b1508
--- /dev/null
+++ b/logs/mtp-detect-sony-xperia-m2dual.txt
@@ -0,0 +1,741 @@
+** [bugs:#1330] Sony Xperia M2 Dual**
+
+**Status:** open
+**Group:** 1.1.8
+**Created:** Sun Apr 26, 2015 01:21 PM UTC by Anonymous
+**Last Updated:** Sun Apr 26, 2015 01:21 PM UTC
+**Owner:** nobody
+
+mtp-detect
+
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.                                                                                     
+libmtp version: 1.1.8                                                                                                                       
+                                                                                                                                            
+Listing raw device(s)                                                                                                                       
+Device 0 (VID=0fce and PID=51ab) is UNKNOWN.                                                                                                
+Please report this VID/PID and the device model to the libmtp development team                                                              
+   Found 1 device(s):                                                                                                                       
+   0fce:51ab @ bus 2, dev 2                                                                                                                 
+Attempting to connect device(s)                                                                                                             
+Android device detected, assigning default bug flags                                                                                        
+Error 1: Get Storage information failed.                                                                                                    
+Error 2: PTP Layer error 02fe: get_handles_recursively(): could not get object handles.                                                     
+Error 2: Error 02fe: PTP: Protocol error, data expected                                                                                     
+USB low-level info:                                                                                                                         
+   bcdUSB: 512                                                                                                                              
+   bDeviceClass: 0                                                                                                                          
+   bDeviceSubClass: 0                                                                                                                       
+   bDeviceProtocol: 0                                                                                                                       
+   idVendor: 0fce                                                                                                                           
+   idProduct: 51ab
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 2
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0fce
+         Product: (null)
+         Vendor id: 0x51ab
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Sony
+   Model: D2302
+   Device version: 1.0
+   Serial number: ZH8005AA2B
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0; microsoft.com/WPDNA: 1.0;sonyericsson.com/SE: 1.0; sony.net/MRLN: 1.0;microsoft.com/DeviceServices:1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+        microsoft.com/WPDNA: 1.0
+        sonyericsson.com/SE: 1.0
+        sony.net/MRLN: 1.0
+        microsoft.com/DeviceServices: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+   9301: Unknown (9301)
+   9302: Unknown (9302)
+   9303: Unknown (9303)
+   9304: Unknown (9304)
+   9305: Unknown (9305)
+   9306: Unknown (9306)
+   9307: Unknown (9307)
+   9308: Unknown (9308)
+   9309: Unknown (9309)
+   930a: Unknown (930a)
+   9185: Get WMDRM-ND License Response
+   9186: Unknown (9186)
+   9187: Unknown (9187)
+   9188: Unknown (9188)
+   9189: Unknown (9189)
+   9191: Unknown (9191)
+   9194: Unknown (9194)
+   9196: Unknown (9196)
+   9197: Unknown (9197)
+   940c: Unknown (940c)
+   940d: Unknown (940d)
+   9407: Unknown (9407)
+   9408: Unknown (9408)
+   9409: Unknown (9409)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0xc350
+   0xc35a
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd405: Device Icon
+   0x5003: Image Size
+   0xd120: Unknown property
+   0x5001: Battery Level
+   0xd302: Unknown property
+   0xd303: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   300a: MS AVI
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 34816000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1920, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 1080, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1536000, STEP 1 GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1920, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 1080, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 34816000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1920, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 1080, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 20480000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1920, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 1080, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+   b102: Unknown(b102)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      d920: Unknown property array of UINT64 data type GET/SET
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Xperia M2 Dual
+   Synchronization partner: (NULL)
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   Audio Video Interleave
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Abstract Album file
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
+lsusb
+
+Bus 002 Device 002: ID 0fce:51ab Sony Ericsson Mobile Communications AB 
+Device Descriptor:
+  bLength                18
+  bDescriptorType         1
+  bcdUSB               2.00
+  bDeviceClass            0 (Defined at Interface level)
+  bDeviceSubClass         0 
+  bDeviceProtocol         0 
+  bMaxPacketSize0        64
+  idVendor           0x0fce Sony Ericsson Mobile Communications AB
+  idProduct          0x51ab 
+  bcdDevice            2.28
+  iManufacturer           1 Android
+  iProduct                2 Android
+  iSerial                 3 ZH8005AA2B
+  bNumConfigurations      1
+  Configuration Descriptor:
+    bLength                 9
+    bDescriptorType         2
+    wTotalLength           62
+    bNumInterfaces          2
+    bConfigurationValue     1
+    iConfiguration          0 
+    bmAttributes         0x80
+      (Bus Powered)
+    MaxPower              500mA
+    Interface Descriptor:
+      bLength                 9
+      bDescriptorType         4
+      bInterfaceNumber        0
+      bAlternateSetting       0
+      bNumEndpoints           3
+      bInterfaceClass       255 Vendor Specific Class
+      bInterfaceSubClass    255 Vendor Specific Subclass
+      bInterfaceProtocol      0 
+      iInterface              4 MTP
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x81  EP 1 IN
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x01  EP 1 OUT
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x82  EP 2 IN
+        bmAttributes            3
+          Transfer Type            Interrupt
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x001c  1x 28 bytes
+        bInterval               6
+    Interface Descriptor:
+      bLength                 9
+      bDescriptorType         4
+      bInterfaceNumber        1
+      bAlternateSetting       0
+      bNumEndpoints           2
+      bInterfaceClass       255 Vendor Specific Class
+      bInterfaceSubClass     66 
+      bInterfaceProtocol      1 
+      iInterface              0 
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x83  EP 3 IN
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x02  EP 2 OUT
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+Device Qualifier (for other device speed):
+  bLength                10
+  bDescriptorType         6
+  bcdUSB               2.00
+  bDeviceClass            0 (Defined at Interface level)
+  bDeviceSubClass         0 
+  bDeviceProtocol         0 
+  bMaxPacketSize0        64
+  bNumConfigurations      1
+Device Status:     0x0000
+  (Bus Powered)
diff --git a/logs/mtp-detect-sony-xperia-sov31.txt b/logs/mtp-detect-sony-xperia-sov31.txt
new file mode 100644
index 0000000..3c9fe09
--- /dev/null
+++ b/logs/mtp-detect-sony-xperia-sov31.txt
@@ -0,0 +1,607 @@
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.
+Device 0 (VID=0fce and PID=01c9) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+Error 1: Get Storage information failed.
+Error 2: PTP Layer error 02fe: get_handles_recursively(): could not get object handles.
+Error 2: Error 02fe: PTP: Protocol error, data expected
+libmtp version: 1.1.8
+
+Listing raw device(s)
+   Found 1 device(s):
+   0fce:01c9 @ bus 1, dev 10
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fce
+   idProduct: 01c9
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 10
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0fce
+         Product: (null)
+         Vendor id: 0x01c9
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Sony
+   Model: SOV31
+   Device version: 1.0
+   Serial number: BH902N3P23
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;sonyericsson.com/SE: 1.0;microsoft.com/DeviceServices:1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+        sonyericsson.com/SE: 1.0
+        microsoft.com/DeviceServices: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+   9301: Unknown (9301)
+   9302: Unknown (9302)
+   9303: Unknown (9303)
+   9304: Unknown (9304)
+   9305: Unknown (9305)
+   9306: Unknown (9306)
+   9307: Unknown (9307)
+   9308: Unknown (9308)
+   9309: Unknown (9309)
+   930a: Unknown (930a)
+   9170: Open Media Session
+   9171: Close Media Session
+   9185: Get WMDRM-ND License Response
+   9186: Unknown (9186)
+   9187: Unknown (9187)
+   9188: Unknown (9188)
+   9189: Unknown (9189)
+   9191: Unknown (9191)
+   9194: Unknown (9194)
+   9196: Unknown (9196)
+   9197: Unknown (9197)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+   0xc340
+   0xc350
+   0xc35a
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd405: Device Icon
+   0x5003: Image Size
+   0x5001: Battery Level
+   0xd302: Unknown property
+   0xd303: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   300a: MS AVI
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 34816000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 4096, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 2160, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 4096, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 2160, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 139264000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 4096, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 2160, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 393216, STEP 1 READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 20480000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 4096, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 2160, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222, 1935764850,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 READ ONLY
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Xperia Z4
+   Synchronization partner: (NULL)
+   Battery level 90 of 100 (89%)
+libmtp supported (playable) filetypes:
+   Audio Video Interleave
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Abstract Album file
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-sony-xperia-sx.txt b/logs/mtp-detect-sony-xperia-sx.txt
new file mode 100644
index 0000000..d802026
--- /dev/null
+++ b/logs/mtp-detect-sony-xperia-sx.txt
@@ -0,0 +1,186 @@
+coze@coze-lin64:~$sudo mtp-detect
+libmtp version: 1.1.0
+
+Listing raw device(s)
+Device 0 (VID=0fce and PID=5181) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0fce:5181 @ bus 1, dev 9
+Attempting to connect device(s)
+PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
+LIBMTP libusb: Attempt to reset device
+Error 2: PTP Layer error 02ff: get_all_metadata_fast(): could not get proplist of all objects.
+Error 2: (Look this up in ptp.h for an explanation.)
+Error 2: PTP Layer error 02ff: get_handles_recursively(): could not get object handles.
+Error 2: (Look this up in ptp.h for an explanation.)
+Error 2: PTP Layer error 02ff: get_handles_recursively(): could not get object handles.
+Error 2: (Look this up in ptp.h for an explanation.)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fce
+   idProduct: 5181
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 9
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0fce
+         Product: (null)
+         Vendor id: 0x5181
+         Device flags: 0x00000000
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Sony
+   Model: SO-05D
+   Device version: 1.0
+   Serial number: CB5A1L2D7K
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0; microsoft.com/WPDNA: 1.0;sonyericsson.com/SE: 1.0; sony.net/MRLN: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+         android.com: 1.0
+         microsoft.com/WPDNA: 1.0
+        sonyericsson.com/SE: 1.0
+         sony.net/MRLN: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+   9186: Unknown (9186)
+   9187: Unknown (9187)
+   9188: Unknown (9188)
+   9189: Unknown (9189)
+   9191: Unknown (9191)
+   9194: Unknown (9194)
+   9196: Unknown (9196)
+   9197: Unknown (9197)
+   940c: Unknown (940c)
+   940d: Unknown (940d)
+   9407: Unknown (9407)
+   9408: Unknown (9408)
+   9409: Unknown (9409)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0xc350
+   0xc35a
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd405: Device Icon
+   0x5003: Image Size
+   0xd120: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+   3001: Association/Directory
+   3004: Text
+   3005: HTML
+   3008: MS Wave
+   3009: MP3
+   3801: JPEG
+   3802: TIFF EP
+   3807: GIF
+   3808: JFIF
+   380b: PNG
+   380d: TIFF
+   b902: OGG
+   b903: AAC
+   b982: MP4
+   b984: 3GP
+   ba03: Abstract Audio Album
+   ba05: Abstract Audio Video Playlist
+   ba10: WPL Playlist
+   ba11: M3U Playlist
+   ba14: PLS Playlist
+   ba82: XMLDocument
+   b906: FLAC
+   b102: Unknown(b102)
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 32005685248
+      FreeSpaceInBytes: 14602764288
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD Card
+      VolumeIdentifier: 131073
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 3985899520
+      FreeSpaceInBytes: 3567194112
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal Storage
+      VolumeIdentifier: 65537
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Abstract Album file
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+ERROR: Could not close session!
+OK.
diff --git a/logs/mtp-detect-sony-xperia-t.txt b/logs/mtp-detect-sony-xperia-t.txt
new file mode 100644
index 0000000..90eb99a
--- /dev/null
+++ b/logs/mtp-detect-sony-xperia-t.txt
@@ -0,0 +1,572 @@
+libmtp version: 1.1.3
+
+Listing raw device(s)
+   Found 1 device(s):
+   0fce:0182 @ bus 2, dev 3
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fce
+   idProduct: 0182
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 3
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0fce
+         Product: (null)
+         Vendor id: 0x0182
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Sony
+   Model: LT30p
+   Device version: 1.0
+   Serial number: CB5121KJLK
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0; microsoft.com/WPDNA: 1.0;sonyericsson.com/SE: 1.0; sony.net/MRLN: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+        microsoft.com/WPDNA: 1.0
+        sonyericsson.com/SE: 1.0
+        sony.net/MRLN: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+   9186: Unknown (9186)
+   9187: Unknown (9187)
+   9188: Unknown (9188)
+   9189: Unknown (9189)
+   9191: Unknown (9191)
+   9194: Unknown (9194)
+   9196: Unknown (9196)
+   9197: Unknown (9197)
+   940c: Unknown (940c)
+   940d: Unknown (940d)
+   9407: Unknown (9407)
+   9408: Unknown (9408)
+   9409: Unknown (9409)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0xc350
+   0xc35a
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd405: Device Icon
+   0x5003: Image Size
+   0xd120: Unknown property
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 32000, MAX 44100, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 17408000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 20480000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+   b102: Unknown(b102)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      d920: Unknown property array of UINT64 data type GET/SET
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 2028683264
+      FreeSpaceInBytes: 1101635584
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD-Karte
+      VolumeIdentifier: 131073
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 11679301632
+      FreeSpaceInBytes: 7660630016
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Interner Speicher
+      VolumeIdentifier: 65537
+Special directories:
+   Default music folder: 0x000005b4
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: XPERIA T
+   Synchronization partner: (NULL)
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Abstract Album file
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-sony-xperia-tipo.txt b/logs/mtp-detect-sony-xperia-tipo.txt
new file mode 100644
index 0000000..c959bd7
--- /dev/null
+++ b/logs/mtp-detect-sony-xperia-tipo.txt
@@ -0,0 +1,524 @@
+libmtp version: 1.1.3
+
+Listing raw device(s)
+   Found 1 device(s):
+   0fce:5170 @ bus 2, dev 5
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fce
+   idProduct: 5170
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 5
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0fce
+         Product: (null)
+         Vendor id: 0x5170
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Sony
+   Model: ST21i
+   Device version: 1.0
+   Serial number: BX9036WC7V
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;sonyericsson.com/SE: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+        sonyericsson.com/SE: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+   9183: Send Proximity Response
+   9184: Send WMDRM-ND License Request
+   9186: Unknown (9186)
+   9187: Unknown (9187)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0xc350
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd405: Device Icon
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 32000, MAX 44100, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 17408000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 20480000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Sony Xperia™ tipo
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Abstract Album file
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-sony-xperia-xa.txt b/logs/mtp-detect-sony-xperia-xa.txt
new file mode 100644
index 0000000..ac75ce2
--- /dev/null
+++ b/logs/mtp-detect-sony-xperia-xa.txt
@@ -0,0 +1,619 @@
+libmtp version: 1.1.12                                                                                                            
+                                                                                                                                    
+Listing raw device(s)                                                                                                               
+Device 0 (VID=0fce and PID=51de) is UNKNOWN in libmtp v1.1.12.                                                                       
+Please report this VID/PID and the device model to the libmtp development team                                                       
+   Found 1 device(s):                                                                                                                   
+   0fce:51de @ bus 2, dev 9                                                                                                             
+Attempting to connect device(s)                                                                                                         
+Android device detected, assigning default bug flags                                                                                        
+USB low-level info:                                                                                                                         
+   bcdUSB: 512                                                                                                                              
+   bDeviceClass: 0                                                                                                                           
+   bDeviceSubClass: 0                                                                                                                        
+   bDeviceProtocol: 0                                                                                                                         
+   idVendor: 0fce                                                                                                                              
+   idProduct: 51de                                                                                                                             
+   IN endpoint maxpacket: 512 bytes                                                                                                              
+   OUT endpoint maxpacket: 512 bytes                                                                                                             
+   Raw device info:                                                                                                                              
+      Bus location: 2                                                                                                                             
+      Device number: 9                                                                                                                              
+      Device entry info:                                                                                                                            
+         Vendor: (null)
+         Vendor id: 0x0fce
+         Product: (null)
+         Vendor id: 0x51de
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Sony
+   Model: F3111
+   Device version: 1.0
+   Serial number: RQ3000KSGH
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;sonyericsson.com/SE: 1.0;microsoft.com/DeviceServices:1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+        sonyericsson.com/SE: 1.0
+        microsoft.com/DeviceServices: 1.0
+Supported operations:
+   1001: Unknown(1001)
+   1002: Unknown(1002)
+   1003: Unknown(1003)
+   1004: Unknown(1004)
+   1005: Unknown(1005)
+   1006: Unknown(1006)
+   1007: Unknown(1007)
+   1008: Unknown(1008)
+   1009: Unknown(1009)
+   100a: Unknown(100a)
+   100b: Unknown(100b)
+   100c: Unknown(100c)
+   100d: Unknown(100d)
+   1014: Unknown(1014)
+   1015: Unknown(1015)
+   1016: Unknown(1016)
+   1017: Unknown(1017)
+   101b: Unknown(101b)
+   9801: Unknown(9801)
+   9802: Unknown(9802)
+   9803: Unknown(9803)
+   9804: Unknown(9804)
+   9805: Unknown(9805)
+   9810: Unknown(9810)
+   9811: Unknown(9811)
+   95c1: Unknown(95c1)
+   95c2: Unknown(95c2)
+   95c3: Unknown(95c3)
+   95c4: Unknown(95c4)
+   95c5: Unknown(95c5)
+   9301: Unknown(9301)
+   9302: Unknown(9302)
+   9303: Unknown(9303)
+   9304: Unknown(9304)
+   9305: Unknown(9305)
+   9306: Unknown(9306)
+   9307: Unknown(9307)
+   9308: Unknown(9308)
+   9309: Unknown(9309)
+   930a: Unknown(930a)
+   9185: Unknown(9185)
+   9186: Unknown(9186)
+   9187: Unknown(9187)
+   9188: Unknown(9188)
+   9189: Unknown(9189)
+   9191: Unknown(9191)
+   9194: Unknown(9194)
+   9196: Unknown(9196)
+   9197: Unknown(9197)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+   0x4007
+   0x400c
+   0xc350
+   0xc35a
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd405: Device Icon
+   0x5003: Image Size
+   0x5001: Battery Level
+   0xd302: Unknown property
+   0xd303: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   300a: MS AVI
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 34816000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 17408000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 20480000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 READ ONLY
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 10814251008
+      FreeSpaceInBytes: 3342090240
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Внутренний накопитель
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Xperia XA
+   Synchronization partner: (NULL)
+   Battery level 49 of 100 (49%)
+libmtp supported (playable) filetypes:
+   Audio Video Interleave
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Abstract Album file
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-sony-xperia-z-ultra.txt b/logs/mtp-detect-sony-xperia-z-ultra.txt
new file mode 100644
index 0000000..363b64c
--- /dev/null
+++ b/logs/mtp-detect-sony-xperia-z-ultra.txt
@@ -0,0 +1,637 @@
+$ mtp-detect 
+Unable to read MTPZ public exponent from ~/.mtpz-data, MTPZ disabledlibmtp version: 1.1.6
+
+Listing raw device(s)
+Device 0 (VID=0fce and PID=019c) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0fce:019c @ bus 1, dev 12
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fce
+   idProduct: 019c
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 12
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0fce
+         Product: (null)
+         Vendor id: 0x019c
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Sony
+   Model: C6833
+   Device version: 1.0
+   Serial number: EP7335CWBC
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0; microsoft.com/WPDNA: 1.0;sonyericsson.com/SE: 1.0; sony.net/MRLN: 1.0;microsoft.com/DeviceServices:1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+        microsoft.com/WPDNA: 1.0
+        sonyericsson.com/SE: 1.0
+        sony.net/MRLN: 1.0
+        microsoft.com/DeviceServices: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+   9301: Unknown (9301)
+   9302: Unknown (9302)
+   9303: Unknown (9303)
+   9304: Unknown (9304)
+   9305: Unknown (9305)
+   9306: Unknown (9306)
+   9307: Unknown (9307)
+   9308: Unknown (9308)
+   9309: Unknown (9309)
+   930a: Unknown (930a)
+   9185: Get WMDRM-ND License Response
+   9186: Unknown (9186)
+   9187: Unknown (9187)
+   9188: Unknown (9188)
+   9189: Unknown (9189)
+   9191: Unknown (9191)
+   9194: Unknown (9194)
+   9196: Unknown (9196)
+   9197: Unknown (9197)
+   940c: Unknown (940c)
+   940d: Unknown (940d)
+   9407: Unknown (9407)
+   9408: Unknown (9408)
+   9409: Unknown (9409)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0xc350
+   0xc35a
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd405: Device Icon
+   0x5003: Image Size
+   0xd120: Unknown property
+   0x5001: Battery Level
+   0xd302: Unknown property
+   0xd303: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   300a: MS AVI
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 34816000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1920, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 1080, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1536000, STEP 1 GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1920, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 1080, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 34816000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1920, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 1080, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 20480000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1920, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 1080, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+   b102: Unknown(b102)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      d920: Unknown property array of UINT64 data type GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 12578623488
+      FreeSpaceInBytes: 1521426432
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal Storage
+      VolumeIdentifier: 65537
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 31381422080
+      FreeSpaceInBytes: 18768723968
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD Card
+      VolumeIdentifier: 131073
+Special directories:
+   Default music folder: 0x00000003
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x000025fe
+   Default video folder: 0x00000006
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Xperia Z Ultra
+   Synchronization partner: (NULL)
+   Battery level 76 of 100 (75%)
+libmtp supported (playable) filetypes:
+   Audio Video Interleave
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Abstract Album file
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-sony-xperia-z1-compact.txt b/logs/mtp-detect-sony-xperia-z1-compact.txt
new file mode 100644
index 0000000..7307fa0
--- /dev/null
+++ b/logs/mtp-detect-sony-xperia-z1-compact.txt
@@ -0,0 +1,615 @@
+libmtp version: 1.1.8
+
+Listing raw device(s)
+   Found 1 device(s):
+   0fce:51a7 @ bus 2, dev 8
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fce
+   idProduct: 51a7
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 8
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0fce
+         Product: (null)
+         Vendor id: 0x51a7
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Sony
+   Model: D5503
+   Device version: 1.0
+   Serial number: CB5A1Z8BQC
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0; microsoft.com/WPDNA: 1.0;sonyericsson.com/SE: 1.0; sony.net/MRLN: 1.0;microsoft.com/DeviceServices:1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+        microsoft.com/WPDNA: 1.0
+        sonyericsson.com/SE: 1.0
+        sony.net/MRLN: 1.0
+        microsoft.com/DeviceServices: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+   9301: Unknown (9301)
+   9302: Unknown (9302)
+   9303: Unknown (9303)
+   9304: Unknown (9304)
+   9305: Unknown (9305)
+   9306: Unknown (9306)
+   9307: Unknown (9307)
+   9308: Unknown (9308)
+   9309: Unknown (9309)
+   930a: Unknown (930a)
+   9185: Get WMDRM-ND License Response
+   9186: Unknown (9186)
+   9187: Unknown (9187)
+   9188: Unknown (9188)
+   9189: Unknown (9189)
+   9191: Unknown (9191)
+   9194: Unknown (9194)
+   9196: Unknown (9196)
+   9197: Unknown (9197)
+   940c: Unknown (940c)
+   940d: Unknown (940d)
+   9407: Unknown (9407)
+   9408: Unknown (9408)
+   9409: Unknown (9409)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0xc350
+   0xc35a
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd405: Device Icon
+   0x5003: Image Size
+   0xd120: Unknown property
+   0x5001: Battery Level
+   0xd302: Unknown property
+   0xd303: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   300a: MS AVI
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 34816000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1920, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 1080, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1536000, STEP 1 GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1920, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 1080, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 34816000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1920, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 1080, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 20480000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1920, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 1080, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+   b102: Unknown(b102)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      d920: Unknown property array of UINT64 data type GET/SET
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Xperia Z1 Compact
+   Synchronization partner: (NULL)
+   Battery level 66 of 100 (66%)
+libmtp supported (playable) filetypes:
+   Audio Video Interleave
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Abstract Album file
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-sony-xperia-z1-compact2.txt b/logs/mtp-detect-sony-xperia-z1-compact2.txt
new file mode 100644
index 0000000..f57c4ec
--- /dev/null
+++ b/logs/mtp-detect-sony-xperia-z1-compact2.txt
@@ -0,0 +1,621 @@
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6
+
+Listing raw device(s)
+Device 0 (VID=0fce and PID=01a7) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0fce:01a7 @ bus 1, dev 13
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+Error 1: Get Storage information failed.
+Error 2: PTP Layer error 02fe: get_handles_recursively(): could not get object handles.
+Error 2: Error 02fe: PTP: Protocol error, data expected
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fce
+   idProduct: 01a7
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 13
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0fce                                                                                                     
+         Product: (null)                                                                                                       
+         Vendor id: 0x01a7                                                                                                     
+         Device flags: 0x08008106                                                                                              
+Configuration 0, interface 0, altsetting 0:                                                                                    
+   Interface description contains the string "MTP"                                                                             
+   Device recognized as MTP, no further probing.                                                                               
+Device info:
+   Manufacturer: Sony
+   Model: D5503
+   Device version: 1.0
+   Serial number: CB5A1XHDHW
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0; microsoft.com/WPDNA: 1.0;sonyericsson.com/SE: 1.0; sony.net/MRLN: 1.0;microsoft.com/DeviceServices:1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+        microsoft.com/WPDNA: 1.0
+        sonyericsson.com/SE: 1.0
+        sony.net/MRLN: 1.0
+        microsoft.com/DeviceServices: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+   9301: Unknown (9301)
+   9302: Unknown (9302)
+   9303: Unknown (9303)
+   9304: Unknown (9304)
+   9305: Unknown (9305)
+   9306: Unknown (9306)
+   9307: Unknown (9307)
+   9308: Unknown (9308)
+   9309: Unknown (9309)
+   930a: Unknown (930a)
+   9185: Get WMDRM-ND License Response
+   9186: Unknown (9186)
+   9187: Unknown (9187)
+   9188: Unknown (9188)
+   9189: Unknown (9189)
+   9191: Unknown (9191)
+   9194: Unknown (9194)
+   9196: Unknown (9196)
+   9197: Unknown (9197)
+   940c: Unknown (940c)
+   940d: Unknown (940d)
+   9407: Unknown (9407)
+   9408: Unknown (9408)
+   9409: Unknown (9409)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0xc350
+   0xc35a
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd405: Device Icon
+   0x5003: Image Size
+   0xd120: Unknown property
+   0x5001: Battery Level
+   0xd301: Unknown property
+   0xd302: Unknown property
+   0xd303: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   300a: MS AVI
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9b: Video Four CC Codec UINT32 data type ANY 32BIT VALUE form GET/SET
+      de9c: Video Bit Rate UINT32 data type ANY 32BIT VALUE form GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type ANY 32BIT VALUE form GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de93: Sample Rate UINT32 data type ANY 32BIT VALUE form GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form GET/SET
+      de9a: Audio Bit Rate UINT32 data type ANY 32BIT VALUE form GET/SET
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1536000, STEP 1 GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1920, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 1080, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 34816000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1920, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 1080, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 20480000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1920, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 1080, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+   b102: Unknown(b102)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      d920: Unknown property array of UINT64 data type GET/SET
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Xperia Z1 Compact
+   Synchronization partner: (NULL)
+   Battery level 33 of 100 (33%)
+libmtp supported (playable) filetypes:
+   Audio Video Interleave
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Abstract Album file
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-sony-xperia-z1.txt b/logs/mtp-detect-sony-xperia-z1.txt
new file mode 100644
index 0000000..8fc10fd
--- /dev/null
+++ b/logs/mtp-detect-sony-xperia-z1.txt
@@ -0,0 +1,628 @@
+Device 0 (VID=0fce and PID=519e) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+libmtp version: 1.1.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   0fce:519e @ bus 1, dev 15
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fce
+   idProduct: 519e
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 15
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0fce
+         Product: (null)
+         Vendor id: 0x519e
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Sony
+   Model: C6903
+   Device version: 1.0
+   Serial number: BH90EP2N06
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0; microsoft.com/WPDNA: 1.0;sonyericsson.com/SE: 1.0; sony.net/MRLN: 1.0;microsoft.com/DeviceServices:1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+        microsoft.com/WPDNA: 1.0
+        sonyericsson.com/SE: 1.0
+        sony.net/MRLN: 1.0
+        microsoft.com/DeviceServices: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+   9301: Unknown (9301)
+   9302: Unknown (9302)
+   9303: Unknown (9303)
+   9304: Unknown (9304)
+   9305: Unknown (9305)
+   9306: Unknown (9306)
+   9307: Unknown (9307)
+   9308: Unknown (9308)
+   9309: Unknown (9309)
+   930a: Unknown (930a)
+   9185: Get WMDRM-ND License Response
+   9186: Unknown (9186)
+   9187: Unknown (9187)
+   9188: Unknown (9188)
+   9189: Unknown (9189)
+   9191: Unknown (9191)
+   9194: Unknown (9194)
+   9196: Unknown (9196)
+   9197: Unknown (9197)
+   940c: Unknown (940c)
+   940d: Unknown (940d)
+   9407: Unknown (9407)
+   9408: Unknown (9408)
+   9409: Unknown (9409)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0xc350
+   0xc35a
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd405: Device Icon
+   0x5003: Image Size
+   0xd120: Unknown property
+   0x5001: Battery Level
+   0xd301: Unknown property
+   0xd302: Unknown property
+   0xd303: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   300a: MS AVI
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9b: Video Four CC Codec UINT32 data type ANY 32BIT VALUE form GET/SET
+      de9c: Video Bit Rate UINT32 data type ANY 32BIT VALUE form GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type ANY 32BIT VALUE form GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de93: Sample Rate UINT32 data type ANY 32BIT VALUE form GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form GET/SET
+      de9a: Audio Bit Rate UINT32 data type ANY 32BIT VALUE form GET/SET
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1536000, STEP 1 GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 17408000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 20480000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+   b102: Unknown(b102)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      d920: Unknown property array of UINT64 data type GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 12580114432
+      FreeSpaceInBytes: 9931767808
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: 内部存储设备
+      VolumeIdentifier: 65537
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0x00000004
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: C69
+   Synchronization partner: (NULL)
+   Battery level 94 of 100 (93%)
+libmtp supported (playable) filetypes:
+   Audio Video Interleave
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Abstract Album file
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-sony-xperia-z2.txt b/logs/mtp-detect-sony-xperia-z2.txt
new file mode 100644
index 0000000..cff0064
--- /dev/null
+++ b/logs/mtp-detect-sony-xperia-z2.txt
@@ -0,0 +1,475 @@
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fce
+   idProduct: 51af
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 8
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0fce
+         Product: (null)
+         Vendor id: 0x51af
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Sony
+   Model: Xperia Z2
+   Device version: 1.0
+   Serial number: <Magratea Corp.>
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 12426248192
+      FreeSpaceInBytes: xxxxxxxxxxxxxx
+      FreeSpaceInObjects: xxxxxxxxxxxxxx
+      StorageDescription: Interner Speicher
+      VolumeIdentifier: (null)
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: xxxxxxxxxxxxxx
+      FreeSpaceInBytes: xxxxxxxxxxxxxx
+      FreeSpaceInObjects: xxxxxxxxxxxxxx
+      StorageDescription: SD-Karte
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000005
+   Default playlist folder: 0x00001abc
+   Default picture folder: 0x0000000a
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-sony-xperia-z3-compact.txt b/logs/mtp-detect-sony-xperia-z3-compact.txt
new file mode 100644
index 0000000..fd309d8
--- /dev/null
+++ b/logs/mtp-detect-sony-xperia-z3-compact.txt
@@ -0,0 +1,1032 @@
+Device 0 (VID=0fce and PID=51bb) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0fce:51bb @ bus 1, dev 9
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fce
+   idProduct: 51bb
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:                                                                                             
+      Bus location: 1                                                                                           
+      Device number: 9                                                                                          
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0fce
+         Product: (null)
+         Vendor id: 0x51bb
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Sony
+   Model: D5803
+   Device version: 1.0
+   Serial number: YT910ZV7BB
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0; microsoft.com/WPDNA: 1.0;sonyericsson.com/SE: 1.0; sony.net/MRLN: 1.0;microsoft.com/DeviceServices:1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+        microsoft.com/WPDNA: 1.0
+        sonyericsson.com/SE: 1.0
+        sony.net/MRLN: 1.0
+        microsoft.com/DeviceServices: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+   9301: Unknown (9301)
+   9302: Unknown (9302)
+   9303: Unknown (9303)
+   9304: Unknown (9304)
+   9305: Unknown (9305)
+   9306: Unknown (9306)
+   9307: Unknown (9307)
+   9308: Unknown (9308)
+   9309: Unknown (9309)
+   930a: Unknown (930a)
+   9185: Get WMDRM-ND License Response
+   9186: Unknown (9186)
+   9187: Unknown (9187)
+   9188: Unknown (9188)
+   9189: Unknown (9189)
+   9191: Unknown (9191)
+   9194: Unknown (9194)
+   9196: Unknown (9196)
+   9197: Unknown (9197)
+   940c: Unknown (940c)
+   940d: Unknown (940d)
+   9407: Unknown (9407)
+   9408: Unknown (9408)
+   9409: Unknown (9409)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0xc350
+   0xc35a
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd405: Device Icon
+   0x5003: Image Size
+   0xd120: Unknown property
+   0x5001: Battery Level
+   0xd302: Unknown property
+   0xd303: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   300a: MS AVI
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 34816000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 4096, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 2160, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1536000, STEP 1 GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dcAbstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READevice 0 (VID=0fce and PID=51bb) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0fce:51bb @ bus 1, dev 9
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fce
+   idProduct: 51bb
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:                                                                                             
+      Bus location: 1                                                                                           
+      Device number: 9                                                                                          
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0fce
+         Product: (null)
+         Vendor id: 0x51bb
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Sony
+   Model: D5803
+   Device version: 1.0
+   Serial number: YT910ZV7BB
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0; microsoft.com/WPDNA: 1.0;sonyericsson.com/SE: 1.0; sony.net/MRLN: 1.0;microsoft.com/DeviceServices:1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+        microsoft.com/WPDNA: 1.0
+        sonyericsson.com/SE: 1.0
+        sony.net/MRLN: 1.0
+        microsoft.com/DeviceServices: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+   9301: Unknown (9301)
+   9302: Unknown (9302)
+   9303: Unknown (9303)
+   9304: Unknown (9304)
+   9305: Unknown (9305)
+   9306: Unknown (9306)
+   9307: Unknown (9307)
+   9308: Unknown (9308)
+   9309: Unknown (9309)
+   930a: Unknown (930a)
+   9185: Get WMDRM-ND License Response
+   9186: Unknown (9186)
+   9187: Unknown (9187)
+   9188: Unknown (9188)
+   9189: Unknown (9189)
+   9191: Unknown (9191)
+   9194: Unknown (9194)
+   9196: Unknown (9196)
+   9197: Unknown (9197)
+   940c: Unknown (940c)
+   940d: Unknown (940d)
+   9407: Unknown (9407)
+   9408: Unknown (9408)
+   9409: Unknown (9409)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0xc350
+   0xc35a
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd405: Device Icon
+   0x5003: Image Size
+   0xd120: Unknown property
+   0x5001: Battery Level
+   0xd302: Unknown property
+   0xd303: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   300a: MS AVI
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 34816000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 4096, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 2160, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1536000, STEP 1 GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIMEpe range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, 
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 4096, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 2160, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 139264000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 4096, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 2160, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 393216, STEP 1 GET/SET
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 20480000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 4096, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 2160, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222, 1935764850,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+   b102: Unknown(b102)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      d920: Unknown property array of UINT64 data type GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 12426248192
+      FreeSpaceInBytes: 8557891584
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: 65537
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 15997337600
+      FreeSpaceInBytes: 7324139520
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD Card
+      VolumeIdentifier: 131073
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Xperia Z3 Compact
+   Synchronization partner: (NULL)
+   Battery level 82 of 100 (81%)
+libmtp supported (playable) filetypes:
+   Audio Video Interleave
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Abstract Album file
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-sony-xperia-z4-aqua-dual.txt b/logs/mtp-detect-sony-xperia-z4-aqua-dual.txt
new file mode 100644
index 0000000..e1a5fa8
--- /dev/null
+++ b/logs/mtp-detect-sony-xperia-z4-aqua-dual.txt
@@ -0,0 +1,654 @@
+
+
+
+---
+
+** [bugs:#1424] Sony Xperia M4 Aqua Dual (E2333)**
+
+**Status:** open
+**Group:** unknown release (please set)
+**Created:** Mon Sep 21, 2015 01:40 PM UTC by Anonymous
+**Last Updated:** Mon Sep 21, 2015 01:40 PM UTC
+**Owner:** nobody
+
+
+mtp-detect
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.
+libmtp version: 1.1.8
+
+Listing raw device(s)
+Device 0 (VID=0fce and PID=01c4) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0fce:01c4 @ bus 3, dev 9
+Attempting to connect device(s)
+ignoring libusb_claim_interface() = -6PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
+LIBMTP libusb: Attempt to reset device
+Android device detected, assigning default bug flags
+Error 7: Found a bad handle, trying to ignore it.
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fce
+   idProduct: 01c4
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 3
+      Device number: 9
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0fce
+         Product: (null)
+         Vendor id: 0x01c4
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Sony
+   Model: E2333
+   Device version: 1.0
+   Serial number: 1234567890
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0; microsoft.com/WPDNA: 1.0;sonyericsson.com/SE: 1.0; sony.net/MRLN: 1.0;microsoft.com/DeviceServices:1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+        microsoft.com/WPDNA: 1.0
+        sonyericsson.com/SE: 1.0
+        sony.net/MRLN: 1.0
+        microsoft.com/DeviceServices: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+   9301: Unknown (9301)
+   9302: Unknown (9302)
+   9303: Unknown (9303)
+   9304: Unknown (9304)
+   9305: Unknown (9305)
+   9306: Unknown (9306)
+   9307: Unknown (9307)
+   9308: Unknown (9308)
+   9309: Unknown (9309)
+   930a: Unknown (930a)
+   9185: Get WMDRM-ND License Response
+   9186: Unknown (9186)
+   9187: Unknown (9187)
+   9188: Unknown (9188)
+   9189: Unknown (9189)
+   9191: Unknown (9191)
+   9194: Unknown (9194)
+   9196: Unknown (9196)
+   9197: Unknown (9197)
+   940c: Unknown (940c)
+   940d: Unknown (940d)
+   9407: Unknown (9407)
+   9408: Unknown (9408)
+   9409: Unknown (9409)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+   0xc350
+   0xc35a
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd405: Device Icon
+   0x5003: Image Size
+   0x5001: Battery Level
+   0xd302: Unknown property
+   0xd303: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   300a: MS AVI
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 34816000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 4096, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 2160, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1536000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 4096, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 2160, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 139264000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 4096, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 2160, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 393216, STEP 1 GET/SET
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 20480000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 4096, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 2160, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222, 1935764850,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 11887894528
+      FreeSpaceInBytes: 1362350080
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: 65537
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 16012804096
+      FreeSpaceInBytes: 10268278784
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD Card
+      VolumeIdentifier: 131073
+Special directories:
+   Default music folder: 0x0000000b
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x0000000c
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Xperia M4 Aqua Dual
+   Synchronization partner: (NULL)
+   Battery level 88 of 100 (87%)
+libmtp supported (playable) filetypes:
+   Audio Video Interleave
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Abstract Album file
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/bugs/1424/>
+
+
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/>
\ No newline at end of file
diff --git a/logs/mtp-detect-sony-xperia-z5.txt b/logs/mtp-detect-sony-xperia-z5.txt
new file mode 100644
index 0000000..d21aa49
--- /dev/null
+++ b/logs/mtp-detect-sony-xperia-z5.txt
@@ -0,0 +1,658 @@
+
+
+
+---
+
+** [bugs:#1631] Sony Xperia Z5: can't connect**
+
+**Status:** unread
+**Group:** 1.1.7
+**Created:** Fri Nov 18, 2016 09:10 AM UTC by Anonymous
+**Last Updated:** Fri Nov 18, 2016 09:10 AM UTC
+**Owner:** nobody
+
+
+Can't connect Sony Xperia Z5 w/ latest Android version correctly:
+libmtp version: 1.1.7 for openSUSE 13.2
+
+Listing raw device(s)
+Device 0 (VID=0fce and PID=01d9) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0fce:01d9 @ bus 4, dev 12
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fce
+   idProduct: 01d9
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 4
+      Device number: 12
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0fce
+         Product: (null)
+         Vendor id: 0x01d9
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Sony
+   Model: E6653
+   Device version: 1.0
+   Serial number: CB5A2B2UKM
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;sonyericsson.com/SE: 1.0;microsoft.com/DeviceServices:1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+        sonyericsson.com/SE: 1.0
+        microsoft.com/DeviceServices: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+   9301: Unknown (9301)
+   9302: Unknown (9302)
+   9303: Unknown (9303)
+   9304: Unknown (9304)
+   9305: Unknown (9305)
+   9306: Unknown (9306)
+   9307: Unknown (9307)
+   9308: Unknown (9308)
+   9309: Unknown (9309)
+   930a: Unknown (930a)
+   9170: Open Media Session
+   9171: Close Media Session
+   9120: Unknown (9120)
+   9185: Get WMDRM-ND License Response
+   9186: Unknown (9186)
+   9187: Unknown (9187)
+   9188: Unknown (9188)
+   9189: Unknown (9189)
+   9191: Unknown (9191)
+   9194: Unknown (9194)
+   9196: Unknown (9196)
+   9197: Unknown (9197)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+   0xc340
+   0xc350
+   0xc35a
+   0xc360
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd405: Device Icon
+   0x5003: Image Size
+   0x5001: Battery Level
+   0xd302: Unknown property
+   0xd303: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   300a: MS AVI
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 34816000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 4096, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 2160, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 4096, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 2160, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 139264000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 4096, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 2160, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 393216, STEP 1 READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 20480000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 4096, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 2160, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222, 1935764850,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 READ ONLY
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+Storage Devices:
+   StorageID: 0x271c0001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 63988301824
+      FreeSpaceInBytes: 25423511552
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD-Karte
+      VolumeIdentifier: (null)
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 24240054272
+      FreeSpaceInBytes: 16519229440
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Interner Speicher
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Xperia Z5
+   Synchronization partner: (NULL)
+   Battery level 94 of 100 (93%)
+libmtp supported (playable) filetypes:
+   Audio Video Interleave
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Abstract Album file
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/bugs/1631/>
+
+
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/>
\ No newline at end of file
diff --git a/logs/mtp-detect-sony-xperia-zr.txt b/logs/mtp-detect-sony-xperia-zr.txt
new file mode 100644
index 0000000..d7c3d18
--- /dev/null
+++ b/logs/mtp-detect-sony-xperia-zr.txt
@@ -0,0 +1,635 @@
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   0fce:0197 @ bus 1, dev 11
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fce
+   idProduct: 0197
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 11
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0fce
+         Product: (null)
+         Vendor id: 0x0197
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Sony
+   Model: C5503
+   Device version: 1.0
+   Serial number: EP732261K0
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0; microsoft.com/WPDNA: 1.0;sonyericsson.com/SE: 1.0; sony.net/MRLN: 1.0;microsoft.com/DeviceServices:1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+        microsoft.com/WPDNA: 1.0
+        sonyericsson.com/SE: 1.0
+        sony.net/MRLN: 1.0
+        microsoft.com/DeviceServices: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+   9301: Unknown (9301)
+   9302: Unknown (9302)
+   9303: Unknown (9303)
+   9304: Unknown (9304)
+   9305: Unknown (9305)
+   9306: Unknown (9306)
+   9307: Unknown (9307)
+   9308: Unknown (9308)
+   9309: Unknown (9309)
+   930a: Unknown (930a)
+   9185: Get WMDRM-ND License Response
+   9186: Unknown (9186)
+   9187: Unknown (9187)
+   9188: Unknown (9188)
+   9189: Unknown (9189)
+   9191: Unknown (9191)
+   9194: Unknown (9194)
+   9196: Unknown (9196)
+   9197: Unknown (9197)
+   940c: Unknown (940c)
+   940d: Unknown (940d)
+   9407: Unknown (9407)
+   9408: Unknown (9408)
+   9409: Unknown (9409)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0xc350
+   0xc35a
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd405: Device Icon
+   0x5003: Image Size
+   0xd120: Unknown property
+   0x5001: Battery Level
+   0xd301: Unknown property
+   0xd302: Unknown property
+   0xd303: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   300a: MS AVI
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9b: Video Four CC Codec UINT32 data type ANY 32BIT VALUE form GET/SET
+      de9c: Video Bit Rate UINT32 data type ANY 32BIT VALUE form GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type ANY 32BIT VALUE form GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de93: Sample Rate UINT32 data type ANY 32BIT VALUE form GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form GET/SET
+      de9a: Audio Bit Rate UINT32 data type ANY 32BIT VALUE form GET/SET
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1536000, STEP 1 GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 32767, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1920, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 1080, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 34816000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1920, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 1080, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 20480000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc87: Width UINT32 data type range: MIN 1, MAX 1920, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 1080, STEP 1 READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+   b102: Unknown(b102)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      d920: Unknown property array of UINT64 data type GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 4923387904
+      FreeSpaceInBytes: 1695383552
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal Storage
+      VolumeIdentifier: 65537
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 63844646912
+      FreeSpaceInBytes: 25604259840
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD Card
+      VolumeIdentifier: 131073
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Xperia ZR
+   Synchronization partner: (NULL)
+   Battery level 59 of 100 (58%)
+libmtp supported (playable) filetypes:
+   Audio Video Interleave
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Abstract Album file
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-sonyericsson-U8i.txt b/logs/mtp-detect-sonyericsson-U8i.txt
new file mode 100644
index 0000000..404b769
--- /dev/null
+++ b/logs/mtp-detect-sonyericsson-U8i.txt
@@ -0,0 +1,436 @@
+libmtp version: 1.0.3
+
+Listing raw device(s)
+Device 0 (VID=0fce and PID=013a) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0fce:013a @ bus 2, dev 7
+Attempting to connect device(s)
+broken! 827af030 not found
+broken! 88b98200 not found
+broken! a9c00006 not found
+broken! adff96d7 not found
+broken! b6780000 not found
+broken! dc020082 not found
+broken! dc440082 not found
+broken! e57cce8e not found
+broken! f0000000 not found
+broken! ffdc0700 not found
+broken! 0 not found
+broken! 0 not found
+broken! 0 not found
+broken! 0 not found
+broken! 82798800 not found
+broken! 82b6f000 not found
+broken! 8d0008dc not found
+broken! ac20ffff not found
+broken! b03835df not found
+broken! dc010082 not found
+broken! dc4e0082 not found
+broken! f0b98200 not found
+broken! ffdc0700 not found
+broken! 1 not found
+broken! 200065 not found
+broken! 310030 not found
+broken! 3210ff not found
+broken! 340070 not found
+broken! 620075 not found
+broken! 650068 not found
+broken! 660064 not found
+broken! 66006f not found
+broken! 7a10ffff not found
+broken! 7a10ffff not found
+broken! dc410082 not found
+broken! dc410082 not found
+broken! e8000200 not found
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 255
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fce
+   idProduct: 013a
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 7
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0fce
+         Product: (null)
+         Vendor id: 0x013a
+         Device flags: 0x00000000
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: SonyEricsson
+   Model: U8i
+   Device version: 01
+   Serial number: 012305003580353
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com:1.0;microsoft.com/WMPPD: 11.0;vodafone.com/omadrmv2: 1.0
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   101b: Get partial object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9810: Get object references
+   9811: Set object references
+   9805: Get object property list
+   9806: Set object property list
+   9807: Get interdependent property description
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   9203: Get transferable playlist types
+Events supported:
+   0x400a
+   0x4004
+   0x4005
+   0x4003
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+   0xd406: Session Initiator Info
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   b004: Unknown(b004)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 176, MAX 320, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 144, MAX 240, STEP 1 GET/SET
+      de97: Scan Depth UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 861293911, 1297101377, 1297101889,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc87: Width UINT32 data type range: MIN 176, MAX 320, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 144, MAX 240, STEP 1 GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type ANY 16BIT VALUE form GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 861293911,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX 384000, STEP 1 READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      de9e: Key Frame Distance UINT32 data type range: MIN 0, MAX 15000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      dc94: Parental Rating STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 16384, 16385,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00040001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 7927611392
+      FreeSpaceInBytes: 6922014720
+      FreeSpaceInObjects: 3306
+      StorageDescription: Memory card (PHONE CARD)
+      VolumeIdentifier: 1138963242
+   StorageID: 0x00020001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 75633664
+      FreeSpaceInBytes: 38864384
+      FreeSpaceInObjects: 18
+      StorageDescription: Phone memory (NO NAME)
+      VolumeIdentifier: 1270601559
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0x00818010
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: SonyEricsson U8i
+   Synchronization partner: {00000000-0000-0000-0000-000000000000}
+libmtp supported (playable) filetypes:
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Microsoft Windows Media Audio
+   Microsoft Advanced Systems Format
+   Microsoft Windows Media Video
+   Abstract Playlist file
+   RIFF WAVE file
+Segmentation fault
+
diff --git a/logs/mtp-detect-sonyericsson-c702.txt b/logs/mtp-detect-sonyericsson-c702.txt
new file mode 100644
index 0000000..39beb86
--- /dev/null
+++ b/logs/mtp-detect-sonyericsson-c702.txt
@@ -0,0 +1,490 @@
+libmtp version: 0.3.0
+
+Listing raw device(s)
+Potential MTP Device with VendorID:0fce and ProductID:00d9 responded to control message 2 with a response that was too short. Problems may arrise but continuing
+Device 0 (VID=0fce and PID=00d9) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0fce:00d9 @ bus 0, dev 5
+Attempting to connect device(s)
+PTP: Opening session
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fce
+   idProduct: 00d9
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 5
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0fce
+         Product: (null)
+         Vendor id: 0x00d9
+         Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+        0000: 1203 4d00 5300 4600 5400 3100 3000 3000   ..M.S.F.T.1.0.0.
+        0010: 0800                                      ..
+Microsoft device response to control message 1, CMD 0x08:
+        0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............
+        0010: 0001 4d54 5000 0000 0000 0000 0000 0000   ..MTP...........
+        0020: 0000 0000 0000 0000                       ........
+Potential MTP Device with VendorID:0fce and ProductID:00d9 responded to control message 2 with a response that was too short. Problems may arrise but continuing
+Device info:
+   Manufacturer: Sony Ericsson
+   Model: C702
+   Device version: 1.20
+   Serial number: 00000000000000000354387020652767
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 11.0; microsoft.com/WMPPD: 10.0; vodafone.com/omadrmv2: 1.0;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9810: Get object references
+   9811: Set object references
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9202: Report Acquired Items
+Events supported:
+   0x4004
+   0x4005
+   0x400a
+Device Properties Supported:
+   0x5002: Functional Mode
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+   0xd405: Device Icon
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   b984: 3GP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3004: Text
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3005: HTML
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3008: MS Wave
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   300c: ASF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3801: JPEG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3804: BMP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3807: GIF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   380b: PNG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 353,  READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b903: AAC
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b981: WMV
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911,  READ ONLY
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b982: MP4
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+   ba11: M3U Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 188506112
+      FreeSpaceInBytes: 146776064
+      FreeSpaceInObjects: 0
+      StorageDescription: Phone Memory
+      VolumeIdentifier:
+   StorageID: 0x00020001
+      StorageType: 0x0004
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 4094623744
+      FreeSpaceInBytes: 2827223040
+      FreeSpaceInObjects: 0
+      StorageDescription: Memory Stick (TM)
+      VolumeIdentifier:
+Special directories:
+   Default music folder: 0x00000025
+   Default playlist folder: 0x000001bb
+   Default picture folder: 0x00000000
+   Default video folder: 0x0000002c
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: C702
+   Synchronization partner: {00000000-0000-0000-0000-000000000000}
+libmtp supported (playable) filetypes:
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Advanced Systems Format
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   Portable Network Graphics
+   Microsoft Windows Media Audio
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Microsoft Windows Media Video
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">AwUEAwgHAAI=</UNIQUEID><PUBLICKEY private="1">Cypdz67O5K+vC7x85yagksR9bwj6sVwkdu5nNDR5Gbj21HQcSSr0Lg==</PUBLICKEY><KEYDATA>weDYU/t/zhBTcJzyUeeoGg4jfVQ=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>u1107vl0d6h542IVEp/E6SizwVDSXNnyNoApqV3ph7V0x+N5eHadRQ==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>lyDvpjmqR8nh04CcKDBZoPaTiF4=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.108.77</SECURITYVERSION><CERTIFICATE private="1">Cypdz67O5K+vC7x85yagksR9bwj6sVwkdu5nNDR5Gbj21HQcSSr0LgIEbE3jdywfOXekMjM/SDCPgHsyzQ96STJRnJeofvv92LMpw9ALSg/Q3gce</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><MANUFACTURER>Sony Ericsson</MANUFACTURER><MODEL>C702</MODEL><SECURITYLEVEL>2000</SECURITYLEVEL><FEATURES><CLOCK>1</CLOCK><METERING>1</METERING><LICENSE_ACQ>1</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>0</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT></FEATURES><PUBLICKEY>xxXf/Z2smcJLDks3n1pf4sl74mi6PeSohx9OMas+9Ov4n7RneKkodg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>6tn+T7nvYMBTssmK19J4eclRwiAbwVqbzLnhkvPJlg/pxUwmvG0sNg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1969</AUTH_ID><PUBLICKEY>dEpKqNm3Lff2JsYrGEVhBucSUjCkbMUxY/SSk7TEXUJnDhxxY0PzLQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>kXlpcNBBIcH5n6uNORD3WU2ddhEYu6NtstpGKeIb32vRW23rJ7N7dg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>eBBGny94VfWc9jc6dyta04wiLnSW9iDcMM841FwyqveWJGTtv3t9fA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+
+Device description WMPInfo.xml file:
+<DeviceInfo>
+    <WMP DeviceID="{DCE920C0-A2E9-4418-8083-AC919DD68EFD}" RelationshipID="{00000000-0000-0000-0000-000000000000}"/>
+</DeviceInfo>
+
+PTP: Closing session
+OK.
diff --git a/logs/mtp-detect-sonyericsson-c902.txt b/logs/mtp-detect-sonyericsson-c902.txt
new file mode 100644
index 0000000..b2cc066
--- /dev/null
+++ b/logs/mtp-detect-sonyericsson-c902.txt
@@ -0,0 +1,626 @@
+libmtp version: 0.2.6.1
+
+Attempting to connect device(s)
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fce
+   idProduct: 00d4
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: 0800                                   	..
+Microsoft device response to control message 1, CMD 0x08:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Device info:
+   Manufacturer: Sony Ericsson
+   Model: C902
+   Device version: 1.20
+   Serial number: 00000000000000000357149026749790
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 11.0; microsoft.com/WMPPD: 10.0; vodafone.com/omadrmv2: 1.0;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9810: Get object references
+   9811: Set object references
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9202: Report Acquired Items
+Events supported:
+   0x4004
+   0x4005
+   0x400a
+Device Properties Supported:
+   0x5002: Functional Mode
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+   0xd405: Device Icon
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   b984: 3GP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3004: Text
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3005: HTML
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3008: MS Wave
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   300c: ASF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3801: JPEG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3804: BMP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3807: GIF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   380b: PNG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 353,  READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b903: AAC
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b981: WMV
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911,  READ ONLY
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b982: MP4
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+   ba11: M3U Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 188506112
+      FreeSpaceInBytes: 141340672
+      FreeSpaceInObjects: 0
+      StorageDescription: Phone Memory
+      VolumeIdentifier: 
+   StorageID: 0x00020001
+      StorageType: 0x0004
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 2045313024
+      FreeSpaceInBytes: 1370095616
+      FreeSpaceInObjects: 0
+      StorageDescription: Memory Stick (TM)
+      VolumeIdentifier: 
+Special directories:
+   Default music folder: 0x00000055
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000060
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: C902
+   Synchronization partner: Computer
+libmtp supported (playable) filetypes:
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Advanced Systems Format
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   Portable Network Graphics
+   Microsoft Windows Media Audio
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Microsoft Windows Media Video
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">AwUHAQQJAAI=</UNIQUEID><PUBLICKEY private="1">xgjcxP4EuZ2SDr48o062vwymzTmlTntoKrx0OGy493JC+cYPPHGbbw==</PUBLICKEY><KEYDATA>KQ8YbjV5G+a91tiw3QNL9PKJzhg=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>s2uWQXZCkLkCYzw2PPt/UMf0jk5NPHEajlJr4trzaPV+hwAtjvJLFg==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>AL1jqCmLqI4gRRtSYzM0HVSWhME=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.108.77</SECURITYVERSION><CERTIFICATE private="1">xgjcxP4EuZ2SDr48o062vwymzTmlTntoKrx0OGy493JC+cYPPHGbbwIEbE14/0olfVfOrFXHpdm+ARRNU6IiMVPWsfMMMqAg0RVQ6I5BKVw35Tp8</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><MANUFACTURER>Sony Ericsson</MANUFACTURER><MODEL>C902</MODEL><SECURITYLEVEL>2000</SECURITYLEVEL><FEATURES><CLOCK>1</CLOCK><METERING>1</METERING><LICENSE_ACQ>1</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>0</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT></FEATURES><PUBLICKEY>SyQnWvwMUyClroHIWBCwWLXLLIK8Qbe2hqNNYoSwbpWnSkLpl+l1bw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>ud9uIuFrA40M40XHidsHHidkiAVB4e+bKKNOG4bDaFVqvbSFddn7Pg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1969</AUTH_ID><PUBLICKEY>dEpKqNm3Lff2JsYrGEVhBucSUjCkbMUxY/SSk7TEXUJnDhxxY0PzLQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>kXlpcNBBIcH5n6uNORD3WU2ddhEYu6NtstpGKeIb32vRW23rJ7N7dg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>eBBGny94VfWc9jc6dyta04wiLnSW9iDcMM841FwyqveWJGTtv3t9fA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+WMPInfo.xml Does not exist on this device
+OK.
+
+default-capabiliy.xml:
+<?xml version="1.0" encoding="ISO-8859-1"?>

+

+<devices>

+  <version>0.4</version>

+  <device>

+  <identification>

+    <model>C902</model> 

+    <vendor>Sony Ericsson</vendor> 

+    <brand>Cybershot</brand> 

+  </identification>

+  <storage>

+    <type>PHONE</type>

+    <max-full>90</max-full>

+  </storage>

+  <display index="0"> 

+    <height unit="pixels">320</height> 

+    <width unit="pixels">240</width> 

+    <colors>262144</colors> 

+  </display> 

+  <image> 

+    <format id="JPEG" preferred="true"> 

+      <maxheight>1200</maxheight> 

+      <maxwidth>1600</maxwidth> 

+      <extension>jpg</extension> 

+      <mime-type>image/jpeg</mime-type> 

+    </format> 

+    <format id="BMP" preferred="false"> 

+      <extension>bmp</extension> 

+      <mime-type>image/bmp</mime-type> 

+    </format> 

+    <format id="GIF" preferred="false"> 

+      <extension>gif</extension> 

+      <mime-type>image/gif</mime-type> 

+    </format> 

+    <format id="PNG" preferred="false"> 

+      <extension>png</extension> 

+      <mime-type>image/png</mime-type> 

+    </format> 

+    <format id="SVG" preferred="false">     <extension>svg</extension>     <mime-type>image/svg</mime-type>   </format>   <format id="Flash" preferred="false">     <extension>swf</extension>     <mime-type>application/x-shockwave-flash</mime-type>   </format>

+  </image> 

+  <audio>

+    <format id="3GA" preferred="false"> 

+      <extension>3ga</extension> 

+      <mime-type>audio/3gpp</mime-type> 

+    </format> 

+    <format id="AAC" preferred="false"> 

+      <extension>aac</extension> 

+      <mime-type>audio/aac</mime-type> 

+    </format> 

+    <format id="AMR" preferred="false"> 

+      <extension>amr</extension> 

+      <mime-type>audio/amr</mime-type> 

+    </format> 

+    <format id="AMR-WB" preferred="false"> 

+      <extension>awb</extension> 

+      <mime-type>audio/amr-wb</mime-type> 

+    </format> 

+    <format id="Audio Book" preferred="false"> 

+      <extension>m4b</extension> 

+      <mime-type>audio/m4b</mime-type> 

+    </format> 

+    <format id="WAV" preferred="false"> 

+      <extension>wav</extension> 

+      <mime-type>audio/wav</mime-type> 

+    </format> 

+    <format id="MP3" preferred="false"> 

+      <extension>mp3</extension> 

+      <mime-type>audio/mp3</mime-type> 

+    </format> 

+    <format id="MP4" preferred="true"> 

+      <extension>mp4</extension> 

+      <mime-type>audio/mp4</mime-type> 

+    </format> 

+    <format id="MIDI" preferred="false"> 

+      <extension>mid</extension> 

+      <mime-type>audio/midi</mime-type> 

+    </format> 

+    <format id="iMelody" preferred="false"> 

+      <extension>imy</extension> 

+      <mime-type>audio/iMelody</mime-type> 

+    </format> 

+    <format id="3GPP" preferred="false"> 

+      <extension>3gp</extension> 

+      <mime-type>audio/3gpp</mime-type> 

+    </format> 

+    <format id="SMAF" preferred="false"> 

+      <extension>mmf</extension> 

+      <mime-type>audio/vnd.smaf</mime-type> 

+    </format> 

+    <format id="XMF" preferred="false"> 

+      <extension>xmf</extension> 

+      <mime-type>audio/xmf</mime-type> 

+    </format> 

+    <format id="Real8 audio" preferred="false"> 

+      <extension>ra</extension> 

+      <mime-type>audio/vnd.m-realaudio</mime-type> 

+    </format>

+    <format id="Real media" preferred="false"> 

+      <extension>rm</extension> 

+      <mime-type>audio/vnd.rn-realaudio</mime-type> 

+    </format> 

+    <format id="m4a" preferred="false"> 

+      <extension>m4a</extension> 

+      <mime-type>audio/m4a</mime-type> 

+    </format> 

+    <format id="Windows media" preferred="false"> 

+      <extension>wma</extension> 

+      <mime-type>audio/wma</mime-type> 

+    </format> 

+  </audio> 

+  <video> 

+    <format preferred="true"> 

+      <extension>mp4</extension> 

+      <mime-type>video/mp4</mime-type> 

+      <encoding>mpeg-4</encoding> 

+      <part>2</part> 

+      <profile>Visual simple 0b</profile> 

+      <sound>AAC</sound> 

+      <kbits>96</kbits> 

+    </format> 

+    <format preferred="false"> 

+      <extension>mp4</extension> 

+      <mime-type>video/mp4</mime-type> 

+      <encoding>mpeg-4</encoding> 

+      <part>10</part> 

+      <profile>0</profile> 

+      <sound>AAC</sound> 

+      <kbits>96</kbits> 

+    </format>

+  </video> 

+  <filesystem> 

+    <filename maxlength="254" /> 

+    <folder maxlength="254" /> 

+    <path> 

+      <camera>\DCIM\</camera> 

+      <image>\Picture\</image> 

+      <video>\video\</video> 

+      <sound>\Music\</sound> 

+      <feedsound>\music\podcast\</feedsound> 

+      <feedvideo>\video\podcast\</feedvideo> 

+      <feedimage>\picture\podcast\</feedimage> 

+      <feeds>\other\</feeds> 

+    </path> 

+  </filesystem>

+  <drm> 

+    <oma-v1>true</oma-v1> 

+    <oma-v2>true</oma-v2> 

+    <wmdrm>true</wmdrm> 

+  </drm>

+  <store name="Media Store" url="www.sonyericsson.com/mediastore"> 

+    <launchstoreexternally>true</launchstoreexternally> 

+  </store> 

+  </device>

+</devices>
+ 	  	 
diff --git a/logs/mtp-detect-sonyericsson-c905.txt b/logs/mtp-detect-sonyericsson-c905.txt
new file mode 100644
index 0000000..2487be0
--- /dev/null
+++ b/logs/mtp-detect-sonyericsson-c905.txt
@@ -0,0 +1,496 @@
+libmtp version: 0.3.7
+
+Listing raw device(s)
+   Found 1 device(s):
+   SonyEricsson: C905 (0fce:00ef) @ bus 0, dev 6
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fce
+   idProduct: 00ef
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 6
+      Device entry info:
+         Vendor: SonyEricsson
+         Vendor id: 0x0fce
+         Product: C905
+         Vendor id: 0x00ef
+         Device flags: 0x00000004
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: 0800                                   	..
+Microsoft device response to control message 1, CMD 0x08:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Device info:
+   Manufacturer: Sony Ericsson
+   Model: C905
+   Device version: 1.50
+   Serial number: 00000000000000000357602022177119
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 11.0; microsoft.com/WMPPD: 10.0; vodafone.com/omadrmv2: 1.0;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9810: Get object references
+   9811: Set object references
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+Events supported:
+   0x4004
+   0x4005
+   0x400a
+Device Properties Supported:
+   0x5002: Functional Mode
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+   0xd405: Device Icon
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   b984: 3GP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3004: Text
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3005: HTML
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3008: MS Wave
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   300c: ASF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3801: JPEG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3804: BMP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3807: GIF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   380b: PNG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 353,  READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b903: AAC
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b981: WMV
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911,  READ ONLY
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b982: MP4
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   ba03: Abstract Audio Album
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337, 14344,  READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 320, STEP 1 READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+   ba11: M3U Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+Special directories:
+   Default music folder: 0x00000036
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x0000003c
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: C905
+   Synchronization partner: Computer
+libmtp supported (playable) filetypes:
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Advanced Systems Format
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   Portable Network Graphics
+   Microsoft Windows Media Audio
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Microsoft Windows Media Video
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">AwUHBgACAAI=</UNIQUEID><PUBLICKEY private="1">B+NfHA9Hg7ThHwaHnT7ua0pmPCNnO9bPKmlUqEdf9VJtBzvt8KkXcg==</PUBLICKEY><KEYDATA>HPktoJyc/M9OMgHnze2NSj8kYXA=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>nzbOemo3C48apJBoo6PLjfZR3EWs6bOTxnRAPbrWmyTt3F2TlretCQ==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>sJWt2VxdKNKh6ZnnEi1f3yguuKw=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.111.37</SECURITYVERSION><CERTIFICATE private="1">B+NfHA9Hg7ThHwaHnT7ua0pmPCNnO9bPKmlUqEdf9VJtBzvt8KkXcgIEbyW5SZ9XBBDlqVkAMohya9tPfDcMOh13O+lXiwwOcdu0AdpZODsEWN4K</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><MANUFACTURER>Sony Ericsson</MANUFACTURER><MODEL>C905</MODEL><SECURITYLEVEL>2000</SECURITYLEVEL><FEATURES><CLOCK>1</CLOCK><METERING>1</METERING><LICENSE_ACQ>1</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>0</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT></FEATURES><PUBLICKEY>HfUCKOsCuiScN5Jvs4rZ16IzZzkrRyiYSH3cjzeM/SuBJ3cbkoe4EQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>gt6T+mSCLE/ibVP2xEf2NhHcJVVAyuCMtaTMYxp2YlMyhdKsWUm3KA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>2697</AUTH_ID><PUBLICKEY>RZE6Zfywi4yoBaFXcQ3uQ8289C/ksvYRsx3/iBKHu7jVUqB0jDxpNQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>7PM5FJUmTH/HC3DDFF598UwRk19dR69fwxjdWVHHDlB/LTRtdg7MVQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>XN8qEXAip1XRJJR4rXoueXDRLj2bH5c2ea78JGfXFvCpRu2d54BVRw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+OK.
+
+ 	  	 
diff --git a/logs/mtp-detect-sonyericsson-cedar.txt b/logs/mtp-detect-sonyericsson-cedar.txt
new file mode 100644
index 0000000..ff8796c
--- /dev/null
+++ b/logs/mtp-detect-sonyericsson-cedar.txt
@@ -0,0 +1,544 @@
+libmtp version: 1.1.0
+
+Listing raw device(s)
+   Found 1 device(s):
+   SonyEricsson: j108i (Cedar) (0fce:014e) @ bus 1, dev 18
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fce
+   idProduct: 014e
+   IN endpoint maxpacket: 64 bytes
+   OUT endpoint maxpacket: 64 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 18
+      Device entry info:
+         Vendor: SonyEricsson
+         Vendor id: 0x0fce
+         Product: j108i (Cedar)
+         Vendor id: 0x014e
+         Device flags: 0x00000004
+Device info:
+   Manufacturer: Sony Ericsson
+   Model: J108i
+   Device version: 1.50
+   Serial number: 00000000000000000012485008006008
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 11.0; microsoft.com/WMPPD: 10.0; vodafone.com/omadrmv2: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+         microsoft.com/WMDRMPD: 10.1
+         microsoft.com/WMPPD: 11.0
+         microsoft.com/WMPPD: 10.0
+         vodafone.com/omadrmv2: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1012: Set object protection
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9810: Get object references
+   9811: Set object references
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+Events supported:
+   0x4004
+   0x4005
+   0x400a
+Device Properties Supported:
+   0x5002: Functional Mode
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+   0xd405: Device Icon
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 7200000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1500000, STEP 1 GET/SET
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 7200000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1500000, STEP 1 GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 85,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 7200000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1500000, STEP 1 GET/SET
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 7200000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911, 859189832, 875967048, 877088845, 808670802, 808736338,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 128000, STEP 1 GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1500000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 4000, STEP 1 GET/SET
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 4000, STEP 1 GET/SET
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 4000, STEP 1 GET/SET
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 4000, STEP 1 GET/SET
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 7200000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1500000, STEP 1 GET/SET
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 7200000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1500000, STEP 1 GET/SET
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 7200000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911, 859189832, 875967048, 877088845, 808670802, 808736338,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 128000, STEP 1 GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1500000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 7200000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1500000, STEP 1 GET/SET
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14344,  READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 320, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 40000, STEP 1 GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+Special directories:
+   Default music folder: 0x00000010
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0x00000017
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: J108i
+   Synchronization partner: Computer
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Advanced Systems Format
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   Portable Network Graphics
+   Microsoft Windows Media Audio
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Microsoft Windows Media Video
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Abstract Album file
+   Abstract Playlist file
+OK.
diff --git a/logs/mtp-detect-sonyericsson-elm.txt b/logs/mtp-detect-sonyericsson-elm.txt
new file mode 100644
index 0000000..189138a
--- /dev/null
+++ b/logs/mtp-detect-sonyericsson-elm.txt
@@ -0,0 +1,558 @@
+libmtp version: 1.0.2
+
+Listing raw device(s)
+   Found 1 device(s):
+   0fce:0144 @ bus 1, dev 2
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "dummy"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fce
+   idProduct: 0144
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 2
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0fce
+         Product: (null)
+         Vendor id: 0x0144
+         Device flags: 0x00000000
+Configuration 0, interface 0, altsetting 0:
+   Interface implements PTP class, no further probing.
+Device info:
+   Manufacturer: Sony Ericsson
+   Model: J10i2
+   Device version: 1.50
+   Serial number: 00000000000000000354808042932457
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 11.0; microsoft.com/WMPPD: 10.0; vodafone.com/omadrmv2: 1.0;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1012: Set object protection
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9810: Get object references
+   9811: Set object references
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+Events supported:
+   0x4004
+   0x4005
+   0x400a
+Device Properties Supported:
+   0x5002: Functional Mode
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+   0xd405: Device Icon
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 7200000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1500000, STEP 1 GET/SET
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 7200000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1500000, STEP 1 GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 85,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 7200000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1500000, STEP 1 GET/SET
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 7200000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911, 859189832, 875967048, 877088845, 808670802, 808736338,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 128000, STEP 1 GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1500000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 4000, STEP 1 GET/SET
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 4000, STEP 1 GET/SET
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 4000, STEP 1 GET/SET
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 4000, STEP 1 GET/SET
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 7200000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1500000, STEP 1 GET/SET
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 7200000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1500000, STEP 1 GET/SET
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 7200000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911, 859189832, 875967048, 877088845, 808670802, 808736338,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 128000, STEP 1 GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1500000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 7200000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1500000, STEP 1 GET/SET
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14344,  READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 320, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 40000, STEP 1 GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 368259072
+      FreeSpaceInBytes: 257056768
+      FreeSpaceInObjects: 0
+      StorageDescription: Phone Memory
+      VolumeIdentifier: 
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 8056209408
+      FreeSpaceInBytes: 5137137664
+      FreeSpaceInObjects: 0
+      StorageDescription: Memory Card
+      VolumeIdentifier: 
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0x000001ff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: J10i2
+   Synchronization partner: Computer
+libmtp supported (playable) filetypes:
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Advanced Systems Format
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   Portable Network Graphics
+   Microsoft Windows Media Audio
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Microsoft Windows Media Video
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Abstract Album file
+   Abstract Playlist file
+OK.
diff --git a/logs/mtp-detect-sonyericsson-j10.txt b/logs/mtp-detect-sonyericsson-j10.txt
new file mode 100644
index 0000000..016f3ff
--- /dev/null
+++ b/logs/mtp-detect-sonyericsson-j10.txt
@@ -0,0 +1,557 @@
+libmtp version: 1.0.3
+
+Listing raw device(s)
+   Found 1 device(s):
+   0fce:d144 @ bus 1, dev 4
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 2
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fce
+   idProduct: d144
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 4
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0fce
+         Product: (null)
+         Vendor id: 0xd144
+         Device flags: 0x00000000
+avoid probing device using kernel interface "usbfs"
+Device info:
+   Manufacturer: Sony Ericsson
+   Model: J10i
+   Device version: 1.50
+   Serial number: 00000000000000000359874037507766
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 11.0; microsoft.com/WMPPD: 10.0; vodafone.com/omadrmv2: 1.0;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1012: Set object protection
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9810: Get object references
+   9811: Set object references
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+Events supported:
+   0x4004
+   0x4005
+   0x400a
+Device Properties Supported:
+   0x5002: Functional Mode
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+   0xd405: Device Icon
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 7200000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1500000, STEP 1 GET/SET
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 7200000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1500000, STEP 1 GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 85,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 7200000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1500000, STEP 1 GET/SET
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 7200000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911, 859189832, 875967048, 877088845, 808670802, 808736338,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 128000, STEP 1 GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1500000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 4000, STEP 1 GET/SET
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 4000, STEP 1 GET/SET
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 4000, STEP 1 GET/SET
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 4000, STEP 1 GET/SET
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 7200000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1500000, STEP 1 GET/SET
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 7200000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1500000, STEP 1 GET/SET
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 7200000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 0, 861293911, 859189832, 875967048, 877088845, 808670802, 808736338,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 4, 5,  GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 128000, STEP 1 GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1500000, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 7200000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1500000, STEP 1 GET/SET
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14344,  READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 320, STEP 1 READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 40000, STEP 1 GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 368259072
+      FreeSpaceInBytes: 264663040
+      FreeSpaceInObjects: 0
+      StorageDescription: Phone Memory
+      VolumeIdentifier: 
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 3956801536
+      FreeSpaceInBytes: 3433693184
+      FreeSpaceInObjects: 0
+      StorageDescription: Memory Card
+      VolumeIdentifier: 
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0x0000003a
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: INGCELL
+   Synchronization partner: Computer
+libmtp supported (playable) filetypes:
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Advanced Systems Format
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   Portable Network Graphics
+   Microsoft Windows Media Audio
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Microsoft Windows Media Video
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Abstract Album file
+   Abstract Playlist file
+OK.
diff --git a/logs/mtp-detect-sonyericsson-k850i.txt b/logs/mtp-detect-sonyericsson-k850i.txt
new file mode 100644
index 0000000..46b68ad
--- /dev/null
+++ b/logs/mtp-detect-sonyericsson-k850i.txt
@@ -0,0 +1,530 @@
+Potential MTP Device with VendorID:0fce and ProductID:0075 responded to control message 2 with a response that was too short. Problems may arrise but continuing
+Device 1 (VID=0fce and PID=0075) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+PTP: Opening session
+Potential MTP Device with VendorID:0fce and ProductID:0075 responded to control message 2 with a response that was too short. Problems may arrise but continuing
+Unknown OPFF type 3
+Unknown OPFF type 3
+Unknown OPFF type 3
+Unknown OPFF type 3
+Unknown OPFF type 6
+libmtp version: 0.2.2
+
+Attempting to connect device(s)
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fce
+   idProduct: 0075
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: 0800                                   	..
+Microsoft device response to control message 1, CMD 0x08:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Device info:
+   Manufacturer: Sony Ericsson
+   Model: Sony Ericsson Phone
+   Device version: 1.00
+   Serial number: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX (edit: removed serial number from output)
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 11.0; microsoft.com/WMPPD: 10.0; vodafone.com/omadrmv2: 1.0;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+Events supported:
+   0x4004
+   0x4005
+   0x400a
+Device Properties Supported:
+   0x5002: Functional Mode
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+   0xd405: Device Icon
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   b984: 3GP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc47: DateAuthored STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type REAUnknown OPFF type 3
+Unknown OPFF type 3
+Unknown OPFF type 6
+Unknown OPFF type 3
+Unknown OPFF type 3
+Unknown OPFF type 3
+Unknown OPFF type 3
+Unknown OPFF type 6
+Unknown OPFF type 3
+Unknown OPFF type 3
+Unknown OPFF type 6
+Unknown OPFF type 3
+Unknown OPFF type 3
+D ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type ANY 16BIT VALUE form GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3004: Text
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type ANY 16BIT VALUE form GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3005: HTML
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type ANY 16BIT VALUE form GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3008: MS Wave
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE forUnknown OPFF type 3
+Unknown OPFF type 3
+Unknown OPFF type 6
+Unknown OPFF type 3
+Unknown OPFF type 3
+Unknown OPFF type 3
+Unknown OPFF type 3
+Unknown OPFF type 6
+Unknown OPFF type 3
+Unknown OPFF type 3
+Unknown OPFF type 3
+Unknown OPFF type 6
+Unknown OPFF type 3
+Unknown OPFF type 3
+m READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc47: DateAuthored STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc47: DateAuthored STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   300c: ASF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc47: DateAuthored STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type ANY 16BIT VALUE form GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3801: JPEG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStUnknown OPFF type 6
+Unknown OPFF type 3
+Unknown OPFF type 3
+Unknown OPFF type 6
+Unknown OPFF type 3
+Unknown OPFF type 3
+Unknown OPFF type 6
+Unknown OPFF type 3
+Unknown OPFF type 3
+Unknown OPFF type 6
+Unknown OPFF type 3
+Unknown OPFF type 3
+atus UINT16 data type ANY 16BIT VALUE form GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3804: BMP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type ANY 16BIT VALUE form GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3807: GIF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type ANY 16BIT VALUE form GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   380b: PNG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type ANY 16BIT VALUE form GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   380f: JP2
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type ANY 16BIT VALUE form GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type ANY 8BIT VALUE form Unknown OPFF type 6
+Unknown OPFF type 3
+Unknown OPFF type 3
+Unknown OPFF type 6
+Unknown OPFF type 3
+Unknown OPFF type 3
+Unknown OPFF type 3
+Unknown OPFF type 3
+Unknown OPFF type 6
+Unknown OPFF type 3
+Unknown OPFF type 3
+Unknown OPFF type 3
+Unknown OPFF type 6
+GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3810: JPX
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type ANY 16BIT VALUE form GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 353,  READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc47: DateAuthored STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b981: WMV
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc47: DateAuthored STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911,  READ ONLY
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b982: MP4
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07:Unknown OPFF type 3
+Unknown OPFF type 3
+Unknown OPFF type 3
+Unknown OPFF type 3
+Unknown OPFF type 6
+Unknown OPFF type 3
+Unknown OPFF type 3
+Unknown OPFF type 6
+Error 2: PTP Layer error 02fe: get_device_unicode_property(): failed to get unicode property.
+Error 2: (Look this up in ptp.h for an explanation.)
+PTP: Closing session
+ ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc47: DateAuthored STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   ba11: M3U Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type ANY 16BIT VALUE form GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 70434816
+      FreeSpaceInBytes: 36007936
+      FreeSpaceInObjects: 0
+      StorageDescription: Phone Memory
+      VolumeIdentifier: 
+   StorageID: 0x00020001
+      StorageType: 0x0004
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 491265024
+      FreeSpaceInBytes: 142311424
+      FreeSpaceInObjects: 0
+      StorageDescription: Memory Stick (TM)
+      VolumeIdentifier: 
+Special directories:
+   Default music folder: 0x00000006
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x0000000d
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: K850i
+   Synchronization partner: Computer
+libmtp supported (playable) filetypes:
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Advanced Systems Format
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   Portable Network Graphics
+   JP2 file
+   JPX file
+   Microsoft Windows Media Audio
+   Microsoft Windows Media Video
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+Unable to acquire device certificate, perhaps this device does not support this
+WMPInfo.xml Does not exist on this device
+OK.
diff --git a/logs/mtp-detect-sonyericsson-mt11i.txt b/logs/mtp-detect-sonyericsson-mt11i.txt
new file mode 100644
index 0000000..ec3a8cc
--- /dev/null
+++ b/logs/mtp-detect-sonyericsson-mt11i.txt
@@ -0,0 +1,488 @@
+Device 0 (VID=0fce and PID=5156) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
+LIBMTP libusb: Attempt to reset device
+Error 1: Get Storage information failed.
+Error 2: PTP Layer error 02fe: get_handles_recursively(): could not get object handles.
+Error 2: (Look this up in ptp.h for an explanation.)
+libmtp version: 1.1.2
+
+Listing raw device(s)
+   Found 1 device(s):
+   0fce:5156 @ bus 1, dev 22
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Using kernel interface "dummy"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fce
+   idProduct: 5156
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 22
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0fce
+         Product: (null)
+         Vendor id: 0x5156
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Sony Ericsson
+   Model: MT11i
+   Device version: 1.0
+   Serial number: BX902WWDXX
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;sonyericsson.com/SE: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+        sonyericsson.com/SE: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+   9183: Send Proximity Response
+   9184: Send WMDRM-ND License Request
+   9186: Unknown (9186)
+   9187: Unknown (9187)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0xc350
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd405: Device Icon
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Xperia neo V
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Abstract Album file
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-sonyericsson-mt27i-android4.txt b/logs/mtp-detect-sonyericsson-mt27i-android4.txt
new file mode 100644
index 0000000..b4ebfe7
--- /dev/null
+++ b/logs/mtp-detect-sonyericsson-mt27i-android4.txt
@@ -0,0 +1,214 @@
+------------------------------------------------------------
+MTP+ADB
+------------------------------------------------------------
+
+Bus 001 Device 003: ID 0fce:5173 Sony Ericsson Mobile Communications AB 
+Device Descriptor:
+  bLength                18
+  bDescriptorType         1
+  bcdUSB               2.00
+  bDeviceClass            0 (Defined at Interface level)
+  bDeviceSubClass         0 
+  bDeviceProtocol         0 
+  bMaxPacketSize0        64
+  idVendor           0x0fce Sony Ericsson Mobile Communications AB
+  idProduct          0x5173 
+  bcdDevice            2.16
+  iManufacturer           2 ST-Ericsson
+  iProduct                3 Android
+  iSerial                 4 BX902YV4Q0
+  bNumConfigurations      1
+  Configuration Descriptor:
+    bLength                 9
+    bDescriptorType         2
+    wTotalLength           67
+    bNumInterfaces          2
+    bConfigurationValue     1
+    iConfiguration          0 
+    bmAttributes         0x80
+      (Bus Powered)
+    MaxPower              500mA
+    Interface Descriptor:
+      bLength                 9
+      bDescriptorType         4
+      bInterfaceNumber        0
+      bAlternateSetting       0
+      bNumEndpoints           3
+      bInterfaceClass       255 Vendor Specific Class
+      bInterfaceSubClass    255 Vendor Specific Subclass
+      bInterfaceProtocol      0 
+      iInterface              5 MTP
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x84  EP 4 IN
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x04  EP 4 OUT
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x81  EP 1 IN
+        bmAttributes            3
+          Transfer Type            Interrupt
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x001c  1x 28 bytes
+        bInterval               6
+    Interface Descriptor:
+      bLength                 9
+      bDescriptorType         4
+      bInterfaceNumber        1
+      bAlternateSetting       0
+      bNumEndpoints           2
+      bInterfaceClass       255 Vendor Specific Class
+      bInterfaceSubClass     66 
+      bInterfaceProtocol      1 
+      iInterface              0 
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x85  EP 5 IN
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x05  EP 5 OUT
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+Device Qualifier (for other device speed):
+  bLength                10
+  bDescriptorType         6
+  bcdUSB               2.00
+  bDeviceClass            0 (Defined at Interface level)
+  bDeviceSubClass         0 
+  bDeviceProtocol         0 
+  bMaxPacketSize0        64
+  bNumConfigurations      1
+Device Status:     0x0000
+  (Bus Powered)
+
+
+------------------------------------------------------------
+MTP+UMS
+------------------------------------------------------------
+
+Bus 001 Device 004: ID 0fce:6173 Sony Ericsson Mobile Communications AB 
+Device Descriptor:
+  bLength                18
+  bDescriptorType         1
+  bcdUSB               2.00
+  bDeviceClass            0 (Defined at Interface level)
+  bDeviceSubClass         0 
+  bDeviceProtocol         0 
+  bMaxPacketSize0        64
+  idVendor           0x0fce Sony Ericsson Mobile Communications AB
+  idProduct          0x6173 
+  bcdDevice            2.16
+  iManufacturer           2 ST-Ericsson
+  iProduct                3 Android
+  iSerial                 4 BX902YV4Q0
+  bNumConfigurations      1
+  Configuration Descriptor:
+    bLength                 9
+    bDescriptorType         2
+    wTotalLength           60
+    bNumInterfaces          2
+    bConfigurationValue     1
+    iConfiguration          0 
+    bmAttributes         0x80
+      (Bus Powered)
+    MaxPower              500mA
+    Interface Descriptor:
+      bLength                 9
+      bDescriptorType         4
+      bInterfaceNumber        0
+      bAlternateSetting       0
+      bNumEndpoints           2
+      bInterfaceClass         8 Mass Storage
+      bInterfaceSubClass      6 SCSI
+      bInterfaceProtocol     80 Bulk-Only
+      iInterface              1 Mass Storage
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x84  EP 4 IN
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x04  EP 4 OUT
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               1
+    Interface Descriptor:
+      bLength                 9
+      bDescriptorType         4
+      bInterfaceNumber        1
+      bAlternateSetting       0
+      bNumEndpoints           2
+      bInterfaceClass       255 Vendor Specific Class
+      bInterfaceSubClass     66 
+      bInterfaceProtocol      1 
+      iInterface              0 
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x85  EP 5 IN
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x05  EP 5 OUT
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+Device Qualifier (for other device speed):
+  bLength                10
+  bDescriptorType         6
+  bcdUSB               2.00
+  bDeviceClass            0 (Defined at Interface level)
+  bDeviceSubClass         0 
+  bDeviceProtocol         0 
+  bMaxPacketSize0        64
+  bNumConfigurations      1
+Device Status:     0x0000
+  (Bus Powered)
diff --git a/logs/mtp-detect-sonyericsson-st15i.txt b/logs/mtp-detect-sonyericsson-st15i.txt
new file mode 100644
index 0000000..c1fc121
--- /dev/null
+++ b/logs/mtp-detect-sonyericsson-st15i.txt
@@ -0,0 +1,593 @@
+Device 0 (VID=0fce and PID=0167) is a SonyEricsson ST15i (Xperia mini).
+libmtp version: 1.1.2
+
+Listing raw device(s)
+   Found 1 device(s):
+   SonyEricsson: ST15i (Xperia mini) (0fce:0167) @ bus 7, dev 2
+Attempting to connect device(s)
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fce
+   idProduct: 0167
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 7
+      Device number: 2
+      Device entry info:
+         Vendor: SonyEricsson
+         Vendor id: 0x0fce
+         Product: ST15i (Xperia mini)
+         Vendor id: 0x0167
+         Device flags: 0x08008186
+Device info:
+   Manufacturer: Sony Ericsson
+   Model: ST15i
+   Device version: 1.0
+   Serial number: 00000000000000000358217042800217
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com:1.0;microsoft.com/WPDNA:1.0;sonyericsson.com/SE: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        microsoft.com/WPDNA: 1.0
+        sonyericsson.com/SE: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   1019: Move object
+   101a: Copy object
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9810: Get object references
+   9811: Set object references
+   1012: Set object protection
+   9187: Unknown (9187)
+   9183: Send Proximity Response
+   9184: Send WMDRM-ND License Request
+   9186: Unknown (9186)
+Events supported:
+   0x4001
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4007
+   0x4008
+   0x400a
+   0x400b
+   0x400c
+   0xc001
+   0xc002
+   0xc350
+   0xc351
+   0xc352
+   0xc353
+Device Properties Supported:
+   0x5001: Battery Level
+   0x5011: Date & Time
+   0xd401: Synchronization Partner
+   0xd405: Device Icon
+   0xd120: Unknown property
+   0xd402: Friendly Device Name
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   3001: Association/Directory
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   3008: MS Wave
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 32000, 44100, 48000, 96000,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   3009: MP3
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   b903: AAC
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 384000, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   300c: ASF
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 432, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 352, 353, 354, 355, 356,  GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea0: Encoding Quality UINT32 data type range: MIN 0, MAX 10, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 859189832, 861293911, 875967048, 877088845,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 384000, STEP 1 GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   b984: 3GP
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 384000, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 1280, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea0: Encoding Quality UINT32 data type range: MIN 0, MAX 10, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 20480000, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   b982: MP4
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 384000, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 1280, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea0: Encoding Quality UINT32 data type range: MIN 0, MAX 10, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 17408000, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   b902: OGG
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   380b: PNG
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 4000, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   3801: JPEG
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 4000, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   3804: BMP
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 4000, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   3807: GIF
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 4000, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   ba03: Abstract Audio Album
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   ba11: M3U Playlist
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   ba10: WPL Playlist
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   ba14: PLS Playlist
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   3004: Text
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   3005: HTML
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   ba80: Undefined Document
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   ba81: Abstract Document
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   b102: Unknown(b102)
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      d920: Unknown property array of UINT64 data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 1947860992
+      FreeSpaceInBytes: 535199744
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Memory Card
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000122
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0x0000011d
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Xperia mini
+   Synchronization partner: Test VT_LPWSTR Value 2215
+   Battery level 26 of 100 (25%)
+libmtp supported (playable) filetypes:
+   Folder
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Microsoft Advanced Systems Format
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Ogg container format
+   Portable Network Graphics
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   Abstract Album file
+   Abstract Playlist file
+   Text file
+   HTML file
+OK.
diff --git a/logs/mtp-detect-sonyericsson-st17i.txt b/logs/mtp-detect-sonyericsson-st17i.txt
new file mode 100644
index 0000000..0ef1e48
--- /dev/null
+++ b/logs/mtp-detect-sonyericsson-st17i.txt
@@ -0,0 +1,498 @@
+mtp-detect
+libmtp version: 1.1.4
+
+Listing raw device(s)
+Device 0 (VID=0fce and PID=0168) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0fce:0168 @ bus 1, dev 8
+Attempting to connect device(s)
+PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
+LIBMTP libusb: Attempt to reset device
+Android device detected, assigning default bug flags
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fce
+   idProduct: 0168
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 8
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0fce
+         Product: (null)
+         Vendor id: 0x0168
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Sony Ericsson
+   Model: ST17i
+   Device version: 1.0
+   Serial number: XXXXXXXXXX
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;sonyericsson.com/SE: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+        sonyericsson.com/SE: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+   9183: Send Proximity Response
+   9184: Send WMDRM-ND License Request
+   9186: Unknown (9186)
+   9187: Unknown (9187)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0xc350
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd405: Device Icon
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 1975222272
+      FreeSpaceInBytes: 976584704
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD kártya
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000010
+   Default playlist folder: 0x000047f5
+   Default picture folder: 0x00000014
+   Default video folder: 0x00000012
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Xperia active
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Abstract Album file
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-sonyericsson-st18a.txt b/logs/mtp-detect-sonyericsson-st18a.txt
new file mode 100644
index 0000000..fb1cee1
--- /dev/null
+++ b/logs/mtp-detect-sonyericsson-st18a.txt
@@ -0,0 +1,623 @@
+Seems to work with
+DEVICE_FLAG_IGNORE_HEADER_ERRORS
+
+Bus 003 Device 006: ID 0fce:0161 Sony Ericsson Mobile Communications AB
+
+Listing raw device(s)
+
+Device 0 (VID=0fce and PID=0161) is a SonyEricsson ST18a.
+   Found 1 device(s):
+   SonyEricsson: ST18a (0fce:0161) @ bus 3, dev 6
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface &quot;usbfs&quot;
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fce
+   idProduct: 0161
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 3
+      Device number: 6
+      Device entry info:
+         Vendor: SonyEricsson
+         Vendor id: 0x0fce
+         Product: ST18a
+         Vendor id: 0x0161
+         Device flags: 0x00000080
+Device info:
+   Manufacturer: Sony Ericsson
+   Model: ST18a
+   Device version: 1.0
+   Serial number: 00000000000000000358344040024432
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com:1.0;microsoft.com/WPDNA:1.0;sonyericsson.com/SE: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        microsoft.com/WPDNA: 1.0
+        sonyericsson.com/SE: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   1019: Move object
+   101a: Copy object
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9810: Get object references
+   9811: Set object references
+   1012: Set object protection
+   9187: Unknown (9187)
+   9183: Send Proximity Response
+   9184: Send WMDRM-ND License Request
+   9186: Unknown (9186)
+Events supported:
+   0x4001
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4007
+   0x4008
+   0x400a
+   0x400b
+   0x400c
+   0xc001
+   0xc002
+   0xc350
+   0xc351
+   0xc352
+   0xc353
+Device Properties Supported:
+   0x5001: Battery Level
+   0x5011: Date &amp; Time
+   0xd401: Synchronization Partner
+   0xd405: Device Icon
+   0xd120: Unknown property
+   0xd402: Friendly Device Name
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   3001: Association/Directory
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   3008: MS Wave
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 32000, 44100, 48000, 96000,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   3009: MP3
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   b903: AAC
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 384000, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   300c: ASF
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 432, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 352, 353, 354, 355, 356,  GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea0: Encoding Quality UINT32 data type range: MIN 0, MAX 10, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 859189832, 861293911, 875967048, 877088845,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 384000, STEP 1 GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   b984: 3GP
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 384000, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 1280, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea0: Encoding Quality UINT32 data type range: MIN 0, MAX 10, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 20480000, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   b982: MP4
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 384000, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 1280, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea0: Encoding Quality UINT32 data type range: MIN 0, MAX 10, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 17408000, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   b902: OGG
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   380b: PNG
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 4000, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14344,  GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 40000, STEP 1 GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   3801: JPEG
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 4000, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14344,  GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 40000, STEP 1 GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   3804: BMP
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 4000, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14344,  GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 40000, STEP 1 GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   3807: GIF
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 4000, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14344,  GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 40000, STEP 1 GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   ba03: Abstract Audio Album
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14340, 14337, 14344,  GET/SET
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 100000, STEP 1 GET/SET
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 390, STEP 1 GET/SET
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 390, STEP 1 GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   ba11: M3U Playlist
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   ba10: WPL Playlist
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   ba14: PLS Playlist
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   3004: Text
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   3005: HTML
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   ba80: Undefined Document
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   ba81: Abstract Document
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   b102: Unknown(b102)
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      d920: Unknown property array of UINT64 data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 8059355136
+      FreeSpaceInBytes: 6848970752
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Memory Card
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x000009eb
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Xperia ray
+   Synchronization partner: Test VT_LPWSTR Value 2215
+   Battery level 22 of 100 (21%)
+libmtp supported (playable) filetypes:
+   Folder
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Microsoft Advanced Systems Format
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Ogg container format
+   Portable Network Graphics
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   Abstract Album file
+   Abstract Playlist file
+   Text file
+   HTML file
+
+OK.
diff --git a/logs/mtp-detect-sonyericsson-t700.txt b/logs/mtp-detect-sonyericsson-t700.txt
new file mode 100644
index 0000000..b49c73b
--- /dev/null
+++ b/logs/mtp-detect-sonyericsson-t700.txt
@@ -0,0 +1,480 @@
+Potential MTP Device with VendorID:0fce and ProductID:00fb responded to control message 2 with a response that was too short. Problems may arrise but continuing
+libmtp version: 1.0.0
+
+Listing raw device(s)
+   Found 1 device(s):
+   SonyEricsson: T700 (0fce:00fb) @ bus 0, dev 3
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fce
+   idProduct: 00fb
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 3
+      Device entry info:
+         Vendor: SonyEricsson
+         Vendor id: 0x0fce
+         Product: T700
+         Vendor id: 0x00fb
+         Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+        0000: 1203 4d00 5300 4600 5400 3100 3000 3000   ..M.S.F.T.1.0.0.
+        0010: 0800                                      ..
+Microsoft device response to control message 1, CMD 0x08:
+        0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............
+        0010: 0001 4d54 5000 0000 0000 0000 0000 0000   ..MTP...........
+        0020: 0000 0000 0000 0000                       ........
+Device info:
+   Manufacturer: Sony Ericsson
+   Model: T700
+   Device version: 1.20
+   Serial number: 00000000000000000357746025008407
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 11.0; microsoft.com/WMPPD: 10.0; vodafone.com/omadrmv2: 1.0;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9810: Get object references
+   9811: Set object references
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9202: Report Acquired Items
+Events supported:
+   0x4004
+   0x4005
+   0x400a
+Device Properties Supported:
+   0x5002: Functional Mode
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+   0xd405: Device Icon
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 85,  READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   300c: ASF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type enumeration: 353,  READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b981: WMV
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 861293911,  READ ONLY
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM READ ONLY
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: Unknown property UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: Unknown property array of UINT8 data type byte array:  GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 61386752
+      FreeSpaceInBytes: 21921792
+      FreeSpaceInObjects: 0
+      StorageDescription: Phone Memory
+      VolumeIdentifier: 
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 490930176
+      FreeSpaceInBytes: 89030656
+      FreeSpaceInObjects: 0
+      StorageDescription: Memory Stick (TM)
+      VolumeIdentifier: 
+Special directories:
+   Default music folder: 0x00000060
+   Default playlist folder: 0x000003f4
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000068
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: T700
+   Synchronization partner: {00000000-0000-0000-0000-000000000000}
+libmtp supported (playable) filetypes:
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Advanced Systems Format
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   Portable Network Graphics
+   Microsoft Windows Media Audio
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Microsoft Windows Media Video
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Abstract Playlist file
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">AwUHBwQGAAI=</UNIQUEID><PUBLICKEY private="1">/XM8Kealm6jA5jJiJATR64dT5Ar7TVit2AI72C0cMunu2ECbYJpPeA==</PUBLICKEY><KEYDATA>OUv9CZ9819jZmkYlMuViWUviUj8=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>GO4V1sWlnHMYQDgxx9ZgC4wtXXfBXZjQZ1NHXdh91IcNrl63zb3Wfg==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>C6aalCuqpWjxXhAGUOmFpDudsmk=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.108.77</SECURITYVERSION><CERTIFICATE private="1">/XM8Kealm6jA5jJiJATR64dT5Ar7TVit2AI72C0cMunu2ECbYJpPeAIEbE2OU29yqaEkH/v/q6yw1QHt01bYZmP9ATiPRbkKCTwlCFmjFEmiV/UL</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><MANUFACTURER>Sony Ericsson</MANUFACTURER><MODEL>T700</MODEL><SECURITYLEVEL>2000</SECURITYLEVEL><FEATURES><CLOCK>1</CLOCK><METERING>1</METERING><LICENSE_ACQ>1</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>0</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT></FEATURES><PUBLICKEY>gZKe350jUu+jyUCL9xcD7oyAp3Sh18qts74eoVBFsZs1CKflTQJ9XQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>FA+9GvNRJPs1N+3CEs9LYDPhbVfPIQG6PtQPc14A2/SqUlU6IgrahQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1969</AUTH_ID><PUBLICKEY>dEpKqNm3Lff2JsYrGEVhBucSUjCkbMUxY/SSk7TEXUJnDhxxY0PzLQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>kXlpcNBBIcH5n6uNORD3WU2ddhEYu6NtstpGKeIb32vRW23rJ7N7dg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>eBBGny94VfWc9jc6dyta04wiLnSW9iDcMM841FwyqveWJGTtv3t9fA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+OK.
diff --git a/logs/mtp-detect-sonyericsson-w595.txt b/logs/mtp-detect-sonyericsson-w595.txt
new file mode 100644
index 0000000..7df791d
--- /dev/null
+++ b/logs/mtp-detect-sonyericsson-w595.txt
@@ -0,0 +1,485 @@
+$ examples/detect  
+libmtp version: 0.3.6
+
+Listing raw device(s)
+Potential MTP Device with VendorID:0fce and ProductID:00f3 responded to control message 2 with a response that was too short. Problems may arrise but continuing
+Device 0 (VID=0fce and PID=00f3) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0fce:00f3 @ bus 0, dev 5
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fce
+   idProduct: 00f3
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 5
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0fce
+         Product: (null)
+         Vendor id: 0x00f3
+         Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: 0800                                   	..
+Microsoft device response to control message 1, CMD 0x08:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Potential MTP Device with VendorID:0fce and ProductID:00f3 responded to control message 2 with a response that was too short. Problems may arrise but continuing
+Device info:
+   Manufacturer: Sony Ericsson
+   Model: W595
+   Device version: 1.20
+   Serial number: 00000000000000000357500021561640
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 11.0; microsoft.com/WMPPD: 10.0; vodafone.com/omadrmv2: 1.0;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9810: Get object references
+   9811: Set object references
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9202: Report Acquired Items
+Events supported:
+   0x4004
+   0x4005
+   0x400a
+Device Properties Supported:
+   0x5002: Functional Mode
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+   0xd405: Device Icon
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   b984: 3GP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3004: Text
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3005: HTML
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3008: MS Wave
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   300c: ASF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3801: JPEG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3804: BMP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3807: GIF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   380b: PNG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 353,  READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b903: AAC
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b981: WMV
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911,  READ ONLY
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b982: MP4
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+   ba11: M3U Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 61386752
+      FreeSpaceInBytes: 25980928
+      FreeSpaceInObjects: 0
+      StorageDescription: Phone Memory
+      VolumeIdentifier: 
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 2045313024
+      FreeSpaceInBytes: 1812594688
+      FreeSpaceInObjects: 0
+      StorageDescription: Memory Stick (TM)
+      VolumeIdentifier: 
+Special directories:
+   Default music folder: 0x00000025
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x0000002d
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: W595
+   Synchronization partner: Computer
+libmtp supported (playable) filetypes:
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Advanced Systems Format
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   Portable Network Graphics
+   Microsoft Windows Media Audio
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Microsoft Windows Media Video
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">AwUHBQAAAAI=</UNIQUEID><PUBLICKEY private="1">EfZ7gFQlNHS4iZD7s5t4yBoeZ38uB4vYAJOObkGtaNERoCyrsMKtLw==</PUBLICKEY><KEYDATA>5kzLzAY6tbRo4hRaeatf83M7jes=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>PlhFUwhT3EhOaWexsAGUWlpgvGIbyTqvWRfbDd4Huw5gFXOHB6wAFQ==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>UCCsQV00lE2QUb3g2IKPmNOVLns=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.108.77</SECURITYVERSION><CERTIFICATE private="1">EfZ7gFQlNHS4iZD7s5t4yBoeZ38uB4vYAJOObkGtaNERoCyrsMKtLwIEbE2ceVwWG47Eu1X5kyJ55AWZ4VbmKVzuO9E5iIqq1MZPCxV99GCm0GY0</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><MANUFACTURER>Sony Ericsson</MANUFACTURER><MODEL>W595</MODEL><SECURITYLEVEL>2000</SECURITYLEVEL><FEATURES><CLOCK>1</CLOCK><METERING>1</METERING><LICENSE_ACQ>1</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>0</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT></FEATURES><PUBLICKEY>9ym9jX7acCdOt4CmUXLR5XNUrltJdiMJaoZwJ7cBDmD+ULE9ou64bQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>q90+WnjmH85nHh/sd85vbtxL3AVWNUZPnAAYYl+oOKDRDRW2HZZzHw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1969</AUTH_ID><PUBLICKEY>dEpKqNm3Lff2JsYrGEVhBucSUjCkbMUxY/SSk7TEXUJnDhxxY0PzLQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>kXlpcNBBIcH5n6uNORD3WU2ddhEYu6NtstpGKeIb32vRW23rJ7N7dg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>eBBGny94VfWc9jc6dyta04wiLnSW9iDcMM841FwyqveWJGTtv3t9fA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+OK.
+
+ 	  	 
diff --git a/logs/mtp-detect-sonyericsson-w705.txt b/logs/mtp-detect-sonyericsson-w705.txt
new file mode 100644
index 0000000..4261ead
--- /dev/null
+++ b/logs/mtp-detect-sonyericsson-w705.txt
@@ -0,0 +1,521 @@
+Potential MTP Device with VendorID:0fce and ProductID:0105 responded to control message 2 with a response that was too short. Problems may arrise but continuing
+Device 0 (VID=0fce and PID=0105) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+PTP: Opening session
+Potential MTP Device with VendorID:0fce and ProductID:0105 responded to control message 2 with a response that was too short. Problems may arrise but continuing
+libmtp version: 0.3.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   0fce:0105 @ bus 0, dev 8
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fce
+   idProduct: 0105
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 8
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0fce
+         Product: (null)
+         Vendor id: 0x0105
+         Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: 0800                                   	..
+Microsoft device response to control message 1, CMD 0x08:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Device info:
+   Manufacturer: Sony Ericsson
+   Model: W705
+   Device version: 1.50
+   Serial number: 00000000000000000351806036003254
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 11.0; microsoft.com/WMPPD: 10.0; vodafone.com/omadrmv2: 1.0;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9810: Get object references
+   9811: Set object references
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+Events supported:
+   0x4004
+   0x4005
+   0x400a
+Device Properties Supported:
+   0x5002: Functional Mode
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+   0xd405: Device Icon
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   b984: 3GP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3004: Text
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3005: HTML
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3008: MS Wave
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   300c: ASF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3801: JPEG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3804: BMP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3807: GIF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   380b: PNG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 353,  READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b903: AAC
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b981: WMV
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911,  READ ONLY
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b982: MP4
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   ba03: Abstract Audio Album
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337, 14344,  READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 320, STEP 1 READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+   ba11: M3U Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 184209408
+      FreeSpaceInBytes: 95518720
+      FreeSpaceInObjects: 0
+      StorageDescription: Phone Memory
+      VolumeIdentifier: 
+   StorageID: 0x00020001
+      StorageType: 0x0004
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 3991863296
+      FreeSpaceInBytes: 3376381952
+      FreeSpaceInObjects: 0
+      StorageDescription: Memory Stick (TM)
+      VolumeIdentifier: 
+Special directories:
+   Default music folder: 0x00000059
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x0000005f
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: Umonkey
+   Synchronization partner: Computer
+libmtp supported (playable) filetypes:
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Advanced Systems Format
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   Portable Network Graphics
+   Microsoft Windows Media Audio
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Microsoft Windows Media Video
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">AwUBCAAGAAM=</UNIQUEID><PUBLICKEY private="1">0taGAp7FhrLsJeqvzxOzfqnMjxASGPidXx0asDwSh9Mpz+dpZI6uHg==</PUBLICKEY><KEYDATA>CMwcFvnKDEl7leXoNYrjOaNNJ5g=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>Z0GCTh3//lkvXgoNDosKUsDFkAku8TZGlUrYPmm0MQC+QZ7VVT6xBA==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>ZUoplkIB32dJFFq+bprVqVhqTQs=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.111.37</SECURITYVERSION><CERTIFICATE private="1">0taGAp7FhrLsJeqvzxOzfqnMjxASGPidXx0asDwSh9Mpz+dpZI6uHgIEbyWPUvkrAHQPLQCJAkCYwp+5OrxmRl/sQwa/6DwBDVErZ/gVKvv9CYJb</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><MANUFACTURER>Sony Ericsson</MANUFACTURER><MODEL>W705</MODEL><SECURITYLEVEL>2000</SECURITYLEVEL><FEATURES><CLOCK>1</CLOCK><METERING>1</METERING><LICENSE_ACQ>1</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>0</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT></FEATURES><PUBLICKEY>FUZ/X8o1D4tnwVdiZkDkYY6zu0MXAY79ST/ENVHz6EevpjrbDU2DBA==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>KRJWuUjHeRCGFJ1Y5bXz8AQw31keHgxc/+S6oEAKvJjvI7PTP: Closing session
+ZOaaJfAQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>2697</AUTH_ID><PUBLICKEY>RZE6Zfywi4yoBaFXcQ3uQ8289C/ksvYRsx3/iBKHu7jVUqB0jDxpNQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>7PM5FJUmTH/HC3DDFF598UwRk19dR69fwxjdWVHHDlB/LTRtdg7MVQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>XN8qEXAip1XRJJR4rXoueXDRLj2bH5c2ea78JGfXFvCpRu2d54BVRw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+OK.
+
+ 	  	 
diff --git a/logs/mtp-detect-sonyericsson-w715.txt b/logs/mtp-detect-sonyericsson-w715.txt
new file mode 100644
index 0000000..71e1abd
--- /dev/null
+++ b/logs/mtp-detect-sonyericsson-w715.txt
@@ -0,0 +1,519 @@
+Potential MTP Device with VendorID:0fce and ProductID:0105 responded to control message 2 with a response that was too short. Problems may arrise but continuing
+Device 0 (VID=0fce and PID=0105) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+Potential MTP Device with VendorID:0fce and ProductID:0105 responded to control message 2 with a response that was too short. Problems may arrise but continuing
+libmtp version: 0.3.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   0fce:0105 @ bus 0, dev 3
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fce
+   idProduct: 0105
+   IN endpoint maxpacket: 64 bytes
+   OUT endpoint maxpacket: 64 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 3
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0fce
+         Product: (null)
+         Vendor id: 0x0105
+         Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: 0800                                   	..
+Microsoft device response to control message 1, CMD 0x08:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Device info:
+   Manufacturer: Sony Ericsson
+   Model: W715
+   Device version: 1.50
+   Serial number: 00000000000000000351809030140106
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 11.0; microsoft.com/WMPPD: 10.0; vodafone.com/omadrmv2: 1.0;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9810: Get object references
+   9811: Set object references
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+Events supported:
+   0x4004
+   0x4005
+   0x400a
+Device Properties Supported:
+   0x5002: Functional Mode
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+   0xd405: Device Icon
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   b984: 3GP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3004: Text
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3005: HTML
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3008: MS Wave
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   300c: ASF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3801: JPEG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3804: BMP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3807: GIF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   380b: PNG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 353,  READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b903: AAC
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b981: WMV
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911,  READ ONLY
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b982: MP4
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   ba03: Abstract Audio Album
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337, 14344,  READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 320, STEP 1 READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+   ba11: M3U Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 184209408
+      FreeSpaceInBytes: 84393984
+      FreeSpaceInObjects: 0
+      StorageDescription: Phone Memory
+      VolumeIdentifier: 
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 4025384960
+      FreeSpaceInBytes: 3195142144
+      FreeSpaceInObjects: 0
+      StorageDescription: Memory Stick (TM)
+      VolumeIdentifier: 
+Special directories:
+   Default music folder: 0x00000069
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x0000006f
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: Shadophone
+   Synchronization partner: Computer
+libmtp supported (playable) filetypes:
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Advanced Systems Format
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   Portable Network Graphics
+   Microsoft Windows Media Audio
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Microsoft Windows Media Video
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">AwUBCAAJAAM=</UNIQUEID><PUBLICKEY private="1">1zlvvoHy8cDSzRawFdmcTTIn7miSYD56R80GVPALmN/eDO4nEcKvIw==</PUBLICKEY><KEYDATA>lMRwp3XNW8jHH7YctvWLbqwICwY=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>KBbRrhh3c1Wara5qn+dOO9jEtG5IB5S2GQeDDBU668YVw5x5xmZtLg==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>xtoWr9RLAAfG8n/X3vR7UXnIJ3U=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.112.241</SECURITYVERSION><CERTIFICATE private="1">1zlvvoHy8cDSzRawFdmcTTIn7miSYD56R80GVPALmN/eDO4nEcKvIwIEcPH7WZwy62EjF3XCsBy9UwtyevOzP07TZDx8GFy5A1ZCeYJ2gXOfW6mA</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><MANUFACTURER>Sony Ericsson</MANUFACTURER><MODEL>W715</MODEL><SECURITYLEVEL>2000</SECURITYLEVEL><FEATURES><CLOCK>1</CLOCK><METERING>1</METERING><LICENSE_ACQ>1</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>0</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT></FEATURES><PUBLICKEY>17BxbinWp+etWrn2iDRXggucvWJexbC5+AW9fnCwXyz6SIrLAj9CHQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>5dLraR9a+Q6sjUz73kqegMHxOW4cdn2Cy+Y0qwpU1WM4c4Q4Bnd3Zw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>3157</AUTH_ID><PUBLICKEY>jUez79BavRDZ5ep6xXBCdggI8D48Cl2f1+VNd6E5sd/Qw4FMCFAVeQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>Stqt9vjW5AUck79tVSjm7qfcM4gQ9wTXMGs/N2da6hOspWBV7cRrFA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>FfbFzAWYT6ijjd2/KAfn+IAn0T20tOwcBAzH2kQ0rOdomszWb0hiFQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+OK.
+
+ 	  	 
diff --git a/logs/mtp-detect-sonyericsson-w760i.txt b/logs/mtp-detect-sonyericsson-w760i.txt
new file mode 100644
index 0000000..26f530e
--- /dev/null
+++ b/logs/mtp-detect-sonyericsson-w760i.txt
@@ -0,0 +1,477 @@
+Potential MTP Device with VendorID:0fce and ProductID:00c6 responded to control message 2 with a response that was too short. Problems may arrise but continuing
+Device 1 (VID=0fce and PID=00c6) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+PTP: Opening session
+Potential MTP Device with VendorID:0fce and ProductID:00c6 responded to control message 2 with a response that was too short. Problems may arrise but continuing
+libmtp version: 0.2.6.1
+
+Attempting to connect device(s)
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fce
+   idProduct: 00c6
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: 0800                                   	..
+Microsoft device response to control message 1, CMD 0x08:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Device info:
+   Manufacturer: Sony Ericsson
+   Model: W760i
+   Device version: 1.20
+   Serial number: 00000000000000000354799022337504
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 11.0; microsoft.com/WMPPD: 10.0; vodafone.com/omadrmv2: 1.0;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9810: Get object references
+   9811: Set object references
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9202: Report Acquired Items
+Events supported:
+   0x4004
+   0x4005
+   0x400a
+Device Properties Supported:
+   0x5002: Functional Mode
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+   0xd405: Device Icon
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   b984: 3GP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3004: Text
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3005: HTML
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3008: MS Wave
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   300c: ASF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3801: JPEG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3804: BMP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3807: GIF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   380b: PNG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 353,  READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b903: AAC
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b981: WMV
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911,  READ ONLY
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b982: MP4
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+   ba11: M3U Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 61386752
+      FreeSpaceInBytes: 10829824
+      FreeSpaceInObjects: 0
+      StorageDescription: Phone Memory
+      VolumeIdentifier: 
+   StorageID: 0x00020001
+      StorageType: 0x0004
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 1005748224
+      FreeSpaceInBytes: 559054848
+      FreeSpaceInObjects: 0
+      StorageDescription: Memory Stick (TM)
+      VolumeIdentifier: 
+Special directories:
+   Default music folder: 0x00000090
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000099
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   FriPTP: Closing session
+endly name: luxuria
+   Synchronization partner: Computer
+libmtp supported (playable) filetypes:
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Advanced Systems Format
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   Portable Network Graphics
+   Microsoft Windows Media Audio
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Microsoft Windows Media Video
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">AwUEBwkJAAI=</UNIQUEID><PUBLICKEY private="1">GteRi0Z6YaQzMGDioc9KmjDodHYiM6ESXhnm5jjcaRyiLZLNAiCtgw==</PUBLICKEY><KEYDATA>auCjSPTlfWSHuanZ6OKGaQqpue8=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>SscncOBqa6w3WnhJlpHUOikIrgU9jHFR91mhexzga13TkSKdcnZxDw==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>pyofzU8aI5f/oHNUA7utNhvLvqM=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.108.77</SECURITYVERSION><CERTIFICATE private="1">GteRi0Z6YaQzMGDioc9KmjDodHYiM6ESXhnm5jjcaRyiLZLNAiCtgwIEbE3ig9A0mV8/193cQ1BlPHjOlkULg8v7wSBN5j6kt8GdcsOLzlfD8YQK</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><MANUFACTURER>Sony Ericsson</MANUFACTURER><MODEL>W760i</MODEL><SECURITYLEVEL>2000</SECURITYLEVEL><FEATURES><CLOCK>1</CLOCK><METERING>1</METERING><LICENSE_ACQ>1</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>0</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT></FEATURES><PUBLICKEY>S2sE36RZOKznIOJeKGdWZZ2qMTdKwX058Sl+Ivyd/9pGIGqr69FufQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>EaTXHgnnhvbD6KzGgMPLis07GhQJm8vqk0dY3oBsRgwwUTYER/FKcQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1969</AUTH_ID><PUBLICKEY>dEpKqNm3Lff2JsYrGEVhBucSUjCkbMUxY/SSk7TEXUJnDhxxY0PzLQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>kXlpcNBBIcH5n6uNORD3WU2ddhEYu6NtstpGKeIb32vRW23rJ7N7dg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>eBBGny94VfWc9jc6dyta04wiLnSW9iDcMM841FwyqveWJGTtv3t9fA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+WMPInfo.xml Does not exist on this device
+OK.
+
+ 	  	 
diff --git a/logs/mtp-detect-sonyericsson-w890i.txt b/logs/mtp-detect-sonyericsson-w890i.txt
new file mode 100644
index 0000000..9d0f51d
--- /dev/null
+++ b/logs/mtp-detect-sonyericsson-w890i.txt
@@ -0,0 +1,160 @@
+# mtp-detect 
+libmtp version: 0.2.6.1
+
+Attempting to connect device(s)
+Potential MTP Device with VendorID:0fce and ProductID:00b3 responded to control message 2 with a response that was too short. Problems may arrise but continuing
+Device 1 (VID=0fce and PID=00b3) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+PTP: Opening session
+Detect: Successfully connected 1 devices
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fce
+   idProduct: 00b3
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+        0000: 1203 4d00 5300 4600 5400 3100 3000 3000   ..M.S.F.T.1.0.0.
+        0010: 0800                                      ..
+Microsoft device response to control message 1, CMD 0x08:
+        0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............
+        0010: 0001 4d54 5000 0000 0000 0000 0000 0000   ..MTP...........
+        0020: 0000 0000 0000 0000                       ........
+Potential MTP Device with VendorID:0fce and ProductID:00b3 responded to control message 2 with a response that was too short. Problems may arrise but continuing
+Device info:
+   Manufacturer: Sony Ericsson
+   Model: W890i
+   Device version: 1.20
+   Serial number: 00000000000000000352382025808094
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 11.0; microsoft.com/WMPPD: 10.0; vodafone.com/omadrmv2: 1.0;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9810: Get object references
+   9811: Set object references
+   9808: Send object property list
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9202: Report Acquired Items
+Events supported:
+   0x4004
+   0x4005
+   0x400a
+Device Properties Supported:
+   0x5002: Functional Mode
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+   0xd405: Device Icon
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   b984: 3GP
+   3000: Undefined Type
+   3001: Association/Directory
+   3004: Text
+   3005: HTML
+   3008: MS Wave
+   3009: MP3
+   300c: ASF
+   3801: JPEG
+   3804: BMP
+   3807: GIF
+   380b: PNG
+   b901: WMA
+   b903: AAC
+   b981: WMV
+   b982: MP4
+   ba05: Abstract Audio Video Playlist
+   ba11: M3U Playlist
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 25137152
+      FreeSpaceInBytes: 19210240
+      FreeSpaceInObjects: 0
+      StorageDescription: Phone Memory
+      VolumeIdentifier: 
+   StorageID: 0x00020001
+      StorageType: 0x0004
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 2045247488
+      FreeSpaceInBytes: 1928822784
+      FreeSpaceInObjects: 0
+      StorageDescription: Memory Stick (TM)
+      VolumeIdentifier: 
+Special directories:
+   Default music folder: 0x00000006
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x0000004e
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Advanced Systems Format
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   Portable Network Graphics
+   Microsoft Windows Media Audio
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Microsoft Windows Media Video
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+Unable to acquire device certificate, perhaps this device does not support this
+Error 2: PTP Layer error 02ff: get_device_unicode_property(): failed to get unicode property.
+Error 2: (Look this up in ptp.h for an explanation.)
+WMPInfo.xml Does not exist on this device
+PTP: Closing session
+ERROR: Could not close session!
+OK.
diff --git a/logs/mtp-detect-sonyericsson-w902.txt b/logs/mtp-detect-sonyericsson-w902.txt
new file mode 100644
index 0000000..4e5c28a
--- /dev/null
+++ b/logs/mtp-detect-sonyericsson-w902.txt
@@ -0,0 +1,485 @@
+libmtp version: 0.3.0
+
+Listing raw device(s)
+Potential MTP Device with VendorID:0fce and ProductID:00f5 responded to control message 2 with a response that was too short. Problems may arrise but continuing
+Device 0 (VID=0fce and PID=00f5) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0fce:00f5 @ bus 0, dev 7
+Attempting to connect device(s)
+PTP: Opening session
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fce
+   idProduct: 00f5
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 7
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0fce
+         Product: (null)
+         Vendor id: 0x00f5
+         Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+        0000: 1203 4d00 5300 4600 5400 3100 3000 3000   ..M.S.F.T.1.0.0.
+        0010: 0800                                      ..
+Microsoft device response to control message 1, CMD 0x08:
+        0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............
+        0010: 0001 4d54 5000 0000 0000 0000 0000 0000   ..MTP...........
+        0020: 0000 0000 0000 0000                       ........
+Potential MTP Device with VendorID:0fce and ProductID:00f5 responded to control message 2 with a response that was too short. Problems may arrise but continuing
+Device info:
+   Manufacturer: Sony Ericsson
+   Model: W902
+   Device version: 1.20
+   Serial number: 00000000000000000357053020107742
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 11.0; microsoft.com/WMPPD: 10.0; vodafone.com/omadrmv2: 1.0;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9810: Get object references
+   9811: Set object references
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9202: Report Acquired Items
+Events supported:
+   0x4004
+   0x4005
+   0x400a
+Device Properties Supported:
+   0x5002: Functional Mode
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+   0xd405: Device Icon
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   b984: 3GP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3004: Text
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3005: HTML
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3008: MS Wave
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   300c: ASF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3801: JPEG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3804: BMP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3807: GIF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   380b: PNG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 353,  READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b903: AAC
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b981: WMV
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911,  READ ONLY
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b982: MP4
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+   ba11: M3U Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 61386752
+      FreeSpaceInBytes: 16044032
+      FreeSpaceInObjects: 0
+      StorageDescription: Phone Memory
+      VolumeIdentifier: 
+   StorageID: 0x00020001
+      StorageType: 0x0004
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 8065449984
+      FreeSpaceInBytes: 39452672
+      FreeSpaceInObjects: 0
+      StorageDescription: Memory Stick (TM)
+      VolumeIdentifier: 
+Special directories:
+   Default music folder: 0x00000071
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000079
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: W902
+   Synchronization partner: Computer
+libmtp supported (playable) filetypes:
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Advanced Systems Format
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   Portable Network Graphics
+   Microsoft Windows Media Audio
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Microsoft Windows Media Video
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">AwUHAAUDAAI=</UNIQUEID><PUBLICKEY private="1">c+NVjW710DGKs1JtDdTZWjQOvxlLh8Xdpdjeg5XAMkjRlvQV8dYKaQ==</PUBLICKEY><KEYDATA>NJLtPPCbUoH/pcB0oey1UMxqHt8=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>C+b4KK0qEz8AFnI37OYhQ9OImQcX2DgIYS8kFO61gedXobmUzS/5bQ==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>PeFizcWOCKySmVG8BynI3xHCQL0=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.108.77</SECURITYVERSION><CERTIFICATE private="1">c+NVjW710DGKs1JtDdTZWjQOvxlLh8Xdpdjeg5XAMkjRlvQV8dYKaQIEbE0+Xn5pQnGfKoWaMsZkqFlmnLpcUtHRlPFhnh73gOWpb5Sj4MdZMTcn</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><MANUFACTURER>Sony Ericsson</MANUFACTURER><MODEL>W902</MODEL><SECURITYLEVEL>2000</SECURITYLEVEL><FEATURES><CLOCK>1</CLOCK><METERING>1</METERING><LICENSE_ACQ>1</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>0</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT></FEATURES><PUBLICKEY>72H5MXjIS7AdAicYJwTk9GOG81mpY7wbflR8N2vjyHwUF0aJvtI2aw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>xrhIT5DqBCK9D+UTIPTK1AEV3SosblP6v2Vifa/GASf3YwcB5ypBGg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1969</AUTH_ID><PUBLICKEY>dEpKqNm3Lff2JsYrGEVhBucSUjCkbMUxY/SSk7TEXUJnDhxxY0PzLQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>kXlpcNBBIcH5n6uNORD3WU2ddhEYu6NtstpGKeIb32vRW23rJ7N7dg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>eBBGny94VfWc9jc6dyta04wiLnSW9iDcMM841FwyqveWJGTtv3t9fA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+WMPInfo.xml Does not exist on this device
+PTP: Closing session
+OK.
diff --git a/logs/mtp-detect-sonyericsson-w910.txt b/logs/mtp-detect-sonyericsson-w910.txt
new file mode 100644
index 0000000..f88b082
--- /dev/null
+++ b/logs/mtp-detect-sonyericsson-w910.txt
@@ -0,0 +1,650 @@
+hal# mtp-detect 
+libmtp version: 0.2.1
+
+Attempting to connect device(s)
+Potential MTP Device with VendorID:0fce and ProductID:0076 responded to control message 2 with a response that was too short. Problems may arrise but continuing
+Device 1 (VID=0fce and PID=0076) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+PTP: Opening session
+Detect: Successfully connected 1 devices
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fce
+   idProduct: 0076
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+        0000: 1203 4d00 5300 4600 5400 3100 3000 3000   ..M.S.F.T.1.0.0.
+        0010: 0800 0000 0000 0000 0000 0000 0000 0000   ................
+        0020: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0030: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0040: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0050: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0060: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0070: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0080: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0090: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        00a0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        00b0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        00c0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        00d0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        00e0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        00f0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0100: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0110: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0120: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0130: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0140: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0150: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0160: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0170: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0180: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0190: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        01a0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        01b0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        01c0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        01d0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        01e0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        01f0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0200: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0210: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0220: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0230: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0240: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0250: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0260: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0270: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0280: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0290: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        02a0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        02b0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        02c0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        02d0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        02e0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        02f0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0300: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0310: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0320: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0330: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0340: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0350: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0360: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0370: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0380: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0390: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        03a0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        03b0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        03c0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        03d0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        03e0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        03f0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+Microsoft device response to control message 1, CMD 0x08:
+        0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............
+        0010: 0001 4d54 5000 0000 0000 0000 0000 0000   ..MTP...........
+        0020: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0030: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0040: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0050: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0060: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0070: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0080: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0090: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        00a0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        00b0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        00c0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        00d0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        00e0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        00f0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0100: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0110: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0120: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0130: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0140: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0150: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0160: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0170: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0180: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0190: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        01a0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        01b0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        01c0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        01d0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        01e0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        01f0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0200: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0210: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0220: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0230: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0240: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0250: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0260: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0270: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0280: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0290: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        02a0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        02b0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        02c0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        02d0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        02e0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        02f0: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0300: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0310: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0320: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0330: 0000 0000 0000 0000 0000 0000 0000 0000   ................
+        0340: 0f0f 0f0f 0f0f 0010 1010 1010 1010 1010   ................
+        0350: 1010 1010 1010 1000 6d63 6f75 6e74 3a20   ........mcount: 
+        0360: 5072 6f66 696c 696e 6720 6f66 2073 6574   Profiling of set
+        0370: 7b75 2c67 7d69 6420 6269 6e61 7269 6573   {u,g}id binaries
+        0380: 2069 7320 6e6f 7420 616c 6c6f 7765 6400    is not allowed.
+        0390: 5f6d 636c 6561 6e75 703a 2069 6e74 6572   _mcleanup: inter
+        03a0: 6e61 6c20 6275 6666 6572 206f 7665 7266   nal buffer overf
+        03b0: 6c6f 772c 2050 524f 4644 4952 2074 6f6f   low, PROFDIR too
+        03c0: 206c 6f6e 6700 5f6d 636c 6561 6e75 703a    long._mcleanup:
+        03d0: 2074 6f73 206f 7665 7266 6c6f 770a 0050    tos overflow..P
+        03e0: 524f 4644 4952 0067 6d2f 7573 722f 706b   ROFDIR.gm/usr/pk
+        03f0: 6773 7263 2f77 6970 2f6c 6962 6d74 7000   gsrc/wip/libmtp.
+Potential MTP Device with VendorID:0fce and ProductID:0076 responded to control message 2 with a response that was too short. Problems may arrise but continuing
+Device info:
+   Manufacturer: Sony Ericsson
+   Model: Sony Ericsson Phone
+   Device version: 1.00
+   Serial number: 00000000000000000358875011380618
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 11.0; microsoft.com/WMPPD: 10.0; vodafone.com/omadrmv2: 1.0;
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+Events supported:
+   0x4004
+   0x4005
+   0x400a
+Device Properties Supported:
+   0x5002: Functional Mode
+   0xd401: Synchronization Partner
+   0xd402: Device Friendly Name
+   0xd404: Unknown property
+   0xd405: Device Icon
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   b984: 3GP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+Unknown OPFF type 3
+      dc09: DateModified STRING data type READ ONLY
+Unknown OPFF type 3
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc47: DateAuthored STRING data type GET/SET
+Unknown OPFF type 3
+      dc99: OriginalReleaseDate STRING data type GET/SET
+Unknown OPFF type 3
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type ANY 8BIT VALUE form GET/SET
+Unknown OPFF type 6
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+Unknown OPFF type 3
+      dc09: DateModified STRING data type READ ONLY
+Unknown OPFF type 3
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type ANY 16BIT VALUE form GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type ANY 8BIT VALUE form GET/SET
+Unknown OPFF type 6
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+Unknown OPFF type 3
+      dc09: DateModified STRING data type READ ONLY
+Unknown OPFF type 3
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3004: Text
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+Unknown OPFF type 3
+      dc09: DateModified STRING data type READ ONLY
+Unknown OPFF type 3
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type ANY 16BIT VALUE form GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type ANY 8BIT VALUE form GET/SET
+Unknown OPFF type 6
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3005: HTML
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+Unknown OPFF type 3
+      dc09: DateModified STRING data type READ ONLY
+Unknown OPFF type 3
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type ANY 16BIT VALUE form GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type ANY 8BIT VALUE form GET/SET
+Unknown OPFF type 6
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3008: MS Wave
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+Unknown OPFF type 3
+      dc09: DateModified STRING data type READ ONLY
+Unknown OPFF type 3
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc47: DateAuthored STRING data type GET/SET
+Unknown OPFF type 3
+      dc99: OriginalReleaseDate STRING data type GET/SET
+Unknown OPFF type 3
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type ANY 8BIT VALUE form GET/SET
+Unknown OPFF type 6
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+Unknown OPFF type 3
+      dc09: DateModified STRING data type READ ONLY
+Unknown OPFF type 3
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc47: DateAuthored STRING data type GET/SET
+Unknown OPFF type 3
+      dc99: OriginalReleaseDate STRING data type GET/SET
+Unknown OPFF type 3
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type ANY 8BIT VALUE form GET/SET
+Unknown OPFF type 6
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   300c: ASF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+Unknown OPFF type 3
+      dc09: DateModified STRING data type READ ONLY
+Unknown OPFF type 3
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc47: DateAuthored STRING data type GET/SET
+Unknown OPFF type 3
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type ANY 16BIT VALUE form GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type ANY 8BIT VALUE form GET/SET
+Unknown OPFF type 6
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3801: JPEG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+Unknown OPFF type 3
+      dc09: DateModified STRING data type READ ONLY
+Unknown OPFF type 3
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type ANY 16BIT VALUE form GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type ANY 8BIT VALUE form GET/SET
+Unknown OPFF type 6
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3804: BMP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+Unknown OPFF type 3
+      dc09: DateModified STRING data type READ ONLY
+Unknown OPFF type 3
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type ANY 16BIT VALUE form GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type ANY 8BIT VALUE form GET/SET
+Unknown OPFF type 6
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3807: GIF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+Unknown OPFF type 3
+      dc09: DateModified STRING data type READ ONLY
+Unknown OPFF type 3
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type ANY 16BIT VALUE form GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type ANY 8BIT VALUE form GET/SET
+Unknown OPFF type 6
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   380b: PNG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+Unknown OPFF type 3
+      dc09: DateModified STRING data type READ ONLY
+Unknown OPFF type 3
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type ANY 16BIT VALUE form GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type ANY 8BIT VALUE form GET/SET
+Unknown OPFF type 6
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   380f: JP2
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+Unknown OPFF type 3
+      dc09: DateModified STRING data type READ ONLY
+Unknown OPFF type 3
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type ANY 16BIT VALUE form GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type ANY 8BIT VALUE form GET/SET
+Unknown OPFF type 6
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3810: JPX
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+Unknown OPFF type 3
+      dc09: DateModified STRING data type READ ONLY
+Unknown OPFF type 3
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type ANY 16BIT VALUE form GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type ANY 8BIT VALUE form GET/SET
+Unknown OPFF type 6
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+Unknown OPFF type 3
+      dc09: DateModified STRING data type READ ONLY
+Unknown OPFF type 3
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 353,  READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc47: DateAuthored STRING data type GET/SET
+Unknown OPFF type 3
+      dc99: OriginalReleaseDate STRING data type GET/SET
+Unknown OPFF type 3
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type ANY 8BIT VALUE form GET/SET
+Unknown OPFF type 6
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b981: WMV
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+Unknown OPFF type 3
+      dc09: DateModified STRING data type READ ONLY
+Unknown OPFF type 3
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc47: DateAuthored STRING data type GET/SET
+Unknown OPFF type 3
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911,  READ ONLY
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type ANY 8BIT VALUE form GET/SET
+Unknown OPFF type 6
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b982: MP4
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+Unknown OPFF type 3
+      dc09: DateModified STRING data type READ ONLY
+Unknown OPFF type 3
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc47: DateAuthored STRING data type GET/SET
+Unknown OPFF type 3
+      dc99: OriginalReleaseDate STRING data type GET/SET
+Unknown OPFF type 3
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type ANY 8BIT VALUE form GET/SET
+Unknown OPFF type 6
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   ba11: M3U Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+Unknown OPFF type 3
+      dc09: DateModified STRING data type READ ONLY
+Unknown OPFF type 3
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type ANY 16BIT VALUE form GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type ANY 8BIT VALUE form GET/SET
+Unknown OPFF type 6
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 66351104
+      FreeSpaceInBytes: 24440832
+      FreeSpaceInObjects: 0
+      StorageDescription: Phone Memory
+      VolumeIdentifier: 
+   StorageID: 0x00020001
+      StorageType: 0x0004
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 957020160
+      FreeSpaceInBytes: 683114496
+      FreeSpaceInObjects: 0
+      StorageDescription: Memory Stick (TM)
+      VolumeIdentifier: 
+Special directories:
+   Default music folder: 0x00000056
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x0000002e
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: W910i
+   Synchronization partner: Computer
+libmtp supported (playable) filetypes:
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Advanced Systems Format
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   Portable Network Graphics
+   JP2 file
+   JPX file
+   Microsoft Windows Media Audio
+   Microsoft Windows Media Video
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+Unable to acquire device certificate, perhaps this device does not support this
+Error 2: PTP Layer error 02fe: get_device_unicode_property(): failed to get unicode property.
+Error 2: (Look this up in ptp.h for an explanation.)
+^C
diff --git a/logs/mtp-detect-sonyericsson-w980.txt b/logs/mtp-detect-sonyericsson-w980.txt
new file mode 100644
index 0000000..f7f3da0
--- /dev/null
+++ b/logs/mtp-detect-sonyericsson-w980.txt
@@ -0,0 +1,469 @@
+libmtp version: 0.3.3
+
+Listing raw device(s)
+   Found 1 device(s):
+   0fce:00da @ bus -100663296, dev 1
+Attempting to connect device(s)
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fce
+   idProduct: 00da
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: -100663296
+      Device number: 1
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0fce
+         Product: (null)
+         Vendor id: 0x00da
+         Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: 0800                                   	..
+Microsoft device response to control message 1, CMD 0x08:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Device info:
+   Manufacturer: Sony Ericsson
+   Model: W980
+   Device version: 1.20
+   Serial number: <my IMEI>
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 11.0; microsoft.com/WMPPD: 10.0; vodafone.com/omadrmv2: 1.0;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9810: Get object references
+   9811: Set object references
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9202: Report Acquired Items
+Events supported:
+   0x4004
+   0x4005
+   0x400a
+Device Properties Supported:
+   0x5002: Functional Mode
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd404: Unknown property
+   0xd405: Device Icon
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   b984: 3GP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3004: Text
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3005: HTML
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3008: MS Wave
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   300c: ASF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3801: JPEG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3804: BMP
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   3807: GIF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   380b: PNG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 353,  READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b903: AAC
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b981: WMV
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911,  READ ONLY
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   b982: MP4
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 1000000, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+      dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+   ba11: M3U Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type DATETIME FORM READ ONLY
+      dc09: DateModified STRING data type DATETIME FORM READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      db01: unknown(db01) UINT8 data type enumeration: 0, 1,  GET/SET
+      db02: unknown(db02) array of UINT8 data type byte array:  GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 7942332416
+      FreeSpaceInBytes: 6469328896
+      FreeSpaceInObjects: 0
+      StorageDescription: Phone Memory
+      VolumeIdentifier: 
+Special directories:
+   Default music folder: 0x00000047
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x0000004f
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: W980
+   Synchronization partner: Computer
+libmtp supported (playable) filetypes:
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Advanced Systems Format
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   Portable Network Graphics
+   Microsoft Windows Media Audio
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Microsoft Windows Media Video
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">AwUFAwUDAAI=</UNIQUEID><PUBLICKEY private="1">wxZReTsFnkme5YCye3OwxyMV61tXnLGc0Nc9HZA7SjsEH+FgvAg1gQ==</PUBLICKEY><KEYDATA>Cnud0fTYP9B0BQL7m0JRA3ah2NU=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>g8BDBSbyPbiyl+IquCIdFtT0iQHhgXDDer1B4FL931Hbda2zzlI/OA==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>npiO50V8R5Y9jzzc8ZgDjw9RKKM=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.108.77</SECURITYVERSION><CERTIFICATE private="1">wxZReTsFnkme5YCye3OwxyMV61tXnLGc0Nc9HZA7SjsEH+FgvAg1gQIEbE39pXiWZmEgPFjjguJ36YI1peNbEKjMEi+UFf88Ho0k31vcmUw/q7Fv</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><MANUFACTURER>Sony Ericsson</MANUFACTURER><MODEL>W980</MODEL><SECURITYLEVEL>2000</SECURITYLEVEL><FEATURES><CLOCK>1</CLOCK><METERING>1</METERING><LICENSE_ACQ>1</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>0</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT></FEATURES><PUBLICKEY>pS+SNteaXee0N8AOh1W/8Jw7Jk7jr7VQqrqgp8zFcU8cTCHK44CvTA==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>LL6jsDoHVd6/9weGc1yfsRw323d2c/l0Xj3jQi0hij+jPnKQ6bDWbQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1969</AUTH_ID><PUBLICKEY>dEpKqNm3Lff2JsYrGEVhBucSUjCkbMUxY/SSk7TEXUJnDhxxY0PzLQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>kXlpcNBBIcH5n6uNORD3WU2ddhEYu6NtstpGKeIb32vRW23rJ7N7dg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>eBBGny94VfWc9jc6dyta04wiLnSW9iDcMM841FwyqveWJGTtv3t9fA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+WMPInfo.xml Does not exist on this device
+OK.
diff --git a/logs/mtp-detect-sonyericsson-wt19i.txt b/logs/mtp-detect-sonyericsson-wt19i.txt
new file mode 100644
index 0000000..ce26fd9
--- /dev/null
+++ b/logs/mtp-detect-sonyericsson-wt19i.txt
@@ -0,0 +1,491 @@
+libmtp version: 1.1.3
+
+Listing raw device(s)
+   Found 1 device(s):
+   0fce:016d @ bus 2, dev 7
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fce
+   idProduct: 016d
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 7
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0fce
+         Product: (null)
+         Vendor id: 0x016d
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Sony Ericsson
+   Model: WT19i
+   Device version: 1.0
+   Serial number: YT90019TQW
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;sonyericsson.com/SE: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+        sonyericsson.com/SE: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+   9183: Send Proximity Response
+   9184: Send WMDRM-ND License Request
+   9186: Unknown (9186)
+   9187: Unknown (9187)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0xc350
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd405: Device Icon
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 1975222272
+      FreeSpaceInBytes: 239992832
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Cartão SD
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000403
+   Default playlist folder: 0x000047e3
+   Default picture folder: 0x00000002
+   Default video folder: 0x000047c6
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Live with Walkman
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Abstract Album file
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-sonyericsson-xperia-mk16i.txt b/logs/mtp-detect-sonyericsson-xperia-mk16i.txt
new file mode 100644
index 0000000..2a5a34e
--- /dev/null
+++ b/logs/mtp-detect-sonyericsson-xperia-mk16i.txt
@@ -0,0 +1,583 @@
+$ mtp-detect
+libmtp version: 1.1.3
+
+Listing raw device(s)
+Device 0 (VID=0fce and PID=015a) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0fce:015a @ bus 2, dev 52
+Attempting to connect device(s)
+PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
+LIBMTP libusb: Attempt to reset device
+Android device detected, assigning default bug flags
+Error 7: Found a bad handle, trying to ignore it.
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fce
+   idProduct: 015a
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 52
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0fce
+         Product: (null)
+         Vendor id: 0x015a
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string &quot;MTP&quot;
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Sony Ericsson
+   Model: MK16i
+   Device version: 1.0
+   Serial number: CB5A1H2MU1
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;sonyericsson.com/SE: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+        sonyericsson.com/SE: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+   9183: Send Proximity Response
+   9184: Send WMDRM-ND License Request
+   9186: Unknown (9186)
+   9187: Unknown (9187)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0xc350
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd405: Device Icon
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,
+  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 7938097152
+      FreeSpaceInBytes: 5814059008
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Tarjeta SD
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x0000002f
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000038
+   Default video folder: 0x0000003d
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Xperia pro
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Abstract Album file
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
+
+
+===============================================================
+
+
+$ lsusb -v -d 0fce:015a
+
+Bus 002 Device 052: ID 0fce:015a Sony Ericsson Mobile Communications AB
+Device Descriptor:
+  bLength                18
+  bDescriptorType         1
+  bcdUSB               2.00
+  bDeviceClass            0 (Defined at Interface level)
+  bDeviceSubClass         0
+  bDeviceProtocol         0
+  bMaxPacketSize0        64
+  idVendor           0x0fce Sony Ericsson Mobile Communications AB
+  idProduct          0x015a
+  bcdDevice            2.26
+  iManufacturer           2 Sony
+  iProduct                3 MK16i
+  iSerial                 4 CB5A1H2MU1
+  bNumConfigurations      1
+  Configuration Descriptor:
+    bLength                 9
+    bDescriptorType         2
+    wTotalLength           39
+    bNumInterfaces          1
+    bConfigurationValue     1
+    iConfiguration          0
+    bmAttributes         0xc0
+      Self Powered
+    MaxPower              500mA
+    Interface Descriptor:
+      bLength                 9
+      bDescriptorType         4
+      bInterfaceNumber        0
+      bAlternateSetting       0
+      bNumEndpoints           3
+      bInterfaceClass       255 Vendor Specific Class
+      bInterfaceSubClass    255 Vendor Specific Subclass
+      bInterfaceProtocol      0
+      iInterface              5 MTP
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x81  EP 1 IN
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x02  EP 2 OUT
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x82  EP 2 IN
+        bmAttributes            3
+          Transfer Type            Interrupt
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x001c  1x 28 bytes
+        bInterval               6
+Device Qualifier (for other device speed):
+  bLength                10
+  bDescriptorType         6
+  bcdUSB               2.00
+  bDeviceClass            0 (Defined at Interface level)
+  bDeviceSubClass         0
+  bDeviceProtocol         0
+  bMaxPacketSize0        64
+  bNumConfigurations      1
+Device Status:     0x0000
+  (Bus Powered)
diff --git a/logs/mtp-detect-sonyericsson-xperia-sk17i-androidstack.txt b/logs/mtp-detect-sonyericsson-xperia-sk17i-androidstack.txt
new file mode 100644
index 0000000..4551af3
--- /dev/null
+++ b/logs/mtp-detect-sonyericsson-xperia-sk17i-androidstack.txt
@@ -0,0 +1,478 @@
+Listing raw device(s)
+   Found 1 device(s):
+   SonyEricsson: SK17i Xperia Mini Pro (0fce:0166) @ bus 2, dev 7
+Attempting to connect device(s)
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fce
+   idProduct: 0166
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 7
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0fce
+         Product: (null)
+         Vendor id: 0x0166
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Sony Ericsson
+   Model: SK17i
+   Device version: 1.0
+   Serial number: BX902XM8S2
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;sonyericsson.com/SE: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+        sonyericsson.com/SE: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+   9183: Send Proximity Response
+   9184: Send WMDRM-ND License Request
+   9186: Unknown (9186)
+   9187: Unknown (9187)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0xc350
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd405: Device Icon
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 5000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 4000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc48: Description array of UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc87: Width UINT32 data type range: MIN 1, MAX 1280, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 1, MAX 720, STEP 1 READ ONLY
+   ba03: Abstract Audio Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Xperia mini pro
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Abstract Album file
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-sonyericsson-xperia-sk17i.txt b/logs/mtp-detect-sonyericsson-xperia-sk17i.txt
new file mode 100644
index 0000000..f82566a
--- /dev/null
+++ b/logs/mtp-detect-sonyericsson-xperia-sk17i.txt
@@ -0,0 +1,593 @@
+$mtp-detect
+libmtp version: 1.1.3
+
+Listing raw device(s)
+   Found 1 device(s):
+   SonyEricsson: SK17i Xperia Mini Pro (0fce:0166) @ bus 2, dev 4
+Attempting to connect device(s)
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0fce
+   idProduct: 0166
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 4
+      Device entry info:
+         Vendor: SonyEricsson
+         Vendor id: 0x0fce
+         Product: SK17i Xperia Mini Pro
+         Vendor id: 0x0166
+         Device flags: 0x08008186
+Device info:
+   Manufacturer: Sony Ericsson
+   Model: SK17i
+   Device version: 1.0
+   Serial number: 00000000000000000358216049255771
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com:1.0;microsoft.com/WPDNA:1.0;sonyericsson.com/SE: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        microsoft.com/WPDNA: 1.0
+        sonyericsson.com/SE: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   1019: Move object
+   101a: Copy object
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9810: Get object references
+   9811: Set object references
+   1012: Set object protection
+   9187: Unknown (9187)
+   9183: Send Proximity Response
+   9184: Send WMDRM-ND License Request
+   9186: Unknown (9186)
+Events supported:
+   0x4001
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4007
+   0x4008
+   0x400a
+   0x400b
+   0x400c
+   0xc001
+   0xc002
+   0xc350
+   0xc351
+   0xc352
+   0xc353
+Device Properties Supported:
+   0x5001: Battery Level
+   0x5011: Date & Time
+   0xd401: Synchronization Partner
+   0xd405: Device Icon
+   0xd120: Unknown property
+   0xd402: Friendly Device Name
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   3001: Association/Directory
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc05: Association Type UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: Association Desc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   3008: MS Wave
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 32000, 44100, 48000, 96000,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 1, 2, 3,  GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   3009: MP3
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   b903: AAC
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 48000, STEP 1 GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 384000, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   300c: ASF
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 432, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 352, 353, 354, 355, 356,  GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea0: Encoding Quality UINT32 data type range: MIN 0, MAX 10, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 859189832, 861293911, 875967048, 877088845,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 384000, STEP 1 GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   b984: 3GP
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 384000, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 1280, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea0: Encoding Quality UINT32 data type range: MIN 0, MAX 10, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 20480000, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   b982: MP4
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 3, 6, 7,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 384000, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222,  GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 1280, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 1, MAX 30000, STEP 1 GET/SET
+      dea0: Encoding Quality UINT32 data type range: MIN 0, MAX 10, STEP 1 GET/SET
+      dea1: Encoding Profile STRING data type GET/SET
+      de9b: Video Four CC Codec UINT32 data type enumeration: 875967048, 1395937357, 842289229, 844313677, 859189832,  GET/SET
+      de9c: Video Bit Rate UINT32 data type range: MIN 1, MAX 17408000, STEP 1 GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   b902: OGG
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      de93: Sample Rate UINT32 data type range: MIN 1, MAX 96000, STEP 1 GET/SET
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1500000, STEP 1 GET/SET
+      de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85,  GET/SET
+      dc47: Date Authored STRING data type DATETIME FORM GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   380b: PNG
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 4000, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   3801: JPEG
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 4000, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   3804: BMP
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 4000, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   3807: GIF
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 5000, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 4000, STEP 1 GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   ba03: Abstract Audio Album
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9b: Album Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   ba11: M3U Playlist
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   ba10: WPL Playlist
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   ba14: PLS Playlist
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc07: Object File Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   3004: Text
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   3005: HTML
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   ba80: Undefined Document
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   ba81: Abstract Document
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9d: DRM Status UINT16 data type enumeration: 0, 1, 2,  GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+   b102: Unknown(b102)
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771,  READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      d920: Unknown property array of UINT64 data type GET/SET
+      dc08: Date Created STRING data type DATETIME FORM GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 31380733952
+      FreeSpaceInBytes: 19578060800
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Memory Card
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000d72
+   Default playlist folder: 0x00000d73
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Xperia mini pro
+   Synchronization partner: Test VT_LPWSTR Value 2215
+   Battery level 36 of 100 (36%)
+libmtp supported (playable) filetypes:
+   Folder
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Microsoft Advanced Systems Format
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Ogg container format
+   Portable Network Graphics
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   Abstract Album file
+   Abstract Playlist file
+   Text file
+   HTML file
+OK.
diff --git a/logs/mtp-detect-tct-tcl-s950.txt b/logs/mtp-detect-tct-tcl-s950.txt
new file mode 100644
index 0000000..d6090dd
--- /dev/null
+++ b/logs/mtp-detect-tct-tcl-s950.txt
@@ -0,0 +1,478 @@
+Listing raw device(s)
+Device 0 (VID=1bbb and PID=0167) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   1bbb:0167 @ bus 2, dev 10
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 1bbb
+   idProduct: 0167
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 10
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x1bbb
+         Product: (null)
+         Vendor id: 0x0167
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: TCT
+   Model: TCL S950
+   Device version: 1.0
+   Serial number: FESKMRSOYLW8RKSK
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ FreeBSD installs its libusb-1.0 libusb.h implementation in /usr/include. libmtp uses
+pkg-config to discover it which adds the correct -I flag, so just #include
+libusb.h to make it work with every implementation.ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 13722390528
+      FreeSpaceInBytes: 12775186432
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Phone storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000563
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: TCL S950
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-telcast-air-3g.txt b/logs/mtp-detect-telcast-air-3g.txt
new file mode 100644
index 0000000..2a103da
--- /dev/null
+++ b/logs/mtp-detect-telcast-air-3g.txt
@@ -0,0 +1,480 @@
+
+Laptop ~ # mtp-detect 
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6
+
+Listing raw device(s)
+Device 0 (VID=8087 and PID=0a5f) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   8087:0a5f @ bus 2, dev 4
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 528
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 8087
+   idProduct: 0a5f
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 4
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x8087
+         Product: (null)
+         Vendor id: 0x0a5f
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Teclast
+   Model: X98 Air 3G(C9J7)
+   Device version: 1.0
+   Serial number: Baytrail0000322E
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File 
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 7199338496
+      FreeSpaceInBytes: 3549728768
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+Laptop ~ # 
+
diff --git a/logs/mtp-detect-telcast-x98_air_3g.txt b/logs/mtp-detect-telcast-x98_air_3g.txt
new file mode 100644
index 0000000..982bbe3
--- /dev/null
+++ b/logs/mtp-detect-telcast-x98_air_3g.txt
@@ -0,0 +1,475 @@
+# mtp-detect 
+libmtp version: 1.1.3
+
+Listing raw device(s)
+Device 0 (VID=8087 and PID=0a5e) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   8087:0a5e @ bus 1, dev 7
+Attempting to connect device(s)
+PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
+LIBMTP libusb: Attempt to reset device
+Android device detected, assigning default bug flags
+Error 1: Get Storage information failed.
+Error 2: PTP Layer error 02fe: get_handles_recursively(): could not get object handles.
+Error 2: (Look this up in ptp.h for an explanation.)
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 528
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 8087
+   idProduct: 0a5e
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 7
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x8087
+         Product: (null)
+         Vendor id: 0x0a5e
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Teclast
+   Model: X98 Air 3G(C6J6)
+   Device version: 1.0
+   Serial number: Baytrail064BFDE2
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
+
diff --git a/logs/mtp-detect-tesco-hudl.txt b/logs/mtp-detect-tesco-hudl.txt
new file mode 100644
index 0000000..1d24bc0
--- /dev/null
+++ b/logs/mtp-detect-tesco-hudl.txt
@@ -0,0 +1,485 @@
+libmtp version: 1.1.5
+
+Listing raw device(s)
+Device 0 (VID=0e79 and PID=5008) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0e79:5008 @ bus 1, dev 9
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0e79
+   idProduct: 5008
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 9
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0e79
+         Product: (null)
+         Vendor id: 0x5008
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Tesco
+   Model: Hudl
+   Device version: 1.0
+   Serial number: 914OJ01007G3A726978
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 7956758528
+      FreeSpaceInBytes: 5355450368
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD card
+      VolumeIdentifier: (null)
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 13597007872
+      FreeSpaceInBytes: 11605610496
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-thalia-tolino-tab7.txt b/logs/mtp-detect-thalia-tolino-tab7.txt
new file mode 100644
index 0000000..e5fe538
--- /dev/null
+++ b/logs/mtp-detect-thalia-tolino-tab7.txt
@@ -0,0 +1,474 @@
+libmtp version: 1.1.3
+
+Listing raw device(s)
+   Found 1 device(s):
+   1e68:1002 @ bus 1, dev 17
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 1e68
+   idProduct: 1002
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 17
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x1e68
+         Product: (null)
+         Vendor id: 0x1002
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Iriver
+   Model: tolino tab 7
+   Device version: 1.0
+   Serial number: 36100043B000N5N
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 13530742784
+      FreeSpaceInBytes: 12836442112
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x0000000a
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000005
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-thomson-em2804.txt b/logs/mtp-detect-thomson-em2804.txt
new file mode 100644
index 0000000..0d9cde2
--- /dev/null
+++ b/logs/mtp-detect-thomson-em2804.txt
@@ -0,0 +1,391 @@
+~# mtp-detect
+libmtp version: 0.2.1
+
+Attempting to connect device(s)
+Potential MTP Device with VendorID:069b and ProductID:0774 responded to control message 2 with a response that was too short. Problems may arrise but continuing
+Device 1 (VID=069b and PID=0774) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+PTP: Opening session
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 069b
+   idProduct: 0774
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000000
+Device info:
+   Manufacturer: Thomson
+   Model: EM28 Series
+   Device version: SDK4.210
+   Serial number: 0002FA821859E1A70002FA82185D4C93
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 10.0; audible.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   101b: Get partial object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   100f: Format storage
+   9810: Get object references
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   97f1: Unknown(97f1)
+   97f2: Unknown(97f2)
+   97f3: Unknown(97f3)
+   1010: Reset device
+Events supported:
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd402: Device Friendly Name
+   0xd401: Synchronization Partner
+   0x5001: Battery Level
+   0xd100: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 80, 85,  READ ONLY
+      dc09: DateModified STRING data type GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 0, STEP 64 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+   3008: MS Wave
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 17, READ ONLY
+      dc09: DateModified STRING data type GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 0, STEP 64 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 352, 353,  READ ONLY
+      dc09: DateModified STRING data type GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 0, STEP 64 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+   b902: OGG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0,  READ ONLY
+      dc09: DateModified STRING data type GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 0, STEP 64 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+   3007: AIFF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0,  READ ONLY
+      dc09: DateModified STRING data type GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 0, STEP 64 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+   b903: AAC
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 41222,  READ ONLY
+      dc09: DateModified STRING data type GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 0, STEP 64 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+   300c: ASF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0,  READ ONLY
+      dc09: DateModified STRING data type GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 0, STEP 64 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+   3801: JPEG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 0, STEP 64 GET/SET
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 0, STEP 64 GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+   ba11: M3U Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   ba03: Abstract Audio Album
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   b904: Audible.com Codec
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 16777215, STEP 1 GET/SET
+      da00: unknown(da00) UINT32 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7, 8,  READ ONLY
+      da02: unknown(da02) UINT32 data type ANY 32BIT VALUE form GET/SET
+      da01: unknown(da01) STRING data type READ ONLY
+      da03: unknown(da03) UINT16 data type enumeration: 0, 1,  GET/SET
+      da04: unknown(da04) UINT128 data type READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 2015887360
+      FreeSpaceInBytes: 1232961536
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Internal Storage
+      VolumeIdentifier: 0002FA821859E1A70002FA82185D4C93
+Special directories:
+   Default music folder: 0x00000000
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000083
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000099
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: EM28 Series
+   Synchronization partner: {00000000-0000-0000-0000-000000000000}
+   Battery level 125 of 131 (95%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   RIFF WAVE file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Microsoft Advanced Systems Format
+   JPEG file
+   Audible.com Audio Codec
+Unable to acquire device certificate, perhaps this device does not support this
+Error 2: PTP Layer error 02ff: get_device_unicode_property(): failed to get unicode property.
+Error 2: (Look this up in ptp.h for an explanation.)
diff --git a/logs/mtp-detect-thomson-m51.txt b/logs/mtp-detect-thomson-m51.txt
new file mode 100644
index 0000000..2d3f117
--- /dev/null
+++ b/logs/mtp-detect-thomson-m51.txt
@@ -0,0 +1,150 @@
+mtp-detect
+libmtp version: 0.3.6
+
+Listing raw device(s)
+Found 1 device(s):
+Thomson: Lyra MC5104B (M51 Series) (069b:077c) @ bus 0, dev 6
+Attempting to connect device(s)
+USB low-level info:
+Using kernel interface "usbfs"
+bcdUSB: 512
+bDeviceClass: 0
+bDeviceSubClass: 0
+bDeviceProtocol: 0
+idVendor: 069b
+idProduct: 077c
+IN endpoint maxpacket: 512 bytes
+OUT endpoint maxpacket: 512 bytes
+Raw device info:
+Bus location: 0
+Device number: 6
+Device entry info:
+Vendor: Thomson
+Vendor id: 0x069b
+Product: Lyra MC5104B (M51 Series)
+Vendor id: 0x077c
+Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+0000: 1203 4d00 5300 4600 5400 3100 3000 3000 ..M.S.F.T.1.0.0.
+0010: 0100 ..
+Device info:
+Manufacturer: Thomson
+Model: M51 Series
+Device version: SDK4.210
+Serial number: 0002FA937F63C19B0002FA937F610D8C
+Vendor extension ID: 0x00000006
+Vendor extension description: microsoft.com: 1.0;
+microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 10.0; audible.com: 1.0
+Detected object size: 64 bits
+Supported operations:
+1001: get device info
+1002: Open session
+1003: Close session
+1004: Get storage IDs
+1005: Get storage info
+1006: Get number of objects
+1007: Get object handles
+1008: Get object info
+1009: Get object
+101b: Get partial object
+100b: Delete object
+100c: Send object info
+100d: Send object
+1014: Get device property description
+1015: Get device property value
+1016: Set device property value
+9802: Get object property description
+9801: Get object properties supported
+9803: Get object property value
+9804: Set object property value
+9805: Get object property list
+9806: Set object property list
+9808: Send object property list
+9101: Get secure time challenge
+9102: Get secure time response
+9103: Set license response
+9104: Get sync list
+9105: Send meter challenge query
+9106: Get meter challenge
+9107: Get meter response
+9108: Clean data store
+9109: Get license state
+910a: Send WMDRM-PD Command
+910b: Send WMDRM-PD Request
+100f: Format storage
+9810: Get object references
+9811: Set object references
+9201: Report Added/Deleted Items
+97f1: Unknown (97f1)
+97f2: Unknown (97f2)
+97f3: Unknown (97f3)
+1010: Reset device
+Events supported:
+0x4004
+0x4005
+Device Properties Supported:
+0xd101: Secure Time
+0xd102: Device Certificate
+0xd402: Friendly Device Name
+0xd401: Synchronization Partner
+0x5001: Battery Level
+0xd100: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+3009: MP3
+3008: MS Wave
+b901: WMA
+b902: OGG
+3007: AIFF
+b903: AAC
+300c: ASF
+3001: Association/Directory
+ba05: Abstract Audio Video Playlist
+3801: JPEG
+ba11: M3U Playlist
+ba03: Abstract Audio Album
+3000: Undefined Type
+b904: Audible.com Codec
+Storage Devices:
+StorageID: 0x00010001
+StorageType: 0x0003 fixed RAM storage
+FilesystemType: 0x0002 generic hierarchical
+AccessCapability: 0x0000 read/write
+MaxCapacity: 4073979904
+FreeSpaceInBytes: 2900426752
+FreeSpaceInObjects: 4294967295
+StorageDescription: Internal Storage
+VolumeIdentifier: 0002FA937F63C19B0002FA937F610D8C
+Special directories:
+Default music folder: 0x00000000
+Default playlist folder: 0x00000000
+Default picture folder: 0x00000000
+Default video folder: 0x00000000
+Default organizer folder: 0x00000000
+Default zencast folder: 0x00000000
+Default album folder: 0x00000000
+Default text folder: 0x00000000
+MTP-specific device properties:
+Friendly name: (NULL)
+Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+ISO MPEG-1 Audio Layer 3
+RIFF WAVE file
+Microsoft Windows Media Audio
+Ogg container format
+Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+Microsoft Advanced Systems Format
+JPEG file
+Audible.com Audio Codec
+Unable to acquire device certificate, perhaps this device does not support
+this
+Error 2: PTP Layer error 02ff: get_device_unicode_property(): failed to
+get unicode property.
+Error 2: (Look this up in ptp.h for an explanation.)
+ERROR: Could not close session!
+inep: usb_get_endpoint_status(): No such device
+outep: usb_get_endpoint_status(): No such device
+usb_clear_halt() on IN endpoint: No such device
+usb_clear_halt() on OUT endpoint: No such device
+usb_clear_halt() on INTERRUPT endpoint: No such device
+OK.
+************************
diff --git a/logs/mtp-detect-thomson-rcah106.txt b/logs/mtp-detect-thomson-rcah106.txt
new file mode 100644
index 0000000..41baf19
--- /dev/null
+++ b/logs/mtp-detect-thomson-rcah106.txt
@@ -0,0 +1,303 @@
+libmtp version: 0.2.4
+
+Attempting to connect device(s)
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 069b
+   idProduct: 301a
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x0000000a
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: 0100                                   	..
+Device info:
+   Manufacturer: THOMSON
+   Model: RCA H106
+   Device version: V1.71
+   Serial number: 30B80000000000000000000000000000
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com/WMDRMPD: 10.1;microsoft.com/AAVT: 1.0;microsoft.com/WMDRMND: 1.0;audible.com: 1.0;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   101b: Get partial object
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9170: Open Media Session
+   9171: Close Media Session
+   9172: Get Next Data Block
+   9173: Set Current Time Position
+   9180: Send Registration Request
+   9181: Get Registration Response
+   9182: Get Proximity Challenge
+   9183: Send Proximity Response
+   9184: Send WMDRM-ND License Request
+   9185: Get WMDRM-ND License Response
+Events supported:
+   None.
+Device Properties Supported:
+   0xd100: Unknown property
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3009: MP3
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      dc9a: AlbumName STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+   b901: WMA
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      dc9a: AlbumName STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+   3008: MS Wave
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      dc9a: AlbumName STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222,  GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+   b904: Audible.com Codec
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      da00: unknown(da00) UINT32 data type enumeration: 0, 1, 2, 3, 4, 5, 6, 7, 8,  GET/SET
+      da02: unknown(da02) UINT32 data type ANY 32BIT VALUE form READ ONLY
+      da03: unknown(da03) UINT16 data type enumeration: 0, 1,  READ ONLY
+      da01: unknown(da01) STRING data type GET/SET
+      da04: unknown(da04) array of UINT8 data type ANY 8BIT VALUE form GET/SET
+   3001: Association/Directory
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+   3000: Undefined Type
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+   b802: Firmware
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+   ba03: Abstract Audio Album
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 6129004544
+      FreeSpaceInBytes: 2242122630
+      FreeSpaceInObjects: 6192
+      StorageDescription: TCNAND0
+      VolumeIdentifier: 30B80000000000000000000000000000
+Special directories:
+   Default music folder: 0x20000224
+   Default playlist folder: 0x20000009
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: RCA H106
+   Synchronization partner: Longhorn Sync Engine
+   Battery level 100 of 100 (100%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   RIFF WAVE file
+   Audible.com Audio Codec
+   Firmware file
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#19770910 02:12:11Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>AG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">MLgAAAAAAAAAAAAAAAAAAAAAAAA=</UNIQUEID><PUBLICKEY private="1">/xk1FRLtUFQtLumioB3hnjjmCCStWRtCZ+OUINvN4wRjglPz1DTagw==</PUBLICKEY><KEYDATA>KkFgl/xxIQnFTSasJdjDCCv/P24=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>LD33X8FUDo00JUcw8aIxaslZOU1gwe23tnsDKRZCKxdEiLkZ6MqtRA==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>lcs/XXhRSo4LmZvRM9Ng82/uNEA=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.103.93</SECURITYVERSION><CERTIFICATE private="1">/xk1FRLtUFQtLumioB3hnjjmCCStWRtCZ+OUINvN4wRjglPz1DTagwIEZ12zLMYIU+hJu3l1M4RYq3Wm7dvKElLPBtkNiU7D3DEFkb5rubXCF6sQ</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>H106</NAME>

+    <MANUFACTURER>Thomson</MANUFACTURER>

+    <MAKE>Portable Media Player</MAKE>

+    <DISTRIBUTOR>Thomson</DISTRIBUTOR>

+    <MODEL>H106</MODEL>

+    <SECURITYLEVEL>2000</SECURITYLEVEL>

+    <HARDWARE_VER_MAJOR>A</HARDWARE_VER_MAJOR>

+    <FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR>

+    <FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>

+    <FEATURES>

+        <CLOCK>2</CLOCK>

+	  <SECURECLOCK>

+		<URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL>

+		<PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY>

+	  </SECURECLOCK>

+        <METERING>1</METERING>

+        <LICENSE_ACQ>0</LICENSE_ACQ>

+        <LICENSE_SYNC>1</LICENSE_SYNC>

+        <ENCRYPTION>0</ENCRYPTION>

+  <SYMMETRIC_OPT>1</SYMMETRIC_OPT>

+    </FEATURES>

+    <LIMITS>

+        <MAXCHAINDEPTH>2</MAXCHAINDEPTH>

+        <MAXLICENSESIZE>10240</MAXLICENSESIZE>

+        <MAXHEADERSIZE>5120</MAXHEADERSIZE>

+    </LIMITS><PUBLICKEY>eWGqaKD/rEgPNu6GrH4E4KOVmDLU3uH7S0yZJ6AhJCUwYZKiVI3JdQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>bNMpmF0aj44IYQDYnnbcURRgzU1rIlAlL9jNNOzJ0FtEHXngXg2fDw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>705</AUTH_ID><PUBLICKEY>0xGAyvWRMSN9LFmWL0S9WztdgXzTo5nwPQENDz2q6lJ4SPILToOvGQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>YjzR0s45M5rz4YiE8fZjo/rhVHGlVtsW5re00vPgGJS3dc1e3bpHcA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>RCnBbt41GoYgQEzB4T9r432WenXcYM6rdlEo0hCbDwb7H1LhcmNFJg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+WMPInfo.xml Does not exist on this device
+OK.
diff --git a/logs/mtp-detect-tomtom-rider40.txt b/logs/mtp-detect-tomtom-rider40.txt
new file mode 100644
index 0000000..dc55824
--- /dev/null
+++ b/logs/mtp-detect-tomtom-rider40.txt
@@ -0,0 +1,471 @@
+Device 0 (VID=1390 and PID=5455) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+libmtp version: 1.1.9
+
+Listing raw device(s)
+   Found 1 device(s):
+   1390:5455 @ bus 3, dev 119
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 1390
+   idProduct: 5455
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 3
+      Device number: 119
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x1390
+         Product: (null)
+         Vendor id: 0x5455
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: TomTom
+   Model: TomTom Rider 40
+   Device version: 1.0
+   Serial number: KA1444K00062
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 978903040
+      FreeSpaceInBytes: 74059776
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal Storage
+      VolumeIdentifier: (null)
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 7806062592
+      FreeSpaceInBytes: 7451357184
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD Card
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+~~~~
diff --git a/logs/mtp-detect-toshiba-at105.txt b/logs/mtp-detect-toshiba-at105.txt
new file mode 100644
index 0000000..c5e84a6
--- /dev/null
+++ b/logs/mtp-detect-toshiba-at105.txt
@@ -0,0 +1,457 @@
+Listing raw device(s)
+Device 0 (VID=0930 and PID=7100) is a Toshiba Thrive / AT105.
+   Found 1 device(s):
+   Toshiba: Thrive / AT105 (0930:7100) @ bus 2, dev 68
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0930
+   idProduct: 7100
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 68
+      Device entry info:
+         Vendor: Toshiba
+         Vendor id: 0x0930
+         Product: Thrive / AT105
+         Vendor id: 0x7100
+         Device flags: 0x08008146
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: TOSHIBA
+   Model: AT100
+   Device version: 1.0
+   Serial number: 02884145411f9397
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+         android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 10847977472
+      FreeSpaceInBytes: 1167654812
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal Storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000008
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00003467
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
diff --git a/logs/mtp-detect-toshiba-at300.txt b/logs/mtp-detect-toshiba-at300.txt
new file mode 100644
index 0000000..597d599
--- /dev/null
+++ b/logs/mtp-detect-toshiba-at300.txt
@@ -0,0 +1,462 @@
+libmtp version: 1.1.3
+
+Listing raw device(s)
+Device 0 (VID=0930 and PID=0963) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0930:0963 @ bus 1, dev 9
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0930
+   idProduct: 0963
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 9
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0930
+         Product: (null)
+         Vendor id: 0x0963
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: TOSHIBA
+   Model: AT300
+   Device version: 1.0
+   Serial number: 015d15b4fdXXXXXX
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 13483302912
+      FreeSpaceInBytes: 11404300188
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal Storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-toshiba-gigabeat-met401.txt b/logs/mtp-detect-toshiba-gigabeat-met401.txt
new file mode 100644
index 0000000..7825437
--- /dev/null
+++ b/logs/mtp-detect-toshiba-gigabeat-met401.txt
@@ -0,0 +1,524 @@
+Listing raw device(s)
+Found 1 device(s):
+Toshiba: Gigabeat MET401 (0930:001d) @ bus 0, dev 3
+Attempting to connect device(s)
+PTP: Opening session
+USB low-level info:
+Using kernel interface "usbfs"
+bcdUSB: 512
+bDeviceClass: 255
+bDeviceSubClass: 0
+bDeviceProtocol: 0
+idVendor: 0930
+idProduct: 001d
+IN endpoint maxpacket: 512 bytes
+OUT endpoint maxpacket: 512 bytes
+Raw device info:
+Bus location: 0
+Device number: 3
+Device entry info:
+Vendor: Toshiba
+Vendor id: 0x0930
+Product: Gigabeat MET401
+Vendor id: 0x001d
+Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+0000: 1203 4d00 5300 4600 5400 3100 3000 3000 ..M.S.F.T.1.0.0.
+0010: fe00 ..
+Microsoft device response to control message 1, CMD 0xfe:
+0000: 2800 0000 0001 0400 0100 0000 0000 0000 (...............
+0010: 0001 4d54 5000 0000 0000 0000 0000 0000 ..MTP...........
+0020: 0000 0000 0000 0000 ........
+Potential MTP Device with VendorID:0930 and ProductID:001d responded to
+control message 2 with a response that was too short. Problems may arrise
+but continuing
+Device info:
+Manufacturer: TOSHIBA
+Model: gigabeat_T Series
+Device version: PMC: 2.21 (3:0); Platform: 2.1 (3.4)
+Serial number: 32b0db90 - aced0f4e - 80bd1ff8 - 8ee00652
+Vendor extension ID: 0x00000006
+Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD:
+10.1; microsoft.com/WMPPD: 11.1; microsoft.com/WMPMCPREMCONT: 1.0;
+Detected object size: 64 bits
+Supported operations:
+1001: get device info
+1002: Open session
+1003: Close session
+1004: Get storage IDs
+1005: Get storage info
+1006: Get number of objects
+1007: Get object handles
+1008: Get object info
+1009: Get object
+100b: Delete object
+100c: Send object info
+100d: Send object
+100f: Format storage
+1010: Reset device
+1014: Get device property description
+1015: Get device property value
+1016: Set device property value
+1019: Move object
+101b: Get partial object
+9810: Get object references
+9811: Set object references
+9802: Get object property description
+9807: Get interdependent property description
+9801: Get object properties supported
+9803: Get object property value
+9804: Set object property value
+9805: Get object property list
+9806: Set object property list
+9808: Send object property list
+9101: Get secure time challenge
+9102: Get secure time response
+9103: Set license response
+9104: Get sync list
+9105: Send meter challenge query
+9106: Get meter challenge
+9107: Get meter response
+9108: Clean data store
+9109: Get license state
+910a: Send WMDRM-PD Command
+910b: Send WMDRM-PD Request
+9201: Report Added/Deleted Items
+9202: Report Acquired Items
+9204: Unknown (9204)
+Events supported:
+None.
+Device Properties Supported:
+0xd101: Secure Time
+0xd401: Synchronization Partner
+0x5001: Battery Level
+0xd102: Device Certificate
+0xd402: Friendly Device Name
+0xd131: PlaysForSure ID
+Playable File (Object) Types and Object Properties Supported:
+3009: MP3
+dc44: Name STRING data type GET/SET
+dc04: ObjectSize UINT64 data type READ ONLY
+dc08: DateCreated STRING data type DATETIME FORM GET/SET
+dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+dc09: DateModified STRING data type DATETIME FORM GET/SET
+dc9d: DRMStatus UINT16 data type enumeration: 0, 1, GET/SET
+dc0d: Hidden UINT16 data type enumeration: 0, 1, GET/SET
+dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+dc0a: Keywords STRING data type GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc07: ObjectFileName STRING data type GET/SET
+dc42: SyncID STRING data type GET/SET
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+d901: BuyFlag UINT8 data type enumeration: 0, 1, GET/SET
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ ONLY
+de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 550000, STEP 1 READ
+ONLY
+dc9a: AlbumName STRING data type GET/SET
+dc9b: AlbumArtist STRING data type GET/SET
+dc46: Artist STRING data type GET/SET
+dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1
+GET/SET
+dc8c: Genre STRING data type GET/SET
+dc95: MetaGenre UINT16 data type enumeration: 1, 17, 18, 19, 20, 21, 33,
+34, 35, 36, 37, 38, 39, 40, 48, GET/SET
+dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50
+GET/SET
+de99: AudioWAVECodec UINT32 data type enumeration: 85, READ ONLY
+de94: NumberOfChannels UINT16 data type enumeration: 1, 2, GET/SET
+b901: WMA
+dc44: Name STRING data type GET/SET
+dc04: ObjectSize UINT64 data type READ ONLY
+dc08: DateCreated STRING data type DATETIME FORM GET/SET
+dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+dc09: DateModified STRING data type DATETIME FORM GET/SET
+dc9d: DRMStatus UINT16 data type enumeration: 0, 1, GET/SET
+dc0d: Hidden UINT16 data type enumeration: 0, 1, GET/SET
+dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+dc0a: Keywords STRING data type GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc07: ObjectFileName STRING data type GET/SET
+dc42: SyncID STRING data type GET/SET
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+d901: BuyFlag UINT8 data type enumeration: 0, 1, GET/SET
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ ONLY
+de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 1572864, STEP 1 READ
+ONLY
+dc9a: AlbumName STRING data type GET/SET
+dc9b: AlbumArtist STRING data type GET/SET
+dc46: Artist STRING data type GET/SET
+dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1
+GET/SET
+dc8c: Genre STRING data type GET/SET
+dc95: MetaGenre UINT16 data type enumeration: 1, 17, 18, 19, 20, 21, 33,
+34, 35, 36, 37, 38, 39, 40, 48, GET/SET
+dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50
+GET/SET
+de99: AudioWAVECodec UINT32 data type enumeration: 353, 354, 355, 10, READ
+ONLY
+de94: NumberOfChannels UINT16 data type enumeration: 1, 2, GET/SET
+3008: MS Wave
+dc44: Name STRING data type GET/SET
+dc04: ObjectSize UINT64 data type READ ONLY
+dc08: DateCreated STRING data type DATETIME FORM GET/SET
+dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+dc09: DateModified STRING data type DATETIME FORM GET/SET
+dc9d: DRMStatus UINT16 data type enumeration: 0, 1, GET/SET
+dc0d: Hidden UINT16 data type enumeration: 0, 1, GET/SET
+dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+dc0a: Keywords STRING data type GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc07: ObjectFileName STRING data type GET/SET
+dc42: SyncID STRING data type GET/SET
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+d901: BuyFlag UINT8 data type enumeration: 0, 1, GET/SET
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ ONLY
+de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 1572864, STEP 1 READ
+ONLY
+dc9a: AlbumName STRING data type GET/SET
+dc9b: AlbumArtist STRING data type GET/SET
+dc46: Artist STRING data type GET/SET
+dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1
+GET/SET
+dc8c: Genre STRING data type GET/SET
+dc95: MetaGenre UINT16 data type enumeration: 1, 17, 18, 19, 20, 21, 33,
+34, 35, 36, 37, 38, 39, 40, 48, GET/SET
+dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+de93: SampleRate UINT32 data type range: MIN 4000, MAX 48000, STEP 50
+GET/SET
+de99: AudioWAVECodec UINT32 data type enumeration: 353, 85, 1, 2, 6, 17,
+49, READ ONLY
+de94: NumberOfChannels UINT16 data type enumeration: 1, 2, GET/SET
+300c: ASF
+dc44: Name STRING data type GET/SET
+dc04: ObjectSize UINT64 data type READ ONLY
+dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+dc08: DateCreated STRING data type DATETIME FORM GET/SET
+dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+dc09: DateModified STRING data type DATETIME FORM GET/SET
+de9d: FramesPerThousandSeconds UINT32 data type range: MIN 15000, MAX
+30000, STEP 1 GET/SET
+dc9d: DRMStatus UINT16 data type enumeration: 0, 1, GET/SET
+dc0d: Hidden UINT16 data type enumeration: 0, 1, GET/SET
+dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+dc0a: Keywords STRING data type GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+dc07: ObjectFileName STRING data type GET/SET
+dc42: SyncID STRING data type GET/SET
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc4b: CopyrightInformation array of UINT16 data type ANY 16BIT VALUE form
+GET/SET
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dea1: EncodingProfile STRING data type GET/SET
+d901: BuyFlag UINT8 data type enumeration: 0, 1, GET/SET
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ ONLY
+de9e: KeyFrameDistance UINT32 data type range: MIN 3, MAX 3, STEP 1 GET/SET
+
+dc9e: SubDescription array of UINT16 data type ANY 16BIT VALUE form GET/SET
+
+dc4c: Source STRING data type GET/SET
+dc8c: Genre STRING data type GET/SET
+dc95: MetaGenre UINT16 data type enumeration: 1, 17, 18, 19, 20, 21, 33,
+34, 35, 36, 37, 38, 39, 40, 48, GET/SET
+de91: TotalBitRate UINT32 data type range: MIN 1, MAX 800000, STEP 1 READ
+ONLY
+dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+de94: NumberOfChannels UINT16 data type enumeration: 1, 2, GET/SET
+dc94: ParentalRating STRING data type GET/SET
+dc98: Subtitle STRING data type GET/SET
+de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 363520, STEP 1 READ
+ONLY
+de99: AudioWAVECodec UINT32 data type enumeration: 353, READ ONLY
+de92: BitRateType UINT16 data type enumeration: 1, 2, GET/SET
+de9f: BufferSize UINT32 data type range: MIN 3, MAX 3, STEP 1 GET/SET
+dea0: EncodingQuality UINT32 data type range: MIN 50, MAX 50, STEP 1
+GET/SET
+de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50
+GET/SET
+de97: ScanDepth UINT16 data type range: MIN 1, MAX 1, STEP 1 READ ONLY
+de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911, 827739479,
+844516695, 1347833175, 844125783, GET/SET
+de9c: VideoBitRate UINT32 data type range: MIN 1, MAX 736000, STEP 1 READ
+ONLY
+b981: WMV
+dc44: Name STRING data type GET/SET
+dc04: ObjectSize UINT64 data type READ ONLY
+dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+dc08: DateCreated STRING data type DATETIME FORM GET/SET
+dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+dc09: DateModified STRING data type DATETIME FORM GET/SET
+de9d: FramesPerThousandSeconds UINT32 data type range: MIN 15000, MAX
+30000, STEP 1 GET/SET
+dc9d: DRMStatus UINT16 data type enumeration: 0, 1, GET/SET
+dc0d: Hidden UINT16 data type enumeration: 0, 1, GET/SET
+dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+dc0a: Keywords STRING data type GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+dc07: ObjectFileName STRING data type GET/SET
+dc42: SyncID STRING data type GET/SET
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc4b: CopyrightInformation array of UINT16 data type ANY 16BIT VALUE form
+GET/SET
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dea1: EncodingProfile STRING data type GET/SET
+d901: BuyFlag UINT8 data type enumeration: 0, 1, GET/SET
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ ONLY
+de9e: KeyFrameDistance UINT32 data type range: MIN 3, MAX 3, STEP 1 GET/SET
+
+dc9e: SubDescription array of UINT16 data type ANY 16BIT VALUE form GET/SET
+
+dc4c: Source STRING data type GET/SET
+dc8c: Genre STRING data type GET/SET
+dc95: MetaGenre UINT16 data type enumeration: 1, 17, 18, 19, 20, 21, 33,
+34, 35, 36, 37, 38, 39, 40, 48, GET/SET
+de91: TotalBitRate UINT32 data type range: MIN 1, MAX 800000, STEP 1 READ
+ONLY
+dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+de94: NumberOfChannels UINT16 data type enumeration: 1, 2, GET/SET
+dc94: ParentalRating STRING data type GET/SET
+dc98: Subtitle STRING data type GET/SET
+de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ
+ONLY
+de99: AudioWAVECodec UINT32 data type enumeration: 353, READ ONLY
+de92: BitRateType UINT16 data type enumeration: 1, 2, GET/SET
+de9f: BufferSize UINT32 data type range: MIN 3, MAX 3, STEP 1 GET/SET
+dea0: EncodingQuality UINT32 data type range: MIN 50, MAX 50, STEP 1
+GET/SET
+de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50
+GET/SET
+de97: ScanDepth UINT16 data type range: MIN 1, MAX 1, STEP 1 READ ONLY
+de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911, 827739479,
+844516695, 1347833175, 844125783, GET/SET
+de9c: VideoBitRate UINT32 data type range: MIN 1, MAX 736000, STEP 1 READ
+ONLY
+3801: JPEG
+dc44: Name STRING data type GET/SET
+dc04: ObjectSize UINT64 data type READ ONLY
+dc88: Height UINT32 data type range: MIN 0, MAX 480, STEP 1 GET/SET
+dc08: DateCreated STRING data type DATETIME FORM GET/SET
+dc09: DateModified STRING data type DATETIME FORM GET/SET
+dc9d: DRMStatus UINT16 data type enumeration: 0, 1, GET/SET
+dc0d: Hidden UINT16 data type enumeration: 0, 1, GET/SET
+dc0a: Keywords STRING data type GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc87: Width UINT32 data type range: MIN 0, MAX 640, STEP 1 GET/SET
+dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+dc07: ObjectFileName STRING data type GET/SET
+dc42: SyncID STRING data type GET/SET
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ ONLY
+3804: BMP
+dc44: Name STRING data type GET/SET
+dc04: ObjectSize UINT64 data type READ ONLY
+dc88: Height UINT32 data type range: MIN 0, MAX 480, STEP 1 GET/SET
+dc08: DateCreated STRING data type DATETIME FORM GET/SET
+dc09: DateModified STRING data type DATETIME FORM GET/SET
+dc9d: DRMStatus UINT16 data type enumeration: 0, 1, GET/SET
+dc0d: Hidden UINT16 data type enumeration: 0, 1, GET/SET
+dc0a: Keywords STRING data type GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc87: Width UINT32 data type range: MIN 0, MAX 640, STEP 1 GET/SET
+dc47: DateAuthored STRING data type DATETIME FORM GET/SET
+dc07: ObjectFileName STRING data type GET/SET
+dc42: SyncID STRING data type GET/SET
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ ONLY
+3001: Association/Directory
+dc44: Name STRING data type GET/SET
+dc04: ObjectSize UINT64 data type READ ONLY
+dc08: DateCreated STRING data type DATETIME FORM GET/SET
+dc09: DateModified STRING data type DATETIME FORM GET/SET
+dc9d: DRMStatus UINT16 data type enumeration: 0, 1, GET/SET
+dc0d: Hidden UINT16 data type enumeration: 0, 1, GET/SET
+dc0a: Keywords STRING data type GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc07: ObjectFileName STRING data type GET/SET
+dc42: SyncID STRING data type GET/SET
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ ONLY
+ba03: Abstract Audio Album
+dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 320,
+STEP 1 GET/SET
+dc44: Name STRING data type GET/SET
+dc04: ObjectSize UINT64 data type READ ONLY
+dc08: DateCreated STRING data type DATETIME FORM GET/SET
+dc09: DateModified STRING data type DATETIME FORM GET/SET
+dc9d: DRMStatus UINT16 data type enumeration: 0, 1, GET/SET
+dc0d: Hidden UINT16 data type enumeration: 0, 1, GET/SET
+dc0a: Keywords STRING data type GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc07: ObjectFileName STRING data type GET/SET
+dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX -1, STEP
+1 GET/SET
+dc42: SyncID STRING data type GET/SET
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,
+GET/SET
+d901: BuyFlag UINT8 data type enumeration: 0, 1, GET/SET
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 240,
+STEP 1 GET/SET
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ ONLY
+dc9b: AlbumArtist STRING data type GET/SET
+dc86: RepresentativeSampleData array of UINT8 data type byte array: GET/SET
+
+dc46: Artist STRING data type GET/SET
+dc8c: Genre STRING data type GET/SET
+ba05: Abstract Audio Video Playlist
+dc44: Name STRING data type GET/SET
+dc04: ObjectSize UINT64 data type READ ONLY
+dc08: DateCreated STRING data type DATETIME FORM GET/SET
+dc09: DateModified STRING data type DATETIME FORM GET/SET
+dc9d: DRMStatus UINT16 data type enumeration: 0, 1, GET/SET
+dc0d: Hidden UINT16 data type enumeration: 0, 1, GET/SET
+dc0a: Keywords STRING data type GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc07: ObjectFileName STRING data type GET/SET
+dc42: SyncID STRING data type GET/SET
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ ONLY
+3000: Undefined Type
+dc44: Name STRING data type GET/SET
+dc04: ObjectSize UINT64 data type READ ONLY
+dc08: DateCreated STRING data type DATETIME FORM GET/SET
+dc09: DateModified STRING data type DATETIME FORM GET/SET
+dc9d: DRMStatus UINT16 data type enumeration: 0, 1, GET/SET
+dc0d: Hidden UINT16 data type enumeration: 0, 1, GET/SET
+dc0a: Keywords STRING data type GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc07: ObjectFileName STRING data type GET/SET
+dc42: SyncID STRING data type GET/SET
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ ONLY
+b802: Firmware
+dc44: Name STRING data type GET/SET
+dc04: ObjectSize UINT64 data type READ ONLY
+dc08: DateCreated STRING data type DATETIME FORM GET/SET
+dc09: DateModified STRING data type DATETIME FORM GET/SET
+dc9d: DRMStatus UINT16 data type enumeration: 0, 1, GET/SET
+dc0d: Hidden UINT16 data type enumeration: 0, 1, GET/SET
+dc0a: Keywords STRING data type GET/SET
+dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET
+dc07: ObjectFileName STRING data type GET/SET
+dc42: SyncID STRING data type GET/SET
+dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ ONLY
+Storage Devices:
+StorageID: 0x00010001
+StorageType: 0x0003
+FilesystemType: 0x0002
+AccessCapability: 0x0000
+MaxCapacity: 3980918784
+FreeSpaceInBytes: 2949480448
+FreeSpaceInObjects: 4294967295
+StorageDescription: Storage
+VolumeIdentifier: 32b0db90 - aced0f4e - 80bd1ff8 - 8ee00652
+Special directories:
+Default music folder: 0x08000001
+Default playlist folder: 0x00000000
+Default picture folder: 0x08000006
+Default video folder: 0x08000008
+Default organizer folder: 0x00000000
+Default zencast folder: 0x00000000
+Default album folder: 0x0800000b
+Default text folder: 0x00000000
+MTP-specific device properties:
+Friendly name: (NULL)
+Synchronization partner: {6D522C79-BD5D-4BA2-B791-7CBFE5EDB75D}
+Battery level 93 of 100 (93%)
+libmtp supported (playable) filetypes:
+ISO MPEG-1 Audio Layer 3
+Microsoft Windows Media Audio
+RIFF WAVE file
+Microsoft Advanced Systems Format
+Microsoft Windows Media Video
+JPEG file
+BMP bitmap file
+Firmware file
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID
+private="1">zCPCZLYFLvuKt0TnOISNxcmV/gM=</UNIQUEID><PUBLICKEY
+private="1">aY+9QpVRs1h7fWqDuetEsTqHrX5mQa3Tp8C9V6k8oylA2vqTdMXTAg==</PUBLI
+CKEY><KEYDATA>+6lyJzOWuTQvDLprp/0z8qOR7Ok=</KEYDATA></DATA><MSDRM_SIGNATURE
+_VALUE>rzyoDNdhKdSFJXYxwBy8dezNTULUVf8wXXOU9O6LV8m1bHrrCBevRA==</MSDRM_SIGN
+ATURE_VALUE><SYMSIGNATURE>ujbe6CEe0ruAawznaq1P0JTqGoY=</SYMSIGNATURE></CERT
+IFICATE><FALLBACK><SECURITYVERSION>2.4.109.191</SECURITYVERSION><CERTIFICAT
+E
+private="1">aY+9QpVRs1h7fWqDuetEsTqHrX5mQa3Tp8C9V6k8oylA2vqTdMXTAgIEbb8x/9R
+a9jMtNk1PMJdUSDZwY6uWdMqCnTUh7qXPgkhpR2koNPHV4k1O</CERTIFICATE></FALLBACK><
+CERTIFICATE type="GROUP"><DATA><NAME>Gigabeat</NAME>
+<MANUFACTURER>Toshiba Corporation</MANUFACTURER>
+<MODEL>T Series</MODEL>
+<HARDWARE_VER_MAJOR>1.0</HARDWARE_VER_MAJOR>
+<FIRMWARE_VER_MAJOR>2.2</FIRMWARE_VER_MAJOR>
+<SECURITYLEVEL>2000</SECURITYLEVEL>
+<FEATURES>
+<CLOCK>1</CLOCK>
+<METERING>1</METERING>
+<LICENSE_ACQ>1</LICENSE_ACQ>
+<LICENSE_SYNC>1</LICENSE_SYNC>
+<ENCRYPTION>1</ENCRYPTION>
+</FEATURES>
+<LIMITS>
+<MAXCHAINDEPTH>2</MAXCHAINDEPTH>
+<MAXLICENSESIZE>10240</MAXLICENSESIZE>
+<MAXHEADERSIZE>5120</MAXHEADERSIZE>
+</LIMITS><PUBLICKEY>kCbzqA4FQ9ydIlf1wFVQqfzGCkzzy4kIowhqKZnDzrz1CJjK/sKNEA=
+=</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>McIRp9c8wex4xqODCC0lxMDViFUwuvBH
+x8jnWqX19omsDZCNw0XXYg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>2339
+</AUTH_ID><PUBLICKEY>3C+L7y4RbEeI220k9VkNLWdPZ2NRxfPuiO1n2CfEqgG8lJpCOKWfiQ
+==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>MqlbyFzMugkUK9KyavQTXdHswD+xojP
+6KT2UIARVlpkeR3u1+m1wbg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbO
+gktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNA
+TURE_VALUE>+wMFbh+eWDfLNaYMV/W2XpxlP3HZLNhULUFZiHT3hZ7IuNCcPjZeIA==</MSDRM_
+SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+
+Device description WMPInfo.xml file:
+<DeviceInfo>
+<WMP DeviceID="{954DDB85-5F58-403B-B5D3-F563D1FE742C}"
+RelationshipID="{6D522C79-BD5D-4BA2-B791-7CBFE5EDB75D}"/>
+</DeviceInfo>
diff --git a/logs/mtp-detect-toshiba-gigabeat-meu202.txt b/logs/mtp-detect-toshiba-gigabeat-meu202.txt
new file mode 100644
index 0000000..4f0c82e
--- /dev/null
+++ b/logs/mtp-detect-toshiba-gigabeat-meu202.txt
@@ -0,0 +1,317 @@
+libmtp version: 0.2.5
+
+Attempting to connect device(s)
+PTP: Opening session
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0930
+   idProduct: 0018
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000059
+Device info:
+   Manufacturer: TOSHIBA
+   Model: TOSHIBA gigabeat U
+   Device version: 1.00US
+   Serial number: 1A5B23374455AA55
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 10.0;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9810: Get object references
+   9811: Set object references
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   9201: Report Added/Deleted Items
+Events supported:
+   None.
+Device Properties Supported:
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type READ ONLY
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: ObjectFileName STRING data type READ ONLY
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   3009: MP3
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type READ ONLY
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 22050, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 32000, MAX 320000, STEP 1 READ ONLY
+   3008: MS Wave
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type READ ONLY
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 22050, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 1, 2,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 705600, MAX 1536000, STEP 1 READ ONLY
+   3801: JPEG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type READ ONLY
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+   b802: Firmware
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type READ ONLY
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type READ ONLY
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 22050, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  READ ONLY
+      de9a: AudioBitRate UINT32 data type enumeration: 32000, 48000, 64000, 96000, 128000, 160000, 192000, 256000,  READ ONLY
+   300c: ASF
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type READ ONLY
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 22050, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  READ ONLY
+      de9a: AudioBitRate UINT32 data type enumeration: 32000, 48000, 64000, 96000, 128000, 160000, 192000, 256000,  READ ONLY
+   ba03: Abstract Audio Album
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type READ ONLY
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 320, STEP 1 READ ONLY
+      dc86: RepresentativeSampleData array of UINT8 data type byte array: GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type READ ONLY
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 1987833856
+      FreeSpaceInBytes: 166289408
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x30010005
+   Default playlist folder: 0x30010002
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: TOSHIBA gigabeat U
+   Synchronization partner: 84C4F957-962A-4BA7-860E-2BBBBD173ACD
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   RIFF WAVE file
+   JPEG file
+   Firmware file
+   Microsoft Windows Media Audio
+   Microsoft Advanced Systems Format
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20080128
+00:49:58Z#</VALUE><FLAG>DRM_CLK_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID
+private="1">MUE1QjIzMzc0NDU1QUE1NQAAAAA=</UNIQUEID><PUBLICKEY
+private="1">vlDwTQs9V09uBXIS1s2CC+zPPzQNdjdZHHqmAg5S0PKN/ijWLU49KA==</PUBLICKEY><KEYDATA>4lUBBtk+QkQM8aVdomZHDpjqSNQ=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>keivPI9BmZkdL0F8tPt+sk48qBmVFuiQoAk0QY0yVHKfEE3CUdWqGA==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>hopjarK0z1UYXjtbdLR833jQOv0=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.106.241</SECURITYVERSION><CERTIFICATE
+private="1">vlDwTQs9V09uBXIS1s2CC+zPPzQNdjdZHHqmAg5S0PKN/ijWLU49KAIEavHda6648B4acUdFjdlCtxOI/npxdS7UaBvWc5/qvMprJ0bBvEo6qeIv</CERTIFICATE></FALLBACK><CERTIFICATE
+type="GROUP"><DATA><NAME>TOSHIBA gigabeat</NAME>
+    <MANUFACTURER>TOSHIBA</MANUFACTURER>
+    <MAKE>TOSHIBA</MAKE>
+    <DISTRIBUTOR>TOSHIBA</DISTRIBUTOR>
+    <MODEL>MEUXXX</MODEL>
+    <SECURITYLEVEL>2000</SECURITYLEVEL>
+    <HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR>
+    <HARDWARE_VER_MINOR>1</HARDWARE_VER_MINOR>
+    <FIRMWARE_VER_MAJOR>2</FIRMWARE_VER_MAJOR>
+    <FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>
+    <FEATURES>
+        <CLOCK>2</CLOCK>
+        <SECURECLOCK>
+            <URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL>
+           
+<PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY>
+        </SECURECLOCK>
+        <METERING>1</METERING>
+        <LICENSE_ACQ>0</LICENSE_ACQ>
+        <LICENSE_SYNC>1</LICENSE_SYNC>
+        <ENCRYPTION>1</ENCRYPTION>
+        <SYMMETRIC_OPT>1</SYMMETRIC_OPT>
+    </FEATURES>
+    <LIMITS>
+        <MAXCHAINDEPTH>2</MAXCHAINDEPTH>
+        <MAXLICENSESIZE>10240</MAXLICENSESIZE>
+        <MAXHEADERSIZE>5120</MAXHEADERSIZE>
+   
+</LIMITS><PUBLICKEY>jEnTBNEUdeNO9vCxAeCzL6CdI3pkE4IR1wl6p70Ixx/5m+qG+96pPg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>WlcEK0NKu2YXWhBWnWJCQAROs4PshdCTEevBxyaG1qwj5WheXVWfDg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1621</AUTH_ID><PUBLICKEY>3EzYMThGosXetNLAQgw9jxk2tl1h2e869W48bnEW+T13t5udtnZdeg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>0ZMunnXroTdVa0ioUHlqlgCBWYDk8w9g+iV9MKrSDlBKbTqe+WaVPg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>1zim2b/my9FrK2roZlRmiyqYvh+1pbtIM01HGLR+KWovel+XSgbAMg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+Segmentation fault (core dumped)
diff --git a/logs/mtp-detect-toshiba-gigabeat-p10.txt b/logs/mtp-detect-toshiba-gigabeat-p10.txt
new file mode 100644
index 0000000..e3b6f3e
--- /dev/null
+++ b/logs/mtp-detect-toshiba-gigabeat-p10.txt
@@ -0,0 +1,159 @@
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0930
+   idProduct: 0011
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000000
+Device info:
+   Manufacturer: TOSHIBA
+   Model: gigabeat
+   Device version: %OUT_PAD:128%
+   Serial number: 4002F9D1641284A0
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1
+Supported operations:
+   0x1001
+   0x1002
+   0x1003
+   0x1004
+   0x1005
+   0x1006
+   0x1007
+   0x1008
+   0x1009
+   0x100b
+   0x100c
+   0x100d
+   0x1014
+   0x1015
+   0x1016
+   0x9802
+   0x9801
+   0x9803
+   0x9804
+   0x9805
+   0x9806
+   0x9808
+   0x9101
+   0x9102
+   0x9103
+   0x9104
+   0x9105
+   0x9106
+   0x9107
+   0x9108
+   0x9109
+   0x910a
+   0x910b
+   0x100f
+   0x97f1
+   0x97f2
+Events supported:
+   0x4002
+   0x4003
+Device Properties Supported:
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3009: MP3
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc08: DateCreated
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc9a: AlbumName
+      dc46: Artist
+      de93: SampleRate
+      de94: NumberOfChannels
+      de9a: AudioBitRate
+      dc44: Name
+      dc89: Duration
+   3008: MS Wave
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc08: DateCreated
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc9a: AlbumName
+      dc46: Artist
+      de93: SampleRate
+      de94: NumberOfChannels
+      de9a: AudioBitRate
+      dc44: Name
+      dc89: Duration
+   b901: WMA
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc08: DateCreated
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc9a: AlbumName
+      dc46: Artist
+      de93: SampleRate
+      de94: NumberOfChannels
+      de9a: AudioBitRate
+      dc44: Name
+      dc89: Duration
+      de99: AudioWAVECodec
+   3001: Association/Directory
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc05: AssociationType
+      dc07: ObjectFileName
+      dc08: DateCreated
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+      dc44: Name
+   3000: Undefined Type
+      dc01: StorageID
+      dc02: ObjectFormat
+      dc03: ProtectionStatus
+      dc04: ObjectSize
+      dc07: ObjectFileName
+      dc08: DateCreated
+      dc0b: ParentObject
+      dc41: PersistantUniqueObjectIdentifier
+      dc4f: NonConsumable
+Special directories:
+   Default music folder: 0x00000000
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Total bytes on device: 1022623744 (975 MB)
+   Free bytes on device: 1007583232 (960 MB)
+   Storage description: "Internal Storage"
+   Error getting battery info...
+libmtp supported (playable) filetypes:
+   ISO MPEG Audio Layer 3
+   RIFF WAVE file
+   Microsoft Windows Media Audio
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#19700101
+05:23:25Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>
+
diff --git a/logs/mtp-detect-toshiba-gigabeat-p20.txt b/logs/mtp-detect-toshiba-gigabeat-p20.txt
new file mode 100644
index 0000000..ce4ff5f
--- /dev/null
+++ b/logs/mtp-detect-toshiba-gigabeat-p20.txt
@@ -0,0 +1,250 @@
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0930
+   idProduct: 000f
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000000
+Device info:
+   Manufacturer: TOSHIBA
+   Model: gigabeat        
+   Device version: 3.021JP %OUT_PAD:128%
+   Serial number: 4002FDCCDF9B4AA3
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   100f: Format storage
+   97f1: Unknown(97f1)
+   97f2: Unknown(97f2)
+Events supported:
+   0x4002
+   0x4003
+Device Properties Supported:
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type READ ONLY
+      dc08: DateCreated STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+   3008: MS Wave
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type READ ONLY
+      dc08: DateCreated STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type READ ONLY
+      dc08: DateCreated STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 8000, 16000, 22050, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 430000, STEP 1 READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353, 304,  READ ONLY
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc07: ObjectFileName STRING data type READ ONLY
+      dc08: DateCreated STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc44: Name STRING data type GET/SET
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type READ ONLY
+      dc08: DateCreated STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 2017460224
+      FreeSpaceInBytes: 1945272320
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Internal Storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   RIFF WAVE file
+   Microsoft Windows Media Audio
+WMPInfo.xml Does not exist on this device
+<errors>
+
+
+low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0930
+   idProduct: 000f
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000000
+Device info:
+   Manufacturer: TOSHIBA
+   Model: gigabeat        
+   Device version: 3.021JP %OUT_PAD:128%
+   Serial number: 4002FDCCDF9B4AA3:128%
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   100f: Format storage
+   97f1: Unknown(97f1)
+   97f2: Unknown(97f2)
+Events supported:
+   0x4002
+   0x4003
+Device Properties Supported:
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3009: MP3
+   3008: MS Wave
+   b901: WMA
+   3001: Association/Directory
+   3000: Undefined Type
+Special directories:
+   Default music folder: 0x00000000
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   RIFF WAVE file
+   Microsoft Windows Media Audio
+OK.
diff --git a/logs/mtp-detect-toshiba-gigabeat-s.txt b/logs/mtp-detect-toshiba-gigabeat-s.txt
new file mode 100644
index 0000000..e91b5e7
--- /dev/null
+++ b/logs/mtp-detect-toshiba-gigabeat-s.txt
@@ -0,0 +1,458 @@
+$ mtp-detect
+libmtp version: 0.2.1
+
+Attempting to connect device(s)
+Detect: Successfully connected 1 devices
+USB low-level info:
+  Using kernel interface "usbfs"
+  bcdUSB: 512
+  bDeviceClass: 255
+  bDeviceSubClass: 0
+  bDeviceProtocol: 0
+  idVendor: 0930
+  idProduct: 0010
+  IN endpoint maxpacket: 512 bytes
+  OUT endpoint maxpacket: 512 bytes
+  Device flags: 0x00000001
+Microsoft device descriptor 0xee:
+       0000: 1203 4d00 5300 4600 5400 3100 3000 3000   ..M.S.F.T.1.0.0.
+       0010: fe00                                      ..
+Microsoft device response to control message 1, CMD 0xfe:
+       0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............
+       0010: 0001 4d54 5000 0000 0000 0000 0000 0000   ..MTP...........
+       0020: 0000 0000 0000 0000                       ........
+Device info:
+  Manufacturer: TOSHIBA
+  Model: gigabeat S
+  Device version: PMC: 2.11 (632:1400); Platform: 1.1 (632.4)
+  Serial number: 3c98dbd8 - d0a2274e - 80bd1ff8 - 8ee00652
+  Vendor extension ID: 0x00000006
+  Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 11.1; microsoft.com/WMPMCPREMCONT: 1.0
+Supported operations:
+  1001: get device info
+  1002: Open session
+  1003: Close session
+  1004: Get storage IDs
+  1005: Get storage info
+  1006: Get number of objects
+  1007: Get object handles
+  1008: Get object info
+  1009: Get object
+  100b: Delete object
+  100c: Send object info
+  100d: Send object
+  100f: Format storage
+  1010: Reset device
+  1014: Get device property description
+  1015: Get device property value
+  1016: Set device property value
+  1019: Move object
+  101b: Get partial object
+  9810: Get object references
+  9811: Set object references
+  9802: Get object property description
+  9807: Get interdependent property description
+  9801: Get object properties supported
+  9803: Get object property value
+  9804: Set object property value
+  9805: Get object property list
+  9806: Set object property list
+  9808: Send object property list
+  9101: Get secure time challenge
+  9102: Get secure time response
+  9103: Set license response
+  9104: Get sync list
+  9105: Send meter challenge query
+  9106: Get meter challenge
+  9107: Get meter response
+  9108: Clean data store
+  9109: Get license state
+  910a: Send WMDRM-PD Command
+  910b: Send WMDRM-PD Request
+  9201: Report Added/Deleted Items
+  9202: Report Acquired Items
+  9204: Unknown (9204)
+Events supported:
+  None.
+Device Properties Supported:
+  0xd181: Unknown property
+  0xd101: Secure Time
+  0xd401: Synchronization Partner
+  0x5001: Battery Level
+  0xd102: Device Certificate
+  0xd402: Friendly Device Name
+  0xd131: PlaysForSure ID
+Playable File (Object) Types and Object Properties Supported:
+  3009: MP3
+     dc44: Name STRING data type GET/SET
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc08: DateCreated STRING data type GET/SET
+     dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+     dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc0a: Keywords STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc07: ObjectFileName STRING data type GET/SET
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     d901: BuyFlag UINT8 data type enumeration: 0, 1,  GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+     de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 550000, STEP 1 READ ONLY
+     dc9a: AlbumName STRING data type READ ONLY
+     dc46: Artist STRING data type GET/SET
+     dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc95: MetaGenre UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+     de99: AudioWAVECodec UINT32 data type enumeration: 85,  READ ONLY
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+  b901: WMA
+     dc44: Name STRING data type GET/SET
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc08: DateCreated STRING data type GET/SET
+     dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+     dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc0a: Keywords STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc07: ObjectFileName STRING data type GET/SET
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     d901: BuyFlag UINT8 data type enumeration: 0, 1,  GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+     de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 1572864, STEP 1 READ ONLY
+     dc9a: AlbumName STRING data type READ ONLY
+     dc46: Artist STRING data type GET/SET
+     dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc95: MetaGenre UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+     de99: AudioWAVECodec UINT32 data type enumeration: 353, 355, 10,  READ ONLY
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+  3008: MS Wave
+     dc44: Name STRING data type GET/SET
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc08: DateCreated STRING data type GET/SET
+     dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+     dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+     dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc0a: Keywords STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc07: ObjectFileName STRING data type GET/SET
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     d901: BuyFlag UINT8 data type enumeration: 0, 1,  GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+     de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 1572864, STEP 1 READ ONLY
+     dc9a: AlbumName STRING data type READ ONLY
+     dc46: Artist STRING data type GET/SET
+     dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc95: MetaGenre UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+     de93: SampleRate UINT32 data type range: MIN 4000, MAX 48000, STEP 50 READ ONLY
+     de99: AudioWAVECodec UINT32 data type enumeration: 353, 85, 1, 2, 6, 17, 49,  READ ONLY
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+  300c: ASF
+     da84: unknown(da84) STRING data type GET/SET
+     dc44: Name STRING data type GET/SET
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+     dc08: DateCreated STRING data type GET/SET
+     dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc09: DateModified STRING data type GET/SET
+     de9d: FramesPerThousandSeconds UINT32 data type range: MIN 15000, MAX 30000, STEP 1 READ ONLY
+     dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+     dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+     dc0a: Keywords STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+     dc47: DateAuthored STRING data type GET/SET
+     dc07: ObjectFileName STRING data type GET/SET
+     da82: unknown(da82) UINT8 data type ANY 8BIT VALUE form GET/SET
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc4b: CopyrightInformation array of UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dea1: EncodingProfile STRING data type READ ONLY
+     da81: unknown(da81) STRING data type GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     da83: unknown(da83) UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+     de9e: KeyFrameDistance UINT32 data type enumeration: 3,  READ ONLY
+     dc9e: SubDescription array of UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc4c: Source STRING data type GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc95: MetaGenre UINT16 data type ANY 16BIT VALUE form GET/SET
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+     dc94: ParentalRating STRING data type GET/SET
+     da86: unknown(da86) STRING data type GET/SET
+     da85: unknown(da85) UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc98: Subtitle STRING data type GET/SET
+     de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 363520, STEP 1 READ ONLY
+     de99: AudioWAVECodec UINT32 data type enumeration: 353,  READ ONLY
+     de92: BitRateType UINT16 data type enumeration: 1, 2,  READ ONLY
+     de9f: BufferSize UINT32 data type enumeration: 3,  READ ONLY
+     dea0: EncodingQuality UINT32 data type enumeration: 50,  READ ONLY
+     de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+     de97: ScanDepth UINT16 data type enumeration: 1,  READ ONLY
+     de91: TotalBitRate UINT32 data type range: MIN 1, MAX 800000, STEP 1 READ ONLY
+     de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911, 827739479, 844516695, 1347833175, 844125783,  READ ONLY
+     de9c: VideoBitRate UINT32 data type range: MIN 1, MAX 736000, STEP 1 READ ONLY
+  b981: WMV
+     da84: unknown(da84) STRING data type GET/SET
+     dc44: Name STRING data type GET/SET
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+     dc08: DateCreated STRING data type GET/SET
+     dc89: Duration UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc09: DateModified STRING data type GET/SET
+     de9d: FramesPerThousandSeconds UINT32 data type range: MIN 15000, MAX 30000, STEP 1 READ ONLY
+     dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+     dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+     dc0a: Keywords STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+     dc47: DateAuthored STRING data type GET/SET
+     dc07: ObjectFileName STRING data type GET/SET
+     da82: unknown(da82) UINT8 data type ANY 8BIT VALUE form GET/SET
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc4b: CopyrightInformation array of UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dea1: EncodingProfile STRING data type READ ONLY
+     da81: unknown(da81) STRING data type GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     da83: unknown(da83) UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+     de9e: KeyFrameDistance UINT32 data type enumeration: 3,  READ ONLY
+     dc9e: SubDescription array of UINT16 data type ANY 16BIT VALUE form GET/SET
+     dc4c: Source STRING data type GET/SET
+     dc8c: Genre STRING data type GET/SET
+     dc95: MetaGenre UINT16 data type ANY 16BIT VALUE form GET/SET
+     de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  READ ONLY
+     dc94: ParentalRating STRING data type GET/SET
+     da86: unknown(da86) STRING data type GET/SET
+     da85: unknown(da85) UINT32 data type ANY 32BIT VALUE form GET/SET
+     dc98: Subtitle STRING data type GET/SET
+     de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+     de99: AudioWAVECodec UINT32 data type enumeration: 353,  READ ONLY
+     de92: BitRateType UINT16 data type enumeration: 1, 2,  READ ONLY
+     de9f: BufferSize UINT32 data type enumeration: 3,  READ ONLY
+     dea0: EncodingQuality UINT32 data type enumeration: 50,  READ ONLY
+     de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY
+     de97: ScanDepth UINT16 data type enumeration: 1,  READ ONLY
+     de91: TotalBitRate UINT32 data type range: MIN 1, MAX 800000, STEP 1 READ ONLY
+     de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911, 827739479, 844516695, 1347833175, 844125783,  READ ONLY
+     de9c: VideoBitRate UINT32 data type range: MIN 1, MAX 736000, STEP 1 READ ONLY
+  3801: JPEG
+     dc44: Name STRING data type GET/SET
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc88: Height UINT32 data type range: MIN 0, MAX 480, STEP 1 GET/SET
+     dc08: DateCreated STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+     dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+     dc0a: Keywords STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc87: Width UINT32 data type range: MIN 0, MAX 640, STEP 1 GET/SET
+     dc47: DateAuthored STRING data type GET/SET
+     dc07: ObjectFileName STRING data type GET/SET
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+  3804: BMP
+     dc44: Name STRING data type GET/SET
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc88: Height UINT32 data type range: MIN 0, MAX 480, STEP 1 GET/SET
+     dc08: DateCreated STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+     dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+     dc0a: Keywords STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc87: Width UINT32 data type range: MIN 0, MAX 640, STEP 1 GET/SET
+     dc47: DateAuthored STRING data type GET/SET
+     dc07: ObjectFileName STRING data type GET/SET
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+  3001: Association/Directory
+     dc44: Name STRING data type GET/SET
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc08: DateCreated STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+     dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+     dc0a: Keywords STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc07: ObjectFileName STRING data type GET/SET
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+  ba03: Abstract Audio Album
+     dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 320, STEP 1 READ ONLY
+     dc44: Name STRING data type GET/SET
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc08: DateCreated STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+     dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+     dc0a: Keywords STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc07: ObjectFileName STRING data type GET/SET
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337, GET/SET
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+     dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+     dc46: Artist STRING data type GET/SET
+     dc8c: Genre STRING data type GET/SET
+  ba05: Abstract Audio Video Playlist
+     dc44: Name STRING data type GET/SET
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc08: DateCreated STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+     dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+     dc0a: Keywords STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc07: ObjectFileName STRING data type GET/SET
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+  3000: Undefined Type
+     dc44: Name STRING data type GET/SET
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc08: DateCreated STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+     dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+     dc0a: Keywords STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc07: ObjectFileName STRING data type GET/SET
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+  b802: Firmware
+     dc44: Name STRING data type GET/SET
+     dc04: ObjectSize UINT64 data type READ ONLY
+     dc08: DateCreated STRING data type GET/SET
+     dc09: DateModified STRING data type GET/SET
+     dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+     dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+     dc0a: Keywords STRING data type GET/SET
+     dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+     dc07: ObjectFileName STRING data type GET/SET
+     dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+     dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+     dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+     dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+  StorageID: 0x00010001
+     StorageType: 0x0003
+     FilesystemType: 0x0002
+     AccessCapability: 0x0000
+     MaxCapacity: 29804494848
+     FreeSpaceInBytes: 29264216064
+     FreeSpaceInObjects: 4294967295
+     StorageDescription: Storage
+     VolumeIdentifier: 3c98dbd8 - d0a2274e - 80bd1ff8 - 8ee00652
+Special directories:
+  Default music folder: 0x08000002
+  Default playlist folder: 0x00000000
+  Default picture folder: 0x08000012
+  Default video folder: 0x08000001
+  Default organizer folder: 0x00000000
+  Default zencast folder: 0x00000000
+  Default album folder: 0x08000005
+  Default text folder: 0x00000000
+MTP-specific device properties:
+  Friendly name: (NULL)
+  Synchronization partner: (NULL)
+  Battery level 93 of 100 (93%)
+libmtp supported (playable) filetypes:
+  ISO MPEG-1 Audio Layer 3
+  Microsoft Windows Media Audio
+  RIFF WAVE file
+  Microsoft Advanced Systems Format
+  Microsoft Windows Media Video
+  JPEG file
+  BMP bitmap file
+  Firmware file
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20070908
+22:35:43Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID
+private="1">I7JMxYhMy06EuG4+cjB3rFuyrCY=</UNIQUEID><PUBLICKEY
+private="1">pkprBihWuZMZXU1ppUvFwcljFBDVoPH44NMSAo+G5XLfY/qXwHJAEQ==</PUBLICKEY><KEYDATA>n5eAkeU/mRs1Vzq9NY/xgIkmlws=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>q+pVw9b5+yPsZb29BciPRGCBLBPNcwCDb7KCU/5wWvcBQqgVYsMpBw==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>NZ9XLlac1576Wl4Isz1msc6AbkQ=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.104.7</SECURITYVERSION><CERTIFICATE
+private="1">pkprBihWuZMZXU1ppUvFwcljFBDVoPH44NMSAo+G5XLfY/qXwHJAEQIEaAcsAQEodskQHYzfp6Y4rQfI68tCWtwZ2EeK3mUfLutNILfgUfvjs+Eh</CERTIFICATE></FALLBACK><CERTIFICATE
+type="GROUP"><DATA><NAME>Gigabeat SX</NAME>
+   <MANUFACTURER>Toshiba</MANUFACTURER>
+   <MODEL>MESX</MODEL>
+   <HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR>
+   <HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR>
+   <SECURITYLEVEL>2000</SECURITYLEVEL>
+   <FEATURES>
+       <CLOCK>2</CLOCK>
+       <SECURECLOCK>
+           <URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL>
+
+<PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY>
+       </SECURECLOCK>
+       <METERING>1</METERING>
+       <LICENSE_ACQ>1</LICENSE_ACQ>
+       <LICENSE_SYNC>1</LICENSE_SYNC>
+       <ENCRYPTION>0</ENCRYPTION>
+       <SYMMETRIC_OPT>1</SYMMETRIC_OPT>
+   </FEATURES>
+   <LIMITS>
+       <MAXCHAINDEPTH>2</MAXCHAINDEPTH>
+       <MAXLICENSESIZE>10240</MAXLICENSESIZE>
+       <MAXHEADERSIZE>5120</MAXHEADERSIZE>
+
+</LIMITS><PUBLICKEY>mq9FuW1IisvTC7I+VFY5V07b739t9ZBFciSg/Ntg3Ezwk6lB1Zt2hA==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>M1PUu1j1eqHSezQOzt2/JTOy8XrB/pP4h6qWZXGxonNm270x/H2OgQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>875</AUTH_ID><PUBLICKEY>HLFlAm8b55EZcqjzoT5TXEAOVDoG+I2xwgbAWaV0WdOJ7aWD/+HwLQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>qsT0KdwKbh7V9DQs6A+ODoohSWp/KXaJgKtVph2ywIDDKjVNaUjIfg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>ksv+Gms8aGkBXflfmLTMuJ3C3lsrKElMFGcidxk3d756HCidX36vKQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+
+Device description WMPInfo.xml file:
+<DeviceInfo>
+   <WMP DeviceID="{D46CDC32-280A-4898-878C-D0B06CB9720D}"
+RelationshipID="{00000000-0000-0000-0000-000000000000}"/>
+</DeviceInfo>
+
+OK.
\ No newline at end of file
diff --git a/logs/mtp-detect-toshiba-gigabeat-t.txt b/logs/mtp-detect-toshiba-gigabeat-t.txt
new file mode 100644
index 0000000..4829dd3
--- /dev/null
+++ b/logs/mtp-detect-toshiba-gigabeat-t.txt
@@ -0,0 +1,461 @@
+libmtp version: 0.2.4
+
+Attempting to connect device(s)
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 255
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0930
+   idProduct: 0019
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: fe00                                   	..
+Microsoft device response to control message 1, CMD 0xfe:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Device info:
+   Manufacturer: TOSHIBA
+   Model: gigabeat T Series
+   Device version: PMC: 2.21 (2:0); Platform: 1.0 (2.4)
+   Serial number: 2882db60 - acee2c4e - 80bd1ff8 - 8ee00652
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 11.1; microsoft.com/WMPMCPREMCONT: 1.0
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1019: Move object
+   101b: Get partial object
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9807: Get interdependent property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   9204: Unknown (9204)
+Events supported:
+   None.
+Device Properties Supported:
+   0xd101: Secure Time
+   0xd401: Synchronization Partner
+   0x5001: Battery Level
+   0xd102: Device Certificate
+   0xd402: Friendly Device Name
+   0xd131: PlaysForSure ID
+Playable File (Object) Types and Object Properties Supported:
+   3009: MP3
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc08: DateCreated STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d901: BuyFlag UINT8 data type enumeration: 0, 1,  GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 550000, STEP 1 READ ONLY
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc95: MetaGenre UINT16 data type enumeration: 1, 17, 18, 19, 20, 21, 33, 34, 35, 36, 37, 38, 39, 40, 48,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+   b901: WMA
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc08: DateCreated STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d901: BuyFlag UINT8 data type enumeration: 0, 1,  GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 1572864, STEP 1 READ ONLY
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc95: MetaGenre UINT16 data type enumeration: 1, 17, 18, 19, 20, 21, 33, 34, 35, 36, 37, 38, 39, 40, 48,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 353, 355, 10,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+   3008: MS Wave
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc08: DateCreated STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d901: BuyFlag UINT8 data type enumeration: 0, 1,  GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 1572864, STEP 1 READ ONLY
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc95: MetaGenre UINT16 data type enumeration: 1, 17, 18, 19, 20, 21, 33, 34, 35, 36, 37, 38, 39, 40, 48,  GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de93: SampleRate UINT32 data type range: MIN 4000, MAX 48000, STEP 50 GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 353, 85, 1, 2, 6, 17, 49,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+   300c: ASF
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc09: DateModified STRING data type GET/SET
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 15000, MAX 30000, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4b: CopyrightInformation array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dea1: EncodingProfile STRING data type GET/SET
+      d901: BuyFlag UINT8 data type enumeration: 0, 1,  GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      de9e: KeyFrameDistance UINT32 data type range: MIN 3, MAX 3, STEP 1 GET/SET
+      dc9e: SubDescription array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc4c: Source STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc95: MetaGenre UINT16 data type enumeration: 1, 17, 18, 19, 20, 21, 33, 34, 35, 36, 37, 38, 39, 40, 48,  GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 1, MAX 800000, STEP 1 READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      dc94: ParentalRating STRING data type GET/SET
+      dc98: Subtitle STRING data type GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 363520, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 353,  READ ONLY
+      de92: BitRateType UINT16 data type enumeration: 1, 2,  GET/SET
+      de9f: BufferSize UINT32 data type range: MIN 3, MAX 3, STEP 1 GET/SET
+      dea0: EncodingQuality UINT32 data type range: MIN 50, MAX 50, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 GET/SET
+      de97: ScanDepth UINT16 data type range: MIN 1, MAX 1, STEP 1 READ ONLY
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911, 827739479, 844516695, 1347833175, 844125783,  GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 1, MAX 850000, STEP 1 READ ONLY
+   b981: WMV
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc09: DateModified STRING data type GET/SET
+      de9d: FramesPerThousandSeconds UINT32 data type range: MIN 15000, MAX 30000, STEP 1 GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc4b: CopyrightInformation array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dea1: EncodingProfile STRING data type GET/SET
+      d901: BuyFlag UINT8 data type enumeration: 0, 1,  GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      de9e: KeyFrameDistance UINT32 data type range: MIN 3, MAX 3, STEP 1 GET/SET
+      dc9e: SubDescription array of UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc4c: Source STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc95: MetaGenre UINT16 data type enumeration: 1, 17, 18, 19, 20, 21, 33, 34, 35, 36, 37, 38, 39, 40, 48,  GET/SET
+      de91: TotalBitRate UINT32 data type range: MIN 1, MAX 800000, STEP 1 READ ONLY
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      dc94: ParentalRating STRING data type GET/SET
+      dc98: Subtitle STRING data type GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 353,  READ ONLY
+      de92: BitRateType UINT16 data type enumeration: 1, 2,  GET/SET
+      de9f: BufferSize UINT32 data type range: MIN 3, MAX 3, STEP 1 GET/SET
+      dea0: EncodingQuality UINT32 data type range: MIN 50, MAX 50, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 GET/SET
+      de97: ScanDepth UINT16 data type range: MIN 1, MAX 1, STEP 1 READ ONLY
+      de9b: VideoFourCCCodec UINT32 data type enumeration: 861293911, 827739479, 844516695, 1347833175, 844125783,  GET/SET
+      de9c: VideoBitRate UINT32 data type range: MIN 1, MAX 850000, STEP 1 READ ONLY
+   3801: JPEG
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 480, STEP 1 GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 640, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+   3804: BMP
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 480, STEP 1 GET/SET
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 640, STEP 1 GET/SET
+      dc47: DateAuthored STRING data type GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+   3001: Association/Directory
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+   ba03: Abstract Audio Album
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 320, STEP 1 GET/SET
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  GET/SET
+      d901: BuyFlag UINT8 data type enumeration: 0, 1,  GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 240, STEP 1 GET/SET
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type byte array:  GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+   3000: Undefined Type
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+   b802: Firmware
+      dc44: Name STRING data type GET/SET
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc08: DateCreated STRING data type GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc0d: Hidden UINT16 data type enumeration: 0, 1,  GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc42: SyncID STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 4006084608
+      FreeSpaceInBytes: 2009071616
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Storage
+      VolumeIdentifier: 2882db60 - acee2c4e - 80bd1ff8 - 8ee00652
+Special directories:
+   Default music folder: 0x08000004
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x08000001
+   Default video folder: 0x08000003
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x08000007
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: {26D8149D-9189-4DE9-94AE-95594F674433}
+   Battery level 93 of 100 (93%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   RIFF WAVE file
+   Microsoft Advanced Systems Format
+   Microsoft Windows Media Video
+   JPEG file
+   BMP bitmap file
+   Firmware file
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20071209 13:16:57Z#</VALUE><FLAG>DRM_CLK_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">J/HelP1bwxt+od0lIBQ89K6osQM=</UNIQUEID><PUBLICKEY private="1">63A22JMMlPDkDz52xvYhZ8IlgiuGLAO1BwtWwr3UCgd4bNS7TAJ6Yg==</PUBLICKEY><KEYDATA>6WMSq6+xb26kp2b1Y6UiCxznxfw=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>1AjAYxDONoqxs3nhD48tu6GZZzwXKGlMbxuYltvfZhnsH0KH4Cbfhg==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>vet93M4zoQIS9dpUzV7B8tCQohs=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.107.223</SECURITYVERSION><CERTIFICATE private="1">63A22JMMlPDkDz52xvYhZ8IlgiuGLAO1BwtWwr3UCgd4bNS7TAJ6YgIEa99bh75g6t2c47iqa1ZszTIMmAEHJWXQwtmoOP0AehMAahmDacjdTNVC</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>gigabeat T401</NAME>

+    <MANUFACTURER>Toshiba Corporation</MANUFACTURER>

+    <MODEL>MEVT401</MODEL>

+    <FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR>

+    <FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>

+    <HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR>

+    <HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR>

+    <SECURITYLEVEL>2000</SECURITYLEVEL>

+    <FEATURES>

+        <CLOCK>2</CLOCK>

+	<SECURECLOCK>

+            <URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL>

+            <PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY>

+        </SECURECLOCK>

+        <METERING>1</METERING>

+        <LICENSE_ACQ>1</LICENSE_ACQ>

+        <LICENSE_SYNC>1</LICENSE_SYNC>

+        <ENCRYPTION>0</ENCRYPTION>

+	<SYMMETRIC_OPT>1</SYMMETRIC_OPT> 

+    </FEATURES>

+    <LIMITS>

+        <MAXCHAINDEPTH>2</MAXCHAINDEPTH>

+        <MAXLICENSESIZE>10240</MAXLICENSESIZE>

+        <MAXHEADERSIZE>5120</MAXHEADERSIZE>

+    </LIMITS><PUBLICKEY>x/vBRN5rpKG1OW0jXNKgqDIpTkp/I1cZ6KA/8rd8c3mSTHIAiFqGZQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>GdiWGnhYbYcHrGsVaqUG7iInUQDHy4P2VPb2pdlpseRYRlL4y5Cvbg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1859</AUTH_ID><PUBLICKEY>Mtp/WMYcetnBdGLVytzm+XJQEDQ6/+UG9C8pLCA74iN2l8HDoXU0DA==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>ocJTXNKCQIFdk5LDV8FNYkmL3jmyzys32TZTmvvfMdKr8CD8zOyAbA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>ELr3ZFG2DcsvpebAGBcr21qjnoNh9i4OJ1tSMkvAI9MSN0pMRdrgMw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+
+Device description WMPInfo.xml file:
+<DeviceInfo>

+    <WMP DeviceID="{4EFD62FB-F112-43C9-BF67-F54A41578BBB}" RelationshipID="{26D8149D-9189-4DE9-94AE-95594F674433}"/>

+</DeviceInfo>

+
+OK.
diff --git a/logs/mtp-detect-toshiba-gigabeat-u.txt b/logs/mtp-detect-toshiba-gigabeat-u.txt
new file mode 100644
index 0000000..a32ccdd
--- /dev/null
+++ b/logs/mtp-detect-toshiba-gigabeat-u.txt
@@ -0,0 +1,307 @@
+Attempting to connect device(s)
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0930
+   idProduct: 0016
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000000
+Device info:
+   Manufacturer: TOSHIBA
+   Model: TOSHIBA gigabeat U
+   Device version: 1.00JP
+   Serial number: 2AC1E2766155AA55
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 10.0;
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9810: Get object references
+   9811: Set object references
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   9201: Report Added/Deleted Items
+Events supported:
+   None.
+Device Properties Supported:
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd401: Synchronization Partner
+   0xd402: Device Friendly Name
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type READ ONLY
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc05: AssociationType UINT16 data type enumeration: 0, 1,  GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc07: ObjectFileName STRING data type READ ONLY
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   3009: MP3
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type READ ONLY
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 22050, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 32000, MAX 320000, STEP 1 READ ONLY
+   3008: MS Wave
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type READ ONLY
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type range: MIN 22050, MAX 48000, STEP 50 READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 1, 2,  READ ONLY
+      de9a: AudioBitRate UINT32 data type range: MIN 705600, MAX 1536000, STEP 1 READ ONLY
+   3801: JPEG
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type READ ONLY
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+   b802: Firmware
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type READ ONLY
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+   b901: WMA
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type READ ONLY
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 22050, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  READ ONLY
+      de9a: AudioBitRate UINT32 data type enumeration: 32000, 48000, 64000, 96000, 128000, 160000, 192000, 256000,  READ ONLY
+   300c: ASF
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type READ ONLY
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+      de93: SampleRate UINT32 data type enumeration: 22050, 32000, 44100, 48000,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  READ ONLY
+      de9a: AudioBitRate UINT32 data type enumeration: 32000, 48000, 64000, 96000, 128000, 160000, 192000, 256000,  READ ONLY
+   ba03: Abstract Audio Album
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type READ ONLY
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 240, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 320, STEP 1 READ ONLY
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc88: Height UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc07: ObjectFileName STRING data type READ ONLY
+      dc09: DateModified STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 1987833856
+      FreeSpaceInBytes: 1981644800
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000000
+   Default playlist folder: 0x30010002
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: TOSHIBA gigabeat U
+   Synchronization partner: 84C4F957-962A-4BA7-860E-2BBBBD173ACD
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   RIFF WAVE file
+   JPEG file
+   Firmware file
+   Microsoft Windows Media Audio
+   Microsoft Advanced Systems Format
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#19700330 02:33:55Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">MkFDMUUyNzY2MTU1QUE1NQAAAAA=</UNIQUEID><PUBLICKEY private="1">OvTV6pukNR1ihmLOUYfTwD9FzB0lLxb1EomZWEtWDp/F0iQTn6yOCA==</PUBLICKEY><KEYDATA>IEjO6O8xSK1cX96h/NZiRiAq+Is=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>yK0BfLy2B5yBxcxwuLoDLW3r5SB8QPe1VftNlyI1SIX4UIcVPt/LeA==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>cWwkf0IgOZFtz7JYqGD3vkpcFk8=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.106.241</SECURITYVERSION><CERTIFICATE private="1">OvTV6pukNR1ihmLOUYfTwD9FzB0lLxb1EomZWEtWDp/F0iQTn6yOCAIEavFLOUnXOVwqsP3kWiCaeKkN7sRRTS07FSjrDVXA4fZnESAeZ3zx4EYl</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>TOSHIBA gigabeat</NAME>

+    <MANUFACTURER>TOSHIBA</MANUFACTURER>

+    <MAKE>TOSHIBA</MAKE>

+    <DISTRIBUTOR>TOSHIBA</DISTRIBUTOR>

+    <MODEL>MEUXXX</MODEL>

+    <SECURITYLEVEL>2000</SECURITYLEVEL>

+    <HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR>

+    <HARDWARE_VER_MINOR>1</HARDWARE_VER_MINOR>

+    <FIRMWARE_VER_MAJOR>2</FIRMWARE_VER_MAJOR>

+    <FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>

+    <FEATURES>

+        <CLOCK>2</CLOCK>

+        <SECURECLOCK>

+            <URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL>

+            <PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY>

+        </SECURECLOCK>

+        <METERING>1</METERING>

+        <LICENSE_ACQ>0</LICENSE_ACQ>

+        <LICENSE_SYNC>1</LICENSE_SYNC>

+        <ENCRYPTION>1</ENCRYPTION>

+        <SYMMETRIC_OPT>1</SYMMETRIC_OPT>

+    </FEATURES>

+    <LIMITS>

+        <MAXCHAINDEPTH>2</MAXCHAINDEPTH>

+        <MAXLICENSESIZE>10240</MAXLICENSESIZE>

+        <MAXHEADERSIZE>5120</MAXHEADERSIZE>

+    </LIMITS><PUBLICKEY>jEnTBNEUdeNO9vCxAeCzL6CdI3pkE4IR1wl6p70Ixx/5m+qG+96pPg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>WlcEK0NKu2YXWhBWnWJCQAROs4PshdCTEevBxyaG1qwj5WheXVWfDg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1621</AUTH_ID><PUBLICKEY>3EzYMThGosXetNLAQgw9jxk2tl1h2e869W48bnEW+T13t5udtnZdeg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>0ZMunnXroTdVa0ioUHlqlgCBWYDk8w9g+iV9MKrSDlBKbTqe+WaVPg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>1zim2b/my9FrK2roZlRmiyqYvh+1pbtIM01HGLR+KWovel+XSgbAMg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+WMPInfo.xml Does not exist on this device
+OK.
+
+ 	  	 
diff --git a/logs/mtp-detect-toshiba-gigabeat-v30.txt b/logs/mtp-detect-toshiba-gigabeat-v30.txt
new file mode 100644
index 0000000..7f77ee3
--- /dev/null
+++ b/logs/mtp-detect-toshiba-gigabeat-v30.txt
@@ -0,0 +1,141 @@
+libmtp version: 0.2.2
+
+Attempting to connect device(s)
+PTP: Opening session
+Detect: Successfully connected 1 devices
+Error 2: PTP Layer error 02ff: get_all_metadata_fast(): could not get proplist of all objects.
+Error 2: (Look this up in ptp.h for an explanation.)
+Error 2: PTP Layer error 02ff: get_handles_recursively(): could not get object handles.
+Error 2: (Look this up in ptp.h for an explanation.)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 255
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0930
+   idProduct: 0014
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+        0000: 1203 4d00 5300 4600 5400 3100 3000 3000   ..M.S.F.T.1.0.0.
+        0010: fe00                                      ..
+Microsoft device response to control message 1, CMD 0xfe:
+        0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............
+        0010: 0001 4d54 5000 0000 0000 0000 0000 0000   ..MTP...........
+        0020: 0000 0000 0000 0000                       ........
+Potential MTP Device with VendorID:0930 and ProductID:0014 responded to control message 2 with a response that was too short. Problems may arrise but continuing
+Device info:
+   Manufacturer: TOSHIBA
+   Model: gigabeat V
+   Device version: PMC: 2.11 (632:1400); Platform: 1.0 (632.4)
+   Serial number: 019fdbe0 - acee5a4e - 80bd1ff8 - 8ee00652
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 11.1; microsoft.com/WMPMCPREMCONT: 1.0
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1019: Move object
+   101b: Get partial object
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9807: Get interdependent property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+   9201: Report Added/Deleted Items
+   9202: Report Acquired Items
+   9204: Unknown (9204)
+Events supported:
+   None.
+Device Properties Supported:
+   0xd181: Unknown property
+   0xd101: Secure Time
+   0xd401: Synchronization Partner
+   0x5001: Battery Level
+   0xd102: Device Certificate
+   0xd402: Friendly Device Name
+   0xd131: PlaysForSure ID
+Playable File (Object) Types and Object Properties Supported:
+   3009: MP3
+   b901: WMA
+   3008: MS Wave
+   300c: ASF
+   b981: WMV
+   3801: JPEG
+   3804: BMP
+   3001: Association/Directory
+   ba03: Abstract Audio Album
+   ba05: Abstract Audio Video Playlist
+   3000: Undefined Type
+   b802: Firmware
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 29804494848
+      FreeSpaceInBytes: 19031097344
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Storage
+      VolumeIdentifier: 019fdbe0 - acee5a4e - 80bd1ff8 - 8ee00652
+Special directories:
+   Default music folder: 0x00000000
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   RIFF WAVE file
+   Microsoft Advanced Systems Format
+   Microsoft Windows Media Video
+   JPEG file
+   BMP bitmap file
+   Firmware file
+Unable to acquire device certificate, perhaps this device does not support this
+Error 2: PTP Layer error 02ff: get_device_unicode_property(): failed to get unicode property.
+Error 2: (Look this up in ptp.h for an explanation.)
+WMPInfo.xml Does not exist on this device
+PTP: Closing session
+ERROR: Could not close session!
+OK.
diff --git a/logs/mtp-detect-toshiba-thrive-7.txt b/logs/mtp-detect-toshiba-thrive-7.txt
new file mode 100644
index 0000000..4946687
--- /dev/null
+++ b/logs/mtp-detect-toshiba-thrive-7.txt
@@ -0,0 +1,456 @@
+libmtp version: 1.1.2
+
+Listing raw device(s)
+   Found 1 device(s):
+   Toshiba: Thrive 7 (AT1S0) (18d1:7102) @ bus 0, dev 245
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 20
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 148
+   idVendor: 0806
+   idProduct: 2780
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 245
+      Device entry info:
+         Vendor: Toshiba
+         Vendor id: 0x18d1
+         Product: Thrive 7 (AT1S0)
+         Vendor id: 0x7102
+         Device flags: 0x08008106
+Device info:
+   Manufacturer: TOSHIBA
+   Model: AT1S0
+   Device version: 1.0
+   Serial number: 03806209447fb497
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 5854224384
+      FreeSpaceInBytes: 5150265244
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal Storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000003
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000008
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-tp-link-neffos-c5.log b/logs/mtp-detect-tp-link-neffos-c5.log
new file mode 100644
index 0000000..c344c6f
--- /dev/null
+++ b/logs/mtp-detect-tp-link-neffos-c5.log
@@ -0,0 +1,518 @@
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   2357:0314 @ bus 2, dev 14
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 2357
+   idProduct: 0314
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 14
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x2357
+         Product: (null)
+         Vendor id: 0x0314
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: TP-LINK
+   Model: Neffos C5
+   Device version: 1.0
+   Serial number: SSLF65EI494TINNR
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 10362871808
+      FreeSpaceInBytes: 6436573184
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: memoria del telefono
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: Neffos C5
+   Synchronization partner: Neffos C5
+   Battery level 87 of 100 (87%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-tp-link-neffos-x1.log b/logs/mtp-detect-tp-link-neffos-x1.log
new file mode 100644
index 0000000..f268b3d
--- /dev/null
+++ b/logs/mtp-detect-tp-link-neffos-x1.log
@@ -0,0 +1,539 @@
+
+
+
+---
+
+** [support-requests:#240] Device 0 (VID=2357 and PID=033c) is UNKNOWN in libmtp v1.1.13.**
+
+**Status:** open
+**Group:** unknown release
+**Created:** Fri Apr 21, 2017 08:43 AM UTC by Mikhail Morfikov
+**Last Updated:** Fri Apr 21, 2017 08:43 AM UTC
+**Owner:** nobody
+
+
+New Device: TP-LINK Neffos X1
+
+~~~
+$ mtp-detect
+libmtp version: 1.1.13
+
+Listing raw device(s)
+Device 0 (VID=2357 and PID=033c) is UNKNOWN in libmtp v1.1.13.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   2357:033c @ bus 2, dev 7
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+Error 1: Get Storage information failed.
+USB low-level info:
+   bcdUSB: 528
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 2357
+   idProduct: 033c
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 7
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x2357
+         Product: (null)
+         Vendor id: 0x033c
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: TP-Link
+   Model: Neffos X1
+   Device version: 1.0
+   Serial number: M7GEJB6T958575RC
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: Get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002 ((null))
+   0x4003 ((null))
+   0x4004 ((null))
+   0x4005 ((null))
+   0x4006 ((null))
+   0x4007 ((null))
+   0x400c ((null))
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Battery level 76 of 100 (75%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+~~~
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/support-requests/240/>
+
+
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/>
\ No newline at end of file
diff --git a/logs/mtp-detect-trekstor-ibeat-sweez-fm.txt b/logs/mtp-detect-trekstor-ibeat-sweez-fm.txt
new file mode 100644
index 0000000..c50efd6
--- /dev/null
+++ b/logs/mtp-detect-trekstor-ibeat-sweez-fm.txt
@@ -0,0 +1,210 @@
+Attempting to connect device(s)
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0402
+   idProduct: 0611
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000002
+Device info:
+   Manufacturer: Trekstor
+   Model: i.Beat sweez FM
+   Device version: V2.04.06
+   Serial number: 00000000000000403060000000002453
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com:1.0; microsoft.com/WMDRMPD: 10.1
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   101b: Get partial object
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   None.
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Device Friendly Name
+   0xd101: Secure Time
+   0xd102: Device Certificate
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+   3001: Association/Directory
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 65535000, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type enumeration: 48000, 44100, 32000, 24000, 22050, 16000, 12000, 11025,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 360000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 352,  READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+   b901: WMA
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 65535000, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type enumeration: 48000, 44100, 32000, 24000, 22050, 16000, 12000, 11025,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 360000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 353,  READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+   3009: MP3
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc09: DateModified STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 65535000, STEP 1 GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      de93: SampleRate UINT32 data type enumeration: 48000, 44100, 32000, 24000, 22050, 16000, 12000, 11025,  READ ONLY
+      de94: NumberOfChannels UINT16 data type enumeration: 2,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 360000, STEP 1 READ ONLY
+      de99: AudioWAVECodec UINT32 data type enumeration: 85,  READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+   300c: ASF
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+   ba05: Abstract Audio Video Playlist
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+   ba03: Abstract Audio Album
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc9b: AlbumArtist STRING data type GET/SET
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 2060180992
+      FreeSpaceInBytes: 109903872
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: i.Beat sweez FM 
+      VolumeIdentifier: 10000000000000403060000000002453
+Special directories:
+   Default music folder: 0x00000000
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: i.Beat sweez FM
+   Synchronization partner: Windows Media Player 10
+   Battery level 0 of 24 (0%)
+libmtp supported (playable) filetypes:
+   Microsoft Windows Media Audio
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Advanced Systems Format
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20040113 20:36:55Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">MDA0MDMwNjAwMDAwMDAwMDI0NTM=</UNIQUEID><PUBLICKEY private="1">H6xGkVu18CH1v3lGLZhg3CweLg5J9xcylHtvIfl93gvb598H3/nlZw==</PUBLICKEY><KEYDATA>VA+dyX2u0b9IRnjqQ/runjdCdSM=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>hZlIjGetjQoATRec1FGjMR7UGAmIpvLu8KHU76uwdY76ACnEn377Zg==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>FPliQA8qBOXr2yodiMFZrkKUiH4=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.102.207</SECURITYVERSION><CERTIFICATE private="1">H6xGkVu18CH1v3lGLZhg3CweLg5J9xcylHtvIfl93gvb598H3/nlZwIEZs9t5iPaik/F07xZZei5SMOZfwC5bJA4oO40hI87xErcvjaiaFsQMvhj</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>MTP Player</NAME><MANUFACTURER>Corp.</MANUFACTURER><MAKE>Corp.</MAKE><DESTRIBUTOR>Corp.</DESTRIBUTOR><MODEL>M</MODEL><SECURITYLEVEL>2000</SECURITYLEVEL><HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR><HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR><FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR><FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR><FEATURES><TEMPLATE>0</TEMPLATE><CLOCK>2</CLOCK><SECURECLOCK><URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL><PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY></SECURECLOCK><METERING>1</METERING><LICENSE_ACQ>1</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>1</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT></FEATURES><LIMITS><MAXCHAINDEPTH>2</MAXCHAINDEPTH><MAXLICENSESIZE>10240</MAXLICENSESIZE><MAXHEADERSIZE>5120</MAXHEADERSIZE></LIMITS><PUBLICKEY>yUtoiSoR3tOOYBKTaBj5l85u5YWA6Rn5AhKcdpxBtx4upnq4IIwfKw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>qD4E29L/HI5ATLe7WEY9fBRmu09Wd1kK30ycYGdOt6rSrTE/nwHIYg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>563</AUTH_ID><PUBLICKEY>9JYeS4F89sMRFfIRMl0pjW2R91N6uMQaAU8+y+vgpk/jwYfefh8bJg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>mamgYHOs28hXiXYisA90WGHDGxaWfdBOg2dQw9nQee/DXbrohTRgJw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>0ELrUZz3fYJRSe90/GsV/BxIp0Yvjnu09L9b4FKoiaP72GKS1i4uTA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>
+WMPInfo.xml Does not exist on this device
+OK.
diff --git a/logs/mtp-detect-trekstor-vibez.txt b/logs/mtp-detect-trekstor-vibez.txt
new file mode 100644
index 0000000..a163af3
--- /dev/null
+++ b/logs/mtp-detect-trekstor-vibez.txt
@@ -0,0 +1,775 @@
+libmtp version: 0.1.5
+
+Attempting to connect device(s)
+Detect: Successfully connected 1 devices
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 066f
+   idProduct: 842a
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000002
+Device info:
+   Manufacturer: TrekStor
+   Model: vibez
+   Device version: 1.04
+   Serial number: DED38326C6D6B14D
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMPPD: 10.0; microsoft.com/WMDRMPD: 10.1; cambridge.sigmatel.com: 1.0; 
+Supported operations:
+   1003: Close session
+   100b: Delete object
+   100f: Format storage
+   1001: get device info
+   1014: Get device property description
+   1015: Get device property value
+   1006: Get number of objects
+   1009: Get object
+   1007: Get object handles
+   1008: Get object info
+   9802: Get object property description
+   9805: Get object property list
+   9801: Get object properties supported
+   9803: Get object property value
+   9810: Get object references
+   101b: Get partial object
+   1004: Get storage IDs
+   1005: Get storage info
+   100a: Get thumbnail
+   1002: Open session
+   1017: Reset device property value
+   100d: Send object
+   100c: Send object info
+   9808: Send object property list
+   1016: Set device property value
+   9804: Set object property value
+   1012: Set object protection
+   9811: Set object references
+   9201: Report Added/Deleted Items
+   9820: Skip to next position in playlist
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Get meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Send WMDRM-PD Command
+   910b: Send WMDRM-PD Request
+Events supported:
+   None.
+Device Properties Supported:
+   0xd006: Unknown property
+   0xd101: Secure Time
+   0xd102: Device Certificate
+   0xd403: Volume Level
+   0xd410: Playback Rate
+   0xd411: Playback Object
+   0xd412: Playback Container Index
+   0xd413: Playback Position
+   0x501e: Artist
+   0xd003: Unknown property
+   0x5011: Date Time
+   0xd402: Device Friendly Name
+   0xd001: Unknown property
+   0xd005: Unknown property
+   0xd009: Unknown property
+   0xd401: Synchronization Partner
+Playable File (Object) Types and Object Properties Supported:
+   3009: MP3
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0,  GET/SET
+      de95: AudioBitDepth UINT32 data type enumeration: 16,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 0, MAX 448000, STEP 1 GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 80, 85,  READ ONLY
+      d805: unknown(d805) UINT8 data type ANY 8BIT VALUE form GET/SET
+      de92: BitRateType UINT16 data type enumeration: 1, 2,  GET/SET
+      d806: unknown(d806) UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc96: Composer STRING data type GET/SET
+      d80b: unknown(d80b) STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 2147483646, STEP 1 GET/SET
+      d80c: unknown(d80c) STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc93: LastAccessed STRING data type GET/SET
+      d80a: unknown(d80a) STRING data type GET/SET
+      dc9c: Mood STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      d80e: unknown(d80e) STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      d80d: unknown(d80d) STRING data type GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 1, MAX 1000, STEP 1 READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 1, MAX 1000000, STEP 1 READ ONLY
+      dc85: RepresentativeSampleDuration UINT32 data type range: MIN 0, MAX 3600000, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 1, MAX 1000, STEP 1 READ ONLY
+      de93: SampleRate UINT32 data type range: MIN 1, MAX 96000, STEP 1 READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d802: unknown(d802) UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 65535, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 65535, STEP 1 READ ONLY
+   b906: FLAC
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0,  GET/SET
+      de95: AudioBitDepth UINT32 data type enumeration: 16,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 0, MAX 40000000, STEP 1 GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 13,  READ ONLY
+      d805: unknown(d805) UINT8 data type ANY 8BIT VALUE form GET/SET
+      de92: BitRateType UINT16 data type enumeration: 1, 2,  GET/SET
+      d806: unknown(d806) UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc96: Composer STRING data type GET/SET
+      d80b: unknown(d80b) STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 2147483646, STEP 1 GET/SET
+      d80c: unknown(d80c) STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc93: LastAccessed STRING data type GET/SET
+      d80a: unknown(d80a) STRING data type GET/SET
+      dc9c: Mood STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      d80e: unknown(d80e) STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      d80d: unknown(d80d) STRING data type GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 1, MAX 1000, STEP 1 READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 1, MAX 1000000, STEP 1 READ ONLY
+      dc85: RepresentativeSampleDuration UINT32 data type range: MIN 0, MAX 3600000, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 1, MAX 1000, STEP 1 READ ONLY
+      de93: SampleRate UINT32 data type range: MIN 1, MAX 96000, STEP 1 READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d802: unknown(d802) UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 65535, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 65535, STEP 1 READ ONLY
+   b902: OGG
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0,  GET/SET
+      de95: AudioBitDepth UINT32 data type enumeration: 16,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 0, MAX 40000000, STEP 1 GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 12,  READ ONLY
+      d805: unknown(d805) UINT8 data type ANY 8BIT VALUE form GET/SET
+      de92: BitRateType UINT16 data type enumeration: 1, 2,  GET/SET
+      d806: unknown(d806) UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc96: Composer STRING data type GET/SET
+      d80b: unknown(d80b) STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 2147483646, STEP 1 GET/SET
+      d80c: unknown(d80c) STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc93: LastAccessed STRING data type GET/SET
+      d80a: unknown(d80a) STRING data type GET/SET
+      dc9c: Mood STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      d80e: unknown(d80e) STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      d80d: unknown(d80d) STRING data type GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 1, MAX 1000, STEP 1 READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 1, MAX 1000000, STEP 1 READ ONLY
+      dc85: RepresentativeSampleDuration UINT32 data type range: MIN 0, MAX 3600000, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 1, MAX 1000, STEP 1 READ ONLY
+      de93: SampleRate UINT32 data type range: MIN 1, MAX 96000, STEP 1 READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d802: unknown(d802) UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 65535, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 65535, STEP 1 READ ONLY
+   b901: WMA
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0,  GET/SET
+      de95: AudioBitDepth UINT32 data type enumeration: 16,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 0, MAX 640000, STEP 1 GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  READ ONLY
+      d805: unknown(d805) UINT8 data type ANY 8BIT VALUE form GET/SET
+      de92: BitRateType UINT16 data type enumeration: 1, 2,  GET/SET
+      d806: unknown(d806) UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc96: Composer STRING data type GET/SET
+      d80b: unknown(d80b) STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 2147483646, STEP 1 GET/SET
+      d80c: unknown(d80c) STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc93: LastAccessed STRING data type GET/SET
+      d80a: unknown(d80a) STRING data type GET/SET
+      dc9c: Mood STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      d80e: unknown(d80e) STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      d80d: unknown(d80d) STRING data type GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 1, MAX 1000, STEP 1 READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 1, MAX 1000000, STEP 1 READ ONLY
+      dc85: RepresentativeSampleDuration UINT32 data type range: MIN 0, MAX 3600000, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 1, MAX 1000, STEP 1 READ ONLY
+      de93: SampleRate UINT32 data type range: MIN 1, MAX 96000, STEP 1 READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d802: unknown(d802) UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 65535, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 65535, STEP 1 READ ONLY
+   300c: ASF
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0,  GET/SET
+      de95: AudioBitDepth UINT32 data type enumeration: 16,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 0, MAX 640000, STEP 1 GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 352, 353,  READ ONLY
+      d805: unknown(d805) UINT8 data type ANY 8BIT VALUE form GET/SET
+      de92: BitRateType UINT16 data type enumeration: 1, 2,  GET/SET
+      d806: unknown(d806) UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc96: Composer STRING data type GET/SET
+      d80b: unknown(d80b) STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 2147483646, STEP 1 GET/SET
+      d80c: unknown(d80c) STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc93: LastAccessed STRING data type GET/SET
+      d80a: unknown(d80a) STRING data type GET/SET
+      dc9c: Mood STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      d80e: unknown(d80e) STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      d80d: unknown(d80d) STRING data type GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 1, MAX 1000, STEP 1 READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 1, MAX 1000000, STEP 1 READ ONLY
+      dc85: RepresentativeSampleDuration UINT32 data type range: MIN 0, MAX 3600000, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 1, MAX 1000, STEP 1 READ ONLY
+      de93: SampleRate UINT32 data type range: MIN 1, MAX 96000, STEP 1 READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d802: unknown(d802) UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 65535, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 65535, STEP 1 READ ONLY
+   3008: MS Wave
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0,  GET/SET
+      de95: AudioBitDepth UINT32 data type enumeration: 16,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 0, MAX 40000000, STEP 1 GET/SET
+      de99: AudioWAVECodec UINT32 data type enumeration: 1, 2, 17,  READ ONLY
+      d805: unknown(d805) UINT8 data type ANY 8BIT VALUE form GET/SET
+      de92: BitRateType UINT16 data type enumeration: 1, 2,  GET/SET
+      d806: unknown(d806) UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc96: Composer STRING data type GET/SET
+      d80b: unknown(d80b) STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 2147483646, STEP 1 GET/SET
+      d80c: unknown(d80c) STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc93: LastAccessed STRING data type GET/SET
+      d80a: unknown(d80a) STRING data type GET/SET
+      dc9c: Mood STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      d80e: unknown(d80e) STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      d80d: unknown(d80d) STRING data type GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 1, MAX 1000, STEP 1 READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 1, MAX 1000000, STEP 1 READ ONLY
+      dc85: RepresentativeSampleDuration UINT32 data type range: MIN 0, MAX 3600000, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 1, MAX 1000, STEP 1 READ ONLY
+      de93: SampleRate UINT32 data type range: MIN 1, MAX 96000, STEP 1 READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d802: unknown(d802) UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 65535, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 65535, STEP 1 READ ONLY
+   3001: Association/Directory
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 1,  GET/SET
+      de95: AudioBitDepth UINT32 data type enumeration: 16,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 0, MAX 40000000, STEP 1 GET/SET
+      de99: AudioWAVECodec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d805: unknown(d805) UINT8 data type ANY 8BIT VALUE form GET/SET
+      de92: BitRateType UINT16 data type enumeration: 1, 2,  GET/SET
+      d806: unknown(d806) UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc96: Composer STRING data type GET/SET
+      d80b: unknown(d80b) STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 2147483646, STEP 1 GET/SET
+      d80c: unknown(d80c) STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc93: LastAccessed STRING data type GET/SET
+      d80a: unknown(d80a) STRING data type GET/SET
+      dc9c: Mood STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      d80e: unknown(d80e) STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      d80d: unknown(d80d) STRING data type GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 1, MAX 1000, STEP 1 READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 1, MAX 1000000, STEP 1 READ ONLY
+      dc85: RepresentativeSampleDuration UINT32 data type range: MIN 0, MAX 3600000, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 1, MAX 1000, STEP 1 READ ONLY
+      de93: SampleRate UINT32 data type range: MIN 1, MAX 96000, STEP 1 READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d802: unknown(d802) UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 65535, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 65535, STEP 1 READ ONLY
+   b802: Firmware
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0,  GET/SET
+      de95: AudioBitDepth UINT32 data type enumeration: 16,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 0, MAX 40000000, STEP 1 GET/SET
+      de99: AudioWAVECodec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d805: unknown(d805) UINT8 data type ANY 8BIT VALUE form GET/SET
+      de92: BitRateType UINT16 data type enumeration: 1, 2,  GET/SET
+      d806: unknown(d806) UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc96: Composer STRING data type GET/SET
+      d80b: unknown(d80b) STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 2147483646, STEP 1 GET/SET
+      d80c: unknown(d80c) STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc93: LastAccessed STRING data type GET/SET
+      d80a: unknown(d80a) STRING data type GET/SET
+      dc9c: Mood STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      d80e: unknown(d80e) STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      d80d: unknown(d80d) STRING data type GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 1, MAX 1000, STEP 1 READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 1, MAX 1000000, STEP 1 READ ONLY
+      dc85: RepresentativeSampleDuration UINT32 data type range: MIN 0, MAX 3600000, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 1, MAX 1000, STEP 1 READ ONLY
+      de93: SampleRate UINT32 data type range: MIN 1, MAX 96000, STEP 1 READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d802: unknown(d802) UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 65535, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 65535, STEP 1 READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0,  GET/SET
+      de95: AudioBitDepth UINT32 data type enumeration: 16,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 0, MAX 40000000, STEP 1 GET/SET
+      de99: AudioWAVECodec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d805: unknown(d805) UINT8 data type ANY 8BIT VALUE form GET/SET
+      de92: BitRateType UINT16 data type enumeration: 1, 2,  GET/SET
+      d806: unknown(d806) UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc96: Composer STRING data type GET/SET
+      d80b: unknown(d80b) STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 2147483646, STEP 1 GET/SET
+      d80c: unknown(d80c) STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc93: LastAccessed STRING data type GET/SET
+      d80a: unknown(d80a) STRING data type GET/SET
+      dc9c: Mood STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      d80e: unknown(d80e) STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      d80d: unknown(d80d) STRING data type GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 1, MAX 1000, STEP 1 READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 1, MAX 1000000, STEP 1 READ ONLY
+      dc85: RepresentativeSampleDuration UINT32 data type range: MIN 0, MAX 3600000, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 1, MAX 1000, STEP 1 READ ONLY
+      de93: SampleRate UINT32 data type range: MIN 1, MAX 96000, STEP 1 READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d802: unknown(d802) UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 65535, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 65535, STEP 1 READ ONLY
+   3801: JPEG
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0,  GET/SET
+      de95: AudioBitDepth UINT32 data type enumeration: 16,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 0, MAX 40000000, STEP 1 GET/SET
+      de99: AudioWAVECodec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d805: unknown(d805) UINT8 data type ANY 8BIT VALUE form GET/SET
+      de92: BitRateType UINT16 data type enumeration: 1, 2,  GET/SET
+      d806: unknown(d806) UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc96: Composer STRING data type GET/SET
+      d80b: unknown(d80b) STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 2147483646, STEP 1 GET/SET
+      d80c: unknown(d80c) STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc93: LastAccessed STRING data type GET/SET
+      d80a: unknown(d80a) STRING data type GET/SET
+      dc9c: Mood STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      d80e: unknown(d80e) STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      d80d: unknown(d80d) STRING data type GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 1, MAX 1000, STEP 1 READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 1, MAX 1000000, STEP 1 READ ONLY
+      dc85: RepresentativeSampleDuration UINT32 data type range: MIN 0, MAX 3600000, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 1, MAX 1000, STEP 1 READ ONLY
+      de93: SampleRate UINT32 data type range: MIN 1, MAX 96000, STEP 1 READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d802: unknown(d802) UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 65535, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 65535, STEP 1 READ ONLY
+   ba03: Abstract Audio Album
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0,  GET/SET
+      de95: AudioBitDepth UINT32 data type enumeration: 16,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 0, MAX 40000000, STEP 1 GET/SET
+      de99: AudioWAVECodec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d805: unknown(d805) UINT8 data type ANY 8BIT VALUE form GET/SET
+      de92: BitRateType UINT16 data type enumeration: 1, 2,  GET/SET
+      d806: unknown(d806) UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc96: Composer STRING data type GET/SET
+      d80b: unknown(d80b) STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 2147483646, STEP 1 GET/SET
+      d80c: unknown(d80c) STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc93: LastAccessed STRING data type GET/SET
+      d80a: unknown(d80a) STRING data type GET/SET
+      dc9c: Mood STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      d80e: unknown(d80e) STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      d80d: unknown(d80d) STRING data type GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 1, MAX 1000, STEP 1 READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 1, MAX 1000000, STEP 1 READ ONLY
+      dc85: RepresentativeSampleDuration UINT32 data type range: MIN 0, MAX 3600000, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 1, MAX 1000, STEP 1 READ ONLY
+      de93: SampleRate UINT32 data type range: MIN 1, MAX 96000, STEP 1 READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d802: unknown(d802) UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 65535, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 65535, STEP 1 READ ONLY
+   3000: Undefined Type
+      dc9b: AlbumArtist STRING data type GET/SET
+      dc9a: AlbumName STRING data type GET/SET
+      dc46: Artist STRING data type GET/SET
+      dc06: AssociationDesc UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc05: AssociationType UINT16 data type enumeration: 0,  GET/SET
+      de95: AudioBitDepth UINT32 data type enumeration: 16,  GET/SET
+      de9a: AudioBitRate UINT32 data type range: MIN 0, MAX 40000000, STEP 1 GET/SET
+      de99: AudioWAVECodec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      d805: unknown(d805) UINT8 data type ANY 8BIT VALUE form GET/SET
+      de92: BitRateType UINT16 data type enumeration: 1, 2,  GET/SET
+      d806: unknown(d806) UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc96: Composer STRING data type GET/SET
+      d80b: unknown(d80b) STRING data type GET/SET
+      dc08: DateCreated STRING data type READ ONLY
+      dc09: DateModified STRING data type READ ONLY
+      dc9d: DRMStatus UINT16 data type enumeration: 0, 1,  GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX 2147483646, STEP 1 GET/SET
+      d80c: unknown(d80c) STRING data type GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc0a: Keywords STRING data type GET/SET
+      dc93: LastAccessed STRING data type GET/SET
+      d80a: unknown(d80a) STRING data type GET/SET
+      dc9c: Mood STRING data type GET/SET
+      dc44: Name STRING data type GET/SET
+      dc4f: NonConsumable UINT8 data type enumeration: 0, 1,  GET/SET
+      de94: NumberOfChannels UINT16 data type enumeration: 1, 2,  GET/SET
+      dc07: ObjectFileName STRING data type GET/SET
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      d80e: unknown(d80e) STRING data type GET/SET
+      dc99: OriginalReleaseDate STRING data type GET/SET
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc03: ProtectionStatus UINT16 data type enumeration: 0, 1,  READ ONLY
+      d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      d80d: unknown(d80d) STRING data type GET/SET
+      dc86: RepresentativeSampleData array of UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: RepresentativeSampleHeight UINT32 data type range: MIN 1, MAX 1000, STEP 1 READ ONLY
+      dc82: RepresentativeSampleSize UINT32 data type range: MIN 1, MAX 1000000, STEP 1 READ ONLY
+      dc85: RepresentativeSampleDuration UINT32 data type range: MIN 0, MAX 3600000, STEP 1 READ ONLY
+      dc84: RepresentativeSampleWidth UINT32 data type range: MIN 1, MAX 1000, STEP 1 READ ONLY
+      de93: SampleRate UINT32 data type range: MIN 1, MAX 96000, STEP 1 READ ONLY
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc42: SyncID STRING data type GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET
+      d802: unknown(d802) UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc87: Width UINT32 data type range: MIN 0, MAX 65535, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 65535, STEP 1 READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 11984314368
+      FreeSpaceInBytes: 7448162336
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Intern
+      VolumeIdentifier: APDFBQ6B7D40        
+Special directories:
+   Default music folder: 0x00000000
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: vibez
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Free Lossless Audio Codec (FLAC)
+   Ogg container format
+   Microsoft Windows Media Audio
+   Microsoft Advanced Systems Format
+   RIFF WAVE file
+   Firmware file
+   JPEG file
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#19700101 00:00:00Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK>AG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">TbHWxiaD094KCgoKCgoKCgoKCgo=</UNIQUEID><PUBLICKEY private="1">lb+TWhA19FA+sD+8fEw8PAaJamIZIWURWRZ4x8z5tZ1cKDzwwQiVNg==</PUBLICKEY><KEYDATA>OvNcPBARCffbv5tHOzWPbPzl+3Q=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>3ZpQV/dynAhxFjt2SFd1WBnuNTo71D20h8uhLiEVlz5+zz8nW6SjRg==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>MD15HzfuqGHBUpvRtFdbPxqEQPc=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.102.207</SECURITYVERSION><CERTIFICATE private="1">lb+TWhA19FA+sD+8fEw8PAaJamIZIWURWRZ4x8z5tZ1cKDzwwQiVNgIEZs/AdAIRpqxdInYSUyr7KfBg4sZaQhtCiU3qzktHEbN8m+wvQg138pV8</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>Vibez</NAME>
+    <MANUFACTURER>Trekstor</MANUFACTURER>
+    <MAKE>Vibez</MAKE>
+    <DISTRIBUTOR>Trekstor</DISTRIBUTOR>
+    <MODEL>Vibez</MODEL>
+    <SECURITYLEVEL>2000</SECURITYLEVEL>
+    <HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR>
+    <HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR>
+    <FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR>
+    <FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR>
+    <FEATURES>
+        <CLOCK>2</CLOCK>
+	  <SECURECLOCK>
+		<URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL>
+		<PUBLICKEY>
+!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==
+</PUBLICKEY>
+	  </SECURECLOCK>
+        <METERING>1</METERING>
+        <LICENSE_ACQ>0</LICENSE_ACQ>
+        <LICENSE_SYNC>1</LICENSE_SYNC>
+        <ENCRYPTION>0</ENCRYPTION>
+  <SYMMETRIC_OPT>1</SYMMETRIC_OPT>
+    </FEATURES>
+    <LIMITS>
+        <MAXCHAINDEPTH>2</MAXCHAINDEPTH>
+        <MAXLICENSESIZE>10240</MAXLICENSESIZE>
+        <MAXHEADERSIZE>5120</MAXHEADERSIZE>
+    </LIMITS><PUBLICKEY>MtVWt83PgkhjT9lRpVhYPUTHODxsikSl/xFMNY+ZYKI8get5OBhxYQ==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>3CxqbuOoYXbh+4IEJU614yE0OIZl4DI/chWOUeXucVePKZm7wMsPZA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>563</AUTH_ID><PUBLICKEY>9JYeS4F89sMRFfIRMl0pjW2R91N6uMQaAU8+y+vgpk/jwYfefh8bJg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>mamgYHOs28hXiXYisA90WGHDGxaWfdBOg2dQw9nQee/DXbrohTRgJw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>0ELrUZz3fYJRSe90/GsV/BxIp0Yvjnu09L9b4FKoiaP72GKS1i4uTA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT>$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
+WMPInfo.xml Does not exist on this device
+OK.
diff --git a/logs/mtp-detect-viewpia-dr.txt b/logs/mtp-detect-viewpia-dr.txt
new file mode 100644
index 0000000..af0e146
--- /dev/null
+++ b/logs/mtp-detect-viewpia-dr.txt
@@ -0,0 +1,460 @@
+Listing raw device(s)
+Device 0 (VID=2207 and PID=0001) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   2207:0001 @ bus 1, dev 22
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 2207
+   idProduct: 0001
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 22
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x2207
+         Product: (null)
+         Vendor id: 0x0001
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: unknown
+   Model: VIEWPIA-DR
+   Device version: 1.0
+   Serial number: ????????
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 6297862144
+      FreeSpaceInBytes: 5853667228
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Interne opslag
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-vizio-vtab-1008.txt b/logs/mtp-detect-vizio-vtab-1008.txt
new file mode 100644
index 0000000..496845c
--- /dev/null
+++ b/logs/mtp-detect-vizio-vtab-1008.txt
@@ -0,0 +1,469 @@
+libmtp version: 1.1.3
+
+Listing raw device(s)
+   Found 1 device(s):
+   0489:e040 @ bus 5, dev 17
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0489
+   idProduct: e040
+   IN endpoint maxpacket: 64 bytes
+   OUT endpoint maxpacket: 64 bytes
+   Raw device info:
+      Bus location: 5
+      Device number: 17
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0489
+         Product: (null)
+         Vendor id: 0xe040
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Vizio
+   Model: VTAB1008
+   Device version: 1.0
+   Serial number: TFCILAAM2709275
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 2572316672
+      FreeSpaceInBytes: 2519248896
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Onboard Storage
+      VolumeIdentifier: (null)
+   StorageID: 0x00010001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 15911780352
+      FreeSpaceInBytes: 15853961216
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD Card
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000dae
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000db4
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-wiko-rainbow-up.txt b/logs/mtp-detect-wiko-rainbow-up.txt
new file mode 100644
index 0000000..5b208cd
--- /dev/null
+++ b/logs/mtp-detect-wiko-rainbow-up.txt
@@ -0,0 +1,507 @@
+$ mtp-detect
+libmtp version: 1.1.6
+
+Listing raw device(s)
+Device 0 (VID=0e8d and PID=201d) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   0e8d:201d @ bus 1, dev 22
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 0e8d
+   idProduct: 201d
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 22
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x0e8d
+         Product: (null)
+         Vendor id: 0x201d
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: WIKO
+   Model: RAINBOW UP
+   Device version: 1.0
+   Serial number: 0123456789ABCDEF
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+   0x4007
+   0x400c
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 5099319296
+      FreeSpaceInBytes: 1288712192
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Telefonspeicher
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: RAINBOW UP
+   Synchronization partner: RAINBOW UP
+   Battery level 50 of 100 (50%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
diff --git a/logs/mtp-detect-wileyfox-swift.txt b/logs/mtp-detect-wileyfox-swift.txt
new file mode 100644
index 0000000..e8dc6a2
--- /dev/null
+++ b/logs/mtp-detect-wileyfox-swift.txt
@@ -0,0 +1,526 @@
+libmtp version: 1.1.10
+
+Listing raw device(s)
+   Found 1 device(s):
+   2970:2281 @ bus 1, dev 9
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 2970
+   idProduct: 2281
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 9
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x2970
+         Product: (null)
+         Vendor id: 0x2281
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Wileyfox
+   Model: Wileyfox Swift
+   Device version: 1.0
+   Serial number: 988ee4e4
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+   0xc801
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0xc5170001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 15923150848
+      FreeSpaceInBytes: 5205622784
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: sdcard1
+      VolumeIdentifier: (null)
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 12952186880
+      FreeSpaceInBytes: 7301808128
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Mémoire de stockage interne
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Battery level 59 of 100 (58%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-wyplay-wyplayer.txt b/logs/mtp-detect-wyplay-wyplayer.txt
new file mode 100644
index 0000000..895a9af
--- /dev/null
+++ b/logs/mtp-detect-wyplay-wyplayer.txt
@@ -0,0 +1,298 @@
+libmtp version: 0.3.7
+
+Listing raw device(s)
+Device 0 (VID=1e53 and PID=0007) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development
+team
+   Found 1 device(s):
+   1e53:0007 @ bus 0, dev 5
+Attempting to connect device(s)
+Error 2: PTP Layer error 02fe: get_all_metadata_fast(): could not get
+proplist of all objects.
+Error 2: (Look this up in ptp.h for an explanation.)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 255
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 1e53
+   idProduct: 0007
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 5
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x1e53
+         Product: (null)
+         Vendor id: 0x0007
+         Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+    0000: 1203 4d00 5300 4600 5400 3100 3000 3000    ..M.S.F.T.1.0.0.
+    0010: 0100                                       ..
+Microsoft device response to control message 1, CMD 0x01:
+    0000: 2800 0000 0001 0400 0100 0000 0000 0000    (...............
+    0010: 0001 4d54 5000 0000 0000 0000 0000 0000    ..MTP...........
+    0020: 0000 0000 0000 0000                        ........
+Microsoft device response to control message 2, CMD 0x01:
+    0000: 2800 0000 0001 0400 0100 0000 0000 0000    (...............
+    0010: 0001 4d54 5000 0000 0000 0000 0000 0000    ..MTP...........
+    0020: 0000 0000 0000 0000                        ........
+Device info:
+   Manufacturer: Wyplay
+   Model: Wyplayer
+   Device version: 1.0
+   Serial number: 0000000000000000
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMPPD:
+10.0
+   Detected object size: 64 bits
+Supported operations:
+   1002: Open session
+   1003: Close session
+   1001: get device info
+   1014: Get device property description
+   1004: Get storage IDs
+   1005: Get storage info
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100c: Send object info
+   100d: Send object
+   1015: Get device property value
+   100b: Delete object
+   9802: Get object property description
+   9803: Get object property value
+   9801: Get object properties supported
+   9805: Get object property list
+   9804: Set object property value
+Events supported:
+   0x4001
+   0x4002
+   0x4003
+   0x4006
+   0x4007
+Device Properties Supported:
+   0xd405: Device Icon
+   0xd407: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3001: Association/Directory
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+   3009: MP3
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+   3008: MS Wave
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+   b901: WMA
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+   b902: OGG
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+   3007: AIFF
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+   b903: AAC
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+   300c: ASF
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+   3801: JPEG
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+   3804: BMP
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+   300a: MS AVI
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+   3000: Undefined Type
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+   3800: Defined Type
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+   b900: Undefined Audio
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+   b980: Undefined Video
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+   300b: MPEG
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+   380b: PNG
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+   3807: GIF
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+   380d: TIFF
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+   ba11: M3U Playlist
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+   b984: 3GP
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+   b982: MP4
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET
+Storage Devices:
+   StorageID: 0x10000001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 998328475648
+      FreeSpaceInBytes: 408285995008
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Local HDD
+      VolumeIdentifier: 0123456789
+Special directories:
+   Default music folder: 0x00000002
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   RIFF WAVE file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Microsoft Advanced Systems Format
+   JPEG file
+   BMP bitmap file
+   Audio Video Interleave
+   Undefined audio file
+   Undefined video file
+   MPEG video stream
+   Portable Network Graphics
+   GIF bitmap file
+   TIFF bitmap file
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+Unable to acquire device certificate, perhaps this device does not support
+this
+OK.
diff --git a/logs/mtp-detect-xiaomi-1ltew.txt b/logs/mtp-detect-xiaomi-1ltew.txt
new file mode 100644
index 0000000..ddd2e3e
--- /dev/null
+++ b/logs/mtp-detect-xiaomi-1ltew.txt
@@ -0,0 +1,527 @@
+root@# mtp-detect
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.
+libmtp version: 1.1.8
+
+Listing raw device(s)
+Device 0 (VID=2717 and PID=1360) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development
+team
+   Found 1 device(s):
+   2717:1360 @ bus 2, dev 15
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+^C
+root@debextel:/home/greg/libmtp-git# mtp-detect
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.
+libmtp version: 1.1.8
+
+Listing raw device(s)
+Device 0 (VID=2717 and PID=1360) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development
+team
+   Found 1 device(s):
+   2717:1360 @ bus 2, dev 15
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 2717
+   idProduct: 1360
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 15
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x2717
+         Product: (null)
+         Vendor id: 0x1360
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Xiaomi
+   Model: HM NOTE 1LTEW
+   Device version: 1.0
+   Serial number: cc1999e8
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ
+      ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ
+      ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ
+      ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ
+      ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ
+      ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ
+      ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ
+      ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ
+      ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ
+      ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ
+      ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ
+      ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ
+      ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ
+      ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ
+      ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ
+      ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ
+      ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ
+      ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ
+      ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ
+      ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ
+      ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ
+      ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ
+      ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ
+      ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ
+      ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ
+      ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ
+      ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 6099181568
+      FreeSpaceInBytes: 0
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 7939817472
+      FreeSpaceInBytes: 6184402944
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD card
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-xiaomi-2014811.txt b/logs/mtp-detect-xiaomi-2014811.txt
new file mode 100644
index 0000000..590b0d6
--- /dev/null
+++ b/logs/mtp-detect-xiaomi-2014811.txt
@@ -0,0 +1,484 @@
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.Device 0 (VID=2717 and PID=ff68) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+libmtp version: 1.1.6
+
+Listing raw device(s)
+   Found 1 device(s):
+   2717:ff68 @ bus 2, dev 7
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 2717
+   idProduct: ff68
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 7
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x2717
+         Product: (null)
+         Vendor id: 0xff68
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Xiaomi
+   Model: 2014811
+   Device version: 1.0
+   Serial number: 2a20908
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 5752971264
+      FreeSpaceInBytes: 3875241984
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 23150018560
+      FreeSpaceInBytes: 19158695936
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD card
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-xiaomi-hm-note.txt b/logs/mtp-detect-xiaomi-hm-note.txt
new file mode 100644
index 0000000..869823a
--- /dev/null
+++ b/logs/mtp-detect-xiaomi-hm-note.txt
@@ -0,0 +1,1054 @@
+From noreply@sourceforge.net Sat Apr  4 15:52:07 2015
+Return-Path: <noreply@sourceforge.net>
+Received: from drew ([unix socket]) (authenticated user=jet bits=0)
+	by drew (Cyrus v2.1.18-IPv6-Debian-2.1.18-5.1) with LMTP; Sat, 04 Apr 2015 15:51:56 +0200
+X-Sieve: CMU Sieve 2.2
+X-Spam-Checker-Version: SpamAssassin 3.1.9 (2007-02-13) on drew.franken.de
+X-Spam-Level: 
+X-Spam-Status: No, score=-11.2 required=5.0 tests=BAYES_00,DK_POLICY_SIGNSOME,
+	HTML_10_20,HTML_MESSAGE,RCVD_IN_DNSWL_MED,UPPERCASE_25_50 autolearn=disabled
+	version=3.1.9
+X-Original-To: marcus@jet.franken.de
+Received: from mx.sourceforge.net (mx.sourceforge.net [216.34.181.68])
+	by drew.franken.de (Postfix) with ESMTP id F33371C104EA3
+	for <marcus@jet.franken.de>; Sat,  4 Apr 2015 15:51:55 +0200 (CEST)
+Received-SPF: pass (sog-mx-2.v43.ch3.sourceforge.com: domain of sourceforge.net designates 172.29.29.121 as permitted sender) client-ip=172.29.29.121; envelope-from=noreply@sourceforge.net; helo=smtp.ch3.sourceforge.com;
+Received: from sfs-alluradaemon-1.v29.ch3.sourceforge.com ([172.29.29.121] helo=smtp.ch3.sourceforge.com)
+	by sog-mx-2.v43.ch3.sourceforge.com with esmtps (TLSv1:AES256-SHA:256)
+	(Exim 4.76)
+	id 1YeOUM-0006Rl-Sc
+	for marcusmeissner@users.sourceforge.net; Sat, 04 Apr 2015 13:51:54 +0000
+DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sourceforge.com; s=x;
+	h=Date:Message-ID:Subject:Reply-To:From:To:MIME-Version:Content-Type; bh=jb6Evtha/n6nqJLB87YeEZRznqRvvW1aRLxRjRfLDy0=;
+	b=LSfxy/mXbJhEdLBGMj4hTvz5JkczVaHWaPEFbP5LNNMBbVXPak43bjj0QOu9C0DHhAfgkcqN1CfFroNRmPBoZNq1Sex8r9wBcxeCCm/JR7o0YoXcl6GhByNG1FOGn9Ppotx0TjQfq7E2EbSNb9idoKXQQZOOFAtI4EZHJqk6H3o=;
+Received: from localhost ([127.0.0.1] helo=sfs-alluradaemon-1.v29.ch3.sourceforge.com)
+	by sfs-alluradaemon-1.v29.ch3.sourceforge.com with esmtp (Exim 4.76)
+	(envelope-from <noreply@sourceforge.net>)
+	id 1YeOUM-0002oK-RS
+	for marcusmeissner@users.sf.net; Sat, 04 Apr 2015 13:51:54 +0000
+Content-Type: multipart/related;
+ boundary="===============2242638121515555801=="
+MIME-Version: 1.0
+To: noreply@in.sf.net
+From: "Jalte" <jalte78@users.sf.net>
+Reply-To: noreply@in.sf.net
+Subject: [libmtp:discussion] Moderation action required
+Message-ID: </p/libmtp/discussion/535190/adb4c2e498b19b19e626e82f5366c69375212873.discussion@libmtp.p.sourceforge.net>
+Date: Sat, 04 Apr 2015 13:51:54 +0000
+Status: RO
+Content-Length: 54429
+Lines: 1012
+
+This is a multi-part message in MIME format.
+--===============2242638121515555801==
+Content-Type: multipart/alternative;
+ boundary="===============0088739937140416551=="
+MIME-Version: 1.0
+
+--===============0088739937140416551==
+MIME-Version: 1.0
+Content-Type: text/plain; charset="us-ascii"
+Content-Transfer-Encoding: 7bit
+
+The following submission requires approval at https://sourceforge.net/p/libmtp/discussion/535190/moderate before it can be approved for posting:
+
+Hi All,
+
+New device to be added. Thank you
+
+================================
+Device Name : HM NOTE 1LTEW MIUI
+================================
+
+Listing raw device(s)
+Device 0 (VID=2717 and PID=1368) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   2717:1368 @ bus 1, dev 6
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 2717
+   idProduct: 1368
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 6
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x2717
+         Product: (null)
+         Vendor id: 0x1368
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Xiaomi
+   Model: HM NOTE 1LTEW
+   Device version: 1.0
+   Serial number: d0446d16
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 4977172480
+      FreeSpaceInBytes: 2090016768
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 16001269760
+      FreeSpaceInBytes: 14005075968
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD card
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+    
+
+OK.
+
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/discussion/535190/>
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/>
+--===============0088739937140416551==
+MIME-Version: 1.0
+Content-Type: text/html; charset="us-ascii"
+Content-Transfer-Encoding: 7bit
+
+<div class="markdown_content"><p>The following submission requires approval at <a href="https://sourceforge.net/p/libmtp/discussion/535190/moderate">https://sourceforge.net/p/libmtp/discussion/535190/moderate</a> before it can be approved for posting:</p>
+<p>Hi All,</p>
+<p>New device to be added. Thank you</p>
+<p>================================<br />
+Device Name : HM NOTE 1LTEW MIUI<br />
+================================</p>
+<p>Listing raw device(s)<br />
+Device 0 (VID=2717 and PID=1368) is UNKNOWN.<br />
+Please report this VID/PID and the device model to the libmtp development team<br />
+   Found 1 device(s):<br />
+   2717:1368 @ bus 1, dev 6<br />
+Attempting to connect device(s)<br />
+Android device detected, assigning default bug flags<br />
+USB low-level info:<br />
+   bcdUSB: 512<br />
+   bDeviceClass: 0<br />
+   bDeviceSubClass: 0<br />
+   bDeviceProtocol: 0<br />
+   idVendor: 2717<br />
+   idProduct: 1368<br />
+   IN endpoint maxpacket: 512 bytes<br />
+   OUT endpoint maxpacket: 512 bytes<br />
+   Raw device info:<br />
+      Bus location: 1<br />
+      Device number: 6<br />
+      Device entry info:<br />
+         Vendor: (null)<br />
+         Vendor id: 0x2717<br />
+         Product: (null)<br />
+         Vendor id: 0x1368<br />
+         Device flags: 0x18008106<br />
+Configuration 0, interface 0, altsetting 0:<br />
+   Interface description contains the string "MTP"<br />
+   Device recognized as MTP, no further probing.<br />
+Device info:<br />
+   Manufacturer: Xiaomi<br />
+   Model: HM NOTE 1LTEW<br />
+   Device version: 1.0<br />
+   Serial number: d0446d16<br />
+   Vendor extension ID: 0x00000006<br />
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;<br />
+   Detected object size: 64 bits<br />
+   Extensions:<br />
+        microsoft.com: 1.0<br />
+        android.com: 1.0<br />
+Supported operations:<br />
+   1001: get device info<br />
+   1002: Open session<br />
+   1003: Close session<br />
+   1004: Get storage IDs<br />
+   1005: Get storage info<br />
+   1006: Get number of objects<br />
+   1007: Get object handles<br />
+   1008: Get object info<br />
+   1009: Get object<br />
+   100a: Get thumbnail<br />
+   100b: Delete object<br />
+   100c: Send object info<br />
+   100d: Send object<br />
+   1014: Get device property description<br />
+   1015: Get device property value<br />
+   1016: Set device property value<br />
+   1017: Reset device property value<br />
+   101b: Get partial object<br />
+   9801: Get object properties supported<br />
+   9802: Get object property description<br />
+   9803: Get object property value<br />
+   9804: Set object property value<br />
+   9805: Get object property list<br />
+   9810: Get object references<br />
+   9811: Set object references<br />
+   95c1: Get Partial Object (64bit Offset)<br />
+   95c2: Send Partial Object<br />
+   95c3: Truncate Object<br />
+   95c4: Begin Edit Object<br />
+   95c5: End Edit Object<br />
+Events supported:<br />
+   0x4002<br />
+   0x4003<br />
+   0x4004<br />
+   0x4005<br />
+Device Properties Supported:<br />
+   0xd401: Synchronization Partner<br />
+   0xd402: Friendly Device Name<br />
+   0x5003: Image Size<br />
+Playable File (Object) Types and Object Properties Supported:<br />
+   3000: Undefined Type<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+   3001: Association/Directory<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+   3004: Text<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+   3005: HTML<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+   3008: MS Wave<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dce0: Display Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+      dc46: Artist STRING data type READ ONLY<br />
+      dc9a: Album Name STRING data type READ ONLY<br />
+      dc9b: Album Artist STRING data type READ ONLY<br />
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY<br />
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc8c: Genre STRING data type READ ONLY<br />
+      dc96: Composer STRING data type READ ONLY<br />
+   3009: MP3<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dce0: Display Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+      dc46: Artist STRING data type READ ONLY<br />
+      dc9a: Album Name STRING data type READ ONLY<br />
+      dc9b: Album Artist STRING data type READ ONLY<br />
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY<br />
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc8c: Genre STRING data type READ ONLY<br />
+      dc96: Composer STRING data type READ ONLY<br />
+   300b: MPEG<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dce0: Display Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+      dc46: Artist STRING data type READ ONLY<br />
+      dc9a: Album Name STRING data type READ ONLY<br />
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc48: Description STRING data type READ ONLY<br />
+   3801: JPEG<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dce0: Display Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+      dc48: Description STRING data type READ ONLY<br />
+   3802: TIFF EP<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+   3804: BMP<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dce0: Display Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+      dc48: Description STRING data type READ ONLY<br />
+   3807: GIF<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dce0: Display Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+      dc48: Description STRING data type READ ONLY<br />
+   3808: JFIF<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+   380b: PNG<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dce0: Display Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+      dc48: Description STRING data type READ ONLY<br />
+   380d: TIFF<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+   b901: WMA<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dce0: Display Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+      dc46: Artist STRING data type READ ONLY<br />
+      dc9a: Album Name STRING data type READ ONLY<br />
+      dc9b: Album Artist STRING data type READ ONLY<br />
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY<br />
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc8c: Genre STRING data type READ ONLY<br />
+      dc96: Composer STRING data type READ ONLY<br />
+   b902: OGG<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dce0: Display Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+      dc46: Artist STRING data type READ ONLY<br />
+      dc9a: Album Name STRING data type READ ONLY<br />
+      dc9b: Album Artist STRING data type READ ONLY<br />
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY<br />
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc8c: Genre STRING data type READ ONLY<br />
+      dc96: Composer STRING data type READ ONLY<br />
+   b903: AAC<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dce0: Display Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+      dc46: Artist STRING data type READ ONLY<br />
+      dc9a: Album Name STRING data type READ ONLY<br />
+      dc9b: Album Artist STRING data type READ ONLY<br />
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY<br />
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc8c: Genre STRING data type READ ONLY<br />
+      dc96: Composer STRING data type READ ONLY<br />
+   b982: MP4<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+   b983: MP2<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+   b984: 3GP<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dce0: Display Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+      dc46: Artist STRING data type READ ONLY<br />
+      dc9a: Album Name STRING data type READ ONLY<br />
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc48: Description STRING data type READ ONLY<br />
+   ba05: Abstract Audio Video Playlist<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+   ba10: WPL Playlist<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+   ba11: M3U Playlist<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+   ba14: PLS Playlist<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+   ba82: XMLDocument<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+   b906: FLAC<br />
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY<br />
+      dc04: Object Size UINT64 data type READ ONLY<br />
+      dc07: Object File Name STRING data type GET/SET<br />
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY<br />
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY<br />
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY<br />
+      dc44: Name STRING data type READ ONLY<br />
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY<br />
+Storage Devices:<br />
+   StorageID: 0x00010001<br />
+      StorageType: 0x0003 fixed RAM storage<br />
+      FilesystemType: 0x0002 generic hierarchical<br />
+      AccessCapability: 0x0000 read/write<br />
+      MaxCapacity: 4977172480<br />
+      FreeSpaceInBytes: 2090016768<br />
+      FreeSpaceInObjects: 1073741824<br />
+      StorageDescription: Internal storage<br />
+      VolumeIdentifier: (null)<br />
+   StorageID: 0x00020001<br />
+      StorageType: 0x0004 removable RAM storage<br />
+      FilesystemType: 0x0002 generic hierarchical<br />
+      AccessCapability: 0x0000 read/write<br />
+      MaxCapacity: 16001269760<br />
+      FreeSpaceInBytes: 14005075968<br />
+      FreeSpaceInObjects: 1073741824<br />
+      StorageDescription: SD card<br />
+      VolumeIdentifier: (null)<br />
+Special directories:<br />
+   Default music folder: 0x00000001<br />
+   Default playlist folder: 0xffffffff<br />
+   Default picture folder: 0x00000006<br />
+   Default video folder: 0xffffffff<br />
+   Default organizer folder: 0xffffffff<br />
+   Default zencast folder: 0xffffffff<br />
+   Default album folder: 0xffffffff<br />
+   Default text folder: 0xffffffff<br />
+MTP-specific device properties:<br />
+   Friendly name: (NULL)<br />
+   Synchronization partner: (NULL)<br />
+libmtp supported (playable) filetypes:<br />
+   Folder<br />
+   Text file<br />
+   HTML file<br />
+   RIFF WAVE file<br />
+   ISO MPEG-1 Audio Layer 3<br />
+   MPEG video stream<br />
+   JPEG file<br />
+   BMP bitmap file<br />
+   GIF bitmap file<br />
+   JFIF file<br />
+   Portable Network Graphics<br />
+   TIFF bitmap file<br />
+   Microsoft Windows Media Audio<br />
+   Ogg container format<br />
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3<br />
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)<br />
+   ISO MPEG-1 Audio Layer 2<br />
+   Abstract Playlist file<br />
+   XML file<br />
+   Free Lossless Audio Codec (FLAC)</p>
+<p>OK.</p>
+<hr />
+<p>Sent from sourceforge.net because you indicated interest in <a href="https://sourceforge.net/p/libmtp/discussion/535190">https://sourceforge.net/p/libmtp/discussion/535190/</a></p>
+<p>To unsubscribe from further messages, please visit <a href="https://sourceforge.net/auth/subscriptions">https://sourceforge.net/auth/subscriptions/</a></p></div>
+--===============0088739937140416551==--
+--===============2242638121515555801==--
+
+
diff --git a/logs/mtp-detect-xiaomi-mi2.txt b/logs/mtp-detect-xiaomi-mi2.txt
new file mode 100644
index 0000000..ee06add
--- /dev/null
+++ b/logs/mtp-detect-xiaomi-mi2.txt
@@ -0,0 +1,539 @@
+
+
+
+---
+
+** [bugs:#1339] Unknown Device for Xiaomi Mi2S (2717:ff48)**
+
+**Status:** open
+**Group:** 1.1.8
+**Created:** Thu May 14, 2015 01:29 PM UTC by Anonymous
+**Last Updated:** Thu May 14, 2015 01:29 PM UTC
+**Owner:** nobody
+
+VID is 2717, PID is ff48
+
+This is the output of mtp-detect:
+
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.
+libmtp version: 1.1.8
+
+Listing raw device(s)
+Device 0 (VID=2717 and PID=ff48) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   2717:ff48 @ bus 2, dev 3
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 2717
+   idProduct: ff48
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 3
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x2717
+         Product: (null)
+         Vendor id: 0xff48
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Xiaomi
+   Model: MI 2
+   Device version: 1.0
+   Serial number: 828b749d
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 19155308544
+      FreeSpaceInBytes: 457011200
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000007
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000845
+   Default video folder: 0x00000840
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Battery level 37 of 100 (37%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
+
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/bugs/1339/>
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/>
\ No newline at end of file
diff --git a/logs/mtp-detect-xiaomi-mi2s.txt b/logs/mtp-detect-xiaomi-mi2s.txt
new file mode 100644
index 0000000..3ed07a2
--- /dev/null
+++ b/logs/mtp-detect-xiaomi-mi2s.txt
@@ -0,0 +1,527 @@
+
+
+
+---
+
+** [bugs:#1400] Unknown Device for Xiaomi Mi2S (2717:ff40)**
+
+**Status:** open
+**Group:** 1.1.9
+**Created:** Sat Aug 29, 2015 04:03 PM UTC by Anonymous
+**Last Updated:** Sat Aug 29, 2015 04:03 PM UTC
+**Owner:** nobody
+
+
+libmtp version: 1.1.9
+
+Listing raw device(s)
+Device 0 (VID=2717 and PID=ff40) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   2717:ff40 @ bus 3, dev 6
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 2717
+   idProduct: ff40
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 3
+      Device number: 6
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x2717
+         Product: (null)
+         Vendor id: 0xff40
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Xiaomi
+   Model: MI 2
+   Device version: 1.0
+   Serial number: 9ad2920
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 25380225024
+      FreeSpaceInBytes: 24071401472
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000b3e
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Battery level 98 of 100 (98%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/bugs/1400/>
+
+
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/>
\ No newline at end of file
diff --git a/logs/mtp-detect-xiaomi-mipad.txt b/logs/mtp-detect-xiaomi-mipad.txt
new file mode 100644
index 0000000..dc360f9
--- /dev/null
+++ b/logs/mtp-detect-xiaomi-mipad.txt
@@ -0,0 +1,488 @@
+explo@ayyylmao ~ % sudo !!
+sudo mtp-detect
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.
+libmtp version: 1.1.8
+
+Listing raw device(s)
+Device 0 (VID=2717 and PID=0660) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   2717:0660 @ bus 3, dev 6
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+Error 7: Found a bad handle, trying to ignore it.
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 2717
+   idProduct: 0660
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 3
+      Device number: 6
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x2717
+         Product: (null)
+         Vendor id: 0x0660
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string “MTP”
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Xiaomi
+   Model: MI PAD
+   Device version: 1.0
+   Serial number: 8F036064
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+     dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 59504824320
+      FreeSpaceInBytes: 16387092480
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Internal storage
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000001
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000006
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-xiaomi-redmi2.txt b/logs/mtp-detect-xiaomi-redmi2.txt
new file mode 100644
index 0000000..0cfb1c0
--- /dev/null
+++ b/logs/mtp-detect-xiaomi-redmi2.txt
@@ -0,0 +1,485 @@
+libmtp version: 1.1.9
+
+Listing raw device(s)
+Device 0 (VID=2717 and PID=ff60) is UNKNOWN in libmtp v1.1.9.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   2717:ff60 @ bus 3, dev 13
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 2717
+   idProduct: ff60
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 3
+      Device number: 13
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x2717
+         Product: (null)
+         Vendor id: 0xff60
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Xiaomi
+   Model: 2014811
+   Device version: 1.0
+   Serial number: 114d8165
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 5534031872
+      FreeSpaceInBytes: 2647363584
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Pamięć wewnętrzna
+      VolumeIdentifier: (null)
+   StorageID: 0x00020001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 15939600384
+      FreeSpaceInBytes: 7094665216
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Karta SD
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x000024c8
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
diff --git a/logs/mtp-detect-yifang-tesla.txt b/logs/mtp-detect-yifang-tesla.txt
new file mode 100644
index 0000000..00a4a8d
--- /dev/null
+++ b/logs/mtp-detect-yifang-tesla.txt
@@ -0,0 +1,74 @@
+libmtp version: 1.1.5
+
+Listing raw device(s)
+   No raw devices found.
+
+
+lsusb -v:
+Bus 002 Device 009: ID 2207:0006  
+Device Descriptor:
+  bLength                18
+  bDescriptorType         1
+  bcdUSB               2.00
+  bDeviceClass            0 (Defined at Interface level)
+  bDeviceSubClass         0 
+  bDeviceProtocol         0 
+  bMaxPacketSize0        64
+  idVendor           0x2207 
+  idProduct          0x0006 
+  bcdDevice            2.22
+  iManufacturer           2 Yifang
+  iProduct                3 Tesla
+  iSerial                 4 STM1007HD0123456
+  bNumConfigurations      1
+  Configuration Descriptor:
+    bLength                 9
+    bDescriptorType         2
+    wTotalLength           32
+    bNumInterfaces          1
+    bConfigurationValue     1
+    iConfiguration          0 
+    bmAttributes         0xc0
+      Self Powered
+    MaxPower              500mA
+    Interface Descriptor:
+      bLength                 9
+      bDescriptorType         4
+      bInterfaceNumber        0
+      bAlternateSetting       0
+      bNumEndpoints           2
+      bInterfaceClass       255 Vendor Specific Class
+      bInterfaceSubClass     66 
+      bInterfaceProtocol      1 
+      iInterface              0 
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x81  EP 1 IN
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0040  1x 64 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x02  EP 2 OUT
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+Device Qualifier (for other device speed):
+  bLength                10
+  bDescriptorType         6
+  bcdUSB               2.00
+  bDeviceClass            0 (Defined at Interface level)
+  bDeviceSubClass         0 
+  bDeviceProtocol         0 
+  bMaxPacketSize0        64
+  bNumConfigurations      1
+Device Status:     0x0001
+  Self Powered
diff --git a/logs/mtp-detect-yota-phone.txt b/logs/mtp-detect-yota-phone.txt
new file mode 100644
index 0000000..e36d447
--- /dev/null
+++ b/logs/mtp-detect-yota-phone.txt
@@ -0,0 +1,118 @@
+
+
+
+---
+
+** [bugs:#1661] Yotaphone MTP**
+
+**Status:** open
+**Group:** 1.1.11
+**Created:** Wed Feb 22, 2017 07:51 PM UTC by Anonymous
+**Last Updated:** Wed Feb 22, 2017 07:51 PM UTC
+**Owner:** nobody
+
+
+gft reports the following:
+Device 0 (VID=2916 and PID=9139) is UNKNOWN in libmtp v1.1.11.
+Please report this VID/PID and the device model to the libmtp development team.
+Yotaphone2
+Gentoo
+~~~
+~ # /usr/bin/mtp-detect 
+libmtp version: 1.1.11
+
+Listing raw device(s)
+Device 0 (VID=2916 and PID=9139) is UNKNOWN in libmtp v1.1.11.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   2916:9139 @ bus 1, dev 3
+Attempting to connect device(s)
+ignoring libusb_claim_interface() = -6PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
+LIBMTP libusb: Attempt to reset device
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 528
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 2916
+   idProduct: 9139
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 3
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x2916
+         Product: (null)
+         Vendor id: 0x9139
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:                                                                                                      
+   Manufacturer: Yota Devices Limited                                                                             
+   Model: YotaPhone                                                                                               
+   Device version: 1.0                                                                                            
+   Serial number: c70ab674                                                                                        
+   Vendor extension ID: 0x00000006                                                                                
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;                                            
+   Detected object size: 64 bits                                                                                  
+   Extensions:                                                                                                    
+        microsoft.com: 1.0                                                                                        
+        android.com: 1.0            
+        
+Supported operations:                                                                                             
+   1001: get device info                                                                                          
+   1002: Open session                                                                                             
+   1003: Close session                                                                                            
+   1004: Get storage IDs                                                                                          
+   1005: Get storage info                                                                                         
+   1006: Get number of objects                                                                                    
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+
+~~~
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/bugs/1661/>
+
+
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/>
\ No newline at end of file
diff --git a/logs/mtp-detect-yota-phone2.txt b/logs/mtp-detect-yota-phone2.txt
new file mode 100644
index 0000000..c284caa
--- /dev/null
+++ b/logs/mtp-detect-yota-phone2.txt
@@ -0,0 +1,465 @@
+
+Listing raw device(s)
+Device 0 (VID=2916 and PID=914d) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   2916:914d @ bus 2, dev 9
+Attempting to connect device(s)
+Error 1: Get Storage information failed.
+Error 2: PTP Layer error 02fe: get_all_metadata_fast(): could not get proplist of all objects.
+Error 2: (Look this up in ptp.h for an explanation.)
+Error 2: PTP Layer error 02fe: get_handles_recursively(): could not get object handles.
+Error 2: (Look this up in ptp.h for an explanation.)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 528
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 2916
+   idProduct: 914d
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 9
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x2916
+         Product: (null)
+         Vendor id: 0x914d
+         Device flags: 0x00000000
+Configuration 0, interface 0, altsetting 0:
+   Interface implements PTP class, no further probing.
+Device info:
+   Manufacturer: Yota Devices Limited
+   Model: YotaPhone
+   Device version: 1.0
+   Serial number: 81e0b28e
+   Vendor extension ID: 0x00000000
+   Vendor extension description: (null)
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Unknown (9801)
+   9802: Unknown (9802)
+   9803: Unknown (9803)
+   9804: Unknown (9804)
+   9805: Unknown (9805)
+   9810: Unknown (9810)
+   9811: Unknown (9811)
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Unknown property
+   0xd402: Unknown property
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: Unknown(b901)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: Unknown(b902)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: Unknown(b903)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: Unknown(b982)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: Unknown(b983)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: Unknown(b984)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Unknown(ba05)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: Unknown(ba10)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: Unknown(ba11)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: Unknown(ba14)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: Unknown(ba82)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: Unknown(b906)
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
diff --git a/logs/mtp-detect-yotaphone2.txt b/logs/mtp-detect-yotaphone2.txt
new file mode 100644
index 0000000..d97ee7b
--- /dev/null
+++ b/logs/mtp-detect-yotaphone2.txt
@@ -0,0 +1,476 @@
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.
+Device 0 (VID=2916 and PID=f003) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+libmtp version: 1.1.8
+
+Listing raw device(s)
+   Found 1 device(s):
+   2916:f003 @ bus 2, dev 8
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 528
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 2916
+   idProduct: f003
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 8
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x2916
+         Product: (null)
+         Vendor id: 0xf003
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: Yota Devices Limited
+   Model: YotaPhone
+   Device version: 1.0
+   Serial number: 7eefbe8a
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Get Partial Object (64bit Offset)
+   95c2: Send Partial Object
+   95c3: Truncate Object
+   95c4: Begin Edit Object
+   95c5: End Edit Object
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 26899918848
+      FreeSpaceInBytes: 23182266368
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Внутренняя память
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00000010
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00000005
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-ziilabs-egg.txt b/logs/mtp-detect-ziilabs-egg.txt
new file mode 100644
index 0000000..73388da
--- /dev/null
+++ b/logs/mtp-detect-ziilabs-egg.txt
@@ -0,0 +1,418 @@
+libmtp version: 1.0.0
+
+Listing raw device(s)
+   Found 1 device(s):
+   041e:6000 @ bus 0, dev 12
+Attempting to connect device(s)
+USB low-level info:
+   Using kernel interface "usbfs"
+   bcdUSB: 512
+   bDeviceClass: 255
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 041e
+   idProduct: 6000
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 0
+      Device number: 12
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x041e
+         Product: (null)
+         Vendor id: 0x6000
+         Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+	0000: 1203 4d00 5300 4600 5400 3100 3000 3000	..M.S.F.T.1.0.0.
+	0010: 0100                                   	..
+Microsoft device response to control message 1, CMD 0x01:
+	0000: 2800 0000 0001 0400 0100 0000 0000 0000	(...............
+	0010: 0001 4d54 5000 0000 0000 0000 0000 0000	..MTP...........
+	0020: 0000 0000 0000 0000                    	........
+Microsoft device response to control message 2, CMD 0x01:
+	0000: 0c00 0000 0001 0500 0000 0000          	............
+Device info:
+   Manufacturer: ZiiLABS
+   Model: Zii EGG
+   Device version: 0.90.07
+   Serial number: 100000008C6C0A180000740800005000
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0;microsoft.com/WMPPD: 10.0;
+   Detected object size: 64 bits
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1007: Get object handles
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1014: Get device property description
+   1015: Get device property value
+   1006: Get number of objects
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   1010: Reset device
+   1012: Set object protection
+   1016: Set device property value
+   1017: Reset device property value
+   1019: Move object
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9807: Get interdependent property description
+   9810: Get object references
+   9811: Set object references
+Events supported:
+   0x4006
+Device Properties Supported:
+   0x5001: Battery Level
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0xd001: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3009: MP3
+      de99: Audio WAVE Codec UINT32 data type enumeration: 85,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: Audio Bit Depth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+   b901: WMA
+      de99: Audio WAVE Codec UINT32 data type enumeration: 352, 353,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 505000, STEP 1 READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: Audio Bit Depth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+   b906: FLAC
+      de99: Audio WAVE Codec UINT32 data type enumeration: 61868,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 64000, MAX 1536000, STEP 1 READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: Audio Bit Depth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+   3008: MS Wave
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: Audio Bit Depth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+   ba03: Abstract Audio Album
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 180, STEP 1 READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 24576, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 180, STEP 1 READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+   ba01: Abstract Multimedia Album
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+   3801: JPEG
+      dc88: Height UINT32 data type range: MIN 0, MAX 3744, STEP 1 GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 8192, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 10240, STEP 1 GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+   300a: MS AVI
+      de99: Audio WAVE Codec UINT32 data type enumeration: 85, 17, 1,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 1536000, STEP 1 READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 20, MAX 30000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      de91: Total Bit Rate UINT32 data type range: MIN 0, MAX 9000000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 844515635, 828601953, 878070084, 1482049860, 808802372, 875967048, 1196444237, 1395937357, 859189843, 861293911, 875967064, 1145656920,  READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX 8000000, STEP 1 READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 1280, STEP 1 GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 8192, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: Audio Bit Depth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+   300c: ASF
+      de99: Audio WAVE Codec UINT32 data type enumeration: 85, 352, 353, 17, 1,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 1536000, STEP 1 READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 20, MAX 30000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      de91: Total Bit Rate UINT32 data type range: MIN 0, MAX 9000000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 844515635, 828601953, 878070084, 1482049860, 808802372, 875967048, 1395937357, 859189843, 861293911, 875967064, 1145656920,  READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX 8000000, STEP 1 READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 1280, STEP 1 GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 8192, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: Audio Bit Depth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+   b981: WMV
+      de99: Audio WAVE Codec UINT32 data type enumeration: 352, 353,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 5000, MAX 505000, STEP 1 READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 20, MAX 30000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      de91: Total Bit Rate UINT32 data type range: MIN 0, MAX 9000000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 861293911,  READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX 3500000, STEP 1 READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 1280, STEP 1 GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 8192, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: Audio Bit Depth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+   b982: MP4
+      de99: Audio WAVE Codec UINT32 data type enumeration: 41222, 85, 17, 1,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 1536000, STEP 1 READ ONLY
+      de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 20, MAX 30000, STEP 1 READ ONLY
+      dc88: Height UINT32 data type range: MIN 0, MAX 720, STEP 1 GET/SET
+      de91: Total Bit Rate UINT32 data type range: MIN 0, MAX 9000000, STEP 1 READ ONLY
+      de9b: Video Four CC Codec UINT32 data type enumeration: 844515635, 828601953, 878070084, 1482049860, 808802372, 875967048, 1196444237, 1395937357, 859189843, 875967064, 1145656920,  READ ONLY
+      de9c: Video Bit Rate UINT32 data type range: MIN 0, MAX 8000000, STEP 1 READ ONLY
+      dc87: Width UINT32 data type range: MIN 0, MAX 1280, STEP 1 GET/SET
+      dc86: Representative Sample Data array of UINT8 data type byte array:  GET/SET
+      dc81: Representative Sample Format UINT16 data type enumeration: 14337,  READ ONLY
+      dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY
+      dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 8192, STEP 1 READ ONLY
+      dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 96, STEP 1 READ ONLY
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: Audio Bit Depth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc46: Artist STRING data type GET/SET
+      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET
+      dc8c: Genre STRING data type GET/SET
+      dc99: Original Release Date STRING data type DATETIME FORM GET/SET
+      dc9a: Album Name STRING data type GET/SET
+      de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000,  READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2,  READ ONLY
+      de95: Audio Bit Depth UINT32 data type enumeration: 8, 16,  READ ONLY
+      dc91: Use Count UINT32 data type ANY 32BIT VALUE form GET/SET
+      dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET
+      d901: Buy flag UINT8 data type ANY 8BIT VALUE form GET/SET
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+   b802: Firmware
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: Object File Name STRING data type REGULAR EXPRESSION FORM GET/SET
+      dc4f: Non Consumable UINT8 data type enumeration: 0, 1,  GET/SET
+      dc03: Protection Status UINT16 data type enumeration: 0, 1, 32771,  READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 32193048576
+      FreeSpaceInBytes: 31560761344
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Storage Media
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x0000000d
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x0000000e
+   Default video folder: 0x0000000f
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: Zii EGG
+   Synchronization partner: Zii EGG
+   Battery level 127 of 255 (49%)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   Microsoft Windows Media Audio
+   Free Lossless Audio Codec (FLAC)
+   RIFF WAVE file
+   Abstract Album file
+   Abstract Playlist file
+   JPEG file
+   Audio Video Interleave
+   Microsoft Advanced Systems Format
+   Microsoft Windows Media Video
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   Firmware file
+Unable to acquire device certificate, perhaps this device does not support this
+OK.
+
+ 	  	 
diff --git a/logs/mtp-detect-zoltartv.txt b/logs/mtp-detect-zoltartv.txt
new file mode 100644
index 0000000..23caf8a
--- /dev/null
+++ b/logs/mtp-detect-zoltartv.txt
@@ -0,0 +1,290 @@
+libmtp version: 0.2.6.1
+
+Attempting to connect device(s)
+Device 1 (VID=1e53 and PID=0006) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp
+development team
+PTP: Opening session
+Detect: Successfully connected 1 devices
+Error 2: PTP Layer error 02fe: get_all_metadata_fast(): could not get
+proplist of all objects.
+Error 2: (Look this up in ptp.h for an explanation.)
+USB low-level info:
+   Using kernel interface &quot;usbfs&quot;
+   bcdUSB: 512
+   bDeviceClass: 255
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 1e53
+   idProduct: 0006
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000000
+Microsoft device descriptor 0xee:
+        0000: 1203 4d00 5300 4600 5400 3100 3000 3000   ..M.S.F.T.1.0.0.
+        0010: 0100                                      ..
+Microsoft device response to control message 1, CMD 0x01:
+        0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............
+        0010: 0001 4d54 5000 0000 0000 0000 0000 0000   ..MTP...........
+        0020: 0000 0000 0000 0000                       ........
+Microsoft device response to control message 2, CMD 0x01:
+        0000: 2800 0000 0001 0400 0100 0000 0000 0000   (...............
+        0010: 0001 4d54 5000 0000 0000 0000 0000 0000   ..MTP...........
+        0020: 0000 0000 0000 0000                       ........
+Device info:
+   Manufacturer: 02 media
+   Model: ZoltarTV
+   Device version: 1.0
+   Serial number: 0000000000000000
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0;
+microsoft.com/WMPPD: 10.0
+   Detected object size: 64 bits
+Supported operations:
+   1002: Open session
+   1003: Close session
+   1001: get device info
+   1014: Get device property description
+   1004: Get storage IDs
+   1005: Get storage info
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100c: Send object info
+   100d: Send object
+   1015: Get device property value
+   100b: Delete object
+   9802: Get object property description
+   9803: Get object property value
+   9801: Get object properties supported
+   9805: Get object property list
+   9804: Set object property value
+Events supported:
+   0x4001
+   0x4002
+   0x4003
+   0x4006
+   0x4007
+Device Properties Supported:
+   0xd405: Device Icon
+   0xd407: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3001: Association/Directory
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+   3009: MP3
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+   3008: MS Wave
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+   b901: WMA
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+   b902: OGG
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+   3007: AIFF
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+   b903: AAC
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+   300c: ASF
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+   3801: JPEG
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+   3804: BMP
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+   300a: MS AVI
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+   3000: Undefined Type
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+   3800: Defined Type
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+   b900: Undefined Audio
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+   b980: Undefined Video
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+   300b: MPEG
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+   380b: PNG
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+   3807: GIF
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+   380d: TIFF
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+   ba11: M3U Playlist
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+   b984: 3GP
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+   b982: MP4
+      dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY
+      dc44: Name STRING data type GET/SET
+      dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: ObjectSize UINT64 data type READ ONLY
+      dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc07: ObjectFileName STRING data type GET/SET
+Storage Devices:
+   StorageID: 0x10000001
+      StorageType: 0x0003
+      FilesystemType: 0x0002
+      AccessCapability: 0x0000
+      MaxCapacity: 1498410237952
+      FreeSpaceInBytes: 1489321717760
+      FreeSpaceInObjects: 4294967295
+      StorageDescription: Local HDD
+      VolumeIdentifier: 0123456789
+Special directories:
+   Default music folder: 0x00000002
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x00000000
+   Default video folder: 0x00000000
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+   Default album folder: 0x00000000
+   Default text folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   ISO MPEG-1 Audio Layer 3
+   RIFF WAVE file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   Microsoft Advanced Systems Format
+   JPEG file
+   BMP bitmap file
+   Audio Video Interleave
+   Undefined audio file
+   Undefined video file
+   MPEG video stream
+   Portable Network Graphics
+   GIF bitmap file
+   TIFF bitmap file
+   MPEG-4 Part 14 Container Format (Audio+Video Empahsis)
+Unable to acquire device certificate, perhaps this device does not support this
+WMPInfo.xml Does not exist on this device
+PTP: Closing session
+OK.
diff --git a/logs/mtp-detect-zte-grand-x-in.txt b/logs/mtp-detect-zte-grand-x-in.txt
new file mode 100644
index 0000000..a818d71
--- /dev/null
+++ b/logs/mtp-detect-zte-grand-x-in.txt
@@ -0,0 +1,477 @@
+Device 0 (VID=19d2 and PID=0343) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+Error: Unable to open ~/.mtpz-data for reading.
+libmtp version: 1.1.5
+
+Listing raw device(s)
+   Found 1 device(s):
+   19d2:0343 @ bus 2, dev 14
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 19d2
+   idProduct: 0343
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 2
+      Device number: 14
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x19d2
+         Product: (null)
+         Vendor id: 0x0343
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: ZTE
+   Model: Grand X In
+   Device version: 1.0
+   Serial number: ????????
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 535805952
+      FreeSpaceInBytes: 529080320
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Interner Speicher
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-zte-v5.log b/logs/mtp-detect-zte-v5.log
new file mode 100644
index 0000000..28e1d82
--- /dev/null
+++ b/logs/mtp-detect-zte-v5.log
@@ -0,0 +1,511 @@
+libmtp version: 1.1.3
+
+Listing raw device(s)
+   Found 1 device(s):
+   19d2:ffce @ bus 1, dev 5
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 19d2
+   idProduct: ffce
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 5
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x19d2
+         Product: (null)
+         Vendor id: 0xffce
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: ZTE
+   Model: X9180
+   Device version: 1.0
+   Serial number: MSM8926
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+   0x4006
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+   0x5001: Battery Level
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3804: BMP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+      de99: Audio WAVE Codec UINT32 data type ANY 32BIT VALUE form READ ONLY
+      de92: Bit Rate Type UINT16 data type enumeration: 1, 2,  READ ONLY
+      de9a: Audio Bit Rate UINT32 data type range: MIN 1, MAX 1536000, STEP 1 READ ONLY
+      de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9,  READ ONLY
+      de93: Sample Rate UINT32 data type range: MIN 8000, MAX 48000, STEP 1 READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00010001
+      StorageType: 0x0004 removable RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 15803088896
+      FreeSpaceInBytes: 7506296832
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: SD-карта
+      VolumeIdentifier: (null)
+   StorageID: 0x00020001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 618385408
+      FreeSpaceInBytes: 9052160
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Внутренняя память
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0x00002110
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x00002114
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+   Battery level 23 of 100 (23%)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   BMP bitmap file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
diff --git a/logs/mtp-detect-zte-v790.txt b/logs/mtp-detect-zte-v790.txt
new file mode 100644
index 0000000..25c303d
--- /dev/null
+++ b/logs/mtp-detect-zte-v790.txt
@@ -0,0 +1,570 @@
+root@dkedves:/media/tmp# mtp-detect 
+libmtp version: 1.1.3
+
+Listing raw device(s)
+Device 0 (VID=19d2 and PID=0306) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   19d2:0306 @ bus 1, dev 46
+Attempting to connect device(s)
+
+PTP_ERROR_IO: failed to open session, trying again after resetting USB interface
+LIBMTP libusb: Attempt to reset device
+Android device detected, assigning default bug flags
+Error 1: Get Storage information failed.
+Error 2: PTP Layer error 02fe: get_handles_recursively(): could not get object handles.
+Error 2: (Look this up in ptp.h for an explanation.)
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 19d2
+   idProduct: 0306
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 46
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x19d2
+         Product: (null)
+         Vendor id: 0x0306
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: ZTE
+   Model: ZTE BLADE III
+   Device version: 1.0
+   Serial number: 61d67392
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0xffffffff
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
+root@dkedves:/media/tmp# lsusb -v -d 19d2:0306
+
+Bus 001 Device 046: ID 19d2:0306 ZTE WCDMA Technologies MSM 
+Device Descriptor:
+  bLength                18
+  bDescriptorType         1
+  bcdUSB               2.00
+  bDeviceClass            0 (Defined at Interface level)
+  bDeviceSubClass         0 
+  bDeviceProtocol         0 
+  bMaxPacketSize0        64
+  idVendor           0x19d2 ZTE WCDMA Technologies MSM
+  idProduct          0x0306 
+  bcdDevice            2.31
+  iManufacturer           2 Android
+  iProduct                3 Android
+  iSerial                 4 P772N10
+  bNumConfigurations      1
+  Configuration Descriptor:
+    bLength                 9
+    bDescriptorType         2
+    wTotalLength           62
+    bNumInterfaces          2
+    bConfigurationValue     1
+    iConfiguration          0 
+    bmAttributes         0xc0
+      Self Powered
+    MaxPower              500mA
+    Interface Descriptor:
+      bLength                 9
+      bDescriptorType         4
+      bInterfaceNumber        0
+      bAlternateSetting       0
+      bNumEndpoints           3
+      bInterfaceClass       255 Vendor Specific Class
+      bInterfaceSubClass    255 Vendor Specific Subclass
+      bInterfaceProtocol      0 
+      iInterface              8 MTP
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x81  EP 1 IN
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x01  EP 1 OUT
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x82  EP 2 IN
+        bmAttributes            3
+          Transfer Type            Interrupt
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x001c  1x 28 bytes
+        bInterval               6
+    Interface Descriptor:
+      bLength                 9
+      bDescriptorType         4
+      bInterfaceNumber        1
+      bAlternateSetting       0
+      bNumEndpoints           2
+      bInterfaceClass       255 Vendor Specific Class
+      bInterfaceSubClass     66 
+      bInterfaceProtocol      1 
+      iInterface              0 
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x83  EP 3 IN
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x02  EP 2 OUT
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+Device Qualifier (for other device speed):
+  bLength                10
+  bDescriptorType         6
+  bcdUSB               2.00
+  bDeviceClass            0 (Defined at Interface level)
+  bDeviceSubClass         0 
+  bDeviceProtocol         0 
+  bMaxPacketSize0        64
+  bNumConfigurations      1
+Device Status:     0x0000
+  (Bus Powered)
+
diff --git a/logs/mtp-detect-zte-v790_2.txt b/logs/mtp-detect-zte-v790_2.txt
new file mode 100644
index 0000000..8373e68
--- /dev/null
+++ b/logs/mtp-detect-zte-v790_2.txt
@@ -0,0 +1,542 @@
+libmtp version: 1.1.3
+
+Listing raw device(s)
+   Found 1 device(s):
+   19d2:0307 @ bus 1, dev 4
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   Interface has a kernel driver attached.
+   bcdUSB: 512
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 19d2
+   idProduct: 0307
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Raw device info:
+      Bus location: 1
+      Device number: 4
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x19d2
+         Product: (null)
+         Vendor id: 0x0307
+         Device flags: 0x08008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: ZTE
+   Model: Blade III
+   Device version: 1.0
+   Serial number: a1bc806c
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
+   Extensions:
+        microsoft.com: 1.0
+        android.com: 1.0
+Supported operations:
+   1001: get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100a: Get thumbnail
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1017: Reset device property value
+   101b: Get partial object
+   9801: Get object properties supported
+   9802: Get object property description
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9810: Get object references
+   9811: Set object references
+   95c1: Unknown (95c1)
+   95c2: Unknown (95c2)
+   95c3: Unknown (95c3)
+   95c4: Unknown (95c4)
+   95c5: Unknown (95c5)
+Events supported:
+   0x4002
+   0x4003
+   0x4004
+   0x4005
+Device Properties Supported:
+   0xd401: Synchronization Partner
+   0xd402: Friendly Device Name
+   0x5003: Image Size
+Playable File (Object) Types and Object Properties Supported:
+   3000: Undefined Type
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3001: Association/Directory
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3004: Text
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3005: HTML
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3008: MS Wave
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   3009: MP3
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   300b: MPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3801: JPEG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3802: TIFF EP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   3807: GIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   3808: JFIF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   380b: PNG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc48: Description STRING data type READ ONLY
+   380d: TIFF
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b901: WMA
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b902: OGG
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b903: AAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc9b: Album Artist STRING data type READ ONLY
+      dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc99: Original Release Date STRING data type DATETIME FORM READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc8c: Genre STRING data type READ ONLY
+      dc96: Composer STRING data type READ ONLY
+   b982: MP4
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b983: MP2
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b984: 3GP
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dce0: Display Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+      dc46: Artist STRING data type READ ONLY
+      dc9a: Album Name STRING data type READ ONLY
+      dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc48: Description STRING data type READ ONLY
+   ba05: Abstract Audio Video Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba10: WPL Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba11: M3U Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba14: PLS Playlist
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   ba82: XMLDocument
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+   b906: FLAC
+      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+      dc04: Object Size UINT64 data type READ ONLY
+      dc07: Object File Name STRING data type GET/SET
+      dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+      dc44: Name STRING data type READ ONLY
+      dc4e: Date Added STRING data type DATETIME FORM READ ONLY
+Storage Devices:
+   StorageID: 0x00020001
+      StorageType: 0x0003 fixed RAM storage
+      FilesystemType: 0x0002 generic hierarchical
+      AccessCapability: 0x0000 read/write
+      MaxCapacity: 2509824000
+      FreeSpaceInBytes: 2339561472
+      FreeSpaceInObjects: 1073741824
+      StorageDescription: Phone
+      VolumeIdentifier: (null)
+Special directories:
+   Default music folder: 0xffffffff
+   Default playlist folder: 0xffffffff
+   Default picture folder: 0x0000000f
+   Default video folder: 0xffffffff
+   Default organizer folder: 0xffffffff
+   Default zencast folder: 0xffffffff
+   Default album folder: 0xffffffff
+   Default text folder: 0xffffffff
+MTP-specific device properties:
+   Friendly name: (NULL)
+   Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+   Folder
+   Text file
+   HTML file
+   RIFF WAVE file
+   ISO MPEG-1 Audio Layer 3
+   MPEG video stream
+   JPEG file
+   GIF bitmap file
+   JFIF file
+   Portable Network Graphics
+   TIFF bitmap file
+   Microsoft Windows Media Audio
+   Ogg container format
+   Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+   MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+   ISO MPEG-1 Audio Layer 2
+   Abstract Playlist file
+   XML file
+   Free Lossless Audio Codec (FLAC)
+OK.
+
+
+
+
+
+Bus 001 Device 004: ID 19d2:0307 ZTE WCDMA Technologies MSM 
+Device Descriptor:
+  bLength                18
+  bDescriptorType         1
+  bcdUSB               2.00
+  bDeviceClass            0 (Defined at Interface level)
+  bDeviceSubClass         0 
+  bDeviceProtocol         0 
+  bMaxPacketSize0        64
+  idVendor           0x19d2 ZTE WCDMA Technologies MSM
+  idProduct          0x0307 
+  bcdDevice            2.31
+  iManufacturer           2 Android
+  iProduct                3 Android
+  iSerial                 4 P772N10_VIRGIN
+  bNumConfigurations      1
+  Configuration Descriptor:
+    bLength                 9
+    bDescriptorType         2
+    wTotalLength           39
+    bNumInterfaces          1
+    bConfigurationValue     1
+    iConfiguration          0 
+    bmAttributes         0xc0
+      Self Powered
+    MaxPower              500mA
+    Interface Descriptor:
+      bLength                 9
+      bDescriptorType         4
+      bInterfaceNumber        0
+      bAlternateSetting       0
+      bNumEndpoints           3
+      bInterfaceClass       255 Vendor Specific Class
+      bInterfaceSubClass    255 Vendor Specific Subclass
+      bInterfaceProtocol      0 
+      iInterface              5 MTP
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x81  EP 1 IN
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x01  EP 1 OUT
+        bmAttributes            2
+          Transfer Type            Bulk
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x0200  1x 512 bytes
+        bInterval               0
+      Endpoint Descriptor:
+        bLength                 7
+        bDescriptorType         5
+        bEndpointAddress     0x82  EP 2 IN
+        bmAttributes            3
+          Transfer Type            Interrupt
+          Synch Type               None
+          Usage Type               Data
+        wMaxPacketSize     0x001c  1x 28 bytes
+        bInterval               6
+Device Qualifier (for other device speed):
+  bLength                10
+  bDescriptorType         6
+  bcdUSB               2.00
+  bDeviceClass            0 (Defined at Interface level)
+  bDeviceSubClass         0 
+  bDeviceProtocol         0 
+  bMaxPacketSize0        64
+  bNumConfigurations      1
+Device Status:     0x0000
+  (Bus Powered)
diff --git a/logs/mtp-detect-zuk-z1.txt b/logs/mtp-detect-zuk-z1.txt
new file mode 100644
index 0000000..a6797ff
--- /dev/null
+++ b/logs/mtp-detect-zuk-z1.txt
@@ -0,0 +1,36 @@
+Listing raw device(s)
+Device 0 (VID=2b4c and PID=1005) is UNKNOWN in libmtp v1.1.12.
+Please report this VID/PID and the device model to the libmtp development team
+   Found 1 device(s):
+   2b4c:1005 @ bus 6, dev 2
+Attempting to connect device(s)
+Android device detected, assigning default bug flags
+USB low-level info:
+   bcdUSB: 768
+   bDeviceClass: 0
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 2b4c
+   idProduct: 1005
+   IN endpoint maxpacket: 1024 bytes
+   OUT endpoint maxpacket: 1024 bytes
+   Raw device info:
+      Bus location: 6
+      Device number: 2
+      Device entry info:
+         Vendor: (null)
+         Vendor id: 0x2b4c
+         Product: (null)
+         Vendor id: 0x1005
+         Device flags: 0x18008106
+Configuration 0, interface 0, altsetting 0:
+   Interface description contains the string "MTP"
+   Device recognized as MTP, no further probing.
+Device info:
+   Manufacturer: ZUK
+   Model: ZUK Z1
+   Device version: 1.0
+   Serial number: b8c1b4f2
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; android.com: 1.0;
+   Detected object size: 64 bits
diff --git a/logs/mtp-detect-zune.txt b/logs/mtp-detect-zune.txt
new file mode 100644
index 0000000..d3ba6d5
--- /dev/null
+++ b/logs/mtp-detect-zune.txt
@@ -0,0 +1,601 @@
+found 4 busses
+Autodetected device "Zune" (VID=045e,PID=0710) is known.
+PTP: Opening session
+Connected to MTP device.
+USB low-level info:
+   bcdUSB: 512
+   bDeviceClass: 255
+   bDeviceSubClass: 0
+   bDeviceProtocol: 0
+   idVendor: 045e
+   idProduct: 0710
+   IN endpoint maxpacket: 512 bytes
+   OUT endpoint maxpacket: 512 bytes
+   Device flags: 0x00000000
+Device info:
+   Manufacturer: Microsoft
+   Model: Zune
+   Device version: 01.01.00322.00-00309
+   Serial number: 009bdb53 - 0aedbc4e - 80bd1ff8 - 8ee00652
+   Vendor extension ID: 0x00000006
+   Vendor extension description: microsoft.com: 1.0; microsoft.com/WMDRMPD:10.1; microsoft.com/WMPPD: 11.1; microsoft.com/WMPMCPREMCONT: 1.0;microsoft.com/AAVT: 1.0; microsoft.com/WMDRMND: 1.0; microsoft.com/MTPZ: 1.0;
+Supported operations:
+   1001: Get device info
+   1002: Open session
+   1003: Close session
+   1004: Get storage IDs
+   1005: Get storage info
+   1006: Get number of objects
+   1007: Get object handles
+   1008: Get object info
+   1009: Get object
+   100b: Delete object
+   100c: Send object info
+   100d: Send object
+   100f: Format storage
+   1010: Reset device
+   1014: Get device property description
+   1015: Get device property value
+   1016: Set device property value
+   1019: Move object
+   101b: Get partial object
+   9810: Get object references
+   9811: Set object references
+   9802: Get object property description
+   9807: Get interdependent property description
+   9801: Get object properties supported
+   9803: Get object property value
+   9804: Set object property value
+   9805: Get object property list
+   9806: Set object property list
+   9808: Send object property list
+   9101: Get secure time challenge
+   9102: Get secure time response
+   9103: Set license response
+   9104: Get sync list
+   9105: Send meter challenge query
+   9106: Get meter challenge
+   9107: Set meter response
+   9108: Clean data store
+   9109: Get license state
+   910a: Unknown(910a)
+   910b: Unknown(910b)
+   9201: Unknown(9201)
+   9202: Unknown(9202)
+   9204: Unknown(9204)
+   9212: Unknown(9212)
+   9213: Unknown(9213)
+   9214: Unknown(9214)
+   9215: Unknown(9215)
+   9216: Unknown(9216)
+   9170: Unknown(9170)
+   9171: Unknown(9171)
+   9172: Unknown(9172)
+   9173: Unknown(9173)
+   9180: Unknown(9180)
+   9181: Unknown(9181)
+   9182: Unknown(9182)
+   9183: Unknown(9183)
+   9184: Unknown(9184)
+   9185: Unknown(9185)
+Events supported:
+   None.
+Device Properties Supported:
+   0xd181: Unknown property
+   0xd101: Secure Time
+   0xd401: Synchronization Partner
+   0x5001: Battery Level
+   0xd102: Device Certificate
+   0xd402: Device Friendly Name
+   0x5002: Functional Mode
+   0xd405: Device Icon
+   0xd103: Unknown property
+   0xd211: Unknown property
+   0xd131: Unknown property
+   0xd132: Unknown property
+   0xd215: Unknown property
+   0xd216: Unknown property
+Playable File (Object) Types and Object Properties Supported:
+   3009: MP3
+      dc44: Name
+      dc04: ObjectSize
+      dc08: DateCreated
+      dc89: Duration
+      dc09: DateModified
+      dc9d: DRMStatus
+      dc0d: unknown(dc0d)
+      dc8a: Rating
+      dc0a: Keywords
+      dc8f: SubscriptionContentID
+      dc4f: NonConsumable
+      dc07: ObjectFileName
+      da82: unknown(da82)
+      daa2: unknown(daa2)
+      dc02: ObjectFormat
+      dc8b: Track
+      dc0b: ParentObject
+      daa1: unknown(daa1)
+      dc01: StorageID
+      dc41: PersistantUniqueObjectIdentifier
+      dc03: ProtectionStatus
+      daa0: unknown(daa0)
+      de9a: AudioBitRate
+      dc9a: AlbumName
+      dc46: Artist
+      dc97: EffectiveRating
+      dc8c: Genre
+      dc95: MetaGenre
+      dc91: UseCount
+      de93: SampleRate
+      de99: AudioWAVECodec
+      de94: NumberOfChannels
+   b901: WMA
+      dc44: Name
+      dc04: ObjectSize
+      dc08: DateCreated
+      dc89: Duration
+      dc09: DateModified
+      dc9d: DRMStatus
+      dc0d: unknown(dc0d)
+      dc8a: Rating
+      dc0a: Keywords
+      dc8f: SubscriptionContentID
+      dc4f: NonConsumable
+      dc07: ObjectFileName
+      da82: unknown(da82)
+      daa2: unknown(daa2)
+      dc02: ObjectFormat
+      dc8b: Track
+      dc0b: ParentObject
+      daa1: unknown(daa1)
+      dc01: StorageID
+      dc41: PersistantUniqueObjectIdentifier
+      dc03: ProtectionStatus
+      daa0: unknown(daa0)
+      de9a: AudioBitRate
+      dc9a: AlbumName
+      dc46: Artist
+      dc97: EffectiveRating
+      dc8c: Genre
+      dc95: MetaGenre
+      dc91: UseCount
+      de93: SampleRate
+      de99: AudioWAVECodec
+      de94: NumberOfChannels
+   300c: ASF
+      da84: unknown(da84)
+      dc44: Name
+      dc04: ObjectSize
+      dc88: Height
+      dc08: DateCreated
+      dc89: Duration
+      dc09: DateModified
+      de9d: FramesPerThousandSeconds
+      dc9d: DRMStatus
+      dc0d: unknown(dc0d)
+      dc0a: Keywords
+      dc8f: SubscriptionContentID
+      dc4f: NonConsumable
+      dc87: Width
+      dc47: DateAuthored
+      dc07: ObjectFileName
+      da82: unknown(da82)
+      daa2: unknown(daa2)
+      dc02: ObjectFormat
+      dc4b: CopyrightInformation
+      dc0b: ParentObject
+      dea1: unknown(dea1)
+      da81: unknown(da81)
+      daa1: unknown(daa1)
+      dc01: StorageID
+      dc41: PersistantUniqueObjectIdentifier
+      da83: unknown(da83)
+      dc03: ProtectionStatus
+      dea0: EncodingQuality
+      daa0: unknown(daa0)
+      de9e: KeyFrameDistance
+      dc9e: SubDescription
+      dc4c: Source
+      dc8c: Genre
+      dc95: MetaGenre
+      de94: NumberOfChannels
+      dc94: ParentalRating
+      da86: unknown(da86)
+      da85: unknown(da85)
+      dc98: Subtitle
+      de9a: AudioBitRate
+      de99: AudioWAVECodec
+      de92: BitRateType
+      de9f: BufferSize
+      de93: SampleRate
+      de97: ScanDepth
+      de91: TotalBitRate
+      de9b: VideoFourCCCodec
+      de9c: VideoBitRate
+   b215: Unknown(b215)
+      dc44: Name
+      dc04: ObjectSize
+      dc08: DateCreated
+      dc89: Duration
+      dc09: DateModified
+      dc9d: DRMStatus
+      dc0d: unknown(dc0d)
+      dc8a: Rating
+      dc0a: Keywords
+      dc8f: SubscriptionContentID
+      dc4f: NonConsumable
+      dc07: ObjectFileName
+      da82: unknown(da82)
+      daa2: unknown(daa2)
+      dc02: ObjectFormat
+      dc8b: Track
+      dc0b: ParentObject
+      daa1: unknown(daa1)
+      dc01: StorageID
+      dc41: PersistantUniqueObjectIdentifier
+      dc03: ProtectionStatus
+      daa0: unknown(daa0)
+      de9a: AudioBitRate
+      dc9a: AlbumName
+      dc46: Artist
+      dc97: EffectiveRating
+      dc8c: Genre
+      dc95: MetaGenre
+      dc91: UseCount
+      de93: SampleRate
+      de99: AudioWAVECodec
+      de94: NumberOfChannels
+   b903: Unknown(b903)
+      dc44: Name
+      dc04: ObjectSize
+      dc08: DateCreated
+      dc89: Duration
+      dc09: DateModified
+      dc9d: DRMStatus
+      dc0d: unknown(dc0d)
+      dc8a: Rating
+      dc0a: Keywords
+      dc8f: SubscriptionContentID
+      dc4f: NonConsumable
+      dc07: ObjectFileName
+      da82: unknown(da82)
+      daa2: unknown(daa2)
+      dc02: ObjectFormat
+      dc8b: Track
+      dc0b: ParentObject
+      daa1: unknown(daa1)
+      dc01: StorageID
+      dc41: PersistantUniqueObjectIdentifier
+      dc03: ProtectionStatus
+      daa0: unknown(daa0)
+      de9a: AudioBitRate
+      dc9a: AlbumName
+      dc46: Artist
+      dc97: EffectiveRating
+      dc8c: Genre
+      dc95: MetaGenre
+      dc91: UseCount
+      de93: SampleRate
+      de99: AudioWAVECodec
+      de94: NumberOfChannels
+   b981: WMV
+      da84: unknown(da84)
+      dc44: Name
+      dc04: ObjectSize
+      dc88: Height
+      dc08: DateCreated
+      dc89: Duration
+      dc09: DateModified
+      de9d: FramesPerThousandSeconds
+      dc9d: DRMStatus
+      dc0d: unknown(dc0d)
+      dc0a: Keywords
+      dc8f: SubscriptionContentID
+      dc4f: NonConsumable
+      dc87: Width
+      dc47: DateAuthored
+      dc07: ObjectFileName
+      da82: unknown(da82)
+      daa2: unknown(daa2)
+      dc02: ObjectFormat
+      dc4b: CopyrightInformation
+      dc0b: ParentObject
+      dea1: unknown(dea1)
+      da81: unknown(da81)
+      daa1: unknown(daa1)
+      dc01: StorageID
+      dc41: PersistantUniqueObjectIdentifier
+      da83: unknown(da83)
+      dc03: ProtectionStatus
+      dea0: EncodingQuality
+      daa0: unknown(daa0)
+      de9e: KeyFrameDistance
+      dc9e: SubDescription
+      dc4c: Source
+      dc8c: Genre
+      dc95: MetaGenre
+      de94: NumberOfChannels
+      dc94: ParentalRating
+      da86: unknown(da86)
+      da85: unknown(da85)
+      dc98: Subtitle
+      de9a: AudioBitRate
+      de99: AudioWAVECodec
+      de92: BitRateType
+      de9f: BufferSize
+      de93: SampleRate
+      de97: ScanDepth
+      de91: TotalBitRate
+      de9b: VideoFourCCCodec
+      de9c: VideoBitRate
+   3801: JPEG
+      dc44: Name
+      dc04: ObjectSize
+      dc88: Height
+      dc08: DateCreated
+      dc09: DateModified
+      dc9d: DRMStatus
+      dc0d: unknown(dc0d)
+      dc0a: Keywords
+      dc8f: SubscriptionContentID
+      dc4f: NonConsumable
+      dc87: Width
+      dc47: DateAuthored
+      dc07: ObjectFileName
+      daa2: unknown(daa2)
+      dc02: ObjectFormat
+      dc0b: ParentObject
+      daa1: unknown(daa1)
+      dc01: StorageID
+      dc41: PersistantUniqueObjectIdentifier
+      dc03: ProtectionStatus
+      daa0: unknown(daa0)
+   3001: Association/Directory
+      dc44: Name
+      dc04: ObjectSize
+      dc08: DateCreated
+      dc09: DateModified
+      dc9d: DRMStatus
+      dc0d: unknown(dc0d)
+      dc0a: Keywords
+      dc4f: NonConsumable
+      dc07: ObjectFileName
+      dc02: ObjectFormat
+      dc0b: ParentObject
+      dc01: StorageID
+      dc41: PersistantUniqueObjectIdentifier
+      dc03: ProtectionStatus
+   ba03: Abstract Audio Album
+      dc84: RepresentativeSampleWidth
+      dc44: Name
+      dc04: ObjectSize
+      dc08: DateCreated
+      dc09: DateModified
+      dc9d: DRMStatus
+      dc0d: unknown(dc0d)
+      dc0a: Keywords
+      dc4f: NonConsumable
+      dc07: ObjectFileName
+      dc02: ObjectFormat
+      dc0b: ParentObject
+      dc81: RepresentativeSampleFormat
+      dc01: StorageID
+      dc41: PersistantUniqueObjectIdentifier
+      dc83: RepresentativeSampleHeight
+      dc03: ProtectionStatus
+      dc86: RepresentativeSampleData
+      dc46: Artist
+      dc8c: Genre
+   ba02: Abstract Image Album
+      dc44: Name
+      dc04: ObjectSize
+      dc08: DateCreated
+      dc09: DateModified
+      dc9d: DRMStatus
+      dc0d: unknown(dc0d)
+      dc0a: Keywords
+      dc4f: NonConsumable
+      dc47: DateAuthored
+      dc07: ObjectFileName
+      dc02: ObjectFormat
+      dc0b: ParentObject
+      dc01: StorageID
+      dc41: PersistantUniqueObjectIdentifier
+      dc03: ProtectionStatus
+   ba05: Abstract Audio Video Playlist
+      dc44: Name
+      dc04: ObjectSize
+      dc08: DateCreated
+      dc09: DateModified
+      dc9d: DRMStatus
+      dc0d: unknown(dc0d)
+      dc0a: Keywords
+      dc4f: NonConsumable
+      dc07: ObjectFileName
+      dc02: ObjectFormat
+      dc0b: ParentObject
+      dc01: StorageID
+      dc41: PersistantUniqueObjectIdentifier
+      dc03: ProtectionStatus
+   b211: Unknown(b211)
+      dc44: Name
+      dc04: ObjectSize
+      dc08: DateCreated
+      dc09: DateModified
+      dc9d: DRMStatus
+      dc0d: unknown(dc0d)
+      dc0a: Keywords
+      dc4f: NonConsumable
+      dc07: ObjectFileName
+      dc02: ObjectFormat
+      dc0b: ParentObject
+      dc01: StorageID
+      dc41: PersistantUniqueObjectIdentifier
+      dc03: ProtectionStatus
+      da91: unknown(da91)
+   b212: Unknown(b212)
+      dc04: ObjectSize
+      dc08: DateCreated
+      dc09: DateModified
+      dc9d: DRMStatus
+      dc0d: unknown(dc0d)
+      dc0a: Keywords
+      dc4f: NonConsumable
+      dc07: ObjectFileName
+      dc02: ObjectFormat
+      dc0b: ParentObject
+      dc01: StorageID
+      dc41: PersistantUniqueObjectIdentifier
+      dc03: ProtectionStatus
+   b213: Unknown(b213)
+      dc04: ObjectSize
+      dc08: DateCreated
+      dc09: DateModified
+      dc9d: DRMStatus
+      dc0d: unknown(dc0d)
+      dc0a: Keywords
+      dc4f: NonConsumable
+      dc07: ObjectFileName
+      dc02: ObjectFormat
+      dc0b: ParentObject
+      dc01: StorageID
+      dc41: PersistantUniqueObjectIdentifier
+      dc03: ProtectionStatus
+      da94: unknown(da94)
+      da92: unknown(da92)
+      da95: unknown(da95)
+      da96: unknown(da96)
+      da93: unknown(da93)
+   b214: Unknown(b214)
+      dc04: ObjectSize
+      dc08: DateCreated
+      dc09: DateModified
+      dc9d: DRMStatus
+      dc0d: unknown(dc0d)
+      dc0a: Keywords
+      dc4f: NonConsumable
+      dc07: ObjectFileName
+      dc02: ObjectFormat
+      dc0b: ParentObject
+      dc01: StorageID
+      dc41: PersistantUniqueObjectIdentifier
+      dc03: ProtectionStatus
+   3000: Undefined Type
+      dc44: Name
+      dc04: ObjectSize
+      dc08: DateCreated
+      dc09: DateModified
+      dc9d: DRMStatus
+      dc0d: unknown(dc0d)
+      dc0a: Keywords
+      dc4f: NonConsumable
+      dc07: ObjectFileName
+      dc02: ObjectFormat
+      dc0b: ParentObject
+      dc01: StorageID
+      dc41: PersistantUniqueObjectIdentifier
+      dc03: ProtectionStatus
+   b802: Firmware
+      dc44: Name
+      dc04: ObjectSize
+      dc08: DateCreated
+      dc09: DateModified
+      dc9d: DRMStatus
+      dc0d: unknown(dc0d)
+      dc0a: Keywords
+      dc4f: NonConsumable
+      dc07: ObjectFileName
+      dc02: ObjectFormat
+      dc0b: ParentObject
+      dc01: StorageID
+      dc41: PersistantUniqueObjectIdentifier
+      dc03: ProtectionStatus
+Special directories:
+   Default music folder: 0x05000001
+   Default playlist folder: 0x00000000
+   Default picture folder: 0x0500001a
+   Default video folder: 0x0500001e
+   Default organizer folder: 0x00000000
+   Default zencast folder: 0x00000000
+MTP-specific device properties:
+   Friendly name: israr
+   Synchronization partner: {4A93BE2A-DE7D-41E6-BA37-8E9E77D43860}
+   Total bytes on device: 29806592000 (28425 MB)
+   Free bytes on device: 29201039360 (27848 MB)
+   Storage description: "Storage"
+   Volume label: "009bdb53 - 0aedbc4e - 80bd1ff8 - 8ee00652"
+   Battery level 93 of 100 (93%)
+libmtp supported (playable) filetypes:
+   ISO MPEG Audio Layer 3
+   Microsoft Windows Media Audio
+   Microsoft Advanced Systems Format
+   Microsoft Windows Media Video
+   JPEG file
+
+Secure Time:
+<DRMCLOCK type="status"><VALUE>#20061130
+55:58:20Z#</VALUE><FLAG>DRM_CLK_SET</FL
+AG></DRMCLOCK>
+
+Device Certificate:
+<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID
+private="1">tm
+q3e34l4CtX25kjz3J8nsmfKqw=</UNIQUEID><PUBLICKEY
+private="1">D04XYszO/wvt2uvOYlaC
+PPl+BFqZqfJgKYFjft0/QHHwai8cnNs1Dw==</PUBLICKEY><KEYDATA>UhIa619WPksS1o2/jWQ
+0ppw
+gAhA=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>SnnlhYtieeqE2ZEoBVD6IQy02Vmtu5Q
+3mpf
+0yTgWmsJb8mU5AeRmGw==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>WyIbw1IYah2TFKQp9
+XQhJ
+vnK/5Q=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.105.187</
+SECU
+RITYVERSION><CERTIFICATE
+private="1">D04XYszO/wvt2uvOYlaCPPl+BFqZqfJgKYFjft0/QHH
+wai8cnNs1DwIEabtlwAm9JhutpvU05UpZa3Hh/EBgFQwcFQecoUCHdusPkQrgPIFqHW0/</CERTI
+FICA
+TE></FALLBACK><CERTIFICATE
+type="GROUP"><DATA><NAME>Zune</NAME><MANUFACTURER>Mic
+rosoft</MANUFACTURER><MAKE>Zune Player
+1000</MAKE><DISTRIBUTOR>Microsoft</DISTRI
+BUTOR><MODEL>1090</MODEL><SECURITYLEVEL>2000</SECURITYLEVEL><HARDWARE_VER_MA
+JOR>
+1</HARDWARE_VER_MAJOR><HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR><FIRMWARE_VE
+R_MA
+JOR>1</FIRMWARE_VER_MAJOR><FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR><FEATURE
+S><C
+LOCK>2</CLOCK><SECURECLOCK><URL>http://go.microsoft.com/fwlink/?LinkId=25817
+</UR
+L><PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLI
+CKEY
+></SECURECLOCK><METERING>1</METERING><LICENSE_ACQ>1</LICENSE_ACQ><LICENSE_SY
+NC>1
+</LICENSE_SYNC><ENCRYPTION>0</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT><SU
+PPOR
+T_REVOCATION><GUID>{CD75E604-543D-4A9C-9F09-FE6D24E8BF90}</GUID><GUID>{3129E
+375-
+CEB0-47D5-9CCA-9DB74CFD4332}</GUID></SUPPORT_REVOCATION></FEATURES><LIMITS><
+MAXC
+HAINDEPTH>2</MAXCHAINDEPTH><MAXLICENSESIZE>10240</MAXLICENSESIZE><MAXHEADERS
+IZE>
+5120</MAXHEADERSIZE></LIMITS><PUBLICKEY>zXee2YI/Sm37UJC4uo+Y007Ae2cWp9rkpWh3
+MZUM
+5YLR/2EfN/0eJg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>7PBZocSID0BEc3vXxC
+C5hK
+H812eSH/Vd8oH5ZAlem9Qw7YTxKd12Bg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CER
+TIFI
+CATE
+type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1311
+</AUTH_ID><PUBLICKEY>4787Lq08I+Jx5129GMlYE4pkBQrPT8+TV5fiuThMguE054UrOmpMHg=
+=</P
+UBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>OUJXV1Ek088aF0pSz12wHVgNYk9IAgGMezwzN
+p7vp
+rMv7K1ZJDdMiQ==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE
+type="AUTHORIZ
+ATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCs
+e!gz
+6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>j/UOGELgk
+J99g
+MvrGKyp3Y7FQ190FKtYE8t/vMvB3d73LBOFK76iXQ==</MSDRM_SIGNATURE_VALUE></CERTIFI
+CATE
+></DEVCERT>
diff --git a/ltmain.sh b/ltmain.sh
deleted file mode 100755
index 6939dcc..0000000
--- a/ltmain.sh
+++ /dev/null
@@ -1,8406 +0,0 @@
-# Generated from ltmain.m4sh.
-
-# ltmain.sh (GNU libtool) 2.2.6
-# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 2008 Free Software Foundation, Inc.
-# This is free software; see the source for copying conditions.  There is NO
-# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-# GNU Libtool is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
-#
-# GNU Libtool is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Libtool; see the file COPYING.  If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html,
-# or obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-# Usage: $progname [OPTION]... [MODE-ARG]...
-#
-# Provide generalized library-building support services.
-#
-#     --config             show all configuration variables
-#     --debug              enable verbose shell tracing
-# -n, --dry-run            display commands without modifying any files
-#     --features           display basic configuration information and exit
-#     --mode=MODE          use operation mode MODE
-#     --preserve-dup-deps  don't remove duplicate dependency libraries
-#     --quiet, --silent    don't print informational messages
-#     --tag=TAG            use configuration variables from tag TAG
-# -v, --verbose            print informational messages (default)
-#     --version            print version information
-# -h, --help               print short or long help message
-#
-# MODE must be one of the following:
-#
-#       clean              remove files from the build directory
-#       compile            compile a source file into a libtool object
-#       execute            automatically set library path, then run a program
-#       finish             complete the installation of libtool libraries
-#       install            install libraries or executables
-#       link               create a library or an executable
-#       uninstall          remove libraries from an installed directory
-#
-# MODE-ARGS vary depending on the MODE.
-# Try `$progname --help --mode=MODE' for a more detailed description of MODE.
-#
-# When reporting a bug, please describe a test case to reproduce it and
-# include the following information:
-#
-#       host-triplet:	$host
-#       shell:		$SHELL
-#       compiler:		$LTCC
-#       compiler flags:		$LTCFLAGS
-#       linker:		$LD (gnu? $with_gnu_ld)
-#       $progname:		(GNU libtool) 2.2.6
-#       automake:		$automake_version
-#       autoconf:		$autoconf_version
-#
-# Report bugs to <bug-libtool@gnu.org>.
-
-PROGRAM=ltmain.sh
-PACKAGE=libtool
-VERSION=2.2.6
-TIMESTAMP=""
-package_revision=1.3012
-
-# Be Bourne compatible
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
-  emulate sh
-  NULLCMD=:
-  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
-fi
-BIN_SH=xpg4; export BIN_SH # for Tru64
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# NLS nuisances: We save the old values to restore during execute mode.
-# Only set LANG and LC_ALL to C if already set.
-# These must not be set unconditionally because not all systems understand
-# e.g. LANG=C (notably SCO).
-lt_user_locale=
-lt_safe_locale=
-for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
-do
-  eval "if test \"\${$lt_var+set}\" = set; then
-          save_$lt_var=\$$lt_var
-          $lt_var=C
-	  export $lt_var
-	  lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\"
-	  lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
-	fi"
-done
-
-$lt_unset CDPATH
-
-
-
-
-
-: ${CP="cp -f"}
-: ${ECHO="echo"}
-: ${EGREP="/bin/grep -E"}
-: ${FGREP="/bin/grep -F"}
-: ${GREP="/bin/grep"}
-: ${LN_S="ln -s"}
-: ${MAKE="make"}
-: ${MKDIR="mkdir"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-: ${SED="/bin/sed"}
-: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
-: ${Xsed="$SED -e 1s/^X//"}
-
-# Global variables:
-EXIT_SUCCESS=0
-EXIT_FAILURE=1
-EXIT_MISMATCH=63  # $? = 63 is used to indicate version mismatch to missing.
-EXIT_SKIP=77	  # $? = 77 is used to indicate a skipped test to automake.
-
-exit_status=$EXIT_SUCCESS
-
-# Make sure IFS has a sensible default
-lt_nl='
-'
-IFS=" 	$lt_nl"
-
-dirname="s,/[^/]*$,,"
-basename="s,^.*/,,"
-
-# func_dirname_and_basename file append nondir_replacement
-# perform func_basename and func_dirname in a single function
-# call:
-#   dirname:  Compute the dirname of FILE.  If nonempty,
-#             add APPEND to the result, otherwise set result
-#             to NONDIR_REPLACEMENT.
-#             value returned in "$func_dirname_result"
-#   basename: Compute filename of FILE.
-#             value retuned in "$func_basename_result"
-# Implementation must be kept synchronized with func_dirname
-# and func_basename. For efficiency, we do not delegate to
-# those functions but instead duplicate the functionality here.
-func_dirname_and_basename ()
-{
-  # Extract subdirectory from the argument.
-  func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
-  if test "X$func_dirname_result" = "X${1}"; then
-    func_dirname_result="${3}"
-  else
-    func_dirname_result="$func_dirname_result${2}"
-  fi
-  func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
-}
-
-# Generated shell functions inserted here.
-
-# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
-# is ksh but when the shell is invoked as "sh" and the current value of
-# the _XPG environment variable is not equal to 1 (one), the special
-# positional parameter $0, within a function call, is the name of the
-# function.
-progpath="$0"
-
-# The name of this program:
-# In the unlikely event $progname began with a '-', it would play havoc with
-# func_echo (imagine progname=-n), so we prepend ./ in that case:
-func_dirname_and_basename "$progpath"
-progname=$func_basename_result
-case $progname in
-  -*) progname=./$progname ;;
-esac
-
-# Make sure we have an absolute path for reexecution:
-case $progpath in
-  [\\/]*|[A-Za-z]:\\*) ;;
-  *[\\/]*)
-     progdir=$func_dirname_result
-     progdir=`cd "$progdir" && pwd`
-     progpath="$progdir/$progname"
-     ;;
-  *)
-     save_IFS="$IFS"
-     IFS=:
-     for progdir in $PATH; do
-       IFS="$save_IFS"
-       test -x "$progdir/$progname" && break
-     done
-     IFS="$save_IFS"
-     test -n "$progdir" || progdir=`pwd`
-     progpath="$progdir/$progname"
-     ;;
-esac
-
-# Sed substitution that helps us do robust quoting.  It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed="${SED}"' -e 1s/^X//'
-sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
-
-# Re-`\' parameter expansions in output of double_quote_subst that were
-# `\'-ed in input to the same.  If an odd number of `\' preceded a '$'
-# in input to double_quote_subst, that '$' was protected from expansion.
-# Since each input `\' is now two `\'s, look for any number of runs of
-# four `\'s followed by two `\'s and then a '$'.  `\' that '$'.
-bs='\\'
-bs2='\\\\'
-bs4='\\\\\\\\'
-dollar='\$'
-sed_double_backslash="\
-  s/$bs4/&\\
-/g
-  s/^$bs2$dollar/$bs&/
-  s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g
-  s/\n//g"
-
-# Standard options:
-opt_dry_run=false
-opt_help=false
-opt_quiet=false
-opt_verbose=false
-opt_warning=:
-
-# func_echo arg...
-# Echo program name prefixed message, along with the current mode
-# name if it has been set yet.
-func_echo ()
-{
-    $ECHO "$progname${mode+: }$mode: $*"
-}
-
-# func_verbose arg...
-# Echo program name prefixed message in verbose mode only.
-func_verbose ()
-{
-    $opt_verbose && func_echo ${1+"$@"}
-
-    # A bug in bash halts the script if the last line of a function
-    # fails when set -e is in force, so we need another command to
-    # work around that:
-    :
-}
-
-# func_error arg...
-# Echo program name prefixed message to standard error.
-func_error ()
-{
-    $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2
-}
-
-# func_warning arg...
-# Echo program name prefixed warning message to standard error.
-func_warning ()
-{
-    $opt_warning && $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2
-
-    # bash bug again:
-    :
-}
-
-# func_fatal_error arg...
-# Echo program name prefixed message to standard error, and exit.
-func_fatal_error ()
-{
-    func_error ${1+"$@"}
-    exit $EXIT_FAILURE
-}
-
-# func_fatal_help arg...
-# Echo program name prefixed message to standard error, followed by
-# a help hint, and exit.
-func_fatal_help ()
-{
-    func_error ${1+"$@"}
-    func_fatal_error "$help"
-}
-help="Try \`$progname --help' for more information."  ## default
-
-
-# func_grep expression filename
-# Check whether EXPRESSION matches any line of FILENAME, without output.
-func_grep ()
-{
-    $GREP "$1" "$2" >/dev/null 2>&1
-}
-
-
-# func_mkdir_p directory-path
-# Make sure the entire path to DIRECTORY-PATH is available.
-func_mkdir_p ()
-{
-    my_directory_path="$1"
-    my_dir_list=
-
-    if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then
-
-      # Protect directory names starting with `-'
-      case $my_directory_path in
-        -*) my_directory_path="./$my_directory_path" ;;
-      esac
-
-      # While some portion of DIR does not yet exist...
-      while test ! -d "$my_directory_path"; do
-        # ...make a list in topmost first order.  Use a colon delimited
-	# list incase some portion of path contains whitespace.
-        my_dir_list="$my_directory_path:$my_dir_list"
-
-        # If the last portion added has no slash in it, the list is done
-        case $my_directory_path in */*) ;; *) break ;; esac
-
-        # ...otherwise throw away the child directory and loop
-        my_directory_path=`$ECHO "X$my_directory_path" | $Xsed -e "$dirname"`
-      done
-      my_dir_list=`$ECHO "X$my_dir_list" | $Xsed -e 's,:*$,,'`
-
-      save_mkdir_p_IFS="$IFS"; IFS=':'
-      for my_dir in $my_dir_list; do
-	IFS="$save_mkdir_p_IFS"
-        # mkdir can fail with a `File exist' error if two processes
-        # try to create one of the directories concurrently.  Don't
-        # stop in that case!
-        $MKDIR "$my_dir" 2>/dev/null || :
-      done
-      IFS="$save_mkdir_p_IFS"
-
-      # Bail out if we (or some other process) failed to create a directory.
-      test -d "$my_directory_path" || \
-        func_fatal_error "Failed to create \`$1'"
-    fi
-}
-
-
-# func_mktempdir [string]
-# Make a temporary directory that won't clash with other running
-# libtool processes, and avoids race conditions if possible.  If
-# given, STRING is the basename for that directory.
-func_mktempdir ()
-{
-    my_template="${TMPDIR-/tmp}/${1-$progname}"
-
-    if test "$opt_dry_run" = ":"; then
-      # Return a directory name, but don't create it in dry-run mode
-      my_tmpdir="${my_template}-$$"
-    else
-
-      # If mktemp works, use that first and foremost
-      my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
-
-      if test ! -d "$my_tmpdir"; then
-        # Failing that, at least try and use $RANDOM to avoid a race
-        my_tmpdir="${my_template}-${RANDOM-0}$$"
-
-        save_mktempdir_umask=`umask`
-        umask 0077
-        $MKDIR "$my_tmpdir"
-        umask $save_mktempdir_umask
-      fi
-
-      # If we're not in dry-run mode, bomb out on failure
-      test -d "$my_tmpdir" || \
-        func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
-    fi
-
-    $ECHO "X$my_tmpdir" | $Xsed
-}
-
-
-# func_quote_for_eval arg
-# Aesthetically quote ARG to be evaled later.
-# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT
-# is double-quoted, suitable for a subsequent eval, whereas
-# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters
-# which are still active within double quotes backslashified.
-func_quote_for_eval ()
-{
-    case $1 in
-      *[\\\`\"\$]*)
-	func_quote_for_eval_unquoted_result=`$ECHO "X$1" | $Xsed -e "$sed_quote_subst"` ;;
-      *)
-        func_quote_for_eval_unquoted_result="$1" ;;
-    esac
-
-    case $func_quote_for_eval_unquoted_result in
-      # Double-quote args containing shell metacharacters to delay
-      # word splitting, command substitution and and variable
-      # expansion for a subsequent eval.
-      # Many Bourne shells cannot handle close brackets correctly
-      # in scan sets, so we specify it separately.
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-        func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\""
-        ;;
-      *)
-        func_quote_for_eval_result="$func_quote_for_eval_unquoted_result"
-    esac
-}
-
-
-# func_quote_for_expand arg
-# Aesthetically quote ARG to be evaled later; same as above,
-# but do not quote variable references.
-func_quote_for_expand ()
-{
-    case $1 in
-      *[\\\`\"]*)
-	my_arg=`$ECHO "X$1" | $Xsed \
-	    -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
-      *)
-        my_arg="$1" ;;
-    esac
-
-    case $my_arg in
-      # Double-quote args containing shell metacharacters to delay
-      # word splitting and command substitution for a subsequent eval.
-      # Many Bourne shells cannot handle close brackets correctly
-      # in scan sets, so we specify it separately.
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
-        my_arg="\"$my_arg\""
-        ;;
-    esac
-
-    func_quote_for_expand_result="$my_arg"
-}
-
-
-# func_show_eval cmd [fail_exp]
-# Unless opt_silent is true, then output CMD.  Then, if opt_dryrun is
-# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
-# is given, then evaluate it.
-func_show_eval ()
-{
-    my_cmd="$1"
-    my_fail_exp="${2-:}"
-
-    ${opt_silent-false} || {
-      func_quote_for_expand "$my_cmd"
-      eval "func_echo $func_quote_for_expand_result"
-    }
-
-    if ${opt_dry_run-false}; then :; else
-      eval "$my_cmd"
-      my_status=$?
-      if test "$my_status" -eq 0; then :; else
-	eval "(exit $my_status); $my_fail_exp"
-      fi
-    fi
-}
-
-
-# func_show_eval_locale cmd [fail_exp]
-# Unless opt_silent is true, then output CMD.  Then, if opt_dryrun is
-# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
-# is given, then evaluate it.  Use the saved locale for evaluation.
-func_show_eval_locale ()
-{
-    my_cmd="$1"
-    my_fail_exp="${2-:}"
-
-    ${opt_silent-false} || {
-      func_quote_for_expand "$my_cmd"
-      eval "func_echo $func_quote_for_expand_result"
-    }
-
-    if ${opt_dry_run-false}; then :; else
-      eval "$lt_user_locale
-	    $my_cmd"
-      my_status=$?
-      eval "$lt_safe_locale"
-      if test "$my_status" -eq 0; then :; else
-	eval "(exit $my_status); $my_fail_exp"
-      fi
-    fi
-}
-
-
-
-
-
-# func_version
-# Echo version message to standard output and exit.
-func_version ()
-{
-    $SED -n '/^# '$PROGRAM' (GNU /,/# warranty; / {
-        s/^# //
-	s/^# *$//
-        s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
-        p
-     }' < "$progpath"
-     exit $?
-}
-
-# func_usage
-# Echo short help message to standard output and exit.
-func_usage ()
-{
-    $SED -n '/^# Usage:/,/# -h/ {
-        s/^# //
-	s/^# *$//
-	s/\$progname/'$progname'/
-	p
-    }' < "$progpath"
-    $ECHO
-    $ECHO "run \`$progname --help | more' for full usage"
-    exit $?
-}
-
-# func_help
-# Echo long help message to standard output and exit.
-func_help ()
-{
-    $SED -n '/^# Usage:/,/# Report bugs to/ {
-        s/^# //
-	s/^# *$//
-	s*\$progname*'$progname'*
-	s*\$host*'"$host"'*
-	s*\$SHELL*'"$SHELL"'*
-	s*\$LTCC*'"$LTCC"'*
-	s*\$LTCFLAGS*'"$LTCFLAGS"'*
-	s*\$LD*'"$LD"'*
-	s/\$with_gnu_ld/'"$with_gnu_ld"'/
-	s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/
-	s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/
-	p
-     }' < "$progpath"
-    exit $?
-}
-
-# func_missing_arg argname
-# Echo program name prefixed message to standard error and set global
-# exit_cmd.
-func_missing_arg ()
-{
-    func_error "missing argument for $1"
-    exit_cmd=exit
-}
-
-exit_cmd=:
-
-
-
-
-
-# Check that we have a working $ECHO.
-if test "X$1" = X--no-reexec; then
-  # Discard the --no-reexec flag, and continue.
-  shift
-elif test "X$1" = X--fallback-echo; then
-  # Avoid inline document here, it may be left over
-  :
-elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then
-  # Yippee, $ECHO works!
-  :
-else
-  # Restart under the correct shell, and then maybe $ECHO will work.
-  exec $SHELL "$progpath" --no-reexec ${1+"$@"}
-fi
-
-if test "X$1" = X--fallback-echo; then
-  # used as fallback echo
-  shift
-  cat <<EOF
-$*
-EOF
-  exit $EXIT_SUCCESS
-fi
-
-magic="%%%MAGIC variable%%%"
-magic_exe="%%%MAGIC EXE variable%%%"
-
-# Global variables.
-# $mode is unset
-nonopt=
-execute_dlfiles=
-preserve_args=
-lo2o="s/\\.lo\$/.${objext}/"
-o2lo="s/\\.${objext}\$/.lo/"
-extracted_archives=
-extracted_serial=0
-
-opt_dry_run=false
-opt_duplicate_deps=false
-opt_silent=false
-opt_debug=:
-
-# If this variable is set in any of the actions, the command in it
-# will be execed at the end.  This prevents here-documents from being
-# left over by shells.
-exec_cmd=
-
-# func_fatal_configuration arg...
-# Echo program name prefixed message to standard error, followed by
-# a configuration failure hint, and exit.
-func_fatal_configuration ()
-{
-    func_error ${1+"$@"}
-    func_error "See the $PACKAGE documentation for more information."
-    func_fatal_error "Fatal configuration error."
-}
-
-
-# func_config
-# Display the configuration for all the tags in this script.
-func_config ()
-{
-    re_begincf='^# ### BEGIN LIBTOOL'
-    re_endcf='^# ### END LIBTOOL'
-
-    # Default configuration.
-    $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath"
-
-    # Now print the configurations for the tags.
-    for tagname in $taglist; do
-      $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath"
-    done
-
-    exit $?
-}
-
-# func_features
-# Display the features supported by this script.
-func_features ()
-{
-    $ECHO "host: $host"
-    if test "$build_libtool_libs" = yes; then
-      $ECHO "enable shared libraries"
-    else
-      $ECHO "disable shared libraries"
-    fi
-    if test "$build_old_libs" = yes; then
-      $ECHO "enable static libraries"
-    else
-      $ECHO "disable static libraries"
-    fi
-
-    exit $?
-}
-
-# func_enable_tag tagname
-# Verify that TAGNAME is valid, and either flag an error and exit, or
-# enable the TAGNAME tag.  We also add TAGNAME to the global $taglist
-# variable here.
-func_enable_tag ()
-{
-  # Global variable:
-  tagname="$1"
-
-  re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
-  re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
-  sed_extractcf="/$re_begincf/,/$re_endcf/p"
-
-  # Validate tagname.
-  case $tagname in
-    *[!-_A-Za-z0-9,/]*)
-      func_fatal_error "invalid tag name: $tagname"
-      ;;
-  esac
-
-  # Don't test for the "default" C tag, as we know it's
-  # there but not specially marked.
-  case $tagname in
-    CC) ;;
-    *)
-      if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
-	taglist="$taglist $tagname"
-
-	# Evaluate the configuration.  Be careful to quote the path
-	# and the sed script, to avoid splitting on whitespace, but
-	# also don't use non-portable quotes within backquotes within
-	# quotes we have to do it in 2 steps:
-	extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
-	eval "$extractedcf"
-      else
-	func_error "ignoring unknown tag $tagname"
-      fi
-      ;;
-  esac
-}
-
-# Parse options once, thoroughly.  This comes as soon as possible in
-# the script to make things like `libtool --version' happen quickly.
-{
-
-  # Shorthand for --mode=foo, only valid as the first argument
-  case $1 in
-  clean|clea|cle|cl)
-    shift; set dummy --mode clean ${1+"$@"}; shift
-    ;;
-  compile|compil|compi|comp|com|co|c)
-    shift; set dummy --mode compile ${1+"$@"}; shift
-    ;;
-  execute|execut|execu|exec|exe|ex|e)
-    shift; set dummy --mode execute ${1+"$@"}; shift
-    ;;
-  finish|finis|fini|fin|fi|f)
-    shift; set dummy --mode finish ${1+"$@"}; shift
-    ;;
-  install|instal|insta|inst|ins|in|i)
-    shift; set dummy --mode install ${1+"$@"}; shift
-    ;;
-  link|lin|li|l)
-    shift; set dummy --mode link ${1+"$@"}; shift
-    ;;
-  uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
-    shift; set dummy --mode uninstall ${1+"$@"}; shift
-    ;;
-  esac
-
-  # Parse non-mode specific arguments:
-  while test "$#" -gt 0; do
-    opt="$1"
-    shift
-
-    case $opt in
-      --config)		func_config					;;
-
-      --debug)		preserve_args="$preserve_args $opt"
-			func_echo "enabling shell trace mode"
-			opt_debug='set -x'
-			$opt_debug
-			;;
-
-      -dlopen)		test "$#" -eq 0 && func_missing_arg "$opt" && break
-			execute_dlfiles="$execute_dlfiles $1"
-			shift
-			;;
-
-      --dry-run | -n)	opt_dry_run=:					;;
-      --features)       func_features					;;
-      --finish)		mode="finish"					;;
-
-      --mode)		test "$#" -eq 0 && func_missing_arg "$opt" && break
-			case $1 in
-			  # Valid mode arguments:
-			  clean)	;;
-			  compile)	;;
-			  execute)	;;
-			  finish)	;;
-			  install)	;;
-			  link)		;;
-			  relink)	;;
-			  uninstall)	;;
-
-			  # Catch anything else as an error
-			  *) func_error "invalid argument for $opt"
-			     exit_cmd=exit
-			     break
-			     ;;
-		        esac
-
-			mode="$1"
-			shift
-			;;
-
-      --preserve-dup-deps)
-			opt_duplicate_deps=:				;;
-
-      --quiet|--silent)	preserve_args="$preserve_args $opt"
-			opt_silent=:
-			;;
-
-      --verbose| -v)	preserve_args="$preserve_args $opt"
-			opt_silent=false
-			;;
-
-      --tag)		test "$#" -eq 0 && func_missing_arg "$opt" && break
-			preserve_args="$preserve_args $opt $1"
-			func_enable_tag "$1"	# tagname is set here
-			shift
-			;;
-
-      # Separate optargs to long options:
-      -dlopen=*|--mode=*|--tag=*)
-			func_opt_split "$opt"
-			set dummy "$func_opt_split_opt" "$func_opt_split_arg" ${1+"$@"}
-			shift
-			;;
-
-      -\?|-h)		func_usage					;;
-      --help)		opt_help=:					;;
-      --version)	func_version					;;
-
-      -*)		func_fatal_help "unrecognized option \`$opt'"	;;
-
-      *)		nonopt="$opt"
-			break
-			;;
-    esac
-  done
-
-
-  case $host in
-    *cygwin* | *mingw* | *pw32* | *cegcc*)
-      # don't eliminate duplications in $postdeps and $predeps
-      opt_duplicate_compiler_generated_deps=:
-      ;;
-    *)
-      opt_duplicate_compiler_generated_deps=$opt_duplicate_deps
-      ;;
-  esac
-
-  # Having warned about all mis-specified options, bail out if
-  # anything was wrong.
-  $exit_cmd $EXIT_FAILURE
-}
-
-# func_check_version_match
-# Ensure that we are using m4 macros, and libtool script from the same
-# release of libtool.
-func_check_version_match ()
-{
-  if test "$package_revision" != "$macro_revision"; then
-    if test "$VERSION" != "$macro_version"; then
-      if test -z "$macro_version"; then
-        cat >&2 <<_LT_EOF
-$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
-$progname: definition of this LT_INIT comes from an older release.
-$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
-$progname: and run autoconf again.
-_LT_EOF
-      else
-        cat >&2 <<_LT_EOF
-$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
-$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
-$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
-$progname: and run autoconf again.
-_LT_EOF
-      fi
-    else
-      cat >&2 <<_LT_EOF
-$progname: Version mismatch error.  This is $PACKAGE $VERSION, revision $package_revision,
-$progname: but the definition of this LT_INIT comes from revision $macro_revision.
-$progname: You should recreate aclocal.m4 with macros from revision $package_revision
-$progname: of $PACKAGE $VERSION and run autoconf again.
-_LT_EOF
-    fi
-
-    exit $EXIT_MISMATCH
-  fi
-}
-
-
-## ----------- ##
-##    Main.    ##
-## ----------- ##
-
-$opt_help || {
-  # Sanity checks first:
-  func_check_version_match
-
-  if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
-    func_fatal_configuration "not configured to build any kind of library"
-  fi
-
-  test -z "$mode" && func_fatal_error "error: you must specify a MODE."
-
-
-  # Darwin sucks
-  eval std_shrext=\"$shrext_cmds\"
-
-
-  # Only execute mode is allowed to have -dlopen flags.
-  if test -n "$execute_dlfiles" && test "$mode" != execute; then
-    func_error "unrecognized option \`-dlopen'"
-    $ECHO "$help" 1>&2
-    exit $EXIT_FAILURE
-  fi
-
-  # Change the help message to a mode-specific one.
-  generic_help="$help"
-  help="Try \`$progname --help --mode=$mode' for more information."
-}
-
-
-# func_lalib_p file
-# True iff FILE is a libtool `.la' library or `.lo' object file.
-# This function is only a basic sanity check; it will hardly flush out
-# determined imposters.
-func_lalib_p ()
-{
-    test -f "$1" &&
-      $SED -e 4q "$1" 2>/dev/null \
-        | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
-}
-
-# func_lalib_unsafe_p file
-# True iff FILE is a libtool `.la' library or `.lo' object file.
-# This function implements the same check as func_lalib_p without
-# resorting to external programs.  To this end, it redirects stdin and
-# closes it afterwards, without saving the original file descriptor.
-# As a safety measure, use it only where a negative result would be
-# fatal anyway.  Works if `file' does not exist.
-func_lalib_unsafe_p ()
-{
-    lalib_p=no
-    if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then
-	for lalib_p_l in 1 2 3 4
-	do
-	    read lalib_p_line
-	    case "$lalib_p_line" in
-		\#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
-	    esac
-	done
-	exec 0<&5 5<&-
-    fi
-    test "$lalib_p" = yes
-}
-
-# func_ltwrapper_script_p file
-# True iff FILE is a libtool wrapper script
-# This function is only a basic sanity check; it will hardly flush out
-# determined imposters.
-func_ltwrapper_script_p ()
-{
-    func_lalib_p "$1"
-}
-
-# func_ltwrapper_executable_p file
-# True iff FILE is a libtool wrapper executable
-# This function is only a basic sanity check; it will hardly flush out
-# determined imposters.
-func_ltwrapper_executable_p ()
-{
-    func_ltwrapper_exec_suffix=
-    case $1 in
-    *.exe) ;;
-    *) func_ltwrapper_exec_suffix=.exe ;;
-    esac
-    $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1
-}
-
-# func_ltwrapper_scriptname file
-# Assumes file is an ltwrapper_executable
-# uses $file to determine the appropriate filename for a
-# temporary ltwrapper_script.
-func_ltwrapper_scriptname ()
-{
-    func_ltwrapper_scriptname_result=""
-    if func_ltwrapper_executable_p "$1"; then
-	func_dirname_and_basename "$1" "" "."
-	func_stripname '' '.exe' "$func_basename_result"
-	func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
-    fi
-}
-
-# func_ltwrapper_p file
-# True iff FILE is a libtool wrapper script or wrapper executable
-# This function is only a basic sanity check; it will hardly flush out
-# determined imposters.
-func_ltwrapper_p ()
-{
-    func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1"
-}
-
-
-# func_execute_cmds commands fail_cmd
-# Execute tilde-delimited COMMANDS.
-# If FAIL_CMD is given, eval that upon failure.
-# FAIL_CMD may read-access the current command in variable CMD!
-func_execute_cmds ()
-{
-    $opt_debug
-    save_ifs=$IFS; IFS='~'
-    for cmd in $1; do
-      IFS=$save_ifs
-      eval cmd=\"$cmd\"
-      func_show_eval "$cmd" "${2-:}"
-    done
-    IFS=$save_ifs
-}
-
-
-# func_source file
-# Source FILE, adding directory component if necessary.
-# Note that it is not necessary on cygwin/mingw to append a dot to
-# FILE even if both FILE and FILE.exe exist: automatic-append-.exe
-# behavior happens only for exec(3), not for open(2)!  Also, sourcing
-# `FILE.' does not work on cygwin managed mounts.
-func_source ()
-{
-    $opt_debug
-    case $1 in
-    */* | *\\*)	. "$1" ;;
-    *)		. "./$1" ;;
-    esac
-}
-
-
-# func_infer_tag arg
-# Infer tagged configuration to use if any are available and
-# if one wasn't chosen via the "--tag" command line option.
-# Only attempt this if the compiler in the base compile
-# command doesn't match the default compiler.
-# arg is usually of the form 'gcc ...'
-func_infer_tag ()
-{
-    $opt_debug
-    if test -n "$available_tags" && test -z "$tagname"; then
-      CC_quoted=
-      for arg in $CC; do
-        func_quote_for_eval "$arg"
-	CC_quoted="$CC_quoted $func_quote_for_eval_result"
-      done
-      case $@ in
-      # Blanks in the command may have been stripped by the calling shell,
-      # but not from the CC environment variable when configure was run.
-      " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) ;;
-      # Blanks at the start of $base_compile will cause this to fail
-      # if we don't check for them as well.
-      *)
-	for z in $available_tags; do
-	  if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
-	    # Evaluate the configuration.
-	    eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
-	    CC_quoted=
-	    for arg in $CC; do
-	      # Double-quote args containing other shell metacharacters.
-	      func_quote_for_eval "$arg"
-	      CC_quoted="$CC_quoted $func_quote_for_eval_result"
-	    done
-	    case "$@ " in
-	      " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*)
-	      # The compiler in the base compile command matches
-	      # the one in the tagged configuration.
-	      # Assume this is the tagged configuration we want.
-	      tagname=$z
-	      break
-	      ;;
-	    esac
-	  fi
-	done
-	# If $tagname still isn't set, then no tagged configuration
-	# was found and let the user know that the "--tag" command
-	# line option must be used.
-	if test -z "$tagname"; then
-	  func_echo "unable to infer tagged configuration"
-	  func_fatal_error "specify a tag with \`--tag'"
-#	else
-#	  func_verbose "using $tagname tagged configuration"
-	fi
-	;;
-      esac
-    fi
-}
-
-
-
-# func_write_libtool_object output_name pic_name nonpic_name
-# Create a libtool object file (analogous to a ".la" file),
-# but don't create it if we're doing a dry run.
-func_write_libtool_object ()
-{
-    write_libobj=${1}
-    if test "$build_libtool_libs" = yes; then
-      write_lobj=\'${2}\'
-    else
-      write_lobj=none
-    fi
-
-    if test "$build_old_libs" = yes; then
-      write_oldobj=\'${3}\'
-    else
-      write_oldobj=none
-    fi
-
-    $opt_dry_run || {
-      cat >${write_libobj}T <<EOF
-# $write_libobj - a libtool object file
-# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# Name of the PIC object.
-pic_object=$write_lobj
-
-# Name of the non-PIC object
-non_pic_object=$write_oldobj
-
-EOF
-      $MV "${write_libobj}T" "${write_libobj}"
-    }
-}
-
-# func_mode_compile arg...
-func_mode_compile ()
-{
-    $opt_debug
-    # Get the compilation command and the source file.
-    base_compile=
-    srcfile="$nonopt"  #  always keep a non-empty value in "srcfile"
-    suppress_opt=yes
-    suppress_output=
-    arg_mode=normal
-    libobj=
-    later=
-    pie_flag=
-
-    for arg
-    do
-      case $arg_mode in
-      arg  )
-	# do not "continue".  Instead, add this to base_compile
-	lastarg="$arg"
-	arg_mode=normal
-	;;
-
-      target )
-	libobj="$arg"
-	arg_mode=normal
-	continue
-	;;
-
-      normal )
-	# Accept any command-line options.
-	case $arg in
-	-o)
-	  test -n "$libobj" && \
-	    func_fatal_error "you cannot specify \`-o' more than once"
-	  arg_mode=target
-	  continue
-	  ;;
-
-	-pie | -fpie | -fPIE)
-          pie_flag="$pie_flag $arg"
-	  continue
-	  ;;
-
-	-shared | -static | -prefer-pic | -prefer-non-pic)
-	  later="$later $arg"
-	  continue
-	  ;;
-
-	-no-suppress)
-	  suppress_opt=no
-	  continue
-	  ;;
-
-	-Xcompiler)
-	  arg_mode=arg  #  the next one goes into the "base_compile" arg list
-	  continue      #  The current "srcfile" will either be retained or
-	  ;;            #  replaced later.  I would guess that would be a bug.
-
-	-Wc,*)
-	  func_stripname '-Wc,' '' "$arg"
-	  args=$func_stripname_result
-	  lastarg=
-	  save_ifs="$IFS"; IFS=','
-	  for arg in $args; do
-	    IFS="$save_ifs"
-	    func_quote_for_eval "$arg"
-	    lastarg="$lastarg $func_quote_for_eval_result"
-	  done
-	  IFS="$save_ifs"
-	  func_stripname ' ' '' "$lastarg"
-	  lastarg=$func_stripname_result
-
-	  # Add the arguments to base_compile.
-	  base_compile="$base_compile $lastarg"
-	  continue
-	  ;;
-
-	*)
-	  # Accept the current argument as the source file.
-	  # The previous "srcfile" becomes the current argument.
-	  #
-	  lastarg="$srcfile"
-	  srcfile="$arg"
-	  ;;
-	esac  #  case $arg
-	;;
-      esac    #  case $arg_mode
-
-      # Aesthetically quote the previous argument.
-      func_quote_for_eval "$lastarg"
-      base_compile="$base_compile $func_quote_for_eval_result"
-    done # for arg
-
-    case $arg_mode in
-    arg)
-      func_fatal_error "you must specify an argument for -Xcompile"
-      ;;
-    target)
-      func_fatal_error "you must specify a target with \`-o'"
-      ;;
-    *)
-      # Get the name of the library object.
-      test -z "$libobj" && {
-	func_basename "$srcfile"
-	libobj="$func_basename_result"
-      }
-      ;;
-    esac
-
-    # Recognize several different file suffixes.
-    # If the user specifies -o file.o, it is replaced with file.lo
-    case $libobj in
-    *.[cCFSifmso] | \
-    *.ada | *.adb | *.ads | *.asm | \
-    *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
-    *.[fF][09]? | *.for | *.java | *.obj | *.sx)
-      func_xform "$libobj"
-      libobj=$func_xform_result
-      ;;
-    esac
-
-    case $libobj in
-    *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
-    *)
-      func_fatal_error "cannot determine name of library object from \`$libobj'"
-      ;;
-    esac
-
-    func_infer_tag $base_compile
-
-    for arg in $later; do
-      case $arg in
-      -shared)
-	test "$build_libtool_libs" != yes && \
-	  func_fatal_configuration "can not build a shared library"
-	build_old_libs=no
-	continue
-	;;
-
-      -static)
-	build_libtool_libs=no
-	build_old_libs=yes
-	continue
-	;;
-
-      -prefer-pic)
-	pic_mode=yes
-	continue
-	;;
-
-      -prefer-non-pic)
-	pic_mode=no
-	continue
-	;;
-      esac
-    done
-
-    func_quote_for_eval "$libobj"
-    test "X$libobj" != "X$func_quote_for_eval_result" \
-      && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"'	 &()|`$[]' \
-      && func_warning "libobj name \`$libobj' may not contain shell special characters."
-    func_dirname_and_basename "$obj" "/" ""
-    objname="$func_basename_result"
-    xdir="$func_dirname_result"
-    lobj=${xdir}$objdir/$objname
-
-    test -z "$base_compile" && \
-      func_fatal_help "you must specify a compilation command"
-
-    # Delete any leftover library objects.
-    if test "$build_old_libs" = yes; then
-      removelist="$obj $lobj $libobj ${libobj}T"
-    else
-      removelist="$lobj $libobj ${libobj}T"
-    fi
-
-    # On Cygwin there's no "real" PIC flag so we must build both object types
-    case $host_os in
-    cygwin* | mingw* | pw32* | os2* | cegcc*)
-      pic_mode=default
-      ;;
-    esac
-    if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
-      # non-PIC code in shared libraries is not supported
-      pic_mode=default
-    fi
-
-    # Calculate the filename of the output object if compiler does
-    # not support -o with -c
-    if test "$compiler_c_o" = no; then
-      output_obj=`$ECHO "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
-      lockfile="$output_obj.lock"
-    else
-      output_obj=
-      need_locks=no
-      lockfile=
-    fi
-
-    # Lock this critical section if it is needed
-    # We use this script file to make the link, it avoids creating a new file
-    if test "$need_locks" = yes; then
-      until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
-	func_echo "Waiting for $lockfile to be removed"
-	sleep 2
-      done
-    elif test "$need_locks" = warn; then
-      if test -f "$lockfile"; then
-	$ECHO "\
-*** ERROR, $lockfile exists and contains:
-`cat $lockfile 2>/dev/null`
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together.  If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
-	$opt_dry_run || $RM $removelist
-	exit $EXIT_FAILURE
-      fi
-      removelist="$removelist $output_obj"
-      $ECHO "$srcfile" > "$lockfile"
-    fi
-
-    $opt_dry_run || $RM $removelist
-    removelist="$removelist $lockfile"
-    trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
-
-    if test -n "$fix_srcfile_path"; then
-      eval srcfile=\"$fix_srcfile_path\"
-    fi
-    func_quote_for_eval "$srcfile"
-    qsrcfile=$func_quote_for_eval_result
-
-    # Only build a PIC object if we are building libtool libraries.
-    if test "$build_libtool_libs" = yes; then
-      # Without this assignment, base_compile gets emptied.
-      fbsd_hideous_sh_bug=$base_compile
-
-      if test "$pic_mode" != no; then
-	command="$base_compile $qsrcfile $pic_flag"
-      else
-	# Don't build PIC code
-	command="$base_compile $qsrcfile"
-      fi
-
-      func_mkdir_p "$xdir$objdir"
-
-      if test -z "$output_obj"; then
-	# Place PIC objects in $objdir
-	command="$command -o $lobj"
-      fi
-
-      func_show_eval_locale "$command"	\
-          'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
-
-      if test "$need_locks" = warn &&
-	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
-	$ECHO "\
-*** ERROR, $lockfile contains:
-`cat $lockfile 2>/dev/null`
-
-but it should contain:
-$srcfile
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together.  If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
-	$opt_dry_run || $RM $removelist
-	exit $EXIT_FAILURE
-      fi
-
-      # Just move the object if needed, then go on to compile the next one
-      if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
-	func_show_eval '$MV "$output_obj" "$lobj"' \
-	  'error=$?; $opt_dry_run || $RM $removelist; exit $error'
-      fi
-
-      # Allow error messages only from the first compilation.
-      if test "$suppress_opt" = yes; then
-	suppress_output=' >/dev/null 2>&1'
-      fi
-    fi
-
-    # Only build a position-dependent object if we build old libraries.
-    if test "$build_old_libs" = yes; then
-      if test "$pic_mode" != yes; then
-	# Don't build PIC code
-	command="$base_compile $qsrcfile$pie_flag"
-      else
-	command="$base_compile $qsrcfile $pic_flag"
-      fi
-      if test "$compiler_c_o" = yes; then
-	command="$command -o $obj"
-      fi
-
-      # Suppress compiler output if we already did a PIC compilation.
-      command="$command$suppress_output"
-      func_show_eval_locale "$command" \
-        '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
-
-      if test "$need_locks" = warn &&
-	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
-	$ECHO "\
-*** ERROR, $lockfile contains:
-`cat $lockfile 2>/dev/null`
-
-but it should contain:
-$srcfile
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together.  If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
-	$opt_dry_run || $RM $removelist
-	exit $EXIT_FAILURE
-      fi
-
-      # Just move the object if needed
-      if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
-	func_show_eval '$MV "$output_obj" "$obj"' \
-	  'error=$?; $opt_dry_run || $RM $removelist; exit $error'
-      fi
-    fi
-
-    $opt_dry_run || {
-      func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
-
-      # Unlock the critical section if it was locked
-      if test "$need_locks" != no; then
-	removelist=$lockfile
-        $RM "$lockfile"
-      fi
-    }
-
-    exit $EXIT_SUCCESS
-}
-
-$opt_help || {
-test "$mode" = compile && func_mode_compile ${1+"$@"}
-}
-
-func_mode_help ()
-{
-    # We need to display help for each of the modes.
-    case $mode in
-      "")
-        # Generic help is extracted from the usage comments
-        # at the start of this file.
-        func_help
-        ;;
-
-      clean)
-        $ECHO \
-"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
-
-Remove files from the build directory.
-
-RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
-to RM.
-
-If FILE is a libtool library, object or program, all the files associated
-with it are deleted. Otherwise, only FILE itself is deleted using RM."
-        ;;
-
-      compile)
-      $ECHO \
-"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
-
-Compile a source file into a libtool library object.
-
-This mode accepts the following additional options:
-
-  -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
-  -no-suppress      do not suppress compiler output for multiple passes
-  -prefer-pic       try to building PIC objects only
-  -prefer-non-pic   try to building non-PIC objects only
-  -shared           do not build a \`.o' file suitable for static linking
-  -static           only build a \`.o' file suitable for static linking
-
-COMPILE-COMMAND is a command to be used in creating a \`standard' object file
-from the given SOURCEFILE.
-
-The output file name is determined by removing the directory component from
-SOURCEFILE, then substituting the C source code suffix \`.c' with the
-library object suffix, \`.lo'."
-        ;;
-
-      execute)
-        $ECHO \
-"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...
-
-Automatically set library path, then run a program.
-
-This mode accepts the following additional options:
-
-  -dlopen FILE      add the directory containing FILE to the library path
-
-This mode sets the library path environment variable according to \`-dlopen'
-flags.
-
-If any of the ARGS are libtool executable wrappers, then they are translated
-into their corresponding uninstalled binary, and any of their required library
-directories are added to the library path.
-
-Then, COMMAND is executed, with ARGS as arguments."
-        ;;
-
-      finish)
-        $ECHO \
-"Usage: $progname [OPTION]... --mode=finish [LIBDIR]...
-
-Complete the installation of libtool libraries.
-
-Each LIBDIR is a directory that contains libtool libraries.
-
-The commands that this mode executes may require superuser privileges.  Use
-the \`--dry-run' option if you just want to see what would be executed."
-        ;;
-
-      install)
-        $ECHO \
-"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
-
-Install executables or libraries.
-
-INSTALL-COMMAND is the installation command.  The first component should be
-either the \`install' or \`cp' program.
-
-The following components of INSTALL-COMMAND are treated specially:
-
-  -inst-prefix PREFIX-DIR  Use PREFIX-DIR as a staging area for installation
-
-The rest of the components are interpreted as arguments to that command (only
-BSD-compatible install options are recognized)."
-        ;;
-
-      link)
-        $ECHO \
-"Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
-
-Link object files or libraries together to form another library, or to
-create an executable program.
-
-LINK-COMMAND is a command using the C compiler that you would use to create
-a program from several object files.
-
-The following components of LINK-COMMAND are treated specially:
-
-  -all-static       do not do any dynamic linking at all
-  -avoid-version    do not add a version suffix if possible
-  -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
-  -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
-  -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
-  -export-symbols SYMFILE
-                    try to export only the symbols listed in SYMFILE
-  -export-symbols-regex REGEX
-                    try to export only the symbols matching REGEX
-  -LLIBDIR          search LIBDIR for required installed libraries
-  -lNAME            OUTPUT-FILE requires the installed library libNAME
-  -module           build a library that can dlopened
-  -no-fast-install  disable the fast-install mode
-  -no-install       link a not-installable executable
-  -no-undefined     declare that a library does not refer to external symbols
-  -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
-  -objectlist FILE  Use a list of object files found in FILE to specify objects
-  -precious-files-regex REGEX
-                    don't remove output files matching REGEX
-  -release RELEASE  specify package release information
-  -rpath LIBDIR     the created library will eventually be installed in LIBDIR
-  -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
-  -shared           only do dynamic linking of libtool libraries
-  -shrext SUFFIX    override the standard shared library file extension
-  -static           do not do any dynamic linking of uninstalled libtool libraries
-  -static-libtool-libs
-                    do not do any dynamic linking of libtool libraries
-  -version-info CURRENT[:REVISION[:AGE]]
-                    specify library version info [each variable defaults to 0]
-  -weak LIBNAME     declare that the target provides the LIBNAME interface
-
-All other options (arguments beginning with \`-') are ignored.
-
-Every other argument is treated as a filename.  Files ending in \`.la' are
-treated as uninstalled libtool libraries, other files are standard or library
-object files.
-
-If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
-only library objects (\`.lo' files) may be specified, and \`-rpath' is
-required, except when creating a convenience library.
-
-If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
-using \`ar' and \`ranlib', or on Windows using \`lib'.
-
-If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
-is created, otherwise an executable program is created."
-        ;;
-
-      uninstall)
-        $ECHO \
-"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
-
-Remove libraries from an installation directory.
-
-RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
-to RM.
-
-If FILE is a libtool library, all the files associated with it are deleted.
-Otherwise, only FILE itself is deleted using RM."
-        ;;
-
-      *)
-        func_fatal_help "invalid operation mode \`$mode'"
-        ;;
-    esac
-
-    $ECHO
-    $ECHO "Try \`$progname --help' for more information about other modes."
-
-    exit $?
-}
-
-  # Now that we've collected a possible --mode arg, show help if necessary
-  $opt_help && func_mode_help
-
-
-# func_mode_execute arg...
-func_mode_execute ()
-{
-    $opt_debug
-    # The first argument is the command name.
-    cmd="$nonopt"
-    test -z "$cmd" && \
-      func_fatal_help "you must specify a COMMAND"
-
-    # Handle -dlopen flags immediately.
-    for file in $execute_dlfiles; do
-      test -f "$file" \
-	|| func_fatal_help "\`$file' is not a file"
-
-      dir=
-      case $file in
-      *.la)
-	# Check to see that this really is a libtool archive.
-	func_lalib_unsafe_p "$file" \
-	  || func_fatal_help "\`$lib' is not a valid libtool archive"
-
-	# Read the libtool library.
-	dlname=
-	library_names=
-	func_source "$file"
-
-	# Skip this library if it cannot be dlopened.
-	if test -z "$dlname"; then
-	  # Warn if it was a shared library.
-	  test -n "$library_names" && \
-	    func_warning "\`$file' was not linked with \`-export-dynamic'"
-	  continue
-	fi
-
-	func_dirname "$file" "" "."
-	dir="$func_dirname_result"
-
-	if test -f "$dir/$objdir/$dlname"; then
-	  dir="$dir/$objdir"
-	else
-	  if test ! -f "$dir/$dlname"; then
-	    func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
-	  fi
-	fi
-	;;
-
-      *.lo)
-	# Just add the directory containing the .lo file.
-	func_dirname "$file" "" "."
-	dir="$func_dirname_result"
-	;;
-
-      *)
-	func_warning "\`-dlopen' is ignored for non-libtool libraries and objects"
-	continue
-	;;
-      esac
-
-      # Get the absolute pathname.
-      absdir=`cd "$dir" && pwd`
-      test -n "$absdir" && dir="$absdir"
-
-      # Now add the directory to shlibpath_var.
-      if eval "test -z \"\$$shlibpath_var\""; then
-	eval "$shlibpath_var=\"\$dir\""
-      else
-	eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
-      fi
-    done
-
-    # This variable tells wrapper scripts just to set shlibpath_var
-    # rather than running their programs.
-    libtool_execute_magic="$magic"
-
-    # Check if any of the arguments is a wrapper script.
-    args=
-    for file
-    do
-      case $file in
-      -*) ;;
-      *)
-	# Do a test to see if this is really a libtool program.
-	if func_ltwrapper_script_p "$file"; then
-	  func_source "$file"
-	  # Transform arg to wrapped name.
-	  file="$progdir/$program"
-	elif func_ltwrapper_executable_p "$file"; then
-	  func_ltwrapper_scriptname "$file"
-	  func_source "$func_ltwrapper_scriptname_result"
-	  # Transform arg to wrapped name.
-	  file="$progdir/$program"
-	fi
-	;;
-      esac
-      # Quote arguments (to preserve shell metacharacters).
-      func_quote_for_eval "$file"
-      args="$args $func_quote_for_eval_result"
-    done
-
-    if test "X$opt_dry_run" = Xfalse; then
-      if test -n "$shlibpath_var"; then
-	# Export the shlibpath_var.
-	eval "export $shlibpath_var"
-      fi
-
-      # Restore saved environment variables
-      for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
-      do
-	eval "if test \"\${save_$lt_var+set}\" = set; then
-                $lt_var=\$save_$lt_var; export $lt_var
-	      else
-		$lt_unset $lt_var
-	      fi"
-      done
-
-      # Now prepare to actually exec the command.
-      exec_cmd="\$cmd$args"
-    else
-      # Display what would be done.
-      if test -n "$shlibpath_var"; then
-	eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
-	$ECHO "export $shlibpath_var"
-      fi
-      $ECHO "$cmd$args"
-      exit $EXIT_SUCCESS
-    fi
-}
-
-test "$mode" = execute && func_mode_execute ${1+"$@"}
-
-
-# func_mode_finish arg...
-func_mode_finish ()
-{
-    $opt_debug
-    libdirs="$nonopt"
-    admincmds=
-
-    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
-      for dir
-      do
-	libdirs="$libdirs $dir"
-      done
-
-      for libdir in $libdirs; do
-	if test -n "$finish_cmds"; then
-	  # Do each command in the finish commands.
-	  func_execute_cmds "$finish_cmds" 'admincmds="$admincmds
-'"$cmd"'"'
-	fi
-	if test -n "$finish_eval"; then
-	  # Do the single finish_eval.
-	  eval cmds=\"$finish_eval\"
-	  $opt_dry_run || eval "$cmds" || admincmds="$admincmds
-       $cmds"
-	fi
-      done
-    fi
-
-    # Exit here if they wanted silent mode.
-    $opt_silent && exit $EXIT_SUCCESS
-
-    $ECHO "X----------------------------------------------------------------------" | $Xsed
-    $ECHO "Libraries have been installed in:"
-    for libdir in $libdirs; do
-      $ECHO "   $libdir"
-    done
-    $ECHO
-    $ECHO "If you ever happen to want to link against installed libraries"
-    $ECHO "in a given directory, LIBDIR, you must either use libtool, and"
-    $ECHO "specify the full pathname of the library, or use the \`-LLIBDIR'"
-    $ECHO "flag during linking and do at least one of the following:"
-    if test -n "$shlibpath_var"; then
-      $ECHO "   - add LIBDIR to the \`$shlibpath_var' environment variable"
-      $ECHO "     during execution"
-    fi
-    if test -n "$runpath_var"; then
-      $ECHO "   - add LIBDIR to the \`$runpath_var' environment variable"
-      $ECHO "     during linking"
-    fi
-    if test -n "$hardcode_libdir_flag_spec"; then
-      libdir=LIBDIR
-      eval flag=\"$hardcode_libdir_flag_spec\"
-
-      $ECHO "   - use the \`$flag' linker flag"
-    fi
-    if test -n "$admincmds"; then
-      $ECHO "   - have your system administrator run these commands:$admincmds"
-    fi
-    if test -f /etc/ld.so.conf; then
-      $ECHO "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
-    fi
-    $ECHO
-
-    $ECHO "See any operating system documentation about shared libraries for"
-    case $host in
-      solaris2.[6789]|solaris2.1[0-9])
-        $ECHO "more information, such as the ld(1), crle(1) and ld.so(8) manual"
-	$ECHO "pages."
-	;;
-      *)
-        $ECHO "more information, such as the ld(1) and ld.so(8) manual pages."
-        ;;
-    esac
-    $ECHO "X----------------------------------------------------------------------" | $Xsed
-    exit $EXIT_SUCCESS
-}
-
-test "$mode" = finish && func_mode_finish ${1+"$@"}
-
-
-# func_mode_install arg...
-func_mode_install ()
-{
-    $opt_debug
-    # There may be an optional sh(1) argument at the beginning of
-    # install_prog (especially on Windows NT).
-    if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
-       # Allow the use of GNU shtool's install command.
-       $ECHO "X$nonopt" | $GREP shtool >/dev/null; then
-      # Aesthetically quote it.
-      func_quote_for_eval "$nonopt"
-      install_prog="$func_quote_for_eval_result "
-      arg=$1
-      shift
-    else
-      install_prog=
-      arg=$nonopt
-    fi
-
-    # The real first argument should be the name of the installation program.
-    # Aesthetically quote it.
-    func_quote_for_eval "$arg"
-    install_prog="$install_prog$func_quote_for_eval_result"
-
-    # We need to accept at least all the BSD install flags.
-    dest=
-    files=
-    opts=
-    prev=
-    install_type=
-    isdir=no
-    stripme=
-    for arg
-    do
-      if test -n "$dest"; then
-	files="$files $dest"
-	dest=$arg
-	continue
-      fi
-
-      case $arg in
-      -d) isdir=yes ;;
-      -f)
-	case " $install_prog " in
-	*[\\\ /]cp\ *) ;;
-	*) prev=$arg ;;
-	esac
-	;;
-      -g | -m | -o)
-	prev=$arg
-	;;
-      -s)
-	stripme=" -s"
-	continue
-	;;
-      -*)
-	;;
-      *)
-	# If the previous option needed an argument, then skip it.
-	if test -n "$prev"; then
-	  prev=
-	else
-	  dest=$arg
-	  continue
-	fi
-	;;
-      esac
-
-      # Aesthetically quote the argument.
-      func_quote_for_eval "$arg"
-      install_prog="$install_prog $func_quote_for_eval_result"
-    done
-
-    test -z "$install_prog" && \
-      func_fatal_help "you must specify an install program"
-
-    test -n "$prev" && \
-      func_fatal_help "the \`$prev' option requires an argument"
-
-    if test -z "$files"; then
-      if test -z "$dest"; then
-	func_fatal_help "no file or destination specified"
-      else
-	func_fatal_help "you must specify a destination"
-      fi
-    fi
-
-    # Strip any trailing slash from the destination.
-    func_stripname '' '/' "$dest"
-    dest=$func_stripname_result
-
-    # Check to see that the destination is a directory.
-    test -d "$dest" && isdir=yes
-    if test "$isdir" = yes; then
-      destdir="$dest"
-      destname=
-    else
-      func_dirname_and_basename "$dest" "" "."
-      destdir="$func_dirname_result"
-      destname="$func_basename_result"
-
-      # Not a directory, so check to see that there is only one file specified.
-      set dummy $files; shift
-      test "$#" -gt 1 && \
-	func_fatal_help "\`$dest' is not a directory"
-    fi
-    case $destdir in
-    [\\/]* | [A-Za-z]:[\\/]*) ;;
-    *)
-      for file in $files; do
-	case $file in
-	*.lo) ;;
-	*)
-	  func_fatal_help "\`$destdir' must be an absolute directory name"
-	  ;;
-	esac
-      done
-      ;;
-    esac
-
-    # This variable tells wrapper scripts just to set variables rather
-    # than running their programs.
-    libtool_install_magic="$magic"
-
-    staticlibs=
-    future_libdirs=
-    current_libdirs=
-    for file in $files; do
-
-      # Do each installation.
-      case $file in
-      *.$libext)
-	# Do the static libraries later.
-	staticlibs="$staticlibs $file"
-	;;
-
-      *.la)
-	# Check to see that this really is a libtool archive.
-	func_lalib_unsafe_p "$file" \
-	  || func_fatal_help "\`$file' is not a valid libtool archive"
-
-	library_names=
-	old_library=
-	relink_command=
-	func_source "$file"
-
-	# Add the libdir to current_libdirs if it is the destination.
-	if test "X$destdir" = "X$libdir"; then
-	  case "$current_libdirs " in
-	  *" $libdir "*) ;;
-	  *) current_libdirs="$current_libdirs $libdir" ;;
-	  esac
-	else
-	  # Note the libdir as a future libdir.
-	  case "$future_libdirs " in
-	  *" $libdir "*) ;;
-	  *) future_libdirs="$future_libdirs $libdir" ;;
-	  esac
-	fi
-
-	func_dirname "$file" "/" ""
-	dir="$func_dirname_result"
-	dir="$dir$objdir"
-
-	if test -n "$relink_command"; then
-	  # Determine the prefix the user has applied to our future dir.
-	  inst_prefix_dir=`$ECHO "X$destdir" | $Xsed -e "s%$libdir\$%%"`
-
-	  # Don't allow the user to place us outside of our expected
-	  # location b/c this prevents finding dependent libraries that
-	  # are installed to the same prefix.
-	  # At present, this check doesn't affect windows .dll's that
-	  # are installed into $libdir/../bin (currently, that works fine)
-	  # but it's something to keep an eye on.
-	  test "$inst_prefix_dir" = "$destdir" && \
-	    func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"
-
-	  if test -n "$inst_prefix_dir"; then
-	    # Stick the inst_prefix_dir data into the link command.
-	    relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
-	  else
-	    relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%%"`
-	  fi
-
-	  func_warning "relinking \`$file'"
-	  func_show_eval "$relink_command" \
-	    'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"'
-	fi
-
-	# See the names of the shared library.
-	set dummy $library_names; shift
-	if test -n "$1"; then
-	  realname="$1"
-	  shift
-
-	  srcname="$realname"
-	  test -n "$relink_command" && srcname="$realname"T
-
-	  # Install the shared library and build the symlinks.
-	  func_show_eval "$install_prog $dir/$srcname $destdir/$realname" \
-	      'exit $?'
-	  tstripme="$stripme"
-	  case $host_os in
-	  cygwin* | mingw* | pw32* | cegcc*)
-	    case $realname in
-	    *.dll.a)
-	      tstripme=""
-	      ;;
-	    esac
-	    ;;
-	  esac
-	  if test -n "$tstripme" && test -n "$striplib"; then
-	    func_show_eval "$striplib $destdir/$realname" 'exit $?'
-	  fi
-
-	  if test "$#" -gt 0; then
-	    # Delete the old symlinks, and create new ones.
-	    # Try `ln -sf' first, because the `ln' binary might depend on
-	    # the symlink we replace!  Solaris /bin/ln does not understand -f,
-	    # so we also need to try rm && ln -s.
-	    for linkname
-	    do
-	      test "$linkname" != "$realname" \
-		&& func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })"
-	    done
-	  fi
-
-	  # Do each command in the postinstall commands.
-	  lib="$destdir/$realname"
-	  func_execute_cmds "$postinstall_cmds" 'exit $?'
-	fi
-
-	# Install the pseudo-library for information purposes.
-	func_basename "$file"
-	name="$func_basename_result"
-	instname="$dir/$name"i
-	func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
-
-	# Maybe install the static library, too.
-	test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
-	;;
-
-      *.lo)
-	# Install (i.e. copy) a libtool object.
-
-	# Figure out destination file name, if it wasn't already specified.
-	if test -n "$destname"; then
-	  destfile="$destdir/$destname"
-	else
-	  func_basename "$file"
-	  destfile="$func_basename_result"
-	  destfile="$destdir/$destfile"
-	fi
-
-	# Deduce the name of the destination old-style object file.
-	case $destfile in
-	*.lo)
-	  func_lo2o "$destfile"
-	  staticdest=$func_lo2o_result
-	  ;;
-	*.$objext)
-	  staticdest="$destfile"
-	  destfile=
-	  ;;
-	*)
-	  func_fatal_help "cannot copy a libtool object to \`$destfile'"
-	  ;;
-	esac
-
-	# Install the libtool object if requested.
-	test -n "$destfile" && \
-	  func_show_eval "$install_prog $file $destfile" 'exit $?'
-
-	# Install the old object if enabled.
-	if test "$build_old_libs" = yes; then
-	  # Deduce the name of the old-style object file.
-	  func_lo2o "$file"
-	  staticobj=$func_lo2o_result
-	  func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?'
-	fi
-	exit $EXIT_SUCCESS
-	;;
-
-      *)
-	# Figure out destination file name, if it wasn't already specified.
-	if test -n "$destname"; then
-	  destfile="$destdir/$destname"
-	else
-	  func_basename "$file"
-	  destfile="$func_basename_result"
-	  destfile="$destdir/$destfile"
-	fi
-
-	# If the file is missing, and there is a .exe on the end, strip it
-	# because it is most likely a libtool script we actually want to
-	# install
-	stripped_ext=""
-	case $file in
-	  *.exe)
-	    if test ! -f "$file"; then
-	      func_stripname '' '.exe' "$file"
-	      file=$func_stripname_result
-	      stripped_ext=".exe"
-	    fi
-	    ;;
-	esac
-
-	# Do a test to see if this is really a libtool program.
-	case $host in
-	*cygwin* | *mingw*)
-	    if func_ltwrapper_executable_p "$file"; then
-	      func_ltwrapper_scriptname "$file"
-	      wrapper=$func_ltwrapper_scriptname_result
-	    else
-	      func_stripname '' '.exe' "$file"
-	      wrapper=$func_stripname_result
-	    fi
-	    ;;
-	*)
-	    wrapper=$file
-	    ;;
-	esac
-	if func_ltwrapper_script_p "$wrapper"; then
-	  notinst_deplibs=
-	  relink_command=
-
-	  func_source "$wrapper"
-
-	  # Check the variables that should have been set.
-	  test -z "$generated_by_libtool_version" && \
-	    func_fatal_error "invalid libtool wrapper script \`$wrapper'"
-
-	  finalize=yes
-	  for lib in $notinst_deplibs; do
-	    # Check to see that each library is installed.
-	    libdir=
-	    if test -f "$lib"; then
-	      func_source "$lib"
-	    fi
-	    libfile="$libdir/"`$ECHO "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
-	    if test -n "$libdir" && test ! -f "$libfile"; then
-	      func_warning "\`$lib' has not been installed in \`$libdir'"
-	      finalize=no
-	    fi
-	  done
-
-	  relink_command=
-	  func_source "$wrapper"
-
-	  outputname=
-	  if test "$fast_install" = no && test -n "$relink_command"; then
-	    $opt_dry_run || {
-	      if test "$finalize" = yes; then
-	        tmpdir=`func_mktempdir`
-		func_basename "$file$stripped_ext"
-		file="$func_basename_result"
-	        outputname="$tmpdir/$file"
-	        # Replace the output file specification.
-	        relink_command=`$ECHO "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
-
-	        $opt_silent || {
-	          func_quote_for_expand "$relink_command"
-		  eval "func_echo $func_quote_for_expand_result"
-	        }
-	        if eval "$relink_command"; then :
-	          else
-		  func_error "error: relink \`$file' with the above command before installing it"
-		  $opt_dry_run || ${RM}r "$tmpdir"
-		  continue
-	        fi
-	        file="$outputname"
-	      else
-	        func_warning "cannot relink \`$file'"
-	      fi
-	    }
-	  else
-	    # Install the binary that we compiled earlier.
-	    file=`$ECHO "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
-	  fi
-	fi
-
-	# remove .exe since cygwin /usr/bin/install will append another
-	# one anyway
-	case $install_prog,$host in
-	*/usr/bin/install*,*cygwin*)
-	  case $file:$destfile in
-	  *.exe:*.exe)
-	    # this is ok
-	    ;;
-	  *.exe:*)
-	    destfile=$destfile.exe
-	    ;;
-	  *:*.exe)
-	    func_stripname '' '.exe' "$destfile"
-	    destfile=$func_stripname_result
-	    ;;
-	  esac
-	  ;;
-	esac
-	func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?'
-	$opt_dry_run || if test -n "$outputname"; then
-	  ${RM}r "$tmpdir"
-	fi
-	;;
-      esac
-    done
-
-    for file in $staticlibs; do
-      func_basename "$file"
-      name="$func_basename_result"
-
-      # Set up the ranlib parameters.
-      oldlib="$destdir/$name"
-
-      func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
-
-      if test -n "$stripme" && test -n "$old_striplib"; then
-	func_show_eval "$old_striplib $oldlib" 'exit $?'
-      fi
-
-      # Do each command in the postinstall commands.
-      func_execute_cmds "$old_postinstall_cmds" 'exit $?'
-    done
-
-    test -n "$future_libdirs" && \
-      func_warning "remember to run \`$progname --finish$future_libdirs'"
-
-    if test -n "$current_libdirs"; then
-      # Maybe just do a dry run.
-      $opt_dry_run && current_libdirs=" -n$current_libdirs"
-      exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
-    else
-      exit $EXIT_SUCCESS
-    fi
-}
-
-test "$mode" = install && func_mode_install ${1+"$@"}
-
-
-# func_generate_dlsyms outputname originator pic_p
-# Extract symbols from dlprefiles and create ${outputname}S.o with
-# a dlpreopen symbol table.
-func_generate_dlsyms ()
-{
-    $opt_debug
-    my_outputname="$1"
-    my_originator="$2"
-    my_pic_p="${3-no}"
-    my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'`
-    my_dlsyms=
-
-    if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
-      if test -n "$NM" && test -n "$global_symbol_pipe"; then
-	my_dlsyms="${my_outputname}S.c"
-      else
-	func_error "not configured to extract global symbols from dlpreopened files"
-      fi
-    fi
-
-    if test -n "$my_dlsyms"; then
-      case $my_dlsyms in
-      "") ;;
-      *.c)
-	# Discover the nlist of each of the dlfiles.
-	nlist="$output_objdir/${my_outputname}.nm"
-
-	func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
-
-	# Parse the name list into a source file.
-	func_verbose "creating $output_objdir/$my_dlsyms"
-
-	$opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
-/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */
-/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */
-
-#ifdef __cplusplus
-extern \"C\" {
-#endif
-
-/* External symbol declarations for the compiler. */\
-"
-
-	if test "$dlself" = yes; then
-	  func_verbose "generating symbol list for \`$output'"
-
-	  $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
-
-	  # Add our own program objects to the symbol list.
-	  progfiles=`$ECHO "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
-	  for progfile in $progfiles; do
-	    func_verbose "extracting global C symbols from \`$progfile'"
-	    $opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist'"
-	  done
-
-	  if test -n "$exclude_expsyms"; then
-	    $opt_dry_run || {
-	      eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
-	      eval '$MV "$nlist"T "$nlist"'
-	    }
-	  fi
-
-	  if test -n "$export_symbols_regex"; then
-	    $opt_dry_run || {
-	      eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
-	      eval '$MV "$nlist"T "$nlist"'
-	    }
-	  fi
-
-	  # Prepare the list of exported symbols
-	  if test -z "$export_symbols"; then
-	    export_symbols="$output_objdir/$outputname.exp"
-	    $opt_dry_run || {
-	      $RM $export_symbols
-	      eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
-	      case $host in
-	      *cygwin* | *mingw* | *cegcc* )
-                eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
-                eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
-	        ;;
-	      esac
-	    }
-	  else
-	    $opt_dry_run || {
-	      eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
-	      eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
-	      eval '$MV "$nlist"T "$nlist"'
-	      case $host in
-	        *cygwin | *mingw* | *cegcc* )
-	          eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
-	          eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
-	          ;;
-	      esac
-	    }
-	  fi
-	fi
-
-	for dlprefile in $dlprefiles; do
-	  func_verbose "extracting global C symbols from \`$dlprefile'"
-	  func_basename "$dlprefile"
-	  name="$func_basename_result"
-	  $opt_dry_run || {
-	    eval '$ECHO ": $name " >> "$nlist"'
-	    eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlist'"
-	  }
-	done
-
-	$opt_dry_run || {
-	  # Make sure we have at least an empty file.
-	  test -f "$nlist" || : > "$nlist"
-
-	  if test -n "$exclude_expsyms"; then
-	    $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
-	    $MV "$nlist"T "$nlist"
-	  fi
-
-	  # Try sorting and uniquifying the output.
-	  if $GREP -v "^: " < "$nlist" |
-	      if sort -k 3 </dev/null >/dev/null 2>&1; then
-		sort -k 3
-	      else
-		sort +2
-	      fi |
-	      uniq > "$nlist"S; then
-	    :
-	  else
-	    $GREP -v "^: " < "$nlist" > "$nlist"S
-	  fi
-
-	  if test -f "$nlist"S; then
-	    eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
-	  else
-	    $ECHO '/* NONE */' >> "$output_objdir/$my_dlsyms"
-	  fi
-
-	  $ECHO >> "$output_objdir/$my_dlsyms" "\
-
-/* The mapping between symbol names and symbols.  */
-typedef struct {
-  const char *name;
-  void *address;
-} lt_dlsymlist;
-"
-	  case $host in
-	  *cygwin* | *mingw* | *cegcc* )
-	    $ECHO >> "$output_objdir/$my_dlsyms" "\
-/* DATA imports from DLLs on WIN32 con't be const, because
-   runtime relocations are performed -- see ld's documentation
-   on pseudo-relocs.  */"
-	    lt_dlsym_const= ;;
-	  *osf5*)
-	    echo >> "$output_objdir/$my_dlsyms" "\
-/* This system does not cope well with relocations in const data */"
-	    lt_dlsym_const= ;;
-	  *)
-	    lt_dlsym_const=const ;;
-	  esac
-
-	  $ECHO >> "$output_objdir/$my_dlsyms" "\
-extern $lt_dlsym_const lt_dlsymlist
-lt_${my_prefix}_LTX_preloaded_symbols[];
-$lt_dlsym_const lt_dlsymlist
-lt_${my_prefix}_LTX_preloaded_symbols[] =
-{\
-  { \"$my_originator\", (void *) 0 },"
-
-	  case $need_lib_prefix in
-	  no)
-	    eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"
-	    ;;
-	  *)
-	    eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
-	    ;;
-	  esac
-	  $ECHO >> "$output_objdir/$my_dlsyms" "\
-  {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
-  return lt_${my_prefix}_LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif\
-"
-	} # !$opt_dry_run
-
-	pic_flag_for_symtable=
-	case "$compile_command " in
-	*" -static "*) ;;
-	*)
-	  case $host in
-	  # compiling the symbol table file with pic_flag works around
-	  # a FreeBSD bug that causes programs to crash when -lm is
-	  # linked before any other PIC object.  But we must not use
-	  # pic_flag when linking with -static.  The problem exists in
-	  # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
-	  *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
-	    pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
-	  *-*-hpux*)
-	    pic_flag_for_symtable=" $pic_flag"  ;;
-	  *)
-	    if test "X$my_pic_p" != Xno; then
-	      pic_flag_for_symtable=" $pic_flag"
-	    fi
-	    ;;
-	  esac
-	  ;;
-	esac
-	symtab_cflags=
-	for arg in $LTCFLAGS; do
-	  case $arg in
-	  -pie | -fpie | -fPIE) ;;
-	  *) symtab_cflags="$symtab_cflags $arg" ;;
-	  esac
-	done
-
-	# Now compile the dynamic symbol file.
-	func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
-
-	# Clean up the generated files.
-	func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"'
-
-	# Transform the symbol file into the correct name.
-	symfileobj="$output_objdir/${my_outputname}S.$objext"
-	case $host in
-	*cygwin* | *mingw* | *cegcc* )
-	  if test -f "$output_objdir/$my_outputname.def"; then
-	    compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
-	    finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
-	  else
-	    compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
-	    finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
-	  fi
-	  ;;
-	*)
-	  compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
-	  finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
-	  ;;
-	esac
-	;;
-      *)
-	func_fatal_error "unknown suffix for \`$my_dlsyms'"
-	;;
-      esac
-    else
-      # We keep going just in case the user didn't refer to
-      # lt_preloaded_symbols.  The linker will fail if global_symbol_pipe
-      # really was required.
-
-      # Nullify the symbol file.
-      compile_command=`$ECHO "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
-      finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
-    fi
-}
-
-# func_win32_libid arg
-# return the library type of file 'arg'
-#
-# Need a lot of goo to handle *both* DLLs and import libs
-# Has to be a shell function in order to 'eat' the argument
-# that is supplied when $file_magic_command is called.
-func_win32_libid ()
-{
-  $opt_debug
-  win32_libid_type="unknown"
-  win32_fileres=`file -L $1 2>/dev/null`
-  case $win32_fileres in
-  *ar\ archive\ import\ library*) # definitely import
-    win32_libid_type="x86 archive import"
-    ;;
-  *ar\ archive*) # could be an import, or static
-    if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
-       $EGREP 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
-      win32_nmres=`eval $NM -f posix -A $1 |
-	$SED -n -e '
-	    1,100{
-		/ I /{
-		    s,.*,import,
-		    p
-		    q
-		}
-	    }'`
-      case $win32_nmres in
-      import*)  win32_libid_type="x86 archive import";;
-      *)        win32_libid_type="x86 archive static";;
-      esac
-    fi
-    ;;
-  *DLL*)
-    win32_libid_type="x86 DLL"
-    ;;
-  *executable*) # but shell scripts are "executable" too...
-    case $win32_fileres in
-    *MS\ Windows\ PE\ Intel*)
-      win32_libid_type="x86 DLL"
-      ;;
-    esac
-    ;;
-  esac
-  $ECHO "$win32_libid_type"
-}
-
-
-
-# func_extract_an_archive dir oldlib
-func_extract_an_archive ()
-{
-    $opt_debug
-    f_ex_an_ar_dir="$1"; shift
-    f_ex_an_ar_oldlib="$1"
-    func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" 'exit $?'
-    if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
-     :
-    else
-      func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib"
-    fi
-}
-
-
-# func_extract_archives gentop oldlib ...
-func_extract_archives ()
-{
-    $opt_debug
-    my_gentop="$1"; shift
-    my_oldlibs=${1+"$@"}
-    my_oldobjs=""
-    my_xlib=""
-    my_xabs=""
-    my_xdir=""
-
-    for my_xlib in $my_oldlibs; do
-      # Extract the objects.
-      case $my_xlib in
-	[\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
-	*) my_xabs=`pwd`"/$my_xlib" ;;
-      esac
-      func_basename "$my_xlib"
-      my_xlib="$func_basename_result"
-      my_xlib_u=$my_xlib
-      while :; do
-        case " $extracted_archives " in
-	*" $my_xlib_u "*)
-	  func_arith $extracted_serial + 1
-	  extracted_serial=$func_arith_result
-	  my_xlib_u=lt$extracted_serial-$my_xlib ;;
-	*) break ;;
-	esac
-      done
-      extracted_archives="$extracted_archives $my_xlib_u"
-      my_xdir="$my_gentop/$my_xlib_u"
-
-      func_mkdir_p "$my_xdir"
-
-      case $host in
-      *-darwin*)
-	func_verbose "Extracting $my_xabs"
-	# Do not bother doing anything if just a dry run
-	$opt_dry_run || {
-	  darwin_orig_dir=`pwd`
-	  cd $my_xdir || exit $?
-	  darwin_archive=$my_xabs
-	  darwin_curdir=`pwd`
-	  darwin_base_archive=`basename "$darwin_archive"`
-	  darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
-	  if test -n "$darwin_arches"; then
-	    darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
-	    darwin_arch=
-	    func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
-	    for darwin_arch in  $darwin_arches ; do
-	      func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
-	      $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
-	      cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
-	      func_extract_an_archive "`pwd`" "${darwin_base_archive}"
-	      cd "$darwin_curdir"
-	      $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
-	    done # $darwin_arches
-            ## Okay now we've a bunch of thin objects, gotta fatten them up :)
-	    darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u`
-	    darwin_file=
-	    darwin_files=
-	    for darwin_file in $darwin_filelist; do
-	      darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
-	      $LIPO -create -output "$darwin_file" $darwin_files
-	    done # $darwin_filelist
-	    $RM -rf unfat-$$
-	    cd "$darwin_orig_dir"
-	  else
-	    cd $darwin_orig_dir
-	    func_extract_an_archive "$my_xdir" "$my_xabs"
-	  fi # $darwin_arches
-	} # !$opt_dry_run
-	;;
-      *)
-        func_extract_an_archive "$my_xdir" "$my_xabs"
-	;;
-      esac
-      my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
-    done
-
-    func_extract_archives_result="$my_oldobjs"
-}
-
-
-
-# func_emit_wrapper_part1 [arg=no]
-#
-# Emit the first part of a libtool wrapper script on stdout.
-# For more information, see the description associated with
-# func_emit_wrapper(), below.
-func_emit_wrapper_part1 ()
-{
-	func_emit_wrapper_part1_arg1=no
-	if test -n "$1" ; then
-	  func_emit_wrapper_part1_arg1=$1
-	fi
-
-	$ECHO "\
-#! $SHELL
-
-# $output - temporary wrapper script for $objdir/$outputname
-# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
-#
-# The $output program cannot be directly executed until all the libtool
-# libraries that it depends on are installed.
-#
-# This wrapper script should never be moved out of the build directory.
-# If it is, it will not operate correctly.
-
-# Sed substitution that helps us do robust quoting.  It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed='${SED} -e 1s/^X//'
-sed_quote_subst='$sed_quote_subst'
-
-# Be Bourne compatible
-if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
-  emulate sh
-  NULLCMD=:
-  # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '\${1+\"\$@\"}'='\"\$@\"'
-  setopt NO_GLOB_SUBST
-else
-  case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
-fi
-BIN_SH=xpg4; export BIN_SH # for Tru64
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-relink_command=\"$relink_command\"
-
-# This environment variable determines our operation mode.
-if test \"\$libtool_install_magic\" = \"$magic\"; then
-  # install mode needs the following variables:
-  generated_by_libtool_version='$macro_version'
-  notinst_deplibs='$notinst_deplibs'
-else
-  # When we are sourced in execute mode, \$file and \$ECHO are already set.
-  if test \"\$libtool_execute_magic\" != \"$magic\"; then
-    ECHO=\"$qecho\"
-    file=\"\$0\"
-    # Make sure echo works.
-    if test \"X\$1\" = X--no-reexec; then
-      # Discard the --no-reexec flag, and continue.
-      shift
-    elif test \"X\`{ \$ECHO '\t'; } 2>/dev/null\`\" = 'X\t'; then
-      # Yippee, \$ECHO works!
-      :
-    else
-      # Restart under the correct shell, and then maybe \$ECHO will work.
-      exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
-    fi
-  fi\
-"
-	$ECHO "\
-
-  # Find the directory that this script lives in.
-  thisdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
-  test \"x\$thisdir\" = \"x\$file\" && thisdir=.
-
-  # Follow symbolic links until we get to the real thisdir.
-  file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
-  while test -n \"\$file\"; do
-    destdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
-
-    # If there was a directory component, then change thisdir.
-    if test \"x\$destdir\" != \"x\$file\"; then
-      case \"\$destdir\" in
-      [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
-      *) thisdir=\"\$thisdir/\$destdir\" ;;
-      esac
-    fi
-
-    file=\`\$ECHO \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
-    file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
-  done
-"
-}
-# end: func_emit_wrapper_part1
-
-# func_emit_wrapper_part2 [arg=no]
-#
-# Emit the second part of a libtool wrapper script on stdout.
-# For more information, see the description associated with
-# func_emit_wrapper(), below.
-func_emit_wrapper_part2 ()
-{
-	func_emit_wrapper_part2_arg1=no
-	if test -n "$1" ; then
-	  func_emit_wrapper_part2_arg1=$1
-	fi
-
-	$ECHO "\
-
-  # Usually 'no', except on cygwin/mingw when embedded into
-  # the cwrapper.
-  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_part2_arg1
-  if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
-    # special case for '.'
-    if test \"\$thisdir\" = \".\"; then
-      thisdir=\`pwd\`
-    fi
-    # remove .libs from thisdir
-    case \"\$thisdir\" in
-    *[\\\\/]$objdir ) thisdir=\`\$ECHO \"X\$thisdir\" | \$Xsed -e 's%[\\\\/][^\\\\/]*$%%'\` ;;
-    $objdir )   thisdir=. ;;
-    esac
-  fi
-
-  # Try to get the absolute directory name.
-  absdir=\`cd \"\$thisdir\" && pwd\`
-  test -n \"\$absdir\" && thisdir=\"\$absdir\"
-"
-
-	if test "$fast_install" = yes; then
-	  $ECHO "\
-  program=lt-'$outputname'$exeext
-  progdir=\"\$thisdir/$objdir\"
-
-  if test ! -f \"\$progdir/\$program\" ||
-     { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
-       test \"X\$file\" != \"X\$progdir/\$program\"; }; then
-
-    file=\"\$\$-\$program\"
-
-    if test ! -d \"\$progdir\"; then
-      $MKDIR \"\$progdir\"
-    else
-      $RM \"\$progdir/\$file\"
-    fi"
-
-	  $ECHO "\
-
-    # relink executable if necessary
-    if test -n \"\$relink_command\"; then
-      if relink_command_output=\`eval \$relink_command 2>&1\`; then :
-      else
-	$ECHO \"\$relink_command_output\" >&2
-	$RM \"\$progdir/\$file\"
-	exit 1
-      fi
-    fi
-
-    $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
-    { $RM \"\$progdir/\$program\";
-      $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; }
-    $RM \"\$progdir/\$file\"
-  fi"
-	else
-	  $ECHO "\
-  program='$outputname'
-  progdir=\"\$thisdir/$objdir\"
-"
-	fi
-
-	$ECHO "\
-
-  if test -f \"\$progdir/\$program\"; then"
-
-	# Export our shlibpath_var if we have one.
-	if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
-	  $ECHO "\
-    # Add our own library path to $shlibpath_var
-    $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
-
-    # Some systems cannot cope with colon-terminated $shlibpath_var
-    # The second colon is a workaround for a bug in BeOS R4 sed
-    $shlibpath_var=\`\$ECHO \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
-
-    export $shlibpath_var
-"
-	fi
-
-	# fixup the dll searchpath if we need to.
-	if test -n "$dllsearchpath"; then
-	  $ECHO "\
-    # Add the dll search path components to the executable PATH
-    PATH=$dllsearchpath:\$PATH
-"
-	fi
-
-	$ECHO "\
-    if test \"\$libtool_execute_magic\" != \"$magic\"; then
-      # Run the actual program with our arguments.
-"
-	case $host in
-	# Backslashes separate directories on plain windows
-	*-*-mingw | *-*-os2* | *-cegcc*)
-	  $ECHO "\
-      exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
-"
-	  ;;
-
-	*)
-	  $ECHO "\
-      exec \"\$progdir/\$program\" \${1+\"\$@\"}
-"
-	  ;;
-	esac
-	$ECHO "\
-      \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
-      exit 1
-    fi
-  else
-    # The program doesn't exist.
-    \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
-    \$ECHO \"This script is just a wrapper for \$program.\" 1>&2
-    $ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
-    exit 1
-  fi
-fi\
-"
-}
-# end: func_emit_wrapper_part2
-
-
-# func_emit_wrapper [arg=no]
-#
-# Emit a libtool wrapper script on stdout.
-# Don't directly open a file because we may want to
-# incorporate the script contents within a cygwin/mingw
-# wrapper executable.  Must ONLY be called from within
-# func_mode_link because it depends on a number of variables
-# set therein.
-#
-# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
-# variable will take.  If 'yes', then the emitted script
-# will assume that the directory in which it is stored is
-# the $objdir directory.  This is a cygwin/mingw-specific
-# behavior.
-func_emit_wrapper ()
-{
-	func_emit_wrapper_arg1=no
-	if test -n "$1" ; then
-	  func_emit_wrapper_arg1=$1
-	fi
-
-	# split this up so that func_emit_cwrapperexe_src
-	# can call each part independently.
-	func_emit_wrapper_part1 "${func_emit_wrapper_arg1}"
-	func_emit_wrapper_part2 "${func_emit_wrapper_arg1}"
-}
-
-
-# func_to_host_path arg
-#
-# Convert paths to host format when used with build tools.
-# Intended for use with "native" mingw (where libtool itself
-# is running under the msys shell), or in the following cross-
-# build environments:
-#    $build          $host
-#    mingw (msys)    mingw  [e.g. native]
-#    cygwin          mingw
-#    *nix + wine     mingw
-# where wine is equipped with the `winepath' executable.
-# In the native mingw case, the (msys) shell automatically
-# converts paths for any non-msys applications it launches,
-# but that facility isn't available from inside the cwrapper.
-# Similar accommodations are necessary for $host mingw and
-# $build cygwin.  Calling this function does no harm for other
-# $host/$build combinations not listed above.
-#
-# ARG is the path (on $build) that should be converted to
-# the proper representation for $host. The result is stored
-# in $func_to_host_path_result.
-func_to_host_path ()
-{
-  func_to_host_path_result="$1"
-  if test -n "$1" ; then
-    case $host in
-      *mingw* )
-        lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
-        case $build in
-          *mingw* ) # actually, msys
-            # awkward: cmd appends spaces to result
-            lt_sed_strip_trailing_spaces="s/[ ]*\$//"
-            func_to_host_path_tmp1=`( cmd //c echo "$1" |\
-              $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
-            func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
-              $SED -e "$lt_sed_naive_backslashify"`
-            ;;
-          *cygwin* )
-            func_to_host_path_tmp1=`cygpath -w "$1"`
-            func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
-              $SED -e "$lt_sed_naive_backslashify"`
-            ;;
-          * )
-            # Unfortunately, winepath does not exit with a non-zero
-            # error code, so we are forced to check the contents of
-            # stdout. On the other hand, if the command is not
-            # found, the shell will set an exit code of 127 and print
-            # *an error message* to stdout. So we must check for both
-            # error code of zero AND non-empty stdout, which explains
-            # the odd construction:
-            func_to_host_path_tmp1=`winepath -w "$1" 2>/dev/null`
-            if test "$?" -eq 0 && test -n "${func_to_host_path_tmp1}"; then
-              func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
-                $SED -e "$lt_sed_naive_backslashify"`
-            else
-              # Allow warning below.
-              func_to_host_path_result=""
-            fi
-            ;;
-        esac
-        if test -z "$func_to_host_path_result" ; then
-          func_error "Could not determine host path corresponding to"
-          func_error "  '$1'"
-          func_error "Continuing, but uninstalled executables may not work."
-          # Fallback:
-          func_to_host_path_result="$1"
-        fi
-        ;;
-    esac
-  fi
-}
-# end: func_to_host_path
-
-# func_to_host_pathlist arg
-#
-# Convert pathlists to host format when used with build tools.
-# See func_to_host_path(), above. This function supports the
-# following $build/$host combinations (but does no harm for
-# combinations not listed here):
-#    $build          $host
-#    mingw (msys)    mingw  [e.g. native]
-#    cygwin          mingw
-#    *nix + wine     mingw
-#
-# Path separators are also converted from $build format to
-# $host format. If ARG begins or ends with a path separator
-# character, it is preserved (but converted to $host format)
-# on output.
-#
-# ARG is a pathlist (on $build) that should be converted to
-# the proper representation on $host. The result is stored
-# in $func_to_host_pathlist_result.
-func_to_host_pathlist ()
-{
-  func_to_host_pathlist_result="$1"
-  if test -n "$1" ; then
-    case $host in
-      *mingw* )
-        lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
-        # Remove leading and trailing path separator characters from
-        # ARG. msys behavior is inconsistent here, cygpath turns them
-        # into '.;' and ';.', and winepath ignores them completely.
-        func_to_host_pathlist_tmp2="$1"
-        # Once set for this call, this variable should not be
-        # reassigned. It is used in tha fallback case.
-        func_to_host_pathlist_tmp1=`echo "$func_to_host_pathlist_tmp2" |\
-          $SED -e 's|^:*||' -e 's|:*$||'`
-        case $build in
-          *mingw* ) # Actually, msys.
-            # Awkward: cmd appends spaces to result.
-            lt_sed_strip_trailing_spaces="s/[ ]*\$//"
-            func_to_host_pathlist_tmp2=`( cmd //c echo "$func_to_host_pathlist_tmp1" |\
-              $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
-            func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
-              $SED -e "$lt_sed_naive_backslashify"`
-            ;;
-          *cygwin* )
-            func_to_host_pathlist_tmp2=`cygpath -w -p "$func_to_host_pathlist_tmp1"`
-            func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
-              $SED -e "$lt_sed_naive_backslashify"`
-            ;;
-          * )
-            # unfortunately, winepath doesn't convert pathlists
-            func_to_host_pathlist_result=""
-            func_to_host_pathlist_oldIFS=$IFS
-            IFS=:
-            for func_to_host_pathlist_f in $func_to_host_pathlist_tmp1 ; do
-              IFS=$func_to_host_pathlist_oldIFS
-              if test -n "$func_to_host_pathlist_f" ; then
-                func_to_host_path "$func_to_host_pathlist_f"
-                if test -n "$func_to_host_path_result" ; then
-                  if test -z "$func_to_host_pathlist_result" ; then
-                    func_to_host_pathlist_result="$func_to_host_path_result"
-                  else
-                    func_to_host_pathlist_result="$func_to_host_pathlist_result;$func_to_host_path_result"
-                  fi
-                fi
-              fi
-              IFS=:
-            done
-            IFS=$func_to_host_pathlist_oldIFS
-            ;;
-        esac
-        if test -z "$func_to_host_pathlist_result" ; then
-          func_error "Could not determine the host path(s) corresponding to"
-          func_error "  '$1'"
-          func_error "Continuing, but uninstalled executables may not work."
-          # Fallback. This may break if $1 contains DOS-style drive
-          # specifications. The fix is not to complicate the expression
-          # below, but for the user to provide a working wine installation
-          # with winepath so that path translation in the cross-to-mingw
-          # case works properly.
-          lt_replace_pathsep_nix_to_dos="s|:|;|g"
-          func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp1" |\
-            $SED -e "$lt_replace_pathsep_nix_to_dos"`
-        fi
-        # Now, add the leading and trailing path separators back
-        case "$1" in
-          :* ) func_to_host_pathlist_result=";$func_to_host_pathlist_result"
-            ;;
-        esac
-        case "$1" in
-          *: ) func_to_host_pathlist_result="$func_to_host_pathlist_result;"
-            ;;
-        esac
-        ;;
-    esac
-  fi
-}
-# end: func_to_host_pathlist
-
-# func_emit_cwrapperexe_src
-# emit the source code for a wrapper executable on stdout
-# Must ONLY be called from within func_mode_link because
-# it depends on a number of variable set therein.
-func_emit_cwrapperexe_src ()
-{
-	cat <<EOF
-
-/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
-   Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
-
-   The $output program cannot be directly executed until all the libtool
-   libraries that it depends on are installed.
-
-   This wrapper executable should never be moved out of the build directory.
-   If it is, it will not operate correctly.
-
-   Currently, it simply execs the wrapper *script* "$SHELL $output",
-   but could eventually absorb all of the scripts functionality and
-   exec $objdir/$outputname directly.
-*/
-EOF
-	    cat <<"EOF"
-#include <stdio.h>
-#include <stdlib.h>
-#ifdef _MSC_VER
-# include <direct.h>
-# include <process.h>
-# include <io.h>
-# define setmode _setmode
-#else
-# include <unistd.h>
-# include <stdint.h>
-# ifdef __CYGWIN__
-#  include <io.h>
-#  define HAVE_SETENV
-#  ifdef __STRICT_ANSI__
-char *realpath (const char *, char *);
-int putenv (char *);
-int setenv (const char *, const char *, int);
-#  endif
-# endif
-#endif
-#include <malloc.h>
-#include <stdarg.h>
-#include <assert.h>
-#include <string.h>
-#include <ctype.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-
-#if defined(PATH_MAX)
-# define LT_PATHMAX PATH_MAX
-#elif defined(MAXPATHLEN)
-# define LT_PATHMAX MAXPATHLEN
-#else
-# define LT_PATHMAX 1024
-#endif
-
-#ifndef S_IXOTH
-# define S_IXOTH 0
-#endif
-#ifndef S_IXGRP
-# define S_IXGRP 0
-#endif
-
-#ifdef _MSC_VER
-# define S_IXUSR _S_IEXEC
-# define stat _stat
-# ifndef _INTPTR_T_DEFINED
-#  define intptr_t int
-# endif
-#endif
-
-#ifndef DIR_SEPARATOR
-# define DIR_SEPARATOR '/'
-# define PATH_SEPARATOR ':'
-#endif
-
-#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
-  defined (__OS2__)
-# define HAVE_DOS_BASED_FILE_SYSTEM
-# define FOPEN_WB "wb"
-# ifndef DIR_SEPARATOR_2
-#  define DIR_SEPARATOR_2 '\\'
-# endif
-# ifndef PATH_SEPARATOR_2
-#  define PATH_SEPARATOR_2 ';'
-# endif
-#endif
-
-#ifndef DIR_SEPARATOR_2
-# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
-#else /* DIR_SEPARATOR_2 */
-# define IS_DIR_SEPARATOR(ch) \
-	(((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
-#endif /* DIR_SEPARATOR_2 */
-
-#ifndef PATH_SEPARATOR_2
-# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
-#else /* PATH_SEPARATOR_2 */
-# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
-#endif /* PATH_SEPARATOR_2 */
-
-#ifdef __CYGWIN__
-# define FOPEN_WB "wb"
-#endif
-
-#ifndef FOPEN_WB
-# define FOPEN_WB "w"
-#endif
-#ifndef _O_BINARY
-# define _O_BINARY 0
-#endif
-
-#define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))
-#define XFREE(stale) do { \
-  if (stale) { free ((void *) stale); stale = 0; } \
-} while (0)
-
-#undef LTWRAPPER_DEBUGPRINTF
-#if defined DEBUGWRAPPER
-# define LTWRAPPER_DEBUGPRINTF(args) ltwrapper_debugprintf args
-static void
-ltwrapper_debugprintf (const char *fmt, ...)
-{
-    va_list args;
-    va_start (args, fmt);
-    (void) vfprintf (stderr, fmt, args);
-    va_end (args);
-}
-#else
-# define LTWRAPPER_DEBUGPRINTF(args)
-#endif
-
-const char *program_name = NULL;
-
-void *xmalloc (size_t num);
-char *xstrdup (const char *string);
-const char *base_name (const char *name);
-char *find_executable (const char *wrapper);
-char *chase_symlinks (const char *pathspec);
-int make_executable (const char *path);
-int check_executable (const char *path);
-char *strendzap (char *str, const char *pat);
-void lt_fatal (const char *message, ...);
-void lt_setenv (const char *name, const char *value);
-char *lt_extend_str (const char *orig_value, const char *add, int to_end);
-void lt_opt_process_env_set (const char *arg);
-void lt_opt_process_env_prepend (const char *arg);
-void lt_opt_process_env_append (const char *arg);
-int lt_split_name_value (const char *arg, char** name, char** value);
-void lt_update_exe_path (const char *name, const char *value);
-void lt_update_lib_path (const char *name, const char *value);
-
-static const char *script_text_part1 =
-EOF
-
-	    func_emit_wrapper_part1 yes |
-	        $SED -e 's/\([\\"]\)/\\\1/g' \
-	             -e 's/^/  "/' -e 's/$/\\n"/'
-	    echo ";"
-	    cat <<EOF
-
-static const char *script_text_part2 =
-EOF
-	    func_emit_wrapper_part2 yes |
-	        $SED -e 's/\([\\"]\)/\\\1/g' \
-	             -e 's/^/  "/' -e 's/$/\\n"/'
-	    echo ";"
-
-	    cat <<EOF
-const char * MAGIC_EXE = "$magic_exe";
-const char * LIB_PATH_VARNAME = "$shlibpath_var";
-EOF
-
-	    if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
-              func_to_host_pathlist "$temp_rpath"
-	      cat <<EOF
-const char * LIB_PATH_VALUE   = "$func_to_host_pathlist_result";
-EOF
-	    else
-	      cat <<"EOF"
-const char * LIB_PATH_VALUE   = "";
-EOF
-	    fi
-
-	    if test -n "$dllsearchpath"; then
-              func_to_host_pathlist "$dllsearchpath:"
-	      cat <<EOF
-const char * EXE_PATH_VARNAME = "PATH";
-const char * EXE_PATH_VALUE   = "$func_to_host_pathlist_result";
-EOF
-	    else
-	      cat <<"EOF"
-const char * EXE_PATH_VARNAME = "";
-const char * EXE_PATH_VALUE   = "";
-EOF
-	    fi
-
-	    if test "$fast_install" = yes; then
-	      cat <<EOF
-const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */
-EOF
-	    else
-	      cat <<EOF
-const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */
-EOF
-	    fi
-
-
-	    cat <<"EOF"
-
-#define LTWRAPPER_OPTION_PREFIX         "--lt-"
-#define LTWRAPPER_OPTION_PREFIX_LENGTH  5
-
-static const size_t opt_prefix_len         = LTWRAPPER_OPTION_PREFIX_LENGTH;
-static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
-
-static const char *dumpscript_opt       = LTWRAPPER_OPTION_PREFIX "dump-script";
-
-static const size_t env_set_opt_len     = LTWRAPPER_OPTION_PREFIX_LENGTH + 7;
-static const char *env_set_opt          = LTWRAPPER_OPTION_PREFIX "env-set";
-  /* argument is putenv-style "foo=bar", value of foo is set to bar */
-
-static const size_t env_prepend_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 11;
-static const char *env_prepend_opt      = LTWRAPPER_OPTION_PREFIX "env-prepend";
-  /* argument is putenv-style "foo=bar", new value of foo is bar${foo} */
-
-static const size_t env_append_opt_len  = LTWRAPPER_OPTION_PREFIX_LENGTH + 10;
-static const char *env_append_opt       = LTWRAPPER_OPTION_PREFIX "env-append";
-  /* argument is putenv-style "foo=bar", new value of foo is ${foo}bar */
-
-int
-main (int argc, char *argv[])
-{
-  char **newargz;
-  int  newargc;
-  char *tmp_pathspec;
-  char *actual_cwrapper_path;
-  char *actual_cwrapper_name;
-  char *target_name;
-  char *lt_argv_zero;
-  intptr_t rval = 127;
-
-  int i;
-
-  program_name = (char *) xstrdup (base_name (argv[0]));
-  LTWRAPPER_DEBUGPRINTF (("(main) argv[0]      : %s\n", argv[0]));
-  LTWRAPPER_DEBUGPRINTF (("(main) program_name : %s\n", program_name));
-
-  /* very simple arg parsing; don't want to rely on getopt */
-  for (i = 1; i < argc; i++)
-    {
-      if (strcmp (argv[i], dumpscript_opt) == 0)
-	{
-EOF
-	    case "$host" in
-	      *mingw* | *cygwin* )
-		# make stdout use "unix" line endings
-		echo "          setmode(1,_O_BINARY);"
-		;;
-	      esac
-
-	    cat <<"EOF"
-	  printf ("%s", script_text_part1);
-	  printf ("%s", script_text_part2);
-	  return 0;
-	}
-    }
-
-  newargz = XMALLOC (char *, argc + 1);
-  tmp_pathspec = find_executable (argv[0]);
-  if (tmp_pathspec == NULL)
-    lt_fatal ("Couldn't find %s", argv[0]);
-  LTWRAPPER_DEBUGPRINTF (("(main) found exe (before symlink chase) at : %s\n",
-			  tmp_pathspec));
-
-  actual_cwrapper_path = chase_symlinks (tmp_pathspec);
-  LTWRAPPER_DEBUGPRINTF (("(main) found exe (after symlink chase) at : %s\n",
-			  actual_cwrapper_path));
-  XFREE (tmp_pathspec);
-
-  actual_cwrapper_name = xstrdup( base_name (actual_cwrapper_path));
-  strendzap (actual_cwrapper_path, actual_cwrapper_name);
-
-  /* wrapper name transforms */
-  strendzap (actual_cwrapper_name, ".exe");
-  tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1);
-  XFREE (actual_cwrapper_name);
-  actual_cwrapper_name = tmp_pathspec;
-  tmp_pathspec = 0;
-
-  /* target_name transforms -- use actual target program name; might have lt- prefix */
-  target_name = xstrdup (base_name (TARGET_PROGRAM_NAME));
-  strendzap (target_name, ".exe");
-  tmp_pathspec = lt_extend_str (target_name, ".exe", 1);
-  XFREE (target_name);
-  target_name = tmp_pathspec;
-  tmp_pathspec = 0;
-
-  LTWRAPPER_DEBUGPRINTF (("(main) libtool target name: %s\n",
-			  target_name));
-EOF
-
-	    cat <<EOF
-  newargz[0] =
-    XMALLOC (char, (strlen (actual_cwrapper_path) +
-		    strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1));
-  strcpy (newargz[0], actual_cwrapper_path);
-  strcat (newargz[0], "$objdir");
-  strcat (newargz[0], "/");
-EOF
-
-	    cat <<"EOF"
-  /* stop here, and copy so we don't have to do this twice */
-  tmp_pathspec = xstrdup (newargz[0]);
-
-  /* do NOT want the lt- prefix here, so use actual_cwrapper_name */
-  strcat (newargz[0], actual_cwrapper_name);
-
-  /* DO want the lt- prefix here if it exists, so use target_name */
-  lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1);
-  XFREE (tmp_pathspec);
-  tmp_pathspec = NULL;
-EOF
-
-	    case $host_os in
-	      mingw*)
-	    cat <<"EOF"
-  {
-    char* p;
-    while ((p = strchr (newargz[0], '\\')) != NULL)
-      {
-	*p = '/';
-      }
-    while ((p = strchr (lt_argv_zero, '\\')) != NULL)
-      {
-	*p = '/';
-      }
-  }
-EOF
-	    ;;
-	    esac
-
-	    cat <<"EOF"
-  XFREE (target_name);
-  XFREE (actual_cwrapper_path);
-  XFREE (actual_cwrapper_name);
-
-  lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */
-  lt_setenv ("DUALCASE", "1");  /* for MSK sh */
-  lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
-  lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
-
-  newargc=0;
-  for (i = 1; i < argc; i++)
-    {
-      if (strncmp (argv[i], env_set_opt, env_set_opt_len) == 0)
-        {
-          if (argv[i][env_set_opt_len] == '=')
-            {
-              const char *p = argv[i] + env_set_opt_len + 1;
-              lt_opt_process_env_set (p);
-            }
-          else if (argv[i][env_set_opt_len] == '\0' && i + 1 < argc)
-            {
-              lt_opt_process_env_set (argv[++i]); /* don't copy */
-            }
-          else
-            lt_fatal ("%s missing required argument", env_set_opt);
-          continue;
-        }
-      if (strncmp (argv[i], env_prepend_opt, env_prepend_opt_len) == 0)
-        {
-          if (argv[i][env_prepend_opt_len] == '=')
-            {
-              const char *p = argv[i] + env_prepend_opt_len + 1;
-              lt_opt_process_env_prepend (p);
-            }
-          else if (argv[i][env_prepend_opt_len] == '\0' && i + 1 < argc)
-            {
-              lt_opt_process_env_prepend (argv[++i]); /* don't copy */
-            }
-          else
-            lt_fatal ("%s missing required argument", env_prepend_opt);
-          continue;
-        }
-      if (strncmp (argv[i], env_append_opt, env_append_opt_len) == 0)
-        {
-          if (argv[i][env_append_opt_len] == '=')
-            {
-              const char *p = argv[i] + env_append_opt_len + 1;
-              lt_opt_process_env_append (p);
-            }
-          else if (argv[i][env_append_opt_len] == '\0' && i + 1 < argc)
-            {
-              lt_opt_process_env_append (argv[++i]); /* don't copy */
-            }
-          else
-            lt_fatal ("%s missing required argument", env_append_opt);
-          continue;
-        }
-      if (strncmp (argv[i], ltwrapper_option_prefix, opt_prefix_len) == 0)
-        {
-          /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
-             namespace, but it is not one of the ones we know about and
-             have already dealt with, above (inluding dump-script), then
-             report an error. Otherwise, targets might begin to believe
-             they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
-             namespace. The first time any user complains about this, we'll
-             need to make LTWRAPPER_OPTION_PREFIX a configure-time option
-             or a configure.ac-settable value.
-           */
-          lt_fatal ("Unrecognized option in %s namespace: '%s'",
-                    ltwrapper_option_prefix, argv[i]);
-        }
-      /* otherwise ... */
-      newargz[++newargc] = xstrdup (argv[i]);
-    }
-  newargz[++newargc] = NULL;
-
-  LTWRAPPER_DEBUGPRINTF     (("(main) lt_argv_zero : %s\n", (lt_argv_zero ? lt_argv_zero : "<NULL>")));
-  for (i = 0; i < newargc; i++)
-    {
-      LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d]   : %s\n", i, (newargz[i] ? newargz[i] : "<NULL>")));
-    }
-
-EOF
-
-	    case $host_os in
-	      mingw*)
-		cat <<"EOF"
-  /* execv doesn't actually work on mingw as expected on unix */
-  rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
-  if (rval == -1)
-    {
-      /* failed to start process */
-      LTWRAPPER_DEBUGPRINTF (("(main) failed to launch target \"%s\": errno = %d\n", lt_argv_zero, errno));
-      return 127;
-    }
-  return rval;
-EOF
-		;;
-	      *)
-		cat <<"EOF"
-  execv (lt_argv_zero, newargz);
-  return rval; /* =127, but avoids unused variable warning */
-EOF
-		;;
-	    esac
-
-	    cat <<"EOF"
-}
-
-void *
-xmalloc (size_t num)
-{
-  void *p = (void *) malloc (num);
-  if (!p)
-    lt_fatal ("Memory exhausted");
-
-  return p;
-}
-
-char *
-xstrdup (const char *string)
-{
-  return string ? strcpy ((char *) xmalloc (strlen (string) + 1),
-			  string) : NULL;
-}
-
-const char *
-base_name (const char *name)
-{
-  const char *base;
-
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
-  /* Skip over the disk name in MSDOS pathnames. */
-  if (isalpha ((unsigned char) name[0]) && name[1] == ':')
-    name += 2;
-#endif
-
-  for (base = name; *name; name++)
-    if (IS_DIR_SEPARATOR (*name))
-      base = name + 1;
-  return base;
-}
-
-int
-check_executable (const char *path)
-{
-  struct stat st;
-
-  LTWRAPPER_DEBUGPRINTF (("(check_executable)  : %s\n",
-			  path ? (*path ? path : "EMPTY!") : "NULL!"));
-  if ((!path) || (!*path))
-    return 0;
-
-  if ((stat (path, &st) >= 0)
-      && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))
-    return 1;
-  else
-    return 0;
-}
-
-int
-make_executable (const char *path)
-{
-  int rval = 0;
-  struct stat st;
-
-  LTWRAPPER_DEBUGPRINTF (("(make_executable)   : %s\n",
-			  path ? (*path ? path : "EMPTY!") : "NULL!"));
-  if ((!path) || (!*path))
-    return 0;
-
-  if (stat (path, &st) >= 0)
-    {
-      rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);
-    }
-  return rval;
-}
-
-/* Searches for the full path of the wrapper.  Returns
-   newly allocated full path name if found, NULL otherwise
-   Does not chase symlinks, even on platforms that support them.
-*/
-char *
-find_executable (const char *wrapper)
-{
-  int has_slash = 0;
-  const char *p;
-  const char *p_next;
-  /* static buffer for getcwd */
-  char tmp[LT_PATHMAX + 1];
-  int tmp_len;
-  char *concat_name;
-
-  LTWRAPPER_DEBUGPRINTF (("(find_executable)   : %s\n",
-			  wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"));
-
-  if ((wrapper == NULL) || (*wrapper == '\0'))
-    return NULL;
-
-  /* Absolute path? */
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
-  if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
-    {
-      concat_name = xstrdup (wrapper);
-      if (check_executable (concat_name))
-	return concat_name;
-      XFREE (concat_name);
-    }
-  else
-    {
-#endif
-      if (IS_DIR_SEPARATOR (wrapper[0]))
-	{
-	  concat_name = xstrdup (wrapper);
-	  if (check_executable (concat_name))
-	    return concat_name;
-	  XFREE (concat_name);
-	}
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
-    }
-#endif
-
-  for (p = wrapper; *p; p++)
-    if (*p == '/')
-      {
-	has_slash = 1;
-	break;
-      }
-  if (!has_slash)
-    {
-      /* no slashes; search PATH */
-      const char *path = getenv ("PATH");
-      if (path != NULL)
-	{
-	  for (p = path; *p; p = p_next)
-	    {
-	      const char *q;
-	      size_t p_len;
-	      for (q = p; *q; q++)
-		if (IS_PATH_SEPARATOR (*q))
-		  break;
-	      p_len = q - p;
-	      p_next = (*q == '\0' ? q : q + 1);
-	      if (p_len == 0)
-		{
-		  /* empty path: current directory */
-		  if (getcwd (tmp, LT_PATHMAX) == NULL)
-		    lt_fatal ("getcwd failed");
-		  tmp_len = strlen (tmp);
-		  concat_name =
-		    XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
-		  memcpy (concat_name, tmp, tmp_len);
-		  concat_name[tmp_len] = '/';
-		  strcpy (concat_name + tmp_len + 1, wrapper);
-		}
-	      else
-		{
-		  concat_name =
-		    XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);
-		  memcpy (concat_name, p, p_len);
-		  concat_name[p_len] = '/';
-		  strcpy (concat_name + p_len + 1, wrapper);
-		}
-	      if (check_executable (concat_name))
-		return concat_name;
-	      XFREE (concat_name);
-	    }
-	}
-      /* not found in PATH; assume curdir */
-    }
-  /* Relative path | not found in path: prepend cwd */
-  if (getcwd (tmp, LT_PATHMAX) == NULL)
-    lt_fatal ("getcwd failed");
-  tmp_len = strlen (tmp);
-  concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
-  memcpy (concat_name, tmp, tmp_len);
-  concat_name[tmp_len] = '/';
-  strcpy (concat_name + tmp_len + 1, wrapper);
-
-  if (check_executable (concat_name))
-    return concat_name;
-  XFREE (concat_name);
-  return NULL;
-}
-
-char *
-chase_symlinks (const char *pathspec)
-{
-#ifndef S_ISLNK
-  return xstrdup (pathspec);
-#else
-  char buf[LT_PATHMAX];
-  struct stat s;
-  char *tmp_pathspec = xstrdup (pathspec);
-  char *p;
-  int has_symlinks = 0;
-  while (strlen (tmp_pathspec) && !has_symlinks)
-    {
-      LTWRAPPER_DEBUGPRINTF (("checking path component for symlinks: %s\n",
-			      tmp_pathspec));
-      if (lstat (tmp_pathspec, &s) == 0)
-	{
-	  if (S_ISLNK (s.st_mode) != 0)
-	    {
-	      has_symlinks = 1;
-	      break;
-	    }
-
-	  /* search backwards for last DIR_SEPARATOR */
-	  p = tmp_pathspec + strlen (tmp_pathspec) - 1;
-	  while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
-	    p--;
-	  if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
-	    {
-	      /* no more DIR_SEPARATORS left */
-	      break;
-	    }
-	  *p = '\0';
-	}
-      else
-	{
-	  char *errstr = strerror (errno);
-	  lt_fatal ("Error accessing file %s (%s)", tmp_pathspec, errstr);
-	}
-    }
-  XFREE (tmp_pathspec);
-
-  if (!has_symlinks)
-    {
-      return xstrdup (pathspec);
-    }
-
-  tmp_pathspec = realpath (pathspec, buf);
-  if (tmp_pathspec == 0)
-    {
-      lt_fatal ("Could not follow symlinks for %s", pathspec);
-    }
-  return xstrdup (tmp_pathspec);
-#endif
-}
-
-char *
-strendzap (char *str, const char *pat)
-{
-  size_t len, patlen;
-
-  assert (str != NULL);
-  assert (pat != NULL);
-
-  len = strlen (str);
-  patlen = strlen (pat);
-
-  if (patlen <= len)
-    {
-      str += len - patlen;
-      if (strcmp (str, pat) == 0)
-	*str = '\0';
-    }
-  return str;
-}
-
-static void
-lt_error_core (int exit_status, const char *mode,
-	       const char *message, va_list ap)
-{
-  fprintf (stderr, "%s: %s: ", program_name, mode);
-  vfprintf (stderr, message, ap);
-  fprintf (stderr, ".\n");
-
-  if (exit_status >= 0)
-    exit (exit_status);
-}
-
-void
-lt_fatal (const char *message, ...)
-{
-  va_list ap;
-  va_start (ap, message);
-  lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
-  va_end (ap);
-}
-
-void
-lt_setenv (const char *name, const char *value)
-{
-  LTWRAPPER_DEBUGPRINTF (("(lt_setenv) setting '%s' to '%s'\n",
-                          (name ? name : "<NULL>"),
-                          (value ? value : "<NULL>")));
-  {
-#ifdef HAVE_SETENV
-    /* always make a copy, for consistency with !HAVE_SETENV */
-    char *str = xstrdup (value);
-    setenv (name, str, 1);
-#else
-    int len = strlen (name) + 1 + strlen (value) + 1;
-    char *str = XMALLOC (char, len);
-    sprintf (str, "%s=%s", name, value);
-    if (putenv (str) != EXIT_SUCCESS)
-      {
-        XFREE (str);
-      }
-#endif
-  }
-}
-
-char *
-lt_extend_str (const char *orig_value, const char *add, int to_end)
-{
-  char *new_value;
-  if (orig_value && *orig_value)
-    {
-      int orig_value_len = strlen (orig_value);
-      int add_len = strlen (add);
-      new_value = XMALLOC (char, add_len + orig_value_len + 1);
-      if (to_end)
-        {
-          strcpy (new_value, orig_value);
-          strcpy (new_value + orig_value_len, add);
-        }
-      else
-        {
-          strcpy (new_value, add);
-          strcpy (new_value + add_len, orig_value);
-        }
-    }
-  else
-    {
-      new_value = xstrdup (add);
-    }
-  return new_value;
-}
-
-int
-lt_split_name_value (const char *arg, char** name, char** value)
-{
-  const char *p;
-  int len;
-  if (!arg || !*arg)
-    return 1;
-
-  p = strchr (arg, (int)'=');
-
-  if (!p)
-    return 1;
-
-  *value = xstrdup (++p);
-
-  len = strlen (arg) - strlen (*value);
-  *name = XMALLOC (char, len);
-  strncpy (*name, arg, len-1);
-  (*name)[len - 1] = '\0';
-
-  return 0;
-}
-
-void
-lt_opt_process_env_set (const char *arg)
-{
-  char *name = NULL;
-  char *value = NULL;
-
-  if (lt_split_name_value (arg, &name, &value) != 0)
-    {
-      XFREE (name);
-      XFREE (value);
-      lt_fatal ("bad argument for %s: '%s'", env_set_opt, arg);
-    }
-
-  lt_setenv (name, value);
-  XFREE (name);
-  XFREE (value);
-}
-
-void
-lt_opt_process_env_prepend (const char *arg)
-{
-  char *name = NULL;
-  char *value = NULL;
-  char *new_value = NULL;
-
-  if (lt_split_name_value (arg, &name, &value) != 0)
-    {
-      XFREE (name);
-      XFREE (value);
-      lt_fatal ("bad argument for %s: '%s'", env_prepend_opt, arg);
-    }
-
-  new_value = lt_extend_str (getenv (name), value, 0);
-  lt_setenv (name, new_value);
-  XFREE (new_value);
-  XFREE (name);
-  XFREE (value);
-}
-
-void
-lt_opt_process_env_append (const char *arg)
-{
-  char *name = NULL;
-  char *value = NULL;
-  char *new_value = NULL;
-
-  if (lt_split_name_value (arg, &name, &value) != 0)
-    {
-      XFREE (name);
-      XFREE (value);
-      lt_fatal ("bad argument for %s: '%s'", env_append_opt, arg);
-    }
-
-  new_value = lt_extend_str (getenv (name), value, 1);
-  lt_setenv (name, new_value);
-  XFREE (new_value);
-  XFREE (name);
-  XFREE (value);
-}
-
-void
-lt_update_exe_path (const char *name, const char *value)
-{
-  LTWRAPPER_DEBUGPRINTF (("(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
-                          (name ? name : "<NULL>"),
-                          (value ? value : "<NULL>")));
-
-  if (name && *name && value && *value)
-    {
-      char *new_value = lt_extend_str (getenv (name), value, 0);
-      /* some systems can't cope with a ':'-terminated path #' */
-      int len = strlen (new_value);
-      while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
-        {
-          new_value[len-1] = '\0';
-        }
-      lt_setenv (name, new_value);
-      XFREE (new_value);
-    }
-}
-
-void
-lt_update_lib_path (const char *name, const char *value)
-{
-  LTWRAPPER_DEBUGPRINTF (("(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
-                          (name ? name : "<NULL>"),
-                          (value ? value : "<NULL>")));
-
-  if (name && *name && value && *value)
-    {
-      char *new_value = lt_extend_str (getenv (name), value, 0);
-      lt_setenv (name, new_value);
-      XFREE (new_value);
-    }
-}
-
-
-EOF
-}
-# end: func_emit_cwrapperexe_src
-
-# func_mode_link arg...
-func_mode_link ()
-{
-    $opt_debug
-    case $host in
-    *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
-      # It is impossible to link a dll without this setting, and
-      # we shouldn't force the makefile maintainer to figure out
-      # which system we are compiling for in order to pass an extra
-      # flag for every libtool invocation.
-      # allow_undefined=no
-
-      # FIXME: Unfortunately, there are problems with the above when trying
-      # to make a dll which has undefined symbols, in which case not
-      # even a static library is built.  For now, we need to specify
-      # -no-undefined on the libtool link line when we can be certain
-      # that all symbols are satisfied, otherwise we get a static library.
-      allow_undefined=yes
-      ;;
-    *)
-      allow_undefined=yes
-      ;;
-    esac
-    libtool_args=$nonopt
-    base_compile="$nonopt $@"
-    compile_command=$nonopt
-    finalize_command=$nonopt
-
-    compile_rpath=
-    finalize_rpath=
-    compile_shlibpath=
-    finalize_shlibpath=
-    convenience=
-    old_convenience=
-    deplibs=
-    old_deplibs=
-    compiler_flags=
-    linker_flags=
-    dllsearchpath=
-    lib_search_path=`pwd`
-    inst_prefix_dir=
-    new_inherited_linker_flags=
-
-    avoid_version=no
-    dlfiles=
-    dlprefiles=
-    dlself=no
-    export_dynamic=no
-    export_symbols=
-    export_symbols_regex=
-    generated=
-    libobjs=
-    ltlibs=
-    module=no
-    no_install=no
-    objs=
-    non_pic_objects=
-    precious_files_regex=
-    prefer_static_libs=no
-    preload=no
-    prev=
-    prevarg=
-    release=
-    rpath=
-    xrpath=
-    perm_rpath=
-    temp_rpath=
-    thread_safe=no
-    vinfo=
-    vinfo_number=no
-    weak_libs=
-    single_module="${wl}-single_module"
-    func_infer_tag $base_compile
-
-    # We need to know -static, to get the right output filenames.
-    for arg
-    do
-      case $arg in
-      -shared)
-	test "$build_libtool_libs" != yes && \
-	  func_fatal_configuration "can not build a shared library"
-	build_old_libs=no
-	break
-	;;
-      -all-static | -static | -static-libtool-libs)
-	case $arg in
-	-all-static)
-	  if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
-	    func_warning "complete static linking is impossible in this configuration"
-	  fi
-	  if test -n "$link_static_flag"; then
-	    dlopen_self=$dlopen_self_static
-	  fi
-	  prefer_static_libs=yes
-	  ;;
-	-static)
-	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
-	    dlopen_self=$dlopen_self_static
-	  fi
-	  prefer_static_libs=built
-	  ;;
-	-static-libtool-libs)
-	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
-	    dlopen_self=$dlopen_self_static
-	  fi
-	  prefer_static_libs=yes
-	  ;;
-	esac
-	build_libtool_libs=no
-	build_old_libs=yes
-	break
-	;;
-      esac
-    done
-
-    # See if our shared archives depend on static archives.
-    test -n "$old_archive_from_new_cmds" && build_old_libs=yes
-
-    # Go through the arguments, transforming them on the way.
-    while test "$#" -gt 0; do
-      arg="$1"
-      shift
-      func_quote_for_eval "$arg"
-      qarg=$func_quote_for_eval_unquoted_result
-      func_append libtool_args " $func_quote_for_eval_result"
-
-      # If the previous option needs an argument, assign it.
-      if test -n "$prev"; then
-	case $prev in
-	output)
-	  func_append compile_command " @OUTPUT@"
-	  func_append finalize_command " @OUTPUT@"
-	  ;;
-	esac
-
-	case $prev in
-	dlfiles|dlprefiles)
-	  if test "$preload" = no; then
-	    # Add the symbol object into the linking commands.
-	    func_append compile_command " @SYMFILE@"
-	    func_append finalize_command " @SYMFILE@"
-	    preload=yes
-	  fi
-	  case $arg in
-	  *.la | *.lo) ;;  # We handle these cases below.
-	  force)
-	    if test "$dlself" = no; then
-	      dlself=needless
-	      export_dynamic=yes
-	    fi
-	    prev=
-	    continue
-	    ;;
-	  self)
-	    if test "$prev" = dlprefiles; then
-	      dlself=yes
-	    elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
-	      dlself=yes
-	    else
-	      dlself=needless
-	      export_dynamic=yes
-	    fi
-	    prev=
-	    continue
-	    ;;
-	  *)
-	    if test "$prev" = dlfiles; then
-	      dlfiles="$dlfiles $arg"
-	    else
-	      dlprefiles="$dlprefiles $arg"
-	    fi
-	    prev=
-	    continue
-	    ;;
-	  esac
-	  ;;
-	expsyms)
-	  export_symbols="$arg"
-	  test -f "$arg" \
-	    || func_fatal_error "symbol file \`$arg' does not exist"
-	  prev=
-	  continue
-	  ;;
-	expsyms_regex)
-	  export_symbols_regex="$arg"
-	  prev=
-	  continue
-	  ;;
-	framework)
-	  case $host in
-	    *-*-darwin*)
-	      case "$deplibs " in
-		*" $qarg.ltframework "*) ;;
-		*) deplibs="$deplibs $qarg.ltframework" # this is fixed later
-		   ;;
-	      esac
-	      ;;
-	  esac
-	  prev=
-	  continue
-	  ;;
-	inst_prefix)
-	  inst_prefix_dir="$arg"
-	  prev=
-	  continue
-	  ;;
-	objectlist)
-	  if test -f "$arg"; then
-	    save_arg=$arg
-	    moreargs=
-	    for fil in `cat "$save_arg"`
-	    do
-#	      moreargs="$moreargs $fil"
-	      arg=$fil
-	      # A libtool-controlled object.
-
-	      # Check to see that this really is a libtool object.
-	      if func_lalib_unsafe_p "$arg"; then
-		pic_object=
-		non_pic_object=
-
-		# Read the .lo file
-		func_source "$arg"
-
-		if test -z "$pic_object" ||
-		   test -z "$non_pic_object" ||
-		   test "$pic_object" = none &&
-		   test "$non_pic_object" = none; then
-		  func_fatal_error "cannot find name of object for \`$arg'"
-		fi
-
-		# Extract subdirectory from the argument.
-		func_dirname "$arg" "/" ""
-		xdir="$func_dirname_result"
-
-		if test "$pic_object" != none; then
-		  # Prepend the subdirectory the object is found in.
-		  pic_object="$xdir$pic_object"
-
-		  if test "$prev" = dlfiles; then
-		    if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
-		      dlfiles="$dlfiles $pic_object"
-		      prev=
-		      continue
-		    else
-		      # If libtool objects are unsupported, then we need to preload.
-		      prev=dlprefiles
-		    fi
-		  fi
-
-		  # CHECK ME:  I think I busted this.  -Ossama
-		  if test "$prev" = dlprefiles; then
-		    # Preload the old-style object.
-		    dlprefiles="$dlprefiles $pic_object"
-		    prev=
-		  fi
-
-		  # A PIC object.
-		  func_append libobjs " $pic_object"
-		  arg="$pic_object"
-		fi
-
-		# Non-PIC object.
-		if test "$non_pic_object" != none; then
-		  # Prepend the subdirectory the object is found in.
-		  non_pic_object="$xdir$non_pic_object"
-
-		  # A standard non-PIC object
-		  func_append non_pic_objects " $non_pic_object"
-		  if test -z "$pic_object" || test "$pic_object" = none ; then
-		    arg="$non_pic_object"
-		  fi
-		else
-		  # If the PIC object exists, use it instead.
-		  # $xdir was prepended to $pic_object above.
-		  non_pic_object="$pic_object"
-		  func_append non_pic_objects " $non_pic_object"
-		fi
-	      else
-		# Only an error if not doing a dry-run.
-		if $opt_dry_run; then
-		  # Extract subdirectory from the argument.
-		  func_dirname "$arg" "/" ""
-		  xdir="$func_dirname_result"
-
-		  func_lo2o "$arg"
-		  pic_object=$xdir$objdir/$func_lo2o_result
-		  non_pic_object=$xdir$func_lo2o_result
-		  func_append libobjs " $pic_object"
-		  func_append non_pic_objects " $non_pic_object"
-	        else
-		  func_fatal_error "\`$arg' is not a valid libtool object"
-		fi
-	      fi
-	    done
-	  else
-	    func_fatal_error "link input file \`$arg' does not exist"
-	  fi
-	  arg=$save_arg
-	  prev=
-	  continue
-	  ;;
-	precious_regex)
-	  precious_files_regex="$arg"
-	  prev=
-	  continue
-	  ;;
-	release)
-	  release="-$arg"
-	  prev=
-	  continue
-	  ;;
-	rpath | xrpath)
-	  # We need an absolute path.
-	  case $arg in
-	  [\\/]* | [A-Za-z]:[\\/]*) ;;
-	  *)
-	    func_fatal_error "only absolute run-paths are allowed"
-	    ;;
-	  esac
-	  if test "$prev" = rpath; then
-	    case "$rpath " in
-	    *" $arg "*) ;;
-	    *) rpath="$rpath $arg" ;;
-	    esac
-	  else
-	    case "$xrpath " in
-	    *" $arg "*) ;;
-	    *) xrpath="$xrpath $arg" ;;
-	    esac
-	  fi
-	  prev=
-	  continue
-	  ;;
-	shrext)
-	  shrext_cmds="$arg"
-	  prev=
-	  continue
-	  ;;
-	weak)
-	  weak_libs="$weak_libs $arg"
-	  prev=
-	  continue
-	  ;;
-	xcclinker)
-	  linker_flags="$linker_flags $qarg"
-	  compiler_flags="$compiler_flags $qarg"
-	  prev=
-	  func_append compile_command " $qarg"
-	  func_append finalize_command " $qarg"
-	  continue
-	  ;;
-	xcompiler)
-	  compiler_flags="$compiler_flags $qarg"
-	  prev=
-	  func_append compile_command " $qarg"
-	  func_append finalize_command " $qarg"
-	  continue
-	  ;;
-	xlinker)
-	  linker_flags="$linker_flags $qarg"
-	  compiler_flags="$compiler_flags $wl$qarg"
-	  prev=
-	  func_append compile_command " $wl$qarg"
-	  func_append finalize_command " $wl$qarg"
-	  continue
-	  ;;
-	*)
-	  eval "$prev=\"\$arg\""
-	  prev=
-	  continue
-	  ;;
-	esac
-      fi # test -n "$prev"
-
-      prevarg="$arg"
-
-      case $arg in
-      -all-static)
-	if test -n "$link_static_flag"; then
-	  # See comment for -static flag below, for more details.
-	  func_append compile_command " $link_static_flag"
-	  func_append finalize_command " $link_static_flag"
-	fi
-	continue
-	;;
-
-      -allow-undefined)
-	# FIXME: remove this flag sometime in the future.
-	func_fatal_error "\`-allow-undefined' must not be used because it is the default"
-	;;
-
-      -avoid-version)
-	avoid_version=yes
-	continue
-	;;
-
-      -dlopen)
-	prev=dlfiles
-	continue
-	;;
-
-      -dlpreopen)
-	prev=dlprefiles
-	continue
-	;;
-
-      -export-dynamic)
-	export_dynamic=yes
-	continue
-	;;
-
-      -export-symbols | -export-symbols-regex)
-	if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
-	  func_fatal_error "more than one -exported-symbols argument is not allowed"
-	fi
-	if test "X$arg" = "X-export-symbols"; then
-	  prev=expsyms
-	else
-	  prev=expsyms_regex
-	fi
-	continue
-	;;
-
-      -framework)
-	prev=framework
-	continue
-	;;
-
-      -inst-prefix-dir)
-	prev=inst_prefix
-	continue
-	;;
-
-      # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
-      # so, if we see these flags be careful not to treat them like -L
-      -L[A-Z][A-Z]*:*)
-	case $with_gcc/$host in
-	no/*-*-irix* | /*-*-irix*)
-	  func_append compile_command " $arg"
-	  func_append finalize_command " $arg"
-	  ;;
-	esac
-	continue
-	;;
-
-      -L*)
-	func_stripname '-L' '' "$arg"
-	dir=$func_stripname_result
-	if test -z "$dir"; then
-	  if test "$#" -gt 0; then
-	    func_fatal_error "require no space between \`-L' and \`$1'"
-	  else
-	    func_fatal_error "need path for \`-L' option"
-	  fi
-	fi
-	# We need an absolute path.
-	case $dir in
-	[\\/]* | [A-Za-z]:[\\/]*) ;;
-	*)
-	  absdir=`cd "$dir" && pwd`
-	  test -z "$absdir" && \
-	    func_fatal_error "cannot determine absolute directory name of \`$dir'"
-	  dir="$absdir"
-	  ;;
-	esac
-	case "$deplibs " in
-	*" -L$dir "*) ;;
-	*)
-	  deplibs="$deplibs -L$dir"
-	  lib_search_path="$lib_search_path $dir"
-	  ;;
-	esac
-	case $host in
-	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
-	  testbindir=`$ECHO "X$dir" | $Xsed -e 's*/lib$*/bin*'`
-	  case :$dllsearchpath: in
-	  *":$dir:"*) ;;
-	  ::) dllsearchpath=$dir;;
-	  *) dllsearchpath="$dllsearchpath:$dir";;
-	  esac
-	  case :$dllsearchpath: in
-	  *":$testbindir:"*) ;;
-	  ::) dllsearchpath=$testbindir;;
-	  *) dllsearchpath="$dllsearchpath:$testbindir";;
-	  esac
-	  ;;
-	esac
-	continue
-	;;
-
-      -l*)
-	if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
-	  case $host in
-	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc*)
-	    # These systems don't actually have a C or math library (as such)
-	    continue
-	    ;;
-	  *-*-os2*)
-	    # These systems don't actually have a C library (as such)
-	    test "X$arg" = "X-lc" && continue
-	    ;;
-	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
-	    # Do not include libc due to us having libc/libc_r.
-	    test "X$arg" = "X-lc" && continue
-	    ;;
-	  *-*-rhapsody* | *-*-darwin1.[012])
-	    # Rhapsody C and math libraries are in the System framework
-	    deplibs="$deplibs System.ltframework"
-	    continue
-	    ;;
-	  *-*-sco3.2v5* | *-*-sco5v6*)
-	    # Causes problems with __ctype
-	    test "X$arg" = "X-lc" && continue
-	    ;;
-	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
-	    # Compiler inserts libc in the correct place for threads to work
-	    test "X$arg" = "X-lc" && continue
-	    ;;
-	  esac
-	elif test "X$arg" = "X-lc_r"; then
-	 case $host in
-	 *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
-	   # Do not include libc_r directly, use -pthread flag.
-	   continue
-	   ;;
-	 esac
-	fi
-	deplibs="$deplibs $arg"
-	continue
-	;;
-
-      -module)
-	module=yes
-	continue
-	;;
-
-      # Tru64 UNIX uses -model [arg] to determine the layout of C++
-      # classes, name mangling, and exception handling.
-      # Darwin uses the -arch flag to determine output architecture.
-      -model|-arch|-isysroot)
-	compiler_flags="$compiler_flags $arg"
-	func_append compile_command " $arg"
-	func_append finalize_command " $arg"
-	prev=xcompiler
-	continue
-	;;
-
-      -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
-	compiler_flags="$compiler_flags $arg"
-	func_append compile_command " $arg"
-	func_append finalize_command " $arg"
-	case "$new_inherited_linker_flags " in
-	    *" $arg "*) ;;
-	    * ) new_inherited_linker_flags="$new_inherited_linker_flags $arg" ;;
-	esac
-	continue
-	;;
-
-      -multi_module)
-	single_module="${wl}-multi_module"
-	continue
-	;;
-
-      -no-fast-install)
-	fast_install=no
-	continue
-	;;
-
-      -no-install)
-	case $host in
-	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
-	  # The PATH hackery in wrapper scripts is required on Windows
-	  # and Darwin in order for the loader to find any dlls it needs.
-	  func_warning "\`-no-install' is ignored for $host"
-	  func_warning "assuming \`-no-fast-install' instead"
-	  fast_install=no
-	  ;;
-	*) no_install=yes ;;
-	esac
-	continue
-	;;
-
-      -no-undefined)
-	allow_undefined=no
-	continue
-	;;
-
-      -objectlist)
-	prev=objectlist
-	continue
-	;;
-
-      -o) prev=output ;;
-
-      -precious-files-regex)
-	prev=precious_regex
-	continue
-	;;
-
-      -release)
-	prev=release
-	continue
-	;;
-
-      -rpath)
-	prev=rpath
-	continue
-	;;
-
-      -R)
-	prev=xrpath
-	continue
-	;;
-
-      -R*)
-	func_stripname '-R' '' "$arg"
-	dir=$func_stripname_result
-	# We need an absolute path.
-	case $dir in
-	[\\/]* | [A-Za-z]:[\\/]*) ;;
-	*)
-	  func_fatal_error "only absolute run-paths are allowed"
-	  ;;
-	esac
-	case "$xrpath " in
-	*" $dir "*) ;;
-	*) xrpath="$xrpath $dir" ;;
-	esac
-	continue
-	;;
-
-      -shared)
-	# The effects of -shared are defined in a previous loop.
-	continue
-	;;
-
-      -shrext)
-	prev=shrext
-	continue
-	;;
-
-      -static | -static-libtool-libs)
-	# The effects of -static are defined in a previous loop.
-	# We used to do the same as -all-static on platforms that
-	# didn't have a PIC flag, but the assumption that the effects
-	# would be equivalent was wrong.  It would break on at least
-	# Digital Unix and AIX.
-	continue
-	;;
-
-      -thread-safe)
-	thread_safe=yes
-	continue
-	;;
-
-      -version-info)
-	prev=vinfo
-	continue
-	;;
-
-      -version-number)
-	prev=vinfo
-	vinfo_number=yes
-	continue
-	;;
-
-      -weak)
-        prev=weak
-	continue
-	;;
-
-      -Wc,*)
-	func_stripname '-Wc,' '' "$arg"
-	args=$func_stripname_result
-	arg=
-	save_ifs="$IFS"; IFS=','
-	for flag in $args; do
-	  IFS="$save_ifs"
-          func_quote_for_eval "$flag"
-	  arg="$arg $wl$func_quote_for_eval_result"
-	  compiler_flags="$compiler_flags $func_quote_for_eval_result"
-	done
-	IFS="$save_ifs"
-	func_stripname ' ' '' "$arg"
-	arg=$func_stripname_result
-	;;
-
-      -Wl,*)
-	func_stripname '-Wl,' '' "$arg"
-	args=$func_stripname_result
-	arg=
-	save_ifs="$IFS"; IFS=','
-	for flag in $args; do
-	  IFS="$save_ifs"
-          func_quote_for_eval "$flag"
-	  arg="$arg $wl$func_quote_for_eval_result"
-	  compiler_flags="$compiler_flags $wl$func_quote_for_eval_result"
-	  linker_flags="$linker_flags $func_quote_for_eval_result"
-	done
-	IFS="$save_ifs"
-	func_stripname ' ' '' "$arg"
-	arg=$func_stripname_result
-	;;
-
-      -Xcompiler)
-	prev=xcompiler
-	continue
-	;;
-
-      -Xlinker)
-	prev=xlinker
-	continue
-	;;
-
-      -XCClinker)
-	prev=xcclinker
-	continue
-	;;
-
-      # -msg_* for osf cc
-      -msg_*)
-	func_quote_for_eval "$arg"
-	arg="$func_quote_for_eval_result"
-	;;
-
-      # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
-      # -r[0-9][0-9]* specifies the processor on the SGI compiler
-      # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
-      # +DA*, +DD* enable 64-bit mode on the HP compiler
-      # -q* pass through compiler args for the IBM compiler
-      # -m*, -t[45]*, -txscale* pass through architecture-specific
-      # compiler args for GCC
-      # -F/path gives path to uninstalled frameworks, gcc on darwin
-      # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
-      # @file GCC response files
-      -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
-      -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
-        func_quote_for_eval "$arg"
-	arg="$func_quote_for_eval_result"
-        func_append compile_command " $arg"
-        func_append finalize_command " $arg"
-        compiler_flags="$compiler_flags $arg"
-        continue
-        ;;
-
-      # Some other compiler flag.
-      -* | +*)
-        func_quote_for_eval "$arg"
-	arg="$func_quote_for_eval_result"
-	;;
-
-      *.$objext)
-	# A standard object.
-	objs="$objs $arg"
-	;;
-
-      *.lo)
-	# A libtool-controlled object.
-
-	# Check to see that this really is a libtool object.
-	if func_lalib_unsafe_p "$arg"; then
-	  pic_object=
-	  non_pic_object=
-
-	  # Read the .lo file
-	  func_source "$arg"
-
-	  if test -z "$pic_object" ||
-	     test -z "$non_pic_object" ||
-	     test "$pic_object" = none &&
-	     test "$non_pic_object" = none; then
-	    func_fatal_error "cannot find name of object for \`$arg'"
-	  fi
-
-	  # Extract subdirectory from the argument.
-	  func_dirname "$arg" "/" ""
-	  xdir="$func_dirname_result"
-
-	  if test "$pic_object" != none; then
-	    # Prepend the subdirectory the object is found in.
-	    pic_object="$xdir$pic_object"
-
-	    if test "$prev" = dlfiles; then
-	      if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
-		dlfiles="$dlfiles $pic_object"
-		prev=
-		continue
-	      else
-		# If libtool objects are unsupported, then we need to preload.
-		prev=dlprefiles
-	      fi
-	    fi
-
-	    # CHECK ME:  I think I busted this.  -Ossama
-	    if test "$prev" = dlprefiles; then
-	      # Preload the old-style object.
-	      dlprefiles="$dlprefiles $pic_object"
-	      prev=
-	    fi
-
-	    # A PIC object.
-	    func_append libobjs " $pic_object"
-	    arg="$pic_object"
-	  fi
-
-	  # Non-PIC object.
-	  if test "$non_pic_object" != none; then
-	    # Prepend the subdirectory the object is found in.
-	    non_pic_object="$xdir$non_pic_object"
-
-	    # A standard non-PIC object
-	    func_append non_pic_objects " $non_pic_object"
-	    if test -z "$pic_object" || test "$pic_object" = none ; then
-	      arg="$non_pic_object"
-	    fi
-	  else
-	    # If the PIC object exists, use it instead.
-	    # $xdir was prepended to $pic_object above.
-	    non_pic_object="$pic_object"
-	    func_append non_pic_objects " $non_pic_object"
-	  fi
-	else
-	  # Only an error if not doing a dry-run.
-	  if $opt_dry_run; then
-	    # Extract subdirectory from the argument.
-	    func_dirname "$arg" "/" ""
-	    xdir="$func_dirname_result"
-
-	    func_lo2o "$arg"
-	    pic_object=$xdir$objdir/$func_lo2o_result
-	    non_pic_object=$xdir$func_lo2o_result
-	    func_append libobjs " $pic_object"
-	    func_append non_pic_objects " $non_pic_object"
-	  else
-	    func_fatal_error "\`$arg' is not a valid libtool object"
-	  fi
-	fi
-	;;
-
-      *.$libext)
-	# An archive.
-	deplibs="$deplibs $arg"
-	old_deplibs="$old_deplibs $arg"
-	continue
-	;;
-
-      *.la)
-	# A libtool-controlled library.
-
-	if test "$prev" = dlfiles; then
-	  # This library was specified with -dlopen.
-	  dlfiles="$dlfiles $arg"
-	  prev=
-	elif test "$prev" = dlprefiles; then
-	  # The library was specified with -dlpreopen.
-	  dlprefiles="$dlprefiles $arg"
-	  prev=
-	else
-	  deplibs="$deplibs $arg"
-	fi
-	continue
-	;;
-
-      # Some other compiler argument.
-      *)
-	# Unknown arguments in both finalize_command and compile_command need
-	# to be aesthetically quoted because they are evaled later.
-	func_quote_for_eval "$arg"
-	arg="$func_quote_for_eval_result"
-	;;
-      esac # arg
-
-      # Now actually substitute the argument into the commands.
-      if test -n "$arg"; then
-	func_append compile_command " $arg"
-	func_append finalize_command " $arg"
-      fi
-    done # argument parsing loop
-
-    test -n "$prev" && \
-      func_fatal_help "the \`$prevarg' option requires an argument"
-
-    if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
-      eval arg=\"$export_dynamic_flag_spec\"
-      func_append compile_command " $arg"
-      func_append finalize_command " $arg"
-    fi
-
-    oldlibs=
-    # calculate the name of the file, without its directory
-    func_basename "$output"
-    outputname="$func_basename_result"
-    libobjs_save="$libobjs"
-
-    if test -n "$shlibpath_var"; then
-      # get the directories listed in $shlibpath_var
-      eval shlib_search_path=\`\$ECHO \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
-    else
-      shlib_search_path=
-    fi
-    eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
-    eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
-
-    func_dirname "$output" "/" ""
-    output_objdir="$func_dirname_result$objdir"
-    # Create the object directory.
-    func_mkdir_p "$output_objdir"
-
-    # Determine the type of output
-    case $output in
-    "")
-      func_fatal_help "you must specify an output file"
-      ;;
-    *.$libext) linkmode=oldlib ;;
-    *.lo | *.$objext) linkmode=obj ;;
-    *.la) linkmode=lib ;;
-    *) linkmode=prog ;; # Anything else should be a program.
-    esac
-
-    specialdeplibs=
-
-    libs=
-    # Find all interdependent deplibs by searching for libraries
-    # that are linked more than once (e.g. -la -lb -la)
-    for deplib in $deplibs; do
-      if $opt_duplicate_deps ; then
-	case "$libs " in
-	*" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
-	esac
-      fi
-      libs="$libs $deplib"
-    done
-
-    if test "$linkmode" = lib; then
-      libs="$predeps $libs $compiler_lib_search_path $postdeps"
-
-      # Compute libraries that are listed more than once in $predeps
-      # $postdeps and mark them as special (i.e., whose duplicates are
-      # not to be eliminated).
-      pre_post_deps=
-      if $opt_duplicate_compiler_generated_deps; then
-	for pre_post_dep in $predeps $postdeps; do
-	  case "$pre_post_deps " in
-	  *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
-	  esac
-	  pre_post_deps="$pre_post_deps $pre_post_dep"
-	done
-      fi
-      pre_post_deps=
-    fi
-
-    deplibs=
-    newdependency_libs=
-    newlib_search_path=
-    need_relink=no # whether we're linking any uninstalled libtool libraries
-    notinst_deplibs= # not-installed libtool libraries
-    notinst_path= # paths that contain not-installed libtool libraries
-
-    case $linkmode in
-    lib)
-	passes="conv dlpreopen link"
-	for file in $dlfiles $dlprefiles; do
-	  case $file in
-	  *.la) ;;
-	  *)
-	    func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file"
-	    ;;
-	  esac
-	done
-	;;
-    prog)
-	compile_deplibs=
-	finalize_deplibs=
-	alldeplibs=no
-	newdlfiles=
-	newdlprefiles=
-	passes="conv scan dlopen dlpreopen link"
-	;;
-    *)  passes="conv"
-	;;
-    esac
-
-    for pass in $passes; do
-      # The preopen pass in lib mode reverses $deplibs; put it back here
-      # so that -L comes before libs that need it for instance...
-      if test "$linkmode,$pass" = "lib,link"; then
-	## FIXME: Find the place where the list is rebuilt in the wrong
-	##        order, and fix it there properly
-        tmp_deplibs=
-	for deplib in $deplibs; do
-	  tmp_deplibs="$deplib $tmp_deplibs"
-	done
-	deplibs="$tmp_deplibs"
-      fi
-
-      if test "$linkmode,$pass" = "lib,link" ||
-	 test "$linkmode,$pass" = "prog,scan"; then
-	libs="$deplibs"
-	deplibs=
-      fi
-      if test "$linkmode" = prog; then
-	case $pass in
-	dlopen) libs="$dlfiles" ;;
-	dlpreopen) libs="$dlprefiles" ;;
-	link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
-	esac
-      fi
-      if test "$linkmode,$pass" = "lib,dlpreopen"; then
-	# Collect and forward deplibs of preopened libtool libs
-	for lib in $dlprefiles; do
-	  # Ignore non-libtool-libs
-	  dependency_libs=
-	  case $lib in
-	  *.la)	func_source "$lib" ;;
-	  esac
-
-	  # Collect preopened libtool deplibs, except any this library
-	  # has declared as weak libs
-	  for deplib in $dependency_libs; do
-            deplib_base=`$ECHO "X$deplib" | $Xsed -e "$basename"`
-	    case " $weak_libs " in
-	    *" $deplib_base "*) ;;
-	    *) deplibs="$deplibs $deplib" ;;
-	    esac
-	  done
-	done
-	libs="$dlprefiles"
-      fi
-      if test "$pass" = dlopen; then
-	# Collect dlpreopened libraries
-	save_deplibs="$deplibs"
-	deplibs=
-      fi
-
-      for deplib in $libs; do
-	lib=
-	found=no
-	case $deplib in
-	-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
-	  if test "$linkmode,$pass" = "prog,link"; then
-	    compile_deplibs="$deplib $compile_deplibs"
-	    finalize_deplibs="$deplib $finalize_deplibs"
-	  else
-	    compiler_flags="$compiler_flags $deplib"
-	    if test "$linkmode" = lib ; then
-		case "$new_inherited_linker_flags " in
-		    *" $deplib "*) ;;
-		    * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
-		esac
-	    fi
-	  fi
-	  continue
-	  ;;
-	-l*)
-	  if test "$linkmode" != lib && test "$linkmode" != prog; then
-	    func_warning "\`-l' is ignored for archives/objects"
-	    continue
-	  fi
-	  func_stripname '-l' '' "$deplib"
-	  name=$func_stripname_result
-	  if test "$linkmode" = lib; then
-	    searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
-	  else
-	    searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
-	  fi
-	  for searchdir in $searchdirs; do
-	    for search_ext in .la $std_shrext .so .a; do
-	      # Search the libtool library
-	      lib="$searchdir/lib${name}${search_ext}"
-	      if test -f "$lib"; then
-		if test "$search_ext" = ".la"; then
-		  found=yes
-		else
-		  found=no
-		fi
-		break 2
-	      fi
-	    done
-	  done
-	  if test "$found" != yes; then
-	    # deplib doesn't seem to be a libtool library
-	    if test "$linkmode,$pass" = "prog,link"; then
-	      compile_deplibs="$deplib $compile_deplibs"
-	      finalize_deplibs="$deplib $finalize_deplibs"
-	    else
-	      deplibs="$deplib $deplibs"
-	      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
-	    fi
-	    continue
-	  else # deplib is a libtool library
-	    # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
-	    # We need to do some special things here, and not later.
-	    if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
-	      case " $predeps $postdeps " in
-	      *" $deplib "*)
-		if func_lalib_p "$lib"; then
-		  library_names=
-		  old_library=
-		  func_source "$lib"
-		  for l in $old_library $library_names; do
-		    ll="$l"
-		  done
-		  if test "X$ll" = "X$old_library" ; then # only static version available
-		    found=no
-		    func_dirname "$lib" "" "."
-		    ladir="$func_dirname_result"
-		    lib=$ladir/$old_library
-		    if test "$linkmode,$pass" = "prog,link"; then
-		      compile_deplibs="$deplib $compile_deplibs"
-		      finalize_deplibs="$deplib $finalize_deplibs"
-		    else
-		      deplibs="$deplib $deplibs"
-		      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
-		    fi
-		    continue
-		  fi
-		fi
-		;;
-	      *) ;;
-	      esac
-	    fi
-	  fi
-	  ;; # -l
-	*.ltframework)
-	  if test "$linkmode,$pass" = "prog,link"; then
-	    compile_deplibs="$deplib $compile_deplibs"
-	    finalize_deplibs="$deplib $finalize_deplibs"
-	  else
-	    deplibs="$deplib $deplibs"
-	    if test "$linkmode" = lib ; then
-		case "$new_inherited_linker_flags " in
-		    *" $deplib "*) ;;
-		    * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
-		esac
-	    fi
-	  fi
-	  continue
-	  ;;
-	-L*)
-	  case $linkmode in
-	  lib)
-	    deplibs="$deplib $deplibs"
-	    test "$pass" = conv && continue
-	    newdependency_libs="$deplib $newdependency_libs"
-	    func_stripname '-L' '' "$deplib"
-	    newlib_search_path="$newlib_search_path $func_stripname_result"
-	    ;;
-	  prog)
-	    if test "$pass" = conv; then
-	      deplibs="$deplib $deplibs"
-	      continue
-	    fi
-	    if test "$pass" = scan; then
-	      deplibs="$deplib $deplibs"
-	    else
-	      compile_deplibs="$deplib $compile_deplibs"
-	      finalize_deplibs="$deplib $finalize_deplibs"
-	    fi
-	    func_stripname '-L' '' "$deplib"
-	    newlib_search_path="$newlib_search_path $func_stripname_result"
-	    ;;
-	  *)
-	    func_warning "\`-L' is ignored for archives/objects"
-	    ;;
-	  esac # linkmode
-	  continue
-	  ;; # -L
-	-R*)
-	  if test "$pass" = link; then
-	    func_stripname '-R' '' "$deplib"
-	    dir=$func_stripname_result
-	    # Make sure the xrpath contains only unique directories.
-	    case "$xrpath " in
-	    *" $dir "*) ;;
-	    *) xrpath="$xrpath $dir" ;;
-	    esac
-	  fi
-	  deplibs="$deplib $deplibs"
-	  continue
-	  ;;
-	*.la) lib="$deplib" ;;
-	*.$libext)
-	  if test "$pass" = conv; then
-	    deplibs="$deplib $deplibs"
-	    continue
-	  fi
-	  case $linkmode in
-	  lib)
-	    # Linking convenience modules into shared libraries is allowed,
-	    # but linking other static libraries is non-portable.
-	    case " $dlpreconveniencelibs " in
-	    *" $deplib "*) ;;
-	    *)
-	      valid_a_lib=no
-	      case $deplibs_check_method in
-		match_pattern*)
-		  set dummy $deplibs_check_method; shift
-		  match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
-		  if eval "\$ECHO \"X$deplib\"" 2>/dev/null | $Xsed -e 10q \
-		    | $EGREP "$match_pattern_regex" > /dev/null; then
-		    valid_a_lib=yes
-		  fi
-		;;
-		pass_all)
-		  valid_a_lib=yes
-		;;
-	      esac
-	      if test "$valid_a_lib" != yes; then
-		$ECHO
-		$ECHO "*** Warning: Trying to link with static lib archive $deplib."
-		$ECHO "*** I have the capability to make that library automatically link in when"
-		$ECHO "*** you link to this library.  But I can only do this if you have a"
-		$ECHO "*** shared version of the library, which you do not appear to have"
-		$ECHO "*** because the file extensions .$libext of this argument makes me believe"
-		$ECHO "*** that it is just a static archive that I should not use here."
-	      else
-		$ECHO
-		$ECHO "*** Warning: Linking the shared library $output against the"
-		$ECHO "*** static library $deplib is not portable!"
-		deplibs="$deplib $deplibs"
-	      fi
-	      ;;
-	    esac
-	    continue
-	    ;;
-	  prog)
-	    if test "$pass" != link; then
-	      deplibs="$deplib $deplibs"
-	    else
-	      compile_deplibs="$deplib $compile_deplibs"
-	      finalize_deplibs="$deplib $finalize_deplibs"
-	    fi
-	    continue
-	    ;;
-	  esac # linkmode
-	  ;; # *.$libext
-	*.lo | *.$objext)
-	  if test "$pass" = conv; then
-	    deplibs="$deplib $deplibs"
-	  elif test "$linkmode" = prog; then
-	    if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
-	      # If there is no dlopen support or we're linking statically,
-	      # we need to preload.
-	      newdlprefiles="$newdlprefiles $deplib"
-	      compile_deplibs="$deplib $compile_deplibs"
-	      finalize_deplibs="$deplib $finalize_deplibs"
-	    else
-	      newdlfiles="$newdlfiles $deplib"
-	    fi
-	  fi
-	  continue
-	  ;;
-	%DEPLIBS%)
-	  alldeplibs=yes
-	  continue
-	  ;;
-	esac # case $deplib
-
-	if test "$found" = yes || test -f "$lib"; then :
-	else
-	  func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'"
-	fi
-
-	# Check to see that this really is a libtool archive.
-	func_lalib_unsafe_p "$lib" \
-	  || func_fatal_error "\`$lib' is not a valid libtool archive"
-
-	func_dirname "$lib" "" "."
-	ladir="$func_dirname_result"
-
-	dlname=
-	dlopen=
-	dlpreopen=
-	libdir=
-	library_names=
-	old_library=
-	inherited_linker_flags=
-	# If the library was installed with an old release of libtool,
-	# it will not redefine variables installed, or shouldnotlink
-	installed=yes
-	shouldnotlink=no
-	avoidtemprpath=
-
-
-	# Read the .la file
-	func_source "$lib"
-
-	# Convert "-framework foo" to "foo.ltframework"
-	if test -n "$inherited_linker_flags"; then
-	  tmp_inherited_linker_flags=`$ECHO "X$inherited_linker_flags" | $Xsed -e 's/-framework \([^ $]*\)/\1.ltframework/g'`
-	  for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
-	    case " $new_inherited_linker_flags " in
-	      *" $tmp_inherited_linker_flag "*) ;;
-	      *) new_inherited_linker_flags="$new_inherited_linker_flags $tmp_inherited_linker_flag";;
-	    esac
-	  done
-	fi
-	dependency_libs=`$ECHO "X $dependency_libs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
-	if test "$linkmode,$pass" = "lib,link" ||
-	   test "$linkmode,$pass" = "prog,scan" ||
-	   { test "$linkmode" != prog && test "$linkmode" != lib; }; then
-	  test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
-	  test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
-	fi
-
-	if test "$pass" = conv; then
-	  # Only check for convenience libraries
-	  deplibs="$lib $deplibs"
-	  if test -z "$libdir"; then
-	    if test -z "$old_library"; then
-	      func_fatal_error "cannot find name of link library for \`$lib'"
-	    fi
-	    # It is a libtool convenience library, so add in its objects.
-	    convenience="$convenience $ladir/$objdir/$old_library"
-	    old_convenience="$old_convenience $ladir/$objdir/$old_library"
-	  elif test "$linkmode" != prog && test "$linkmode" != lib; then
-	    func_fatal_error "\`$lib' is not a convenience library"
-	  fi
-	  tmp_libs=
-	  for deplib in $dependency_libs; do
-	    deplibs="$deplib $deplibs"
-	    if $opt_duplicate_deps ; then
-	      case "$tmp_libs " in
-	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
-	      esac
-	    fi
-	    tmp_libs="$tmp_libs $deplib"
-	  done
-	  continue
-	fi # $pass = conv
-
-
-	# Get the name of the library we link against.
-	linklib=
-	for l in $old_library $library_names; do
-	  linklib="$l"
-	done
-	if test -z "$linklib"; then
-	  func_fatal_error "cannot find name of link library for \`$lib'"
-	fi
-
-	# This library was specified with -dlopen.
-	if test "$pass" = dlopen; then
-	  if test -z "$libdir"; then
-	    func_fatal_error "cannot -dlopen a convenience library: \`$lib'"
-	  fi
-	  if test -z "$dlname" ||
-	     test "$dlopen_support" != yes ||
-	     test "$build_libtool_libs" = no; then
-	    # If there is no dlname, no dlopen support or we're linking
-	    # statically, we need to preload.  We also need to preload any
-	    # dependent libraries so libltdl's deplib preloader doesn't
-	    # bomb out in the load deplibs phase.
-	    dlprefiles="$dlprefiles $lib $dependency_libs"
-	  else
-	    newdlfiles="$newdlfiles $lib"
-	  fi
-	  continue
-	fi # $pass = dlopen
-
-	# We need an absolute path.
-	case $ladir in
-	[\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
-	*)
-	  abs_ladir=`cd "$ladir" && pwd`
-	  if test -z "$abs_ladir"; then
-	    func_warning "cannot determine absolute directory name of \`$ladir'"
-	    func_warning "passing it literally to the linker, although it might fail"
-	    abs_ladir="$ladir"
-	  fi
-	  ;;
-	esac
-	func_basename "$lib"
-	laname="$func_basename_result"
-
-	# Find the relevant object directory and library name.
-	if test "X$installed" = Xyes; then
-	  if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
-	    func_warning "library \`$lib' was moved."
-	    dir="$ladir"
-	    absdir="$abs_ladir"
-	    libdir="$abs_ladir"
-	  else
-	    dir="$libdir"
-	    absdir="$libdir"
-	  fi
-	  test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
-	else
-	  if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
-	    dir="$ladir"
-	    absdir="$abs_ladir"
-	    # Remove this search path later
-	    notinst_path="$notinst_path $abs_ladir"
-	  else
-	    dir="$ladir/$objdir"
-	    absdir="$abs_ladir/$objdir"
-	    # Remove this search path later
-	    notinst_path="$notinst_path $abs_ladir"
-	  fi
-	fi # $installed = yes
-	func_stripname 'lib' '.la' "$laname"
-	name=$func_stripname_result
-
-	# This library was specified with -dlpreopen.
-	if test "$pass" = dlpreopen; then
-	  if test -z "$libdir" && test "$linkmode" = prog; then
-	    func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'"
-	  fi
-	  # Prefer using a static library (so that no silly _DYNAMIC symbols
-	  # are required to link).
-	  if test -n "$old_library"; then
-	    newdlprefiles="$newdlprefiles $dir/$old_library"
-	    # Keep a list of preopened convenience libraries to check
-	    # that they are being used correctly in the link pass.
-	    test -z "$libdir" && \
-		dlpreconveniencelibs="$dlpreconveniencelibs $dir/$old_library"
-	  # Otherwise, use the dlname, so that lt_dlopen finds it.
-	  elif test -n "$dlname"; then
-	    newdlprefiles="$newdlprefiles $dir/$dlname"
-	  else
-	    newdlprefiles="$newdlprefiles $dir/$linklib"
-	  fi
-	fi # $pass = dlpreopen
-
-	if test -z "$libdir"; then
-	  # Link the convenience library
-	  if test "$linkmode" = lib; then
-	    deplibs="$dir/$old_library $deplibs"
-	  elif test "$linkmode,$pass" = "prog,link"; then
-	    compile_deplibs="$dir/$old_library $compile_deplibs"
-	    finalize_deplibs="$dir/$old_library $finalize_deplibs"
-	  else
-	    deplibs="$lib $deplibs" # used for prog,scan pass
-	  fi
-	  continue
-	fi
-
-
-	if test "$linkmode" = prog && test "$pass" != link; then
-	  newlib_search_path="$newlib_search_path $ladir"
-	  deplibs="$lib $deplibs"
-
-	  linkalldeplibs=no
-	  if test "$link_all_deplibs" != no || test -z "$library_names" ||
-	     test "$build_libtool_libs" = no; then
-	    linkalldeplibs=yes
-	  fi
-
-	  tmp_libs=
-	  for deplib in $dependency_libs; do
-	    case $deplib in
-	    -L*) func_stripname '-L' '' "$deplib"
-	         newlib_search_path="$newlib_search_path $func_stripname_result"
-		 ;;
-	    esac
-	    # Need to link against all dependency_libs?
-	    if test "$linkalldeplibs" = yes; then
-	      deplibs="$deplib $deplibs"
-	    else
-	      # Need to hardcode shared library paths
-	      # or/and link against static libraries
-	      newdependency_libs="$deplib $newdependency_libs"
-	    fi
-	    if $opt_duplicate_deps ; then
-	      case "$tmp_libs " in
-	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
-	      esac
-	    fi
-	    tmp_libs="$tmp_libs $deplib"
-	  done # for deplib
-	  continue
-	fi # $linkmode = prog...
-
-	if test "$linkmode,$pass" = "prog,link"; then
-	  if test -n "$library_names" &&
-	     { { test "$prefer_static_libs" = no ||
-	         test "$prefer_static_libs,$installed" = "built,yes"; } ||
-	       test -z "$old_library"; }; then
-	    # We need to hardcode the library path
-	    if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
-	      # Make sure the rpath contains only unique directories.
-	      case "$temp_rpath:" in
-	      *"$absdir:"*) ;;
-	      *) temp_rpath="$temp_rpath$absdir:" ;;
-	      esac
-	    fi
-
-	    # Hardcode the library path.
-	    # Skip directories that are in the system default run-time
-	    # search path.
-	    case " $sys_lib_dlsearch_path " in
-	    *" $absdir "*) ;;
-	    *)
-	      case "$compile_rpath " in
-	      *" $absdir "*) ;;
-	      *) compile_rpath="$compile_rpath $absdir"
-	      esac
-	      ;;
-	    esac
-	    case " $sys_lib_dlsearch_path " in
-	    *" $libdir "*) ;;
-	    *)
-	      case "$finalize_rpath " in
-	      *" $libdir "*) ;;
-	      *) finalize_rpath="$finalize_rpath $libdir"
-	      esac
-	      ;;
-	    esac
-	  fi # $linkmode,$pass = prog,link...
-
-	  if test "$alldeplibs" = yes &&
-	     { test "$deplibs_check_method" = pass_all ||
-	       { test "$build_libtool_libs" = yes &&
-		 test -n "$library_names"; }; }; then
-	    # We only need to search for static libraries
-	    continue
-	  fi
-	fi
-
-	link_static=no # Whether the deplib will be linked statically
-	use_static_libs=$prefer_static_libs
-	if test "$use_static_libs" = built && test "$installed" = yes; then
-	  use_static_libs=no
-	fi
-	if test -n "$library_names" &&
-	   { test "$use_static_libs" = no || test -z "$old_library"; }; then
-	  case $host in
-	  *cygwin* | *mingw* | *cegcc*)
-	      # No point in relinking DLLs because paths are not encoded
-	      notinst_deplibs="$notinst_deplibs $lib"
-	      need_relink=no
-	    ;;
-	  *)
-	    if test "$installed" = no; then
-	      notinst_deplibs="$notinst_deplibs $lib"
-	      need_relink=yes
-	    fi
-	    ;;
-	  esac
-	  # This is a shared library
-
-	  # Warn about portability, can't link against -module's on some
-	  # systems (darwin).  Don't bleat about dlopened modules though!
-	  dlopenmodule=""
-	  for dlpremoduletest in $dlprefiles; do
-	    if test "X$dlpremoduletest" = "X$lib"; then
-	      dlopenmodule="$dlpremoduletest"
-	      break
-	    fi
-	  done
-	  if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then
-	    $ECHO
-	    if test "$linkmode" = prog; then
-	      $ECHO "*** Warning: Linking the executable $output against the loadable module"
-	    else
-	      $ECHO "*** Warning: Linking the shared library $output against the loadable module"
-	    fi
-	    $ECHO "*** $linklib is not portable!"
-	  fi
-	  if test "$linkmode" = lib &&
-	     test "$hardcode_into_libs" = yes; then
-	    # Hardcode the library path.
-	    # Skip directories that are in the system default run-time
-	    # search path.
-	    case " $sys_lib_dlsearch_path " in
-	    *" $absdir "*) ;;
-	    *)
-	      case "$compile_rpath " in
-	      *" $absdir "*) ;;
-	      *) compile_rpath="$compile_rpath $absdir"
-	      esac
-	      ;;
-	    esac
-	    case " $sys_lib_dlsearch_path " in
-	    *" $libdir "*) ;;
-	    *)
-	      case "$finalize_rpath " in
-	      *" $libdir "*) ;;
-	      *) finalize_rpath="$finalize_rpath $libdir"
-	      esac
-	      ;;
-	    esac
-	  fi
-
-	  if test -n "$old_archive_from_expsyms_cmds"; then
-	    # figure out the soname
-	    set dummy $library_names
-	    shift
-	    realname="$1"
-	    shift
-	    libname=`eval "\\$ECHO \"$libname_spec\""`
-	    # use dlname if we got it. it's perfectly good, no?
-	    if test -n "$dlname"; then
-	      soname="$dlname"
-	    elif test -n "$soname_spec"; then
-	      # bleh windows
-	      case $host in
-	      *cygwin* | mingw* | *cegcc*)
-	        func_arith $current - $age
-		major=$func_arith_result
-		versuffix="-$major"
-		;;
-	      esac
-	      eval soname=\"$soname_spec\"
-	    else
-	      soname="$realname"
-	    fi
-
-	    # Make a new name for the extract_expsyms_cmds to use
-	    soroot="$soname"
-	    func_basename "$soroot"
-	    soname="$func_basename_result"
-	    func_stripname 'lib' '.dll' "$soname"
-	    newlib=libimp-$func_stripname_result.a
-
-	    # If the library has no export list, then create one now
-	    if test -f "$output_objdir/$soname-def"; then :
-	    else
-	      func_verbose "extracting exported symbol list from \`$soname'"
-	      func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
-	    fi
-
-	    # Create $newlib
-	    if test -f "$output_objdir/$newlib"; then :; else
-	      func_verbose "generating import library for \`$soname'"
-	      func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
-	    fi
-	    # make sure the library variables are pointing to the new library
-	    dir=$output_objdir
-	    linklib=$newlib
-	  fi # test -n "$old_archive_from_expsyms_cmds"
-
-	  if test "$linkmode" = prog || test "$mode" != relink; then
-	    add_shlibpath=
-	    add_dir=
-	    add=
-	    lib_linked=yes
-	    case $hardcode_action in
-	    immediate | unsupported)
-	      if test "$hardcode_direct" = no; then
-		add="$dir/$linklib"
-		case $host in
-		  *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
-		  *-*-sysv4*uw2*) add_dir="-L$dir" ;;
-		  *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
-		    *-*-unixware7*) add_dir="-L$dir" ;;
-		  *-*-darwin* )
-		    # if the lib is a (non-dlopened) module then we can not
-		    # link against it, someone is ignoring the earlier warnings
-		    if /usr/bin/file -L $add 2> /dev/null |
-			 $GREP ": [^:]* bundle" >/dev/null ; then
-		      if test "X$dlopenmodule" != "X$lib"; then
-			$ECHO "*** Warning: lib $linklib is a module, not a shared library"
-			if test -z "$old_library" ; then
-			  $ECHO
-			  $ECHO "*** And there doesn't seem to be a static archive available"
-			  $ECHO "*** The link will probably fail, sorry"
-			else
-			  add="$dir/$old_library"
-			fi
-		      elif test -n "$old_library"; then
-			add="$dir/$old_library"
-		      fi
-		    fi
-		esac
-	      elif test "$hardcode_minus_L" = no; then
-		case $host in
-		*-*-sunos*) add_shlibpath="$dir" ;;
-		esac
-		add_dir="-L$dir"
-		add="-l$name"
-	      elif test "$hardcode_shlibpath_var" = no; then
-		add_shlibpath="$dir"
-		add="-l$name"
-	      else
-		lib_linked=no
-	      fi
-	      ;;
-	    relink)
-	      if test "$hardcode_direct" = yes &&
-	         test "$hardcode_direct_absolute" = no; then
-		add="$dir/$linklib"
-	      elif test "$hardcode_minus_L" = yes; then
-		add_dir="-L$dir"
-		# Try looking first in the location we're being installed to.
-		if test -n "$inst_prefix_dir"; then
-		  case $libdir in
-		    [\\/]*)
-		      add_dir="$add_dir -L$inst_prefix_dir$libdir"
-		      ;;
-		  esac
-		fi
-		add="-l$name"
-	      elif test "$hardcode_shlibpath_var" = yes; then
-		add_shlibpath="$dir"
-		add="-l$name"
-	      else
-		lib_linked=no
-	      fi
-	      ;;
-	    *) lib_linked=no ;;
-	    esac
-
-	    if test "$lib_linked" != yes; then
-	      func_fatal_configuration "unsupported hardcode properties"
-	    fi
-
-	    if test -n "$add_shlibpath"; then
-	      case :$compile_shlibpath: in
-	      *":$add_shlibpath:"*) ;;
-	      *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
-	      esac
-	    fi
-	    if test "$linkmode" = prog; then
-	      test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
-	      test -n "$add" && compile_deplibs="$add $compile_deplibs"
-	    else
-	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
-	      test -n "$add" && deplibs="$add $deplibs"
-	      if test "$hardcode_direct" != yes &&
-		 test "$hardcode_minus_L" != yes &&
-		 test "$hardcode_shlibpath_var" = yes; then
-		case :$finalize_shlibpath: in
-		*":$libdir:"*) ;;
-		*) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
-		esac
-	      fi
-	    fi
-	  fi
-
-	  if test "$linkmode" = prog || test "$mode" = relink; then
-	    add_shlibpath=
-	    add_dir=
-	    add=
-	    # Finalize command for both is simple: just hardcode it.
-	    if test "$hardcode_direct" = yes &&
-	       test "$hardcode_direct_absolute" = no; then
-	      add="$libdir/$linklib"
-	    elif test "$hardcode_minus_L" = yes; then
-	      add_dir="-L$libdir"
-	      add="-l$name"
-	    elif test "$hardcode_shlibpath_var" = yes; then
-	      case :$finalize_shlibpath: in
-	      *":$libdir:"*) ;;
-	      *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
-	      esac
-	      add="-l$name"
-	    elif test "$hardcode_automatic" = yes; then
-	      if test -n "$inst_prefix_dir" &&
-		 test -f "$inst_prefix_dir$libdir/$linklib" ; then
-		add="$inst_prefix_dir$libdir/$linklib"
-	      else
-		add="$libdir/$linklib"
-	      fi
-	    else
-	      # We cannot seem to hardcode it, guess we'll fake it.
-	      add_dir="-L$libdir"
-	      # Try looking first in the location we're being installed to.
-	      if test -n "$inst_prefix_dir"; then
-		case $libdir in
-		  [\\/]*)
-		    add_dir="$add_dir -L$inst_prefix_dir$libdir"
-		    ;;
-		esac
-	      fi
-	      add="-l$name"
-	    fi
-
-	    if test "$linkmode" = prog; then
-	      test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
-	      test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
-	    else
-	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
-	      test -n "$add" && deplibs="$add $deplibs"
-	    fi
-	  fi
-	elif test "$linkmode" = prog; then
-	  # Here we assume that one of hardcode_direct or hardcode_minus_L
-	  # is not unsupported.  This is valid on all known static and
-	  # shared platforms.
-	  if test "$hardcode_direct" != unsupported; then
-	    test -n "$old_library" && linklib="$old_library"
-	    compile_deplibs="$dir/$linklib $compile_deplibs"
-	    finalize_deplibs="$dir/$linklib $finalize_deplibs"
-	  else
-	    compile_deplibs="-l$name -L$dir $compile_deplibs"
-	    finalize_deplibs="-l$name -L$dir $finalize_deplibs"
-	  fi
-	elif test "$build_libtool_libs" = yes; then
-	  # Not a shared library
-	  if test "$deplibs_check_method" != pass_all; then
-	    # We're trying link a shared library against a static one
-	    # but the system doesn't support it.
-
-	    # Just print a warning and add the library to dependency_libs so
-	    # that the program can be linked against the static library.
-	    $ECHO
-	    $ECHO "*** Warning: This system can not link to static lib archive $lib."
-	    $ECHO "*** I have the capability to make that library automatically link in when"
-	    $ECHO "*** you link to this library.  But I can only do this if you have a"
-	    $ECHO "*** shared version of the library, which you do not appear to have."
-	    if test "$module" = yes; then
-	      $ECHO "*** But as you try to build a module library, libtool will still create "
-	      $ECHO "*** a static module, that should work as long as the dlopening application"
-	      $ECHO "*** is linked with the -dlopen flag to resolve symbols at runtime."
-	      if test -z "$global_symbol_pipe"; then
-		$ECHO
-		$ECHO "*** However, this would only work if libtool was able to extract symbol"
-		$ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
-		$ECHO "*** not find such a program.  So, this module is probably useless."
-		$ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
-	      fi
-	      if test "$build_old_libs" = no; then
-		build_libtool_libs=module
-		build_old_libs=yes
-	      else
-		build_libtool_libs=no
-	      fi
-	    fi
-	  else
-	    deplibs="$dir/$old_library $deplibs"
-	    link_static=yes
-	  fi
-	fi # link shared/static library?
-
-	if test "$linkmode" = lib; then
-	  if test -n "$dependency_libs" &&
-	     { test "$hardcode_into_libs" != yes ||
-	       test "$build_old_libs" = yes ||
-	       test "$link_static" = yes; }; then
-	    # Extract -R from dependency_libs
-	    temp_deplibs=
-	    for libdir in $dependency_libs; do
-	      case $libdir in
-	      -R*) func_stripname '-R' '' "$libdir"
-	           temp_xrpath=$func_stripname_result
-		   case " $xrpath " in
-		   *" $temp_xrpath "*) ;;
-		   *) xrpath="$xrpath $temp_xrpath";;
-		   esac;;
-	      *) temp_deplibs="$temp_deplibs $libdir";;
-	      esac
-	    done
-	    dependency_libs="$temp_deplibs"
-	  fi
-
-	  newlib_search_path="$newlib_search_path $absdir"
-	  # Link against this library
-	  test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
-	  # ... and its dependency_libs
-	  tmp_libs=
-	  for deplib in $dependency_libs; do
-	    newdependency_libs="$deplib $newdependency_libs"
-	    if $opt_duplicate_deps ; then
-	      case "$tmp_libs " in
-	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
-	      esac
-	    fi
-	    tmp_libs="$tmp_libs $deplib"
-	  done
-
-	  if test "$link_all_deplibs" != no; then
-	    # Add the search paths of all dependency libraries
-	    for deplib in $dependency_libs; do
-	      case $deplib in
-	      -L*) path="$deplib" ;;
-	      *.la)
-	        func_dirname "$deplib" "" "."
-		dir="$func_dirname_result"
-		# We need an absolute path.
-		case $dir in
-		[\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
-		*)
-		  absdir=`cd "$dir" && pwd`
-		  if test -z "$absdir"; then
-		    func_warning "cannot determine absolute directory name of \`$dir'"
-		    absdir="$dir"
-		  fi
-		  ;;
-		esac
-		if $GREP "^installed=no" $deplib > /dev/null; then
-		case $host in
-		*-*-darwin*)
-		  depdepl=
-		  eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
-		  if test -n "$deplibrary_names" ; then
-		    for tmp in $deplibrary_names ; do
-		      depdepl=$tmp
-		    done
-		    if test -f "$absdir/$objdir/$depdepl" ; then
-		      depdepl="$absdir/$objdir/$depdepl"
-		      darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
-                      if test -z "$darwin_install_name"; then
-                          darwin_install_name=`${OTOOL64} -L $depdepl  | awk '{if (NR == 2) {print $1;exit}}'`
-                      fi
-		      compiler_flags="$compiler_flags ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
-		      linker_flags="$linker_flags -dylib_file ${darwin_install_name}:${depdepl}"
-		      path=
-		    fi
-		  fi
-		  ;;
-		*)
-		  path="-L$absdir/$objdir"
-		  ;;
-		esac
-		else
-		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
-		  test -z "$libdir" && \
-		    func_fatal_error "\`$deplib' is not a valid libtool archive"
-		  test "$absdir" != "$libdir" && \
-		    func_warning "\`$deplib' seems to be moved"
-
-		  path="-L$absdir"
-		fi
-		;;
-	      esac
-	      case " $deplibs " in
-	      *" $path "*) ;;
-	      *) deplibs="$path $deplibs" ;;
-	      esac
-	    done
-	  fi # link_all_deplibs != no
-	fi # linkmode = lib
-      done # for deplib in $libs
-      if test "$pass" = link; then
-	if test "$linkmode" = "prog"; then
-	  compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
-	  finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
-	else
-	  compiler_flags="$compiler_flags "`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
-	fi
-      fi
-      dependency_libs="$newdependency_libs"
-      if test "$pass" = dlpreopen; then
-	# Link the dlpreopened libraries before other libraries
-	for deplib in $save_deplibs; do
-	  deplibs="$deplib $deplibs"
-	done
-      fi
-      if test "$pass" != dlopen; then
-	if test "$pass" != conv; then
-	  # Make sure lib_search_path contains only unique directories.
-	  lib_search_path=
-	  for dir in $newlib_search_path; do
-	    case "$lib_search_path " in
-	    *" $dir "*) ;;
-	    *) lib_search_path="$lib_search_path $dir" ;;
-	    esac
-	  done
-	  newlib_search_path=
-	fi
-
-	if test "$linkmode,$pass" != "prog,link"; then
-	  vars="deplibs"
-	else
-	  vars="compile_deplibs finalize_deplibs"
-	fi
-	for var in $vars dependency_libs; do
-	  # Add libraries to $var in reverse order
-	  eval tmp_libs=\"\$$var\"
-	  new_libs=
-	  for deplib in $tmp_libs; do
-	    # FIXME: Pedantically, this is the right thing to do, so
-	    #        that some nasty dependency loop isn't accidentally
-	    #        broken:
-	    #new_libs="$deplib $new_libs"
-	    # Pragmatically, this seems to cause very few problems in
-	    # practice:
-	    case $deplib in
-	    -L*) new_libs="$deplib $new_libs" ;;
-	    -R*) ;;
-	    *)
-	      # And here is the reason: when a library appears more
-	      # than once as an explicit dependence of a library, or
-	      # is implicitly linked in more than once by the
-	      # compiler, it is considered special, and multiple
-	      # occurrences thereof are not removed.  Compare this
-	      # with having the same library being listed as a
-	      # dependency of multiple other libraries: in this case,
-	      # we know (pedantically, we assume) the library does not
-	      # need to be listed more than once, so we keep only the
-	      # last copy.  This is not always right, but it is rare
-	      # enough that we require users that really mean to play
-	      # such unportable linking tricks to link the library
-	      # using -Wl,-lname, so that libtool does not consider it
-	      # for duplicate removal.
-	      case " $specialdeplibs " in
-	      *" $deplib "*) new_libs="$deplib $new_libs" ;;
-	      *)
-		case " $new_libs " in
-		*" $deplib "*) ;;
-		*) new_libs="$deplib $new_libs" ;;
-		esac
-		;;
-	      esac
-	      ;;
-	    esac
-	  done
-	  tmp_libs=
-	  for deplib in $new_libs; do
-	    case $deplib in
-	    -L*)
-	      case " $tmp_libs " in
-	      *" $deplib "*) ;;
-	      *) tmp_libs="$tmp_libs $deplib" ;;
-	      esac
-	      ;;
-	    *) tmp_libs="$tmp_libs $deplib" ;;
-	    esac
-	  done
-	  eval $var=\"$tmp_libs\"
-	done # for var
-      fi
-      # Last step: remove runtime libs from dependency_libs
-      # (they stay in deplibs)
-      tmp_libs=
-      for i in $dependency_libs ; do
-	case " $predeps $postdeps $compiler_lib_search_path " in
-	*" $i "*)
-	  i=""
-	  ;;
-	esac
-	if test -n "$i" ; then
-	  tmp_libs="$tmp_libs $i"
-	fi
-      done
-      dependency_libs=$tmp_libs
-    done # for pass
-    if test "$linkmode" = prog; then
-      dlfiles="$newdlfiles"
-    fi
-    if test "$linkmode" = prog || test "$linkmode" = lib; then
-      dlprefiles="$newdlprefiles"
-    fi
-
-    case $linkmode in
-    oldlib)
-      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
-	func_warning "\`-dlopen' is ignored for archives"
-      fi
-
-      case " $deplibs" in
-      *\ -l* | *\ -L*)
-	func_warning "\`-l' and \`-L' are ignored for archives" ;;
-      esac
-
-      test -n "$rpath" && \
-	func_warning "\`-rpath' is ignored for archives"
-
-      test -n "$xrpath" && \
-	func_warning "\`-R' is ignored for archives"
-
-      test -n "$vinfo" && \
-	func_warning "\`-version-info/-version-number' is ignored for archives"
-
-      test -n "$release" && \
-	func_warning "\`-release' is ignored for archives"
-
-      test -n "$export_symbols$export_symbols_regex" && \
-	func_warning "\`-export-symbols' is ignored for archives"
-
-      # Now set the variables for building old libraries.
-      build_libtool_libs=no
-      oldlibs="$output"
-      objs="$objs$old_deplibs"
-      ;;
-
-    lib)
-      # Make sure we only generate libraries of the form `libNAME.la'.
-      case $outputname in
-      lib*)
-	func_stripname 'lib' '.la' "$outputname"
-	name=$func_stripname_result
-	eval shared_ext=\"$shrext_cmds\"
-	eval libname=\"$libname_spec\"
-	;;
-      *)
-	test "$module" = no && \
-	  func_fatal_help "libtool library \`$output' must begin with \`lib'"
-
-	if test "$need_lib_prefix" != no; then
-	  # Add the "lib" prefix for modules if required
-	  func_stripname '' '.la' "$outputname"
-	  name=$func_stripname_result
-	  eval shared_ext=\"$shrext_cmds\"
-	  eval libname=\"$libname_spec\"
-	else
-	  func_stripname '' '.la' "$outputname"
-	  libname=$func_stripname_result
-	fi
-	;;
-      esac
-
-      if test -n "$objs"; then
-	if test "$deplibs_check_method" != pass_all; then
-	  func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs"
-	else
-	  $ECHO
-	  $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
-	  $ECHO "*** objects $objs is not portable!"
-	  libobjs="$libobjs $objs"
-	fi
-      fi
-
-      test "$dlself" != no && \
-	func_warning "\`-dlopen self' is ignored for libtool libraries"
-
-      set dummy $rpath
-      shift
-      test "$#" -gt 1 && \
-	func_warning "ignoring multiple \`-rpath's for a libtool library"
-
-      install_libdir="$1"
-
-      oldlibs=
-      if test -z "$rpath"; then
-	if test "$build_libtool_libs" = yes; then
-	  # Building a libtool convenience library.
-	  # Some compilers have problems with a `.al' extension so
-	  # convenience libraries should have the same extension an
-	  # archive normally would.
-	  oldlibs="$output_objdir/$libname.$libext $oldlibs"
-	  build_libtool_libs=convenience
-	  build_old_libs=yes
-	fi
-
-	test -n "$vinfo" && \
-	  func_warning "\`-version-info/-version-number' is ignored for convenience libraries"
-
-	test -n "$release" && \
-	  func_warning "\`-release' is ignored for convenience libraries"
-      else
-
-	# Parse the version information argument.
-	save_ifs="$IFS"; IFS=':'
-	set dummy $vinfo 0 0 0
-	shift
-	IFS="$save_ifs"
-
-	test -n "$7" && \
-	  func_fatal_help "too many parameters to \`-version-info'"
-
-	# convert absolute version numbers to libtool ages
-	# this retains compatibility with .la files and attempts
-	# to make the code below a bit more comprehensible
-
-	case $vinfo_number in
-	yes)
-	  number_major="$1"
-	  number_minor="$2"
-	  number_revision="$3"
-	  #
-	  # There are really only two kinds -- those that
-	  # use the current revision as the major version
-	  # and those that subtract age and use age as
-	  # a minor version.  But, then there is irix
-	  # which has an extra 1 added just for fun
-	  #
-	  case $version_type in
-	  darwin|linux|osf|windows|none)
-	    func_arith $number_major + $number_minor
-	    current=$func_arith_result
-	    age="$number_minor"
-	    revision="$number_revision"
-	    ;;
-	  freebsd-aout|freebsd-elf|sunos)
-	    current="$number_major"
-	    revision="$number_minor"
-	    age="0"
-	    ;;
-	  irix|nonstopux)
-	    func_arith $number_major + $number_minor
-	    current=$func_arith_result
-	    age="$number_minor"
-	    revision="$number_minor"
-	    lt_irix_increment=no
-	    ;;
-	  esac
-	  ;;
-	no)
-	  current="$1"
-	  revision="$2"
-	  age="$3"
-	  ;;
-	esac
-
-	# Check that each of the things are valid numbers.
-	case $current in
-	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
-	*)
-	  func_error "CURRENT \`$current' must be a nonnegative integer"
-	  func_fatal_error "\`$vinfo' is not valid version information"
-	  ;;
-	esac
-
-	case $revision in
-	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
-	*)
-	  func_error "REVISION \`$revision' must be a nonnegative integer"
-	  func_fatal_error "\`$vinfo' is not valid version information"
-	  ;;
-	esac
-
-	case $age in
-	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
-	*)
-	  func_error "AGE \`$age' must be a nonnegative integer"
-	  func_fatal_error "\`$vinfo' is not valid version information"
-	  ;;
-	esac
-
-	if test "$age" -gt "$current"; then
-	  func_error "AGE \`$age' is greater than the current interface number \`$current'"
-	  func_fatal_error "\`$vinfo' is not valid version information"
-	fi
-
-	# Calculate the version variables.
-	major=
-	versuffix=
-	verstring=
-	case $version_type in
-	none) ;;
-
-	darwin)
-	  # Like Linux, but with the current version available in
-	  # verstring for coding it into the library header
-	  func_arith $current - $age
-	  major=.$func_arith_result
-	  versuffix="$major.$age.$revision"
-	  # Darwin ld doesn't like 0 for these options...
-	  func_arith $current + 1
-	  minor_current=$func_arith_result
-	  xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
-	  verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
-	  ;;
-
-	freebsd-aout)
-	  major=".$current"
-	  versuffix=".$current.$revision";
-	  ;;
-
-	freebsd-elf)
-	  major=".$current"
-	  versuffix=".$current"
-	  ;;
-
-	irix | nonstopux)
-	  if test "X$lt_irix_increment" = "Xno"; then
-	    func_arith $current - $age
-	  else
-	    func_arith $current - $age + 1
-	  fi
-	  major=$func_arith_result
-
-	  case $version_type in
-	    nonstopux) verstring_prefix=nonstopux ;;
-	    *)         verstring_prefix=sgi ;;
-	  esac
-	  verstring="$verstring_prefix$major.$revision"
-
-	  # Add in all the interfaces that we are compatible with.
-	  loop=$revision
-	  while test "$loop" -ne 0; do
-	    func_arith $revision - $loop
-	    iface=$func_arith_result
-	    func_arith $loop - 1
-	    loop=$func_arith_result
-	    verstring="$verstring_prefix$major.$iface:$verstring"
-	  done
-
-	  # Before this point, $major must not contain `.'.
-	  major=.$major
-	  versuffix="$major.$revision"
-	  ;;
-
-	linux)
-	  func_arith $current - $age
-	  major=.$func_arith_result
-	  versuffix="$major.$age.$revision"
-	  ;;
-
-	osf)
-	  func_arith $current - $age
-	  major=.$func_arith_result
-	  versuffix=".$current.$age.$revision"
-	  verstring="$current.$age.$revision"
-
-	  # Add in all the interfaces that we are compatible with.
-	  loop=$age
-	  while test "$loop" -ne 0; do
-	    func_arith $current - $loop
-	    iface=$func_arith_result
-	    func_arith $loop - 1
-	    loop=$func_arith_result
-	    verstring="$verstring:${iface}.0"
-	  done
-
-	  # Make executables depend on our current version.
-	  verstring="$verstring:${current}.0"
-	  ;;
-
-	qnx)
-	  major=".$current"
-	  versuffix=".$current"
-	  ;;
-
-	sunos)
-	  major=".$current"
-	  versuffix=".$current.$revision"
-	  ;;
-
-	windows)
-	  # Use '-' rather than '.', since we only want one
-	  # extension on DOS 8.3 filesystems.
-	  func_arith $current - $age
-	  major=$func_arith_result
-	  versuffix="-$major"
-	  ;;
-
-	*)
-	  func_fatal_configuration "unknown library version type \`$version_type'"
-	  ;;
-	esac
-
-	# Clear the version info if we defaulted, and they specified a release.
-	if test -z "$vinfo" && test -n "$release"; then
-	  major=
-	  case $version_type in
-	  darwin)
-	    # we can't check for "0.0" in archive_cmds due to quoting
-	    # problems, so we reset it completely
-	    verstring=
-	    ;;
-	  *)
-	    verstring="0.0"
-	    ;;
-	  esac
-	  if test "$need_version" = no; then
-	    versuffix=
-	  else
-	    versuffix=".0.0"
-	  fi
-	fi
-
-	# Remove version info from name if versioning should be avoided
-	if test "$avoid_version" = yes && test "$need_version" = no; then
-	  major=
-	  versuffix=
-	  verstring=""
-	fi
-
-	# Check to see if the archive will have undefined symbols.
-	if test "$allow_undefined" = yes; then
-	  if test "$allow_undefined_flag" = unsupported; then
-	    func_warning "undefined symbols not allowed in $host shared libraries"
-	    build_libtool_libs=no
-	    build_old_libs=yes
-	  fi
-	else
-	  # Don't allow undefined symbols.
-	  allow_undefined_flag="$no_undefined_flag"
-	fi
-
-      fi
-
-      func_generate_dlsyms "$libname" "$libname" "yes"
-      libobjs="$libobjs $symfileobj"
-      test "X$libobjs" = "X " && libobjs=
-
-      if test "$mode" != relink; then
-	# Remove our outputs, but don't remove object files since they
-	# may have been created when compiling PIC objects.
-	removelist=
-	tempremovelist=`$ECHO "$output_objdir/*"`
-	for p in $tempremovelist; do
-	  case $p in
-	    *.$objext | *.gcno)
-	       ;;
-	    $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
-	       if test "X$precious_files_regex" != "X"; then
-		 if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
-		 then
-		   continue
-		 fi
-	       fi
-	       removelist="$removelist $p"
-	       ;;
-	    *) ;;
-	  esac
-	done
-	test -n "$removelist" && \
-	  func_show_eval "${RM}r \$removelist"
-      fi
-
-      # Now set the variables for building old libraries.
-      if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
-	oldlibs="$oldlibs $output_objdir/$libname.$libext"
-
-	# Transform .lo files to .o files.
-	oldobjs="$objs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
-      fi
-
-      # Eliminate all temporary directories.
-      #for path in $notinst_path; do
-      #	lib_search_path=`$ECHO "X$lib_search_path " | $Xsed -e "s% $path % %g"`
-      #	deplibs=`$ECHO "X$deplibs " | $Xsed -e "s% -L$path % %g"`
-      #	dependency_libs=`$ECHO "X$dependency_libs " | $Xsed -e "s% -L$path % %g"`
-      #done
-
-      if test -n "$xrpath"; then
-	# If the user specified any rpath flags, then add them.
-	temp_xrpath=
-	for libdir in $xrpath; do
-	  temp_xrpath="$temp_xrpath -R$libdir"
-	  case "$finalize_rpath " in
-	  *" $libdir "*) ;;
-	  *) finalize_rpath="$finalize_rpath $libdir" ;;
-	  esac
-	done
-	if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
-	  dependency_libs="$temp_xrpath $dependency_libs"
-	fi
-      fi
-
-      # Make sure dlfiles contains only unique files that won't be dlpreopened
-      old_dlfiles="$dlfiles"
-      dlfiles=
-      for lib in $old_dlfiles; do
-	case " $dlprefiles $dlfiles " in
-	*" $lib "*) ;;
-	*) dlfiles="$dlfiles $lib" ;;
-	esac
-      done
-
-      # Make sure dlprefiles contains only unique files
-      old_dlprefiles="$dlprefiles"
-      dlprefiles=
-      for lib in $old_dlprefiles; do
-	case "$dlprefiles " in
-	*" $lib "*) ;;
-	*) dlprefiles="$dlprefiles $lib" ;;
-	esac
-      done
-
-      if test "$build_libtool_libs" = yes; then
-	if test -n "$rpath"; then
-	  case $host in
-	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc*)
-	    # these systems don't actually have a c library (as such)!
-	    ;;
-	  *-*-rhapsody* | *-*-darwin1.[012])
-	    # Rhapsody C library is in the System framework
-	    deplibs="$deplibs System.ltframework"
-	    ;;
-	  *-*-netbsd*)
-	    # Don't link with libc until the a.out ld.so is fixed.
-	    ;;
-	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
-	    # Do not include libc due to us having libc/libc_r.
-	    ;;
-	  *-*-sco3.2v5* | *-*-sco5v6*)
-	    # Causes problems with __ctype
-	    ;;
-	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
-	    # Compiler inserts libc in the correct place for threads to work
-	    ;;
-	  *)
-	    # Add libc to deplibs on all other systems if necessary.
-	    if test "$build_libtool_need_lc" = "yes"; then
-	      deplibs="$deplibs -lc"
-	    fi
-	    ;;
-	  esac
-	fi
-
-	# Transform deplibs into only deplibs that can be linked in shared.
-	name_save=$name
-	libname_save=$libname
-	release_save=$release
-	versuffix_save=$versuffix
-	major_save=$major
-	# I'm not sure if I'm treating the release correctly.  I think
-	# release should show up in the -l (ie -lgmp5) so we don't want to
-	# add it in twice.  Is that correct?
-	release=""
-	versuffix=""
-	major=""
-	newdeplibs=
-	droppeddeps=no
-	case $deplibs_check_method in
-	pass_all)
-	  # Don't check for shared/static.  Everything works.
-	  # This might be a little naive.  We might want to check
-	  # whether the library exists or not.  But this is on
-	  # osf3 & osf4 and I'm not really sure... Just
-	  # implementing what was already the behavior.
-	  newdeplibs=$deplibs
-	  ;;
-	test_compile)
-	  # This code stresses the "libraries are programs" paradigm to its
-	  # limits. Maybe even breaks it.  We compile a program, linking it
-	  # against the deplibs as a proxy for the library.  Then we can check
-	  # whether they linked in statically or dynamically with ldd.
-	  $opt_dry_run || $RM conftest.c
-	  cat > conftest.c <<EOF
-	  int main() { return 0; }
-EOF
-	  $opt_dry_run || $RM conftest
-	  if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
-	    ldd_output=`ldd conftest`
-	    for i in $deplibs; do
-	      case $i in
-	      -l*)
-		func_stripname -l '' "$i"
-		name=$func_stripname_result
-		if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
-		  case " $predeps $postdeps " in
-		  *" $i "*)
-		    newdeplibs="$newdeplibs $i"
-		    i=""
-		    ;;
-		  esac
-		fi
-		if test -n "$i" ; then
-		  libname=`eval "\\$ECHO \"$libname_spec\""`
-		  deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
-		  set dummy $deplib_matches; shift
-		  deplib_match=$1
-		  if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
-		    newdeplibs="$newdeplibs $i"
-		  else
-		    droppeddeps=yes
-		    $ECHO
-		    $ECHO "*** Warning: dynamic linker does not accept needed library $i."
-		    $ECHO "*** I have the capability to make that library automatically link in when"
-		    $ECHO "*** you link to this library.  But I can only do this if you have a"
-		    $ECHO "*** shared version of the library, which I believe you do not have"
-		    $ECHO "*** because a test_compile did reveal that the linker did not use it for"
-		    $ECHO "*** its dynamic dependency list that programs get resolved with at runtime."
-		  fi
-		fi
-		;;
-	      *)
-		newdeplibs="$newdeplibs $i"
-		;;
-	      esac
-	    done
-	  else
-	    # Error occurred in the first compile.  Let's try to salvage
-	    # the situation: Compile a separate program for each library.
-	    for i in $deplibs; do
-	      case $i in
-	      -l*)
-		func_stripname -l '' "$i"
-		name=$func_stripname_result
-		$opt_dry_run || $RM conftest
-		if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
-		  ldd_output=`ldd conftest`
-		  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
-		    case " $predeps $postdeps " in
-		    *" $i "*)
-		      newdeplibs="$newdeplibs $i"
-		      i=""
-		      ;;
-		    esac
-		  fi
-		  if test -n "$i" ; then
-		    libname=`eval "\\$ECHO \"$libname_spec\""`
-		    deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
-		    set dummy $deplib_matches; shift
-		    deplib_match=$1
-		    if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
-		      newdeplibs="$newdeplibs $i"
-		    else
-		      droppeddeps=yes
-		      $ECHO
-		      $ECHO "*** Warning: dynamic linker does not accept needed library $i."
-		      $ECHO "*** I have the capability to make that library automatically link in when"
-		      $ECHO "*** you link to this library.  But I can only do this if you have a"
-		      $ECHO "*** shared version of the library, which you do not appear to have"
-		      $ECHO "*** because a test_compile did reveal that the linker did not use this one"
-		      $ECHO "*** as a dynamic dependency that programs can get resolved with at runtime."
-		    fi
-		  fi
-		else
-		  droppeddeps=yes
-		  $ECHO
-		  $ECHO "*** Warning!  Library $i is needed by this library but I was not able to"
-		  $ECHO "*** make it link in!  You will probably need to install it or some"
-		  $ECHO "*** library that it depends on before this library will be fully"
-		  $ECHO "*** functional.  Installing it before continuing would be even better."
-		fi
-		;;
-	      *)
-		newdeplibs="$newdeplibs $i"
-		;;
-	      esac
-	    done
-	  fi
-	  ;;
-	file_magic*)
-	  set dummy $deplibs_check_method; shift
-	  file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
-	  for a_deplib in $deplibs; do
-	    case $a_deplib in
-	    -l*)
-	      func_stripname -l '' "$a_deplib"
-	      name=$func_stripname_result
-	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
-		case " $predeps $postdeps " in
-		*" $a_deplib "*)
-		  newdeplibs="$newdeplibs $a_deplib"
-		  a_deplib=""
-		  ;;
-		esac
-	      fi
-	      if test -n "$a_deplib" ; then
-		libname=`eval "\\$ECHO \"$libname_spec\""`
-		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
-		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
-		  for potent_lib in $potential_libs; do
-		      # Follow soft links.
-		      if ls -lLd "$potent_lib" 2>/dev/null |
-			 $GREP " -> " >/dev/null; then
-			continue
-		      fi
-		      # The statement above tries to avoid entering an
-		      # endless loop below, in case of cyclic links.
-		      # We might still enter an endless loop, since a link
-		      # loop can be closed while we follow links,
-		      # but so what?
-		      potlib="$potent_lib"
-		      while test -h "$potlib" 2>/dev/null; do
-			potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
-			case $potliblink in
-			[\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
-			*) potlib=`$ECHO "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
-			esac
-		      done
-		      if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
-			 $SED -e 10q |
-			 $EGREP "$file_magic_regex" > /dev/null; then
-			newdeplibs="$newdeplibs $a_deplib"
-			a_deplib=""
-			break 2
-		      fi
-		  done
-		done
-	      fi
-	      if test -n "$a_deplib" ; then
-		droppeddeps=yes
-		$ECHO
-		$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
-		$ECHO "*** I have the capability to make that library automatically link in when"
-		$ECHO "*** you link to this library.  But I can only do this if you have a"
-		$ECHO "*** shared version of the library, which you do not appear to have"
-		$ECHO "*** because I did check the linker path looking for a file starting"
-		if test -z "$potlib" ; then
-		  $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
-		else
-		  $ECHO "*** with $libname and none of the candidates passed a file format test"
-		  $ECHO "*** using a file magic. Last file checked: $potlib"
-		fi
-	      fi
-	      ;;
-	    *)
-	      # Add a -L argument.
-	      newdeplibs="$newdeplibs $a_deplib"
-	      ;;
-	    esac
-	  done # Gone through all deplibs.
-	  ;;
-	match_pattern*)
-	  set dummy $deplibs_check_method; shift
-	  match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
-	  for a_deplib in $deplibs; do
-	    case $a_deplib in
-	    -l*)
-	      func_stripname -l '' "$a_deplib"
-	      name=$func_stripname_result
-	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
-		case " $predeps $postdeps " in
-		*" $a_deplib "*)
-		  newdeplibs="$newdeplibs $a_deplib"
-		  a_deplib=""
-		  ;;
-		esac
-	      fi
-	      if test -n "$a_deplib" ; then
-		libname=`eval "\\$ECHO \"$libname_spec\""`
-		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
-		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
-		  for potent_lib in $potential_libs; do
-		    potlib="$potent_lib" # see symlink-check above in file_magic test
-		    if eval "\$ECHO \"X$potent_lib\"" 2>/dev/null | $Xsed -e 10q | \
-		       $EGREP "$match_pattern_regex" > /dev/null; then
-		      newdeplibs="$newdeplibs $a_deplib"
-		      a_deplib=""
-		      break 2
-		    fi
-		  done
-		done
-	      fi
-	      if test -n "$a_deplib" ; then
-		droppeddeps=yes
-		$ECHO
-		$ECHO "*** Warning: linker path does not have real file for library $a_deplib."
-		$ECHO "*** I have the capability to make that library automatically link in when"
-		$ECHO "*** you link to this library.  But I can only do this if you have a"
-		$ECHO "*** shared version of the library, which you do not appear to have"
-		$ECHO "*** because I did check the linker path looking for a file starting"
-		if test -z "$potlib" ; then
-		  $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
-		else
-		  $ECHO "*** with $libname and none of the candidates passed a file format test"
-		  $ECHO "*** using a regex pattern. Last file checked: $potlib"
-		fi
-	      fi
-	      ;;
-	    *)
-	      # Add a -L argument.
-	      newdeplibs="$newdeplibs $a_deplib"
-	      ;;
-	    esac
-	  done # Gone through all deplibs.
-	  ;;
-	none | unknown | *)
-	  newdeplibs=""
-	  tmp_deplibs=`$ECHO "X $deplibs" | $Xsed \
-	      -e 's/ -lc$//' -e 's/ -[LR][^ ]*//g'`
-	  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
-	    for i in $predeps $postdeps ; do
-	      # can't use Xsed below, because $i might contain '/'
-	      tmp_deplibs=`$ECHO "X $tmp_deplibs" | $Xsed -e "s,$i,,"`
-	    done
-	  fi
-	  if $ECHO "X $tmp_deplibs" | $Xsed -e 's/[	 ]//g' |
-	     $GREP . >/dev/null; then
-	    $ECHO
-	    if test "X$deplibs_check_method" = "Xnone"; then
-	      $ECHO "*** Warning: inter-library dependencies are not supported in this platform."
-	    else
-	      $ECHO "*** Warning: inter-library dependencies are not known to be supported."
-	    fi
-	    $ECHO "*** All declared inter-library dependencies are being dropped."
-	    droppeddeps=yes
-	  fi
-	  ;;
-	esac
-	versuffix=$versuffix_save
-	major=$major_save
-	release=$release_save
-	libname=$libname_save
-	name=$name_save
-
-	case $host in
-	*-*-rhapsody* | *-*-darwin1.[012])
-	  # On Rhapsody replace the C library with the System framework
-	  newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
-	  ;;
-	esac
-
-	if test "$droppeddeps" = yes; then
-	  if test "$module" = yes; then
-	    $ECHO
-	    $ECHO "*** Warning: libtool could not satisfy all declared inter-library"
-	    $ECHO "*** dependencies of module $libname.  Therefore, libtool will create"
-	    $ECHO "*** a static module, that should work as long as the dlopening"
-	    $ECHO "*** application is linked with the -dlopen flag."
-	    if test -z "$global_symbol_pipe"; then
-	      $ECHO
-	      $ECHO "*** However, this would only work if libtool was able to extract symbol"
-	      $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
-	      $ECHO "*** not find such a program.  So, this module is probably useless."
-	      $ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
-	    fi
-	    if test "$build_old_libs" = no; then
-	      oldlibs="$output_objdir/$libname.$libext"
-	      build_libtool_libs=module
-	      build_old_libs=yes
-	    else
-	      build_libtool_libs=no
-	    fi
-	  else
-	    $ECHO "*** The inter-library dependencies that have been dropped here will be"
-	    $ECHO "*** automatically added whenever a program is linked with this library"
-	    $ECHO "*** or is declared to -dlopen it."
-
-	    if test "$allow_undefined" = no; then
-	      $ECHO
-	      $ECHO "*** Since this library must not contain undefined symbols,"
-	      $ECHO "*** because either the platform does not support them or"
-	      $ECHO "*** it was explicitly requested with -no-undefined,"
-	      $ECHO "*** libtool will only create a static version of it."
-	      if test "$build_old_libs" = no; then
-		oldlibs="$output_objdir/$libname.$libext"
-		build_libtool_libs=module
-		build_old_libs=yes
-	      else
-		build_libtool_libs=no
-	      fi
-	    fi
-	  fi
-	fi
-	# Done checking deplibs!
-	deplibs=$newdeplibs
-      fi
-      # Time to change all our "foo.ltframework" stuff back to "-framework foo"
-      case $host in
-	*-*-darwin*)
-	  newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
-	  new_inherited_linker_flags=`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
-	  deplibs=`$ECHO "X $deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
-	  ;;
-      esac
-
-      # move library search paths that coincide with paths to not yet
-      # installed libraries to the beginning of the library search list
-      new_libs=
-      for path in $notinst_path; do
-	case " $new_libs " in
-	*" -L$path/$objdir "*) ;;
-	*)
-	  case " $deplibs " in
-	  *" -L$path/$objdir "*)
-	    new_libs="$new_libs -L$path/$objdir" ;;
-	  esac
-	  ;;
-	esac
-      done
-      for deplib in $deplibs; do
-	case $deplib in
-	-L*)
-	  case " $new_libs " in
-	  *" $deplib "*) ;;
-	  *) new_libs="$new_libs $deplib" ;;
-	  esac
-	  ;;
-	*) new_libs="$new_libs $deplib" ;;
-	esac
-      done
-      deplibs="$new_libs"
-
-      # All the library-specific variables (install_libdir is set above).
-      library_names=
-      old_library=
-      dlname=
-
-      # Test again, we may have decided not to build it any more
-      if test "$build_libtool_libs" = yes; then
-	if test "$hardcode_into_libs" = yes; then
-	  # Hardcode the library paths
-	  hardcode_libdirs=
-	  dep_rpath=
-	  rpath="$finalize_rpath"
-	  test "$mode" != relink && rpath="$compile_rpath$rpath"
-	  for libdir in $rpath; do
-	    if test -n "$hardcode_libdir_flag_spec"; then
-	      if test -n "$hardcode_libdir_separator"; then
-		if test -z "$hardcode_libdirs"; then
-		  hardcode_libdirs="$libdir"
-		else
-		  # Just accumulate the unique libdirs.
-		  case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
-		  *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
-		    ;;
-		  *)
-		    hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
-		    ;;
-		  esac
-		fi
-	      else
-		eval flag=\"$hardcode_libdir_flag_spec\"
-		dep_rpath="$dep_rpath $flag"
-	      fi
-	    elif test -n "$runpath_var"; then
-	      case "$perm_rpath " in
-	      *" $libdir "*) ;;
-	      *) perm_rpath="$perm_rpath $libdir" ;;
-	      esac
-	    fi
-	  done
-	  # Substitute the hardcoded libdirs into the rpath.
-	  if test -n "$hardcode_libdir_separator" &&
-	     test -n "$hardcode_libdirs"; then
-	    libdir="$hardcode_libdirs"
-	    if test -n "$hardcode_libdir_flag_spec_ld"; then
-	      eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
-	    else
-	      eval dep_rpath=\"$hardcode_libdir_flag_spec\"
-	    fi
-	  fi
-	  if test -n "$runpath_var" && test -n "$perm_rpath"; then
-	    # We should set the runpath_var.
-	    rpath=
-	    for dir in $perm_rpath; do
-	      rpath="$rpath$dir:"
-	    done
-	    eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
-	  fi
-	  test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
-	fi
-
-	shlibpath="$finalize_shlibpath"
-	test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
-	if test -n "$shlibpath"; then
-	  eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
-	fi
-
-	# Get the real and link names of the library.
-	eval shared_ext=\"$shrext_cmds\"
-	eval library_names=\"$library_names_spec\"
-	set dummy $library_names
-	shift
-	realname="$1"
-	shift
-
-	if test -n "$soname_spec"; then
-	  eval soname=\"$soname_spec\"
-	else
-	  soname="$realname"
-	fi
-	if test -z "$dlname"; then
-	  dlname=$soname
-	fi
-
-	lib="$output_objdir/$realname"
-	linknames=
-	for link
-	do
-	  linknames="$linknames $link"
-	done
-
-	# Use standard objects if they are pic
-	test -z "$pic_flag" && libobjs=`$ECHO "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
-	test "X$libobjs" = "X " && libobjs=
-
-	delfiles=
-	if test -n "$export_symbols" && test -n "$include_expsyms"; then
-	  $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
-	  export_symbols="$output_objdir/$libname.uexp"
-	  delfiles="$delfiles $export_symbols"
-	fi
-
-	orig_export_symbols=
-	case $host_os in
-	cygwin* | mingw* | cegcc*)
-	  if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
-	    # exporting using user supplied symfile
-	    if test "x`$SED 1q $export_symbols`" != xEXPORTS; then
-	      # and it's NOT already a .def file. Must figure out
-	      # which of the given symbols are data symbols and tag
-	      # them as such. So, trigger use of export_symbols_cmds.
-	      # export_symbols gets reassigned inside the "prepare
-	      # the list of exported symbols" if statement, so the
-	      # include_expsyms logic still works.
-	      orig_export_symbols="$export_symbols"
-	      export_symbols=
-	      always_export_symbols=yes
-	    fi
-	  fi
-	  ;;
-	esac
-
-	# Prepare the list of exported symbols
-	if test -z "$export_symbols"; then
-	  if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
-	    func_verbose "generating symbol list for \`$libname.la'"
-	    export_symbols="$output_objdir/$libname.exp"
-	    $opt_dry_run || $RM $export_symbols
-	    cmds=$export_symbols_cmds
-	    save_ifs="$IFS"; IFS='~'
-	    for cmd in $cmds; do
-	      IFS="$save_ifs"
-	      eval cmd=\"$cmd\"
-	      func_len " $cmd"
-	      len=$func_len_result
-	      if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
-		func_show_eval "$cmd" 'exit $?'
-		skipped_export=false
-	      else
-		# The command line is too long to execute in one step.
-		func_verbose "using reloadable object file for export list..."
-		skipped_export=:
-		# Break out early, otherwise skipped_export may be
-		# set to false by a later but shorter cmd.
-		break
-	      fi
-	    done
-	    IFS="$save_ifs"
-	    if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then
-	      func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
-	      func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
-	    fi
-	  fi
-	fi
-
-	if test -n "$export_symbols" && test -n "$include_expsyms"; then
-	  tmp_export_symbols="$export_symbols"
-	  test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
-	  $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
-	fi
-
-	if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
-	  # The given exports_symbols file has to be filtered, so filter it.
-	  func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
-	  # FIXME: $output_objdir/$libname.filter potentially contains lots of
-	  # 's' commands which not all seds can handle. GNU sed should be fine
-	  # though. Also, the filter scales superlinearly with the number of
-	  # global variables. join(1) would be nice here, but unfortunately
-	  # isn't a blessed tool.
-	  $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
-	  delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
-	  export_symbols=$output_objdir/$libname.def
-	  $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
-	fi
-
-	tmp_deplibs=
-	for test_deplib in $deplibs; do
-	  case " $convenience " in
-	  *" $test_deplib "*) ;;
-	  *)
-	    tmp_deplibs="$tmp_deplibs $test_deplib"
-	    ;;
-	  esac
-	done
-	deplibs="$tmp_deplibs"
-
-	if test -n "$convenience"; then
-	  if test -n "$whole_archive_flag_spec" &&
-	    test "$compiler_needs_object" = yes &&
-	    test -z "$libobjs"; then
-	    # extract the archives, so we have objects to list.
-	    # TODO: could optimize this to just extract one archive.
-	    whole_archive_flag_spec=
-	  fi
-	  if test -n "$whole_archive_flag_spec"; then
-	    save_libobjs=$libobjs
-	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
-	    test "X$libobjs" = "X " && libobjs=
-	  else
-	    gentop="$output_objdir/${outputname}x"
-	    generated="$generated $gentop"
-
-	    func_extract_archives $gentop $convenience
-	    libobjs="$libobjs $func_extract_archives_result"
-	    test "X$libobjs" = "X " && libobjs=
-	  fi
-	fi
-
-	if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
-	  eval flag=\"$thread_safe_flag_spec\"
-	  linker_flags="$linker_flags $flag"
-	fi
-
-	# Make a backup of the uninstalled library when relinking
-	if test "$mode" = relink; then
-	  $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
-	fi
-
-	# Do each of the archive commands.
-	if test "$module" = yes && test -n "$module_cmds" ; then
-	  if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
-	    eval test_cmds=\"$module_expsym_cmds\"
-	    cmds=$module_expsym_cmds
-	  else
-	    eval test_cmds=\"$module_cmds\"
-	    cmds=$module_cmds
-	  fi
-	else
-	  if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
-	    eval test_cmds=\"$archive_expsym_cmds\"
-	    cmds=$archive_expsym_cmds
-	  else
-	    eval test_cmds=\"$archive_cmds\"
-	    cmds=$archive_cmds
-	  fi
-	fi
-
-	if test "X$skipped_export" != "X:" &&
-	   func_len " $test_cmds" &&
-	   len=$func_len_result &&
-	   test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
-	  :
-	else
-	  # The command line is too long to link in one step, link piecewise
-	  # or, if using GNU ld and skipped_export is not :, use a linker
-	  # script.
-
-	  # Save the value of $output and $libobjs because we want to
-	  # use them later.  If we have whole_archive_flag_spec, we
-	  # want to use save_libobjs as it was before
-	  # whole_archive_flag_spec was expanded, because we can't
-	  # assume the linker understands whole_archive_flag_spec.
-	  # This may have to be revisited, in case too many
-	  # convenience libraries get linked in and end up exceeding
-	  # the spec.
-	  if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
-	    save_libobjs=$libobjs
-	  fi
-	  save_output=$output
-	  output_la=`$ECHO "X$output" | $Xsed -e "$basename"`
-
-	  # Clear the reloadable object creation command queue and
-	  # initialize k to one.
-	  test_cmds=
-	  concat_cmds=
-	  objlist=
-	  last_robj=
-	  k=1
-
-	  if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then
-	    output=${output_objdir}/${output_la}.lnkscript
-	    func_verbose "creating GNU ld script: $output"
-	    $ECHO 'INPUT (' > $output
-	    for obj in $save_libobjs
-	    do
-	      $ECHO "$obj" >> $output
-	    done
-	    $ECHO ')' >> $output
-	    delfiles="$delfiles $output"
-	  elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then
-	    output=${output_objdir}/${output_la}.lnk
-	    func_verbose "creating linker input file list: $output"
-	    : > $output
-	    set x $save_libobjs
-	    shift
-	    firstobj=
-	    if test "$compiler_needs_object" = yes; then
-	      firstobj="$1 "
-	      shift
-	    fi
-	    for obj
-	    do
-	      $ECHO "$obj" >> $output
-	    done
-	    delfiles="$delfiles $output"
-	    output=$firstobj\"$file_list_spec$output\"
-	  else
-	    if test -n "$save_libobjs"; then
-	      func_verbose "creating reloadable object files..."
-	      output=$output_objdir/$output_la-${k}.$objext
-	      eval test_cmds=\"$reload_cmds\"
-	      func_len " $test_cmds"
-	      len0=$func_len_result
-	      len=$len0
-
-	      # Loop over the list of objects to be linked.
-	      for obj in $save_libobjs
-	      do
-		func_len " $obj"
-		func_arith $len + $func_len_result
-		len=$func_arith_result
-		if test "X$objlist" = X ||
-		   test "$len" -lt "$max_cmd_len"; then
-		  func_append objlist " $obj"
-		else
-		  # The command $test_cmds is almost too long, add a
-		  # command to the queue.
-		  if test "$k" -eq 1 ; then
-		    # The first file doesn't have a previous command to add.
-		    eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
-		  else
-		    # All subsequent reloadable object files will link in
-		    # the last one created.
-		    eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj~\$RM $last_robj\"
-		  fi
-		  last_robj=$output_objdir/$output_la-${k}.$objext
-		  func_arith $k + 1
-		  k=$func_arith_result
-		  output=$output_objdir/$output_la-${k}.$objext
-		  objlist=$obj
-		  func_len " $last_robj"
-		  func_arith $len0 + $func_len_result
-		  len=$func_arith_result
-		fi
-	      done
-	      # Handle the remaining objects by creating one last
-	      # reloadable object file.  All subsequent reloadable object
-	      # files will link in the last one created.
-	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
-	      eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
-	      if test -n "$last_robj"; then
-	        eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
-	      fi
-	      delfiles="$delfiles $output"
-
-	    else
-	      output=
-	    fi
-
-	    if ${skipped_export-false}; then
-	      func_verbose "generating symbol list for \`$libname.la'"
-	      export_symbols="$output_objdir/$libname.exp"
-	      $opt_dry_run || $RM $export_symbols
-	      libobjs=$output
-	      # Append the command to create the export file.
-	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
-	      eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
-	      if test -n "$last_robj"; then
-		eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
-	      fi
-	    fi
-
-	    test -n "$save_libobjs" &&
-	      func_verbose "creating a temporary reloadable object file: $output"
-
-	    # Loop through the commands generated above and execute them.
-	    save_ifs="$IFS"; IFS='~'
-	    for cmd in $concat_cmds; do
-	      IFS="$save_ifs"
-	      $opt_silent || {
-		  func_quote_for_expand "$cmd"
-		  eval "func_echo $func_quote_for_expand_result"
-	      }
-	      $opt_dry_run || eval "$cmd" || {
-		lt_exit=$?
-
-		# Restore the uninstalled library and exit
-		if test "$mode" = relink; then
-		  ( cd "$output_objdir" && \
-		    $RM "${realname}T" && \
-		    $MV "${realname}U" "$realname" )
-		fi
-
-		exit $lt_exit
-	      }
-	    done
-	    IFS="$save_ifs"
-
-	    if test -n "$export_symbols_regex" && ${skipped_export-false}; then
-	      func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
-	      func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
-	    fi
-	  fi
-
-          if ${skipped_export-false}; then
-	    if test -n "$export_symbols" && test -n "$include_expsyms"; then
-	      tmp_export_symbols="$export_symbols"
-	      test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
-	      $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
-	    fi
-
-	    if test -n "$orig_export_symbols"; then
-	      # The given exports_symbols file has to be filtered, so filter it.
-	      func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
-	      # FIXME: $output_objdir/$libname.filter potentially contains lots of
-	      # 's' commands which not all seds can handle. GNU sed should be fine
-	      # though. Also, the filter scales superlinearly with the number of
-	      # global variables. join(1) would be nice here, but unfortunately
-	      # isn't a blessed tool.
-	      $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
-	      delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
-	      export_symbols=$output_objdir/$libname.def
-	      $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
-	    fi
-	  fi
-
-	  libobjs=$output
-	  # Restore the value of output.
-	  output=$save_output
-
-	  if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
-	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
-	    test "X$libobjs" = "X " && libobjs=
-	  fi
-	  # Expand the library linking commands again to reset the
-	  # value of $libobjs for piecewise linking.
-
-	  # Do each of the archive commands.
-	  if test "$module" = yes && test -n "$module_cmds" ; then
-	    if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
-	      cmds=$module_expsym_cmds
-	    else
-	      cmds=$module_cmds
-	    fi
-	  else
-	    if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
-	      cmds=$archive_expsym_cmds
-	    else
-	      cmds=$archive_cmds
-	    fi
-	  fi
-	fi
-
-	if test -n "$delfiles"; then
-	  # Append the command to remove temporary files to $cmds.
-	  eval cmds=\"\$cmds~\$RM $delfiles\"
-	fi
-
-	# Add any objects from preloaded convenience libraries
-	if test -n "$dlprefiles"; then
-	  gentop="$output_objdir/${outputname}x"
-	  generated="$generated $gentop"
-
-	  func_extract_archives $gentop $dlprefiles
-	  libobjs="$libobjs $func_extract_archives_result"
-	  test "X$libobjs" = "X " && libobjs=
-	fi
-
-	save_ifs="$IFS"; IFS='~'
-	for cmd in $cmds; do
-	  IFS="$save_ifs"
-	  eval cmd=\"$cmd\"
-	  $opt_silent || {
-	    func_quote_for_expand "$cmd"
-	    eval "func_echo $func_quote_for_expand_result"
-	  }
-	  $opt_dry_run || eval "$cmd" || {
-	    lt_exit=$?
-
-	    # Restore the uninstalled library and exit
-	    if test "$mode" = relink; then
-	      ( cd "$output_objdir" && \
-	        $RM "${realname}T" && \
-		$MV "${realname}U" "$realname" )
-	    fi
-
-	    exit $lt_exit
-	  }
-	done
-	IFS="$save_ifs"
-
-	# Restore the uninstalled library and exit
-	if test "$mode" = relink; then
-	  $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
-
-	  if test -n "$convenience"; then
-	    if test -z "$whole_archive_flag_spec"; then
-	      func_show_eval '${RM}r "$gentop"'
-	    fi
-	  fi
-
-	  exit $EXIT_SUCCESS
-	fi
-
-	# Create links to the real library.
-	for linkname in $linknames; do
-	  if test "$realname" != "$linkname"; then
-	    func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?'
-	  fi
-	done
-
-	# If -module or -export-dynamic was specified, set the dlname.
-	if test "$module" = yes || test "$export_dynamic" = yes; then
-	  # On all known operating systems, these are identical.
-	  dlname="$soname"
-	fi
-      fi
-      ;;
-
-    obj)
-      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
-	func_warning "\`-dlopen' is ignored for objects"
-      fi
-
-      case " $deplibs" in
-      *\ -l* | *\ -L*)
-	func_warning "\`-l' and \`-L' are ignored for objects" ;;
-      esac
-
-      test -n "$rpath" && \
-	func_warning "\`-rpath' is ignored for objects"
-
-      test -n "$xrpath" && \
-	func_warning "\`-R' is ignored for objects"
-
-      test -n "$vinfo" && \
-	func_warning "\`-version-info' is ignored for objects"
-
-      test -n "$release" && \
-	func_warning "\`-release' is ignored for objects"
-
-      case $output in
-      *.lo)
-	test -n "$objs$old_deplibs" && \
-	  func_fatal_error "cannot build library object \`$output' from non-libtool objects"
-
-	libobj=$output
-	func_lo2o "$libobj"
-	obj=$func_lo2o_result
-	;;
-      *)
-	libobj=
-	obj="$output"
-	;;
-      esac
-
-      # Delete the old objects.
-      $opt_dry_run || $RM $obj $libobj
-
-      # Objects from convenience libraries.  This assumes
-      # single-version convenience libraries.  Whenever we create
-      # different ones for PIC/non-PIC, this we'll have to duplicate
-      # the extraction.
-      reload_conv_objs=
-      gentop=
-      # reload_cmds runs $LD directly, so let us get rid of
-      # -Wl from whole_archive_flag_spec and hope we can get by with
-      # turning comma into space..
-      wl=
-
-      if test -n "$convenience"; then
-	if test -n "$whole_archive_flag_spec"; then
-	  eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
-	  reload_conv_objs=$reload_objs\ `$ECHO "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'`
-	else
-	  gentop="$output_objdir/${obj}x"
-	  generated="$generated $gentop"
-
-	  func_extract_archives $gentop $convenience
-	  reload_conv_objs="$reload_objs $func_extract_archives_result"
-	fi
-      fi
-
-      # Create the old-style object.
-      reload_objs="$objs$old_deplibs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
-
-      output="$obj"
-      func_execute_cmds "$reload_cmds" 'exit $?'
-
-      # Exit if we aren't doing a library object file.
-      if test -z "$libobj"; then
-	if test -n "$gentop"; then
-	  func_show_eval '${RM}r "$gentop"'
-	fi
-
-	exit $EXIT_SUCCESS
-      fi
-
-      if test "$build_libtool_libs" != yes; then
-	if test -n "$gentop"; then
-	  func_show_eval '${RM}r "$gentop"'
-	fi
-
-	# Create an invalid libtool object if no PIC, so that we don't
-	# accidentally link it into a program.
-	# $show "echo timestamp > $libobj"
-	# $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
-	exit $EXIT_SUCCESS
-      fi
-
-      if test -n "$pic_flag" || test "$pic_mode" != default; then
-	# Only do commands if we really have different PIC objects.
-	reload_objs="$libobjs $reload_conv_objs"
-	output="$libobj"
-	func_execute_cmds "$reload_cmds" 'exit $?'
-      fi
-
-      if test -n "$gentop"; then
-	func_show_eval '${RM}r "$gentop"'
-      fi
-
-      exit $EXIT_SUCCESS
-      ;;
-
-    prog)
-      case $host in
-	*cygwin*) func_stripname '' '.exe' "$output"
-	          output=$func_stripname_result.exe;;
-      esac
-      test -n "$vinfo" && \
-	func_warning "\`-version-info' is ignored for programs"
-
-      test -n "$release" && \
-	func_warning "\`-release' is ignored for programs"
-
-      test "$preload" = yes \
-        && test "$dlopen_support" = unknown \
-	&& test "$dlopen_self" = unknown \
-	&& test "$dlopen_self_static" = unknown && \
-	  func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support."
-
-      case $host in
-      *-*-rhapsody* | *-*-darwin1.[012])
-	# On Rhapsody replace the C library is the System framework
-	compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
-	finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
-	;;
-      esac
-
-      case $host in
-      *-*-darwin*)
-	# Don't allow lazy linking, it breaks C++ global constructors
-	# But is supposedly fixed on 10.4 or later (yay!).
-	if test "$tagname" = CXX ; then
-	  case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
-	    10.[0123])
-	      compile_command="$compile_command ${wl}-bind_at_load"
-	      finalize_command="$finalize_command ${wl}-bind_at_load"
-	    ;;
-	  esac
-	fi
-	# Time to change all our "foo.ltframework" stuff back to "-framework foo"
-	compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
-	finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
-	;;
-      esac
-
-
-      # move library search paths that coincide with paths to not yet
-      # installed libraries to the beginning of the library search list
-      new_libs=
-      for path in $notinst_path; do
-	case " $new_libs " in
-	*" -L$path/$objdir "*) ;;
-	*)
-	  case " $compile_deplibs " in
-	  *" -L$path/$objdir "*)
-	    new_libs="$new_libs -L$path/$objdir" ;;
-	  esac
-	  ;;
-	esac
-      done
-      for deplib in $compile_deplibs; do
-	case $deplib in
-	-L*)
-	  case " $new_libs " in
-	  *" $deplib "*) ;;
-	  *) new_libs="$new_libs $deplib" ;;
-	  esac
-	  ;;
-	*) new_libs="$new_libs $deplib" ;;
-	esac
-      done
-      compile_deplibs="$new_libs"
-
-
-      compile_command="$compile_command $compile_deplibs"
-      finalize_command="$finalize_command $finalize_deplibs"
-
-      if test -n "$rpath$xrpath"; then
-	# If the user specified any rpath flags, then add them.
-	for libdir in $rpath $xrpath; do
-	  # This is the magic to use -rpath.
-	  case "$finalize_rpath " in
-	  *" $libdir "*) ;;
-	  *) finalize_rpath="$finalize_rpath $libdir" ;;
-	  esac
-	done
-      fi
-
-      # Now hardcode the library paths
-      rpath=
-      hardcode_libdirs=
-      for libdir in $compile_rpath $finalize_rpath; do
-	if test -n "$hardcode_libdir_flag_spec"; then
-	  if test -n "$hardcode_libdir_separator"; then
-	    if test -z "$hardcode_libdirs"; then
-	      hardcode_libdirs="$libdir"
-	    else
-	      # Just accumulate the unique libdirs.
-	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
-	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
-		;;
-	      *)
-		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
-		;;
-	      esac
-	    fi
-	  else
-	    eval flag=\"$hardcode_libdir_flag_spec\"
-	    rpath="$rpath $flag"
-	  fi
-	elif test -n "$runpath_var"; then
-	  case "$perm_rpath " in
-	  *" $libdir "*) ;;
-	  *) perm_rpath="$perm_rpath $libdir" ;;
-	  esac
-	fi
-	case $host in
-	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
-	  testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'`
-	  case :$dllsearchpath: in
-	  *":$libdir:"*) ;;
-	  ::) dllsearchpath=$libdir;;
-	  *) dllsearchpath="$dllsearchpath:$libdir";;
-	  esac
-	  case :$dllsearchpath: in
-	  *":$testbindir:"*) ;;
-	  ::) dllsearchpath=$testbindir;;
-	  *) dllsearchpath="$dllsearchpath:$testbindir";;
-	  esac
-	  ;;
-	esac
-      done
-      # Substitute the hardcoded libdirs into the rpath.
-      if test -n "$hardcode_libdir_separator" &&
-	 test -n "$hardcode_libdirs"; then
-	libdir="$hardcode_libdirs"
-	eval rpath=\" $hardcode_libdir_flag_spec\"
-      fi
-      compile_rpath="$rpath"
-
-      rpath=
-      hardcode_libdirs=
-      for libdir in $finalize_rpath; do
-	if test -n "$hardcode_libdir_flag_spec"; then
-	  if test -n "$hardcode_libdir_separator"; then
-	    if test -z "$hardcode_libdirs"; then
-	      hardcode_libdirs="$libdir"
-	    else
-	      # Just accumulate the unique libdirs.
-	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
-	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
-		;;
-	      *)
-		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
-		;;
-	      esac
-	    fi
-	  else
-	    eval flag=\"$hardcode_libdir_flag_spec\"
-	    rpath="$rpath $flag"
-	  fi
-	elif test -n "$runpath_var"; then
-	  case "$finalize_perm_rpath " in
-	  *" $libdir "*) ;;
-	  *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
-	  esac
-	fi
-      done
-      # Substitute the hardcoded libdirs into the rpath.
-      if test -n "$hardcode_libdir_separator" &&
-	 test -n "$hardcode_libdirs"; then
-	libdir="$hardcode_libdirs"
-	eval rpath=\" $hardcode_libdir_flag_spec\"
-      fi
-      finalize_rpath="$rpath"
-
-      if test -n "$libobjs" && test "$build_old_libs" = yes; then
-	# Transform all the library objects into standard objects.
-	compile_command=`$ECHO "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
-	finalize_command=`$ECHO "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
-      fi
-
-      func_generate_dlsyms "$outputname" "@PROGRAM@" "no"
-
-      # template prelinking step
-      if test -n "$prelink_cmds"; then
-	func_execute_cmds "$prelink_cmds" 'exit $?'
-      fi
-
-      wrappers_required=yes
-      case $host in
-      *cygwin* | *mingw* )
-        if test "$build_libtool_libs" != yes; then
-          wrappers_required=no
-        fi
-        ;;
-      *cegcc)
-        # Disable wrappers for cegcc, we are cross compiling anyway.
-        wrappers_required=no
-        ;;
-      *)
-        if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
-          wrappers_required=no
-        fi
-        ;;
-      esac
-      if test "$wrappers_required" = no; then
-	# Replace the output file specification.
-	compile_command=`$ECHO "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
-	link_command="$compile_command$compile_rpath"
-
-	# We have no uninstalled library dependencies, so finalize right now.
-	exit_status=0
-	func_show_eval "$link_command" 'exit_status=$?'
-
-	# Delete the generated files.
-	if test -f "$output_objdir/${outputname}S.${objext}"; then
-	  func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'
-	fi
-
-	exit $exit_status
-      fi
-
-      if test -n "$compile_shlibpath$finalize_shlibpath"; then
-	compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
-      fi
-      if test -n "$finalize_shlibpath"; then
-	finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
-      fi
-
-      compile_var=
-      finalize_var=
-      if test -n "$runpath_var"; then
-	if test -n "$perm_rpath"; then
-	  # We should set the runpath_var.
-	  rpath=
-	  for dir in $perm_rpath; do
-	    rpath="$rpath$dir:"
-	  done
-	  compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
-	fi
-	if test -n "$finalize_perm_rpath"; then
-	  # We should set the runpath_var.
-	  rpath=
-	  for dir in $finalize_perm_rpath; do
-	    rpath="$rpath$dir:"
-	  done
-	  finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
-	fi
-      fi
-
-      if test "$no_install" = yes; then
-	# We don't need to create a wrapper script.
-	link_command="$compile_var$compile_command$compile_rpath"
-	# Replace the output file specification.
-	link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
-	# Delete the old output file.
-	$opt_dry_run || $RM $output
-	# Link the executable and exit
-	func_show_eval "$link_command" 'exit $?'
-	exit $EXIT_SUCCESS
-      fi
-
-      if test "$hardcode_action" = relink; then
-	# Fast installation is not supported
-	link_command="$compile_var$compile_command$compile_rpath"
-	relink_command="$finalize_var$finalize_command$finalize_rpath"
-
-	func_warning "this platform does not like uninstalled shared libraries"
-	func_warning "\`$output' will be relinked during installation"
-      else
-	if test "$fast_install" != no; then
-	  link_command="$finalize_var$compile_command$finalize_rpath"
-	  if test "$fast_install" = yes; then
-	    relink_command=`$ECHO "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
-	  else
-	    # fast_install is set to needless
-	    relink_command=
-	  fi
-	else
-	  link_command="$compile_var$compile_command$compile_rpath"
-	  relink_command="$finalize_var$finalize_command$finalize_rpath"
-	fi
-      fi
-
-      # Replace the output file specification.
-      link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
-
-      # Delete the old output files.
-      $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
-
-      func_show_eval "$link_command" 'exit $?'
-
-      # Now create the wrapper script.
-      func_verbose "creating $output"
-
-      # Quote the relink command for shipping.
-      if test -n "$relink_command"; then
-	# Preserve any variables that may affect compiler behavior
-	for var in $variables_saved_for_relink; do
-	  if eval test -z \"\${$var+set}\"; then
-	    relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
-	  elif eval var_value=\$$var; test -z "$var_value"; then
-	    relink_command="$var=; export $var; $relink_command"
-	  else
-	    func_quote_for_eval "$var_value"
-	    relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
-	  fi
-	done
-	relink_command="(cd `pwd`; $relink_command)"
-	relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
-      fi
-
-      # Quote $ECHO for shipping.
-      if test "X$ECHO" = "X$SHELL $progpath --fallback-echo"; then
-	case $progpath in
-	[\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
-	*) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
-	esac
-	qecho=`$ECHO "X$qecho" | $Xsed -e "$sed_quote_subst"`
-      else
-	qecho=`$ECHO "X$ECHO" | $Xsed -e "$sed_quote_subst"`
-      fi
-
-      # Only actually do things if not in dry run mode.
-      $opt_dry_run || {
-	# win32 will think the script is a binary if it has
-	# a .exe suffix, so we strip it off here.
-	case $output in
-	  *.exe) func_stripname '' '.exe' "$output"
-	         output=$func_stripname_result ;;
-	esac
-	# test for cygwin because mv fails w/o .exe extensions
-	case $host in
-	  *cygwin*)
-	    exeext=.exe
-	    func_stripname '' '.exe' "$outputname"
-	    outputname=$func_stripname_result ;;
-	  *) exeext= ;;
-	esac
-	case $host in
-	  *cygwin* | *mingw* )
-	    func_dirname_and_basename "$output" "" "."
-	    output_name=$func_basename_result
-	    output_path=$func_dirname_result
-	    cwrappersource="$output_path/$objdir/lt-$output_name.c"
-	    cwrapper="$output_path/$output_name.exe"
-	    $RM $cwrappersource $cwrapper
-	    trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
-
-	    func_emit_cwrapperexe_src > $cwrappersource
-
-	    # The wrapper executable is built using the $host compiler,
-	    # because it contains $host paths and files. If cross-
-	    # compiling, it, like the target executable, must be
-	    # executed on the $host or under an emulation environment.
-	    $opt_dry_run || {
-	      $LTCC $LTCFLAGS -o $cwrapper $cwrappersource
-	      $STRIP $cwrapper
-	    }
-
-	    # Now, create the wrapper script for func_source use:
-	    func_ltwrapper_scriptname $cwrapper
-	    $RM $func_ltwrapper_scriptname_result
-	    trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
-	    $opt_dry_run || {
-	      # note: this script will not be executed, so do not chmod.
-	      if test "x$build" = "x$host" ; then
-		$cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
-	      else
-		func_emit_wrapper no > $func_ltwrapper_scriptname_result
-	      fi
-	    }
-	  ;;
-	  * )
-	    $RM $output
-	    trap "$RM $output; exit $EXIT_FAILURE" 1 2 15
-
-	    func_emit_wrapper no > $output
-	    chmod +x $output
-	  ;;
-	esac
-      }
-      exit $EXIT_SUCCESS
-      ;;
-    esac
-
-    # See if we need to build an old-fashioned archive.
-    for oldlib in $oldlibs; do
-
-      if test "$build_libtool_libs" = convenience; then
-	oldobjs="$libobjs_save $symfileobj"
-	addlibs="$convenience"
-	build_libtool_libs=no
-      else
-	if test "$build_libtool_libs" = module; then
-	  oldobjs="$libobjs_save"
-	  build_libtool_libs=no
-	else
-	  oldobjs="$old_deplibs $non_pic_objects"
-	  if test "$preload" = yes && test -f "$symfileobj"; then
-	    oldobjs="$oldobjs $symfileobj"
-	  fi
-	fi
-	addlibs="$old_convenience"
-      fi
-
-      if test -n "$addlibs"; then
-	gentop="$output_objdir/${outputname}x"
-	generated="$generated $gentop"
-
-	func_extract_archives $gentop $addlibs
-	oldobjs="$oldobjs $func_extract_archives_result"
-      fi
-
-      # Do each command in the archive commands.
-      if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
-	cmds=$old_archive_from_new_cmds
-      else
-
-	# Add any objects from preloaded convenience libraries
-	if test -n "$dlprefiles"; then
-	  gentop="$output_objdir/${outputname}x"
-	  generated="$generated $gentop"
-
-	  func_extract_archives $gentop $dlprefiles
-	  oldobjs="$oldobjs $func_extract_archives_result"
-	fi
-
-	# POSIX demands no paths to be encoded in archives.  We have
-	# to avoid creating archives with duplicate basenames if we
-	# might have to extract them afterwards, e.g., when creating a
-	# static archive out of a convenience library, or when linking
-	# the entirety of a libtool archive into another (currently
-	# not supported by libtool).
-	if (for obj in $oldobjs
-	    do
-	      func_basename "$obj"
-	      $ECHO "$func_basename_result"
-	    done | sort | sort -uc >/dev/null 2>&1); then
-	  :
-	else
-	  $ECHO "copying selected object files to avoid basename conflicts..."
-	  gentop="$output_objdir/${outputname}x"
-	  generated="$generated $gentop"
-	  func_mkdir_p "$gentop"
-	  save_oldobjs=$oldobjs
-	  oldobjs=
-	  counter=1
-	  for obj in $save_oldobjs
-	  do
-	    func_basename "$obj"
-	    objbase="$func_basename_result"
-	    case " $oldobjs " in
-	    " ") oldobjs=$obj ;;
-	    *[\ /]"$objbase "*)
-	      while :; do
-		# Make sure we don't pick an alternate name that also
-		# overlaps.
-		newobj=lt$counter-$objbase
-		func_arith $counter + 1
-		counter=$func_arith_result
-		case " $oldobjs " in
-		*[\ /]"$newobj "*) ;;
-		*) if test ! -f "$gentop/$newobj"; then break; fi ;;
-		esac
-	      done
-	      func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
-	      oldobjs="$oldobjs $gentop/$newobj"
-	      ;;
-	    *) oldobjs="$oldobjs $obj" ;;
-	    esac
-	  done
-	fi
-	eval cmds=\"$old_archive_cmds\"
-
-	func_len " $cmds"
-	len=$func_len_result
-	if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
-	  cmds=$old_archive_cmds
-	else
-	  # the command line is too long to link in one step, link in parts
-	  func_verbose "using piecewise archive linking..."
-	  save_RANLIB=$RANLIB
-	  RANLIB=:
-	  objlist=
-	  concat_cmds=
-	  save_oldobjs=$oldobjs
-	  oldobjs=
-	  # Is there a better way of finding the last object in the list?
-	  for obj in $save_oldobjs
-	  do
-	    last_oldobj=$obj
-	  done
-	  eval test_cmds=\"$old_archive_cmds\"
-	  func_len " $test_cmds"
-	  len0=$func_len_result
-	  len=$len0
-	  for obj in $save_oldobjs
-	  do
-	    func_len " $obj"
-	    func_arith $len + $func_len_result
-	    len=$func_arith_result
-	    func_append objlist " $obj"
-	    if test "$len" -lt "$max_cmd_len"; then
-	      :
-	    else
-	      # the above command should be used before it gets too long
-	      oldobjs=$objlist
-	      if test "$obj" = "$last_oldobj" ; then
-		RANLIB=$save_RANLIB
-	      fi
-	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
-	      eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
-	      objlist=
-	      len=$len0
-	    fi
-	  done
-	  RANLIB=$save_RANLIB
-	  oldobjs=$objlist
-	  if test "X$oldobjs" = "X" ; then
-	    eval cmds=\"\$concat_cmds\"
-	  else
-	    eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
-	  fi
-	fi
-      fi
-      func_execute_cmds "$cmds" 'exit $?'
-    done
-
-    test -n "$generated" && \
-      func_show_eval "${RM}r$generated"
-
-    # Now create the libtool archive.
-    case $output in
-    *.la)
-      old_library=
-      test "$build_old_libs" = yes && old_library="$libname.$libext"
-      func_verbose "creating $output"
-
-      # Preserve any variables that may affect compiler behavior
-      for var in $variables_saved_for_relink; do
-	if eval test -z \"\${$var+set}\"; then
-	  relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
-	elif eval var_value=\$$var; test -z "$var_value"; then
-	  relink_command="$var=; export $var; $relink_command"
-	else
-	  func_quote_for_eval "$var_value"
-	  relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
-	fi
-      done
-      # Quote the link command for shipping.
-      relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
-      relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
-      if test "$hardcode_automatic" = yes ; then
-	relink_command=
-      fi
-
-      # Only create the output if not a dry run.
-      $opt_dry_run || {
-	for installed in no yes; do
-	  if test "$installed" = yes; then
-	    if test -z "$install_libdir"; then
-	      break
-	    fi
-	    output="$output_objdir/$outputname"i
-	    # Replace all uninstalled libtool libraries with the installed ones
-	    newdependency_libs=
-	    for deplib in $dependency_libs; do
-	      case $deplib in
-	      *.la)
-		func_basename "$deplib"
-		name="$func_basename_result"
-		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
-		test -z "$libdir" && \
-		  func_fatal_error "\`$deplib' is not a valid libtool archive"
-		newdependency_libs="$newdependency_libs $libdir/$name"
-		;;
-	      *) newdependency_libs="$newdependency_libs $deplib" ;;
-	      esac
-	    done
-	    dependency_libs="$newdependency_libs"
-	    newdlfiles=
-
-	    for lib in $dlfiles; do
-	      case $lib in
-	      *.la)
-	        func_basename "$lib"
-		name="$func_basename_result"
-		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
-		test -z "$libdir" && \
-		  func_fatal_error "\`$lib' is not a valid libtool archive"
-		newdlfiles="$newdlfiles $libdir/$name"
-		;;
-	      *) newdlfiles="$newdlfiles $lib" ;;
-	      esac
-	    done
-	    dlfiles="$newdlfiles"
-	    newdlprefiles=
-	    for lib in $dlprefiles; do
-	      case $lib in
-	      *.la)
-		# Only pass preopened files to the pseudo-archive (for
-		# eventual linking with the app. that links it) if we
-		# didn't already link the preopened objects directly into
-		# the library:
-		func_basename "$lib"
-		name="$func_basename_result"
-		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
-		test -z "$libdir" && \
-		  func_fatal_error "\`$lib' is not a valid libtool archive"
-		newdlprefiles="$newdlprefiles $libdir/$name"
-		;;
-	      esac
-	    done
-	    dlprefiles="$newdlprefiles"
-	  else
-	    newdlfiles=
-	    for lib in $dlfiles; do
-	      case $lib in
-		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
-		*) abs=`pwd`"/$lib" ;;
-	      esac
-	      newdlfiles="$newdlfiles $abs"
-	    done
-	    dlfiles="$newdlfiles"
-	    newdlprefiles=
-	    for lib in $dlprefiles; do
-	      case $lib in
-		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
-		*) abs=`pwd`"/$lib" ;;
-	      esac
-	      newdlprefiles="$newdlprefiles $abs"
-	    done
-	    dlprefiles="$newdlprefiles"
-	  fi
-	  $RM $output
-	  # place dlname in correct position for cygwin
-	  tdlname=$dlname
-	  case $host,$output,$installed,$module,$dlname in
-	    *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
-	  esac
-	  $ECHO > $output "\
-# $outputname - a libtool library file
-# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# The name that we can dlopen(3).
-dlname='$tdlname'
-
-# Names of this library.
-library_names='$library_names'
-
-# The name of the static archive.
-old_library='$old_library'
-
-# Linker flags that can not go in dependency_libs.
-inherited_linker_flags='$new_inherited_linker_flags'
-
-# Libraries that this one depends upon.
-dependency_libs='$dependency_libs'
-
-# Names of additional weak libraries provided by this library
-weak_library_names='$weak_libs'
-
-# Version information for $libname.
-current=$current
-age=$age
-revision=$revision
-
-# Is this an already installed library?
-installed=$installed
-
-# Should we warn about portability when linking against -modules?
-shouldnotlink=$module
-
-# Files to dlopen/dlpreopen
-dlopen='$dlfiles'
-dlpreopen='$dlprefiles'
-
-# Directory that this library needs to be installed in:
-libdir='$install_libdir'"
-	  if test "$installed" = no && test "$need_relink" = yes; then
-	    $ECHO >> $output "\
-relink_command=\"$relink_command\""
-	  fi
-	done
-      }
-
-      # Do a symbolic link so that the libtool archive can be found in
-      # LD_LIBRARY_PATH before the program is installed.
-      func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?'
-      ;;
-    esac
-    exit $EXIT_SUCCESS
-}
-
-{ test "$mode" = link || test "$mode" = relink; } &&
-    func_mode_link ${1+"$@"}
-
-
-# func_mode_uninstall arg...
-func_mode_uninstall ()
-{
-    $opt_debug
-    RM="$nonopt"
-    files=
-    rmforce=
-    exit_status=0
-
-    # This variable tells wrapper scripts just to set variables rather
-    # than running their programs.
-    libtool_install_magic="$magic"
-
-    for arg
-    do
-      case $arg in
-      -f) RM="$RM $arg"; rmforce=yes ;;
-      -*) RM="$RM $arg" ;;
-      *) files="$files $arg" ;;
-      esac
-    done
-
-    test -z "$RM" && \
-      func_fatal_help "you must specify an RM program"
-
-    rmdirs=
-
-    origobjdir="$objdir"
-    for file in $files; do
-      func_dirname "$file" "" "."
-      dir="$func_dirname_result"
-      if test "X$dir" = X.; then
-	objdir="$origobjdir"
-      else
-	objdir="$dir/$origobjdir"
-      fi
-      func_basename "$file"
-      name="$func_basename_result"
-      test "$mode" = uninstall && objdir="$dir"
-
-      # Remember objdir for removal later, being careful to avoid duplicates
-      if test "$mode" = clean; then
-	case " $rmdirs " in
-	  *" $objdir "*) ;;
-	  *) rmdirs="$rmdirs $objdir" ;;
-	esac
-      fi
-
-      # Don't error if the file doesn't exist and rm -f was used.
-      if { test -L "$file"; } >/dev/null 2>&1 ||
-	 { test -h "$file"; } >/dev/null 2>&1 ||
-	 test -f "$file"; then
-	:
-      elif test -d "$file"; then
-	exit_status=1
-	continue
-      elif test "$rmforce" = yes; then
-	continue
-      fi
-
-      rmfiles="$file"
-
-      case $name in
-      *.la)
-	# Possibly a libtool archive, so verify it.
-	if func_lalib_p "$file"; then
-	  func_source $dir/$name
-
-	  # Delete the libtool libraries and symlinks.
-	  for n in $library_names; do
-	    rmfiles="$rmfiles $objdir/$n"
-	  done
-	  test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
-
-	  case "$mode" in
-	  clean)
-	    case "  $library_names " in
-	    # "  " in the beginning catches empty $dlname
-	    *" $dlname "*) ;;
-	    *) rmfiles="$rmfiles $objdir/$dlname" ;;
-	    esac
-	    test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
-	    ;;
-	  uninstall)
-	    if test -n "$library_names"; then
-	      # Do each command in the postuninstall commands.
-	      func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
-	    fi
-
-	    if test -n "$old_library"; then
-	      # Do each command in the old_postuninstall commands.
-	      func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
-	    fi
-	    # FIXME: should reinstall the best remaining shared library.
-	    ;;
-	  esac
-	fi
-	;;
-
-      *.lo)
-	# Possibly a libtool object, so verify it.
-	if func_lalib_p "$file"; then
-
-	  # Read the .lo file
-	  func_source $dir/$name
-
-	  # Add PIC object to the list of files to remove.
-	  if test -n "$pic_object" &&
-	     test "$pic_object" != none; then
-	    rmfiles="$rmfiles $dir/$pic_object"
-	  fi
-
-	  # Add non-PIC object to the list of files to remove.
-	  if test -n "$non_pic_object" &&
-	     test "$non_pic_object" != none; then
-	    rmfiles="$rmfiles $dir/$non_pic_object"
-	  fi
-	fi
-	;;
-
-      *)
-	if test "$mode" = clean ; then
-	  noexename=$name
-	  case $file in
-	  *.exe)
-	    func_stripname '' '.exe' "$file"
-	    file=$func_stripname_result
-	    func_stripname '' '.exe' "$name"
-	    noexename=$func_stripname_result
-	    # $file with .exe has already been added to rmfiles,
-	    # add $file without .exe
-	    rmfiles="$rmfiles $file"
-	    ;;
-	  esac
-	  # Do a test to see if this is a libtool program.
-	  if func_ltwrapper_p "$file"; then
-	    if func_ltwrapper_executable_p "$file"; then
-	      func_ltwrapper_scriptname "$file"
-	      relink_command=
-	      func_source $func_ltwrapper_scriptname_result
-	      rmfiles="$rmfiles $func_ltwrapper_scriptname_result"
-	    else
-	      relink_command=
-	      func_source $dir/$noexename
-	    fi
-
-	    # note $name still contains .exe if it was in $file originally
-	    # as does the version of $file that was added into $rmfiles
-	    rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
-	    if test "$fast_install" = yes && test -n "$relink_command"; then
-	      rmfiles="$rmfiles $objdir/lt-$name"
-	    fi
-	    if test "X$noexename" != "X$name" ; then
-	      rmfiles="$rmfiles $objdir/lt-${noexename}.c"
-	    fi
-	  fi
-	fi
-	;;
-      esac
-      func_show_eval "$RM $rmfiles" 'exit_status=1'
-    done
-    objdir="$origobjdir"
-
-    # Try to remove the ${objdir}s in the directories where we deleted files
-    for dir in $rmdirs; do
-      if test -d "$dir"; then
-	func_show_eval "rmdir $dir >/dev/null 2>&1"
-      fi
-    done
-
-    exit $exit_status
-}
-
-{ test "$mode" = uninstall || test "$mode" = clean; } &&
-    func_mode_uninstall ${1+"$@"}
-
-test -z "$mode" && {
-  help="$generic_help"
-  func_fatal_help "you must specify a MODE"
-}
-
-test -z "$exec_cmd" && \
-  func_fatal_help "invalid operation mode \`$mode'"
-
-if test -n "$exec_cmd"; then
-  eval exec "$exec_cmd"
-  exit $EXIT_FAILURE
-fi
-
-exit $exit_status
-
-
-# The TAGs below are defined such that we never get into a situation
-# in which we disable both kinds of libraries.  Given conflicting
-# choices, we go for a static library, that is the most portable,
-# since we can't tell whether shared libraries were disabled because
-# the user asked for that or because the platform doesn't support
-# them.  This is particularly important on AIX, because we don't
-# support having both static and shared libraries enabled at the same
-# time on that platform, so we default to a shared-only configuration.
-# If a disable-shared tag is given, we'll fallback to a static-only
-# configuration.  But we'll never go from static-only to shared-only.
-
-# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
-build_libtool_libs=no
-build_old_libs=yes
-# ### END LIBTOOL TAG CONFIG: disable-shared
-
-# ### BEGIN LIBTOOL TAG CONFIG: disable-static
-build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
-# ### END LIBTOOL TAG CONFIG: disable-static
-
-# Local Variables:
-# mode:shell-script
-# sh-indentation:2
-# End:
-# vi:sw=2
-
diff --git a/m4/.gitignore b/m4/.gitignore
new file mode 100644
index 0000000..38066dd
--- /dev/null
+++ b/m4/.gitignore
@@ -0,0 +1,5 @@
+libtool.m4
+ltoptions.m4
+ltsugar.m4
+ltversion.m4
+lt~obsolete.m4
diff --git a/m4/byteorder.m4 b/m4/byteorder.m4
index 0ec97ea..e342be5 100644
--- a/m4/byteorder.m4
+++ b/m4/byteorder.m4
@@ -35,7 +35,7 @@
 ac_dir=`AS_DIRNAME(["$1"])`
 if test "$ac_dir" != "$1" && test "$ac_dir" != .; then
   # The file is in a subdirectory.
-  test ! -d "$ac_dir" && AS_MKDIR_P(["$ac_dir"])
+  test ! -d "$ac_dir" && (AS_MKDIR_P(["$ac_dir"]))
 fi
 
 # We're only interested in the target CPU, but it's not always set
diff --git a/m4/iconv.m4 b/m4/iconv.m4
new file mode 100644
index 0000000..ee41742
--- /dev/null
+++ b/m4/iconv.m4
@@ -0,0 +1,195 @@
+# iconv.m4 serial 11 (gettext-0.18.1)
+dnl Copyright (C) 2000-2002, 2007-2010 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
+[
+  dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
+  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
+  AC_REQUIRE([AC_LIB_RPATH])
+
+  dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
+  dnl accordingly.
+  AC_LIB_LINKFLAGS_BODY([iconv])
+])
+
+AC_DEFUN([AM_ICONV_LINK],
+[
+  dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
+  dnl those with the standalone portable GNU libiconv installed).
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
+
+  dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
+  dnl accordingly.
+  AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
+
+  dnl Add $INCICONV to CPPFLAGS before performing the following checks,
+  dnl because if the user has installed libiconv and not disabled its use
+  dnl via --without-libiconv-prefix, he wants to use it. The first
+  dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed.
+  am_save_CPPFLAGS="$CPPFLAGS"
+  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
+
+  AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [
+    am_cv_func_iconv="no, consider installing GNU libiconv"
+    am_cv_lib_iconv=no
+    AC_TRY_LINK([#include <stdlib.h>
+#include <iconv.h>],
+      [iconv_t cd = iconv_open("","");
+       iconv(cd,NULL,NULL,NULL,NULL);
+       iconv_close(cd);],
+      [am_cv_func_iconv=yes])
+    if test "$am_cv_func_iconv" != yes; then
+      am_save_LIBS="$LIBS"
+      LIBS="$LIBS $LIBICONV"
+      AC_TRY_LINK([#include <stdlib.h>
+#include <iconv.h>],
+        [iconv_t cd = iconv_open("","");
+         iconv(cd,NULL,NULL,NULL,NULL);
+         iconv_close(cd);],
+        [am_cv_lib_iconv=yes]
+        [am_cv_func_iconv=yes])
+      LIBS="$am_save_LIBS"
+    fi
+  ])
+  if test "$am_cv_func_iconv" = yes; then
+    AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [
+      dnl This tests against bugs in AIX 5.1, HP-UX 11.11, Solaris 10.
+      am_save_LIBS="$LIBS"
+      if test $am_cv_lib_iconv = yes; then
+        LIBS="$LIBS $LIBICONV"
+      fi
+      AC_TRY_RUN([
+#include <iconv.h>
+#include <string.h>
+int main ()
+{
+  /* Test against AIX 5.1 bug: Failures are not distinguishable from successful
+     returns.  */
+  {
+    iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8");
+    if (cd_utf8_to_88591 != (iconv_t)(-1))
+      {
+        static const char input[] = "\342\202\254"; /* EURO SIGN */
+        char buf[10];
+        const char *inptr = input;
+        size_t inbytesleft = strlen (input);
+        char *outptr = buf;
+        size_t outbytesleft = sizeof (buf);
+        size_t res = iconv (cd_utf8_to_88591,
+                            (char **) &inptr, &inbytesleft,
+                            &outptr, &outbytesleft);
+        if (res == 0)
+          return 1;
+      }
+  }
+#if 0 /* This bug could be worked around by the caller.  */
+  /* Test against HP-UX 11.11 bug: Positive return value instead of 0.  */
+  {
+    iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591");
+    if (cd_88591_to_utf8 != (iconv_t)(-1))
+      {
+        static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
+        char buf[50];
+        const char *inptr = input;
+        size_t inbytesleft = strlen (input);
+        char *outptr = buf;
+        size_t outbytesleft = sizeof (buf);
+        size_t res = iconv (cd_88591_to_utf8,
+                            (char **) &inptr, &inbytesleft,
+                            &outptr, &outbytesleft);
+        if ((int)res > 0)
+          return 1;
+      }
+  }
+#endif
+  /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is
+     provided.  */
+  if (/* Try standardized names.  */
+      iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1)
+      /* Try IRIX, OSF/1 names.  */
+      && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1)
+      /* Try AIX names.  */
+      && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1)
+      /* Try HP-UX names.  */
+      && iconv_open ("utf8", "eucJP") == (iconv_t)(-1))
+    return 1;
+  return 0;
+}], [am_cv_func_iconv_works=yes], [am_cv_func_iconv_works=no],
+        [case "$host_os" in
+           aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
+           *)            am_cv_func_iconv_works="guessing yes" ;;
+         esac])
+      LIBS="$am_save_LIBS"
+    ])
+    case "$am_cv_func_iconv_works" in
+      *no) am_func_iconv=no am_cv_lib_iconv=no ;;
+      *)   am_func_iconv=yes ;;
+    esac
+  else
+    am_func_iconv=no am_cv_lib_iconv=no
+  fi
+  if test "$am_func_iconv" = yes; then
+    AC_DEFINE([HAVE_ICONV], [1],
+      [Define if you have the iconv() function and it works.])
+  fi
+  if test "$am_cv_lib_iconv" = yes; then
+    AC_MSG_CHECKING([how to link with libiconv])
+    AC_MSG_RESULT([$LIBICONV])
+  else
+    dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
+    dnl either.
+    CPPFLAGS="$am_save_CPPFLAGS"
+    LIBICONV=
+    LTLIBICONV=
+  fi
+  AC_SUBST([LIBICONV])
+  AC_SUBST([LTLIBICONV])
+])
+
+dnl Define AM_ICONV using AC_DEFUN_ONCE for Autoconf >= 2.64, in order to
+dnl avoid warnings like
+dnl "warning: AC_REQUIRE: `AM_ICONV' was expanded before it was required".
+dnl This is tricky because of the way 'aclocal' is implemented:
+dnl - It requires defining an auxiliary macro whose name ends in AC_DEFUN.
+dnl   Otherwise aclocal's initial scan pass would miss the macro definition.
+dnl - It requires a line break inside the AC_DEFUN_ONCE and AC_DEFUN expansions.
+dnl   Otherwise aclocal would emit many "Use of uninitialized value $1"
+dnl   warnings.
+m4_define([gl_iconv_AC_DEFUN],
+  m4_version_prereq([2.64],
+    [[AC_DEFUN_ONCE(
+        [$1], [$2])]],
+    [[AC_DEFUN(
+        [$1], [$2])]]))
+gl_iconv_AC_DEFUN([AM_ICONV],
+[
+  AM_ICONV_LINK
+  if test "$am_cv_func_iconv" = yes; then
+    AC_MSG_CHECKING([for iconv declaration])
+    AC_CACHE_VAL([am_cv_proto_iconv], [
+      AC_TRY_COMPILE([
+#include <stdlib.h>
+#include <iconv.h>
+extern
+#ifdef __cplusplus
+"C"
+#endif
+#if defined(__STDC__) || defined(__cplusplus)
+size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
+#else
+size_t iconv();
+#endif
+], [], [am_cv_proto_iconv_arg1=""], [am_cv_proto_iconv_arg1="const"])
+      am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
+    am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
+    AC_MSG_RESULT([
+         $am_cv_proto_iconv])
+    AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1],
+      [Define as const if the declaration of iconv() needs const.])
+  fi
+])
diff --git a/m4/libtool.m4 b/m4/libtool.m4
deleted file mode 100644
index 671cde1..0000000
--- a/m4/libtool.m4
+++ /dev/null
@@ -1,7360 +0,0 @@
-# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
-#
-#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-#                 2006, 2007, 2008 Free Software Foundation, Inc.
-#   Written by Gordon Matzigkeit, 1996
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-m4_define([_LT_COPYING], [dnl
-#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-#                 2006, 2007, 2008 Free Software Foundation, Inc.
-#   Written by Gordon Matzigkeit, 1996
-#
-#   This file is part of GNU Libtool.
-#
-# GNU Libtool is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License as
-# published by the Free Software Foundation; either version 2 of
-# the License, or (at your option) any later version.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
-#
-# GNU Libtool is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Libtool; see the file COPYING.  If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
-# obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-])
-
-# serial 56 LT_INIT
-
-
-# LT_PREREQ(VERSION)
-# ------------------
-# Complain and exit if this libtool version is less that VERSION.
-m4_defun([LT_PREREQ],
-[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
-       [m4_default([$3],
-		   [m4_fatal([Libtool version $1 or higher is required],
-		             63)])],
-       [$2])])
-
-
-# _LT_CHECK_BUILDDIR
-# ------------------
-# Complain if the absolute build directory name contains unusual characters
-m4_defun([_LT_CHECK_BUILDDIR],
-[case `pwd` in
-  *\ * | *\	*)
-    AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
-esac
-])
-
-
-# LT_INIT([OPTIONS])
-# ------------------
-AC_DEFUN([LT_INIT],
-[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
-AC_BEFORE([$0], [LT_LANG])dnl
-AC_BEFORE([$0], [LT_OUTPUT])dnl
-AC_BEFORE([$0], [LTDL_INIT])dnl
-m4_require([_LT_CHECK_BUILDDIR])dnl
-
-dnl Autoconf doesn't catch unexpanded LT_ macros by default:
-m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
-m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
-dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
-dnl unless we require an AC_DEFUNed macro:
-AC_REQUIRE([LTOPTIONS_VERSION])dnl
-AC_REQUIRE([LTSUGAR_VERSION])dnl
-AC_REQUIRE([LTVERSION_VERSION])dnl
-AC_REQUIRE([LTOBSOLETE_VERSION])dnl
-m4_require([_LT_PROG_LTMAIN])dnl
-
-dnl Parse OPTIONS
-_LT_SET_OPTIONS([$0], [$1])
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ltmain"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-AC_SUBST(LIBTOOL)dnl
-
-_LT_SETUP
-
-# Only expand once:
-m4_define([LT_INIT])
-])# LT_INIT
-
-# Old names:
-AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
-AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
-dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
-
-
-# _LT_CC_BASENAME(CC)
-# -------------------
-# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
-m4_defun([_LT_CC_BASENAME],
-[for cc_temp in $1""; do
-  case $cc_temp in
-    compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
-    distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-])
-
-
-# _LT_FILEUTILS_DEFAULTS
-# ----------------------
-# It is okay to use these file commands and assume they have been set
-# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
-m4_defun([_LT_FILEUTILS_DEFAULTS],
-[: ${CP="cp -f"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-])# _LT_FILEUTILS_DEFAULTS
-
-
-# _LT_SETUP
-# ---------
-m4_defun([_LT_SETUP],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-_LT_DECL([], [host_alias], [0], [The host system])dnl
-_LT_DECL([], [host], [0])dnl
-_LT_DECL([], [host_os], [0])dnl
-dnl
-_LT_DECL([], [build_alias], [0], [The build system])dnl
-_LT_DECL([], [build], [0])dnl
-_LT_DECL([], [build_os], [0])dnl
-dnl
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([LT_PATH_LD])dnl
-AC_REQUIRE([LT_PATH_NM])dnl
-dnl
-AC_REQUIRE([AC_PROG_LN_S])dnl
-test -z "$LN_S" && LN_S="ln -s"
-_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
-dnl
-AC_REQUIRE([LT_CMD_MAX_LEN])dnl
-_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
-_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
-dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_CHECK_SHELL_FEATURES])dnl
-m4_require([_LT_CMD_RELOAD])dnl
-m4_require([_LT_CHECK_MAGIC_METHOD])dnl
-m4_require([_LT_CMD_OLD_ARCHIVE])dnl
-m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
-
-_LT_CONFIG_LIBTOOL_INIT([
-# See if we are running on zsh, and set the options which allow our
-# commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}" ; then
-   setopt NO_GLOB_SUBST
-fi
-])
-if test -n "${ZSH_VERSION+set}" ; then
-   setopt NO_GLOB_SUBST
-fi
-
-_LT_CHECK_OBJDIR
-
-m4_require([_LT_TAG_COMPILER])dnl
-_LT_PROG_ECHO_BACKSLASH
-
-case $host_os in
-aix3*)
-  # AIX sometimes has problems with the GCC collect2 program.  For some
-  # reason, if we set the COLLECT_NAMES environment variable, the problems
-  # vanish in a puff of smoke.
-  if test "X${COLLECT_NAMES+set}" != Xset; then
-    COLLECT_NAMES=
-    export COLLECT_NAMES
-  fi
-  ;;
-esac
-
-# Sed substitution that helps us do robust quoting.  It backslashifies
-# metacharacters that are still active within double-quoted strings.
-sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\([["`\\]]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
-# Global variables:
-ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-
-# Set sane defaults for various variables
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$LD" && LD=ld
-test -z "$ac_objext" && ac_objext=o
-
-_LT_CC_BASENAME([$compiler])
-
-# Only perform the check for file, if the check method requires it
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-case $deplibs_check_method in
-file_magic*)
-  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
-    _LT_PATH_MAGIC
-  fi
-  ;;
-esac
-
-# Use C for the default configuration in the libtool script
-LT_SUPPORTED_TAG([CC])
-_LT_LANG_C_CONFIG
-_LT_LANG_DEFAULT_CONFIG
-_LT_CONFIG_COMMANDS
-])# _LT_SETUP
-
-
-# _LT_PROG_LTMAIN
-# ---------------
-# Note that this code is called both from `configure', and `config.status'
-# now that we use AC_CONFIG_COMMANDS to generate libtool.  Notably,
-# `config.status' has no value for ac_aux_dir unless we are using Automake,
-# so we pass a copy along to make sure it has a sensible value anyway.
-m4_defun([_LT_PROG_LTMAIN],
-[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
-_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
-ltmain="$ac_aux_dir/ltmain.sh"
-])# _LT_PROG_LTMAIN
-
-
-## ------------------------------------- ##
-## Accumulate code for creating libtool. ##
-## ------------------------------------- ##
-
-# So that we can recreate a full libtool script including additional
-# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
-# in macros and then make a single call at the end using the `libtool'
-# label.
-
-
-# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
-# ----------------------------------------
-# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
-m4_define([_LT_CONFIG_LIBTOOL_INIT],
-[m4_ifval([$1],
-          [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
-                     [$1
-])])])
-
-# Initialize.
-m4_define([_LT_OUTPUT_LIBTOOL_INIT])
-
-
-# _LT_CONFIG_LIBTOOL([COMMANDS])
-# ------------------------------
-# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
-m4_define([_LT_CONFIG_LIBTOOL],
-[m4_ifval([$1],
-          [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
-                     [$1
-])])])
-
-# Initialize.
-m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
-
-
-# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
-# -----------------------------------------------------
-m4_defun([_LT_CONFIG_SAVE_COMMANDS],
-[_LT_CONFIG_LIBTOOL([$1])
-_LT_CONFIG_LIBTOOL_INIT([$2])
-])
-
-
-# _LT_FORMAT_COMMENT([COMMENT])
-# -----------------------------
-# Add leading comment marks to the start of each line, and a trailing
-# full-stop to the whole comment if one is not present already.
-m4_define([_LT_FORMAT_COMMENT],
-[m4_ifval([$1], [
-m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
-              [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
-)])
-
-
-
-## ------------------------ ##
-## FIXME: Eliminate VARNAME ##
-## ------------------------ ##
-
-
-# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
-# -------------------------------------------------------------------
-# CONFIGNAME is the name given to the value in the libtool script.
-# VARNAME is the (base) name used in the configure script.
-# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
-# VARNAME.  Any other value will be used directly.
-m4_define([_LT_DECL],
-[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
-    [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
-	[m4_ifval([$1], [$1], [$2])])
-    lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
-    m4_ifval([$4],
-	[lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
-    lt_dict_add_subkey([lt_decl_dict], [$2],
-	[tagged?], [m4_ifval([$5], [yes], [no])])])
-])
-
-
-# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
-# --------------------------------------------------------
-m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
-
-
-# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
-# ------------------------------------------------
-m4_define([lt_decl_tag_varnames],
-[_lt_decl_filter([tagged?], [yes], $@)])
-
-
-# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
-# ---------------------------------------------------------
-m4_define([_lt_decl_filter],
-[m4_case([$#],
-  [0], [m4_fatal([$0: too few arguments: $#])],
-  [1], [m4_fatal([$0: too few arguments: $#: $1])],
-  [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
-  [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
-  [lt_dict_filter([lt_decl_dict], $@)])[]dnl
-])
-
-
-# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
-# --------------------------------------------------
-m4_define([lt_decl_quote_varnames],
-[_lt_decl_filter([value], [1], $@)])
-
-
-# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
-# ---------------------------------------------------
-m4_define([lt_decl_dquote_varnames],
-[_lt_decl_filter([value], [2], $@)])
-
-
-# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
-# ---------------------------------------------------
-m4_define([lt_decl_varnames_tagged],
-[m4_assert([$# <= 2])dnl
-_$0(m4_quote(m4_default([$1], [[, ]])),
-    m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
-    m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
-m4_define([_lt_decl_varnames_tagged],
-[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
-
-
-# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
-# ------------------------------------------------
-m4_define([lt_decl_all_varnames],
-[_$0(m4_quote(m4_default([$1], [[, ]])),
-     m4_if([$2], [],
-	   m4_quote(lt_decl_varnames),
-	m4_quote(m4_shift($@))))[]dnl
-])
-m4_define([_lt_decl_all_varnames],
-[lt_join($@, lt_decl_varnames_tagged([$1],
-			lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
-])
-
-
-# _LT_CONFIG_STATUS_DECLARE([VARNAME])
-# ------------------------------------
-# Quote a variable value, and forward it to `config.status' so that its
-# declaration there will have the same value as in `configure'.  VARNAME
-# must have a single quote delimited value for this to work.
-m4_define([_LT_CONFIG_STATUS_DECLARE],
-[$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`'])
-
-
-# _LT_CONFIG_STATUS_DECLARATIONS
-# ------------------------------
-# We delimit libtool config variables with single quotes, so when
-# we write them to config.status, we have to be sure to quote all
-# embedded single quotes properly.  In configure, this macro expands
-# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
-#
-#    <var>='`$ECHO "X$<var>" | $Xsed -e "$delay_single_quote_subst"`'
-m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
-[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
-    [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
-
-
-# _LT_LIBTOOL_TAGS
-# ----------------
-# Output comment and list of tags supported by the script
-m4_defun([_LT_LIBTOOL_TAGS],
-[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
-available_tags="_LT_TAGS"dnl
-])
-
-
-# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
-# -----------------------------------
-# Extract the dictionary values for VARNAME (optionally with TAG) and
-# expand to a commented shell variable setting:
-#
-#    # Some comment about what VAR is for.
-#    visible_name=$lt_internal_name
-m4_define([_LT_LIBTOOL_DECLARE],
-[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
-					   [description])))[]dnl
-m4_pushdef([_libtool_name],
-    m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
-m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
-    [0], [_libtool_name=[$]$1],
-    [1], [_libtool_name=$lt_[]$1],
-    [2], [_libtool_name=$lt_[]$1],
-    [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
-m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
-])
-
-
-# _LT_LIBTOOL_CONFIG_VARS
-# -----------------------
-# Produce commented declarations of non-tagged libtool config variables
-# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
-# script.  Tagged libtool config variables (even for the LIBTOOL CONFIG
-# section) are produced by _LT_LIBTOOL_TAG_VARS.
-m4_defun([_LT_LIBTOOL_CONFIG_VARS],
-[m4_foreach([_lt_var],
-    m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
-    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
-
-
-# _LT_LIBTOOL_TAG_VARS(TAG)
-# -------------------------
-m4_define([_LT_LIBTOOL_TAG_VARS],
-[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
-    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
-
-
-# _LT_TAGVAR(VARNAME, [TAGNAME])
-# ------------------------------
-m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
-
-
-# _LT_CONFIG_COMMANDS
-# -------------------
-# Send accumulated output to $CONFIG_STATUS.  Thanks to the lists of
-# variables for single and double quote escaping we saved from calls
-# to _LT_DECL, we can put quote escaped variables declarations
-# into `config.status', and then the shell code to quote escape them in
-# for loops in `config.status'.  Finally, any additional code accumulated
-# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
-m4_defun([_LT_CONFIG_COMMANDS],
-[AC_PROVIDE_IFELSE([LT_OUTPUT],
-	dnl If the libtool generation code has been placed in $CONFIG_LT,
-	dnl instead of duplicating it all over again into config.status,
-	dnl then we will have config.status run $CONFIG_LT later, so it
-	dnl needs to know what name is stored there:
-        [AC_CONFIG_COMMANDS([libtool],
-            [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
-    dnl If the libtool generation code is destined for config.status,
-    dnl expand the accumulated commands and init code now:
-    [AC_CONFIG_COMMANDS([libtool],
-        [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
-])#_LT_CONFIG_COMMANDS
-
-
-# Initialize.
-m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
-[
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-sed_quote_subst='$sed_quote_subst'
-double_quote_subst='$double_quote_subst'
-delay_variable_subst='$delay_variable_subst'
-_LT_CONFIG_STATUS_DECLARATIONS
-LTCC='$LTCC'
-LTCFLAGS='$LTCFLAGS'
-compiler='$compiler_DEFAULT'
-
-# Quote evaled strings.
-for var in lt_decl_all_varnames([[ \
-]], lt_decl_quote_varnames); do
-    case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
-    *[[\\\\\\\`\\"\\\$]]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
-      ;;
-    *)
-      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
-      ;;
-    esac
-done
-
-# Double-quote double-evaled strings.
-for var in lt_decl_all_varnames([[ \
-]], lt_decl_dquote_varnames); do
-    case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
-    *[[\\\\\\\`\\"\\\$]]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
-      ;;
-    *)
-      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
-      ;;
-    esac
-done
-
-# Fix-up fallback echo if it was mangled by the above quoting rules.
-case \$lt_ECHO in
-*'\\\[$]0 --fallback-echo"')dnl "
-  lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\`
-  ;;
-esac
-
-_LT_OUTPUT_LIBTOOL_INIT
-])
-
-
-# LT_OUTPUT
-# ---------
-# This macro allows early generation of the libtool script (before
-# AC_OUTPUT is called), incase it is used in configure for compilation
-# tests.
-AC_DEFUN([LT_OUTPUT],
-[: ${CONFIG_LT=./config.lt}
-AC_MSG_NOTICE([creating $CONFIG_LT])
-cat >"$CONFIG_LT" <<_LTEOF
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate a libtool stub with the current configuration.
-
-lt_cl_silent=false
-SHELL=\${CONFIG_SHELL-$SHELL}
-_LTEOF
-
-cat >>"$CONFIG_LT" <<\_LTEOF
-AS_SHELL_SANITIZE
-_AS_PREPARE
-
-exec AS_MESSAGE_FD>&1
-exec AS_MESSAGE_LOG_FD>>config.log
-{
-  echo
-  AS_BOX([Running $as_me.])
-} >&AS_MESSAGE_LOG_FD
-
-lt_cl_help="\
-\`$as_me' creates a local libtool stub from the current configuration,
-for use in further configure time tests before the real libtool is
-generated.
-
-Usage: $[0] [[OPTIONS]]
-
-  -h, --help      print this help, then exit
-  -V, --version   print version number, then exit
-  -q, --quiet     do not print progress messages
-  -d, --debug     don't remove temporary files
-
-Report bugs to <bug-libtool@gnu.org>."
-
-lt_cl_version="\
-m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
-m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
-configured by $[0], generated by m4_PACKAGE_STRING.
-
-Copyright (C) 2008 Free Software Foundation, Inc.
-This config.lt script is free software; the Free Software Foundation
-gives unlimited permision to copy, distribute and modify it."
-
-while test $[#] != 0
-do
-  case $[1] in
-    --version | --v* | -V )
-      echo "$lt_cl_version"; exit 0 ;;
-    --help | --h* | -h )
-      echo "$lt_cl_help"; exit 0 ;;
-    --debug | --d* | -d )
-      debug=: ;;
-    --quiet | --q* | --silent | --s* | -q )
-      lt_cl_silent=: ;;
-
-    -*) AC_MSG_ERROR([unrecognized option: $[1]
-Try \`$[0] --help' for more information.]) ;;
-
-    *) AC_MSG_ERROR([unrecognized argument: $[1]
-Try \`$[0] --help' for more information.]) ;;
-  esac
-  shift
-done
-
-if $lt_cl_silent; then
-  exec AS_MESSAGE_FD>/dev/null
-fi
-_LTEOF
-
-cat >>"$CONFIG_LT" <<_LTEOF
-_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
-_LTEOF
-
-cat >>"$CONFIG_LT" <<\_LTEOF
-AC_MSG_NOTICE([creating $ofile])
-_LT_OUTPUT_LIBTOOL_COMMANDS
-AS_EXIT(0)
-_LTEOF
-chmod +x "$CONFIG_LT"
-
-# configure is writing to config.log, but config.lt does its own redirection,
-# appending to config.log, which fails on DOS, as config.log is still kept
-# open by configure.  Here we exec the FD to /dev/null, effectively closing
-# config.log, so it can be properly (re)opened and appended to by config.lt.
-if test "$no_create" != yes; then
-  lt_cl_success=:
-  test "$silent" = yes &&
-    lt_config_lt_args="$lt_config_lt_args --quiet"
-  exec AS_MESSAGE_LOG_FD>/dev/null
-  $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
-  exec AS_MESSAGE_LOG_FD>>config.log
-  $lt_cl_success || AS_EXIT(1)
-fi
-])# LT_OUTPUT
-
-
-# _LT_CONFIG(TAG)
-# ---------------
-# If TAG is the built-in tag, create an initial libtool script with a
-# default configuration from the untagged config vars.  Otherwise add code
-# to config.status for appending the configuration named by TAG from the
-# matching tagged config vars.
-m4_defun([_LT_CONFIG],
-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-_LT_CONFIG_SAVE_COMMANDS([
-  m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
-  m4_if(_LT_TAG, [C], [
-    # See if we are running on zsh, and set the options which allow our
-    # commands through without removal of \ escapes.
-    if test -n "${ZSH_VERSION+set}" ; then
-      setopt NO_GLOB_SUBST
-    fi
-
-    cfgfile="${ofile}T"
-    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
-    $RM "$cfgfile"
-
-    cat <<_LT_EOF >> "$cfgfile"
-#! $SHELL
-
-# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-_LT_COPYING
-_LT_LIBTOOL_TAGS
-
-# ### BEGIN LIBTOOL CONFIG
-_LT_LIBTOOL_CONFIG_VARS
-_LT_LIBTOOL_TAG_VARS
-# ### END LIBTOOL CONFIG
-
-_LT_EOF
-
-  case $host_os in
-  aix3*)
-    cat <<\_LT_EOF >> "$cfgfile"
-# AIX sometimes has problems with the GCC collect2 program.  For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
-  COLLECT_NAMES=
-  export COLLECT_NAMES
-fi
-_LT_EOF
-    ;;
-  esac
-
-  _LT_PROG_LTMAIN
-
-  # We use sed instead of cat because bash on DJGPP gets confused if
-  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
-  # text mode, it properly converts lines to CR/LF.  This bash problem
-  # is reportedly fixed, but why not run on old versions too?
-  sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
-    || (rm -f "$cfgfile"; exit 1)
-
-  _LT_PROG_XSI_SHELLFNS
-
-  sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
-    || (rm -f "$cfgfile"; exit 1)
-
-  mv -f "$cfgfile" "$ofile" ||
-    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
-  chmod +x "$ofile"
-],
-[cat <<_LT_EOF >> "$ofile"
-
-dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
-dnl in a comment (ie after a #).
-# ### BEGIN LIBTOOL TAG CONFIG: $1
-_LT_LIBTOOL_TAG_VARS(_LT_TAG)
-# ### END LIBTOOL TAG CONFIG: $1
-_LT_EOF
-])dnl /m4_if
-],
-[m4_if([$1], [], [
-    PACKAGE='$PACKAGE'
-    VERSION='$VERSION'
-    TIMESTAMP='$TIMESTAMP'
-    RM='$RM'
-    ofile='$ofile'], [])
-])dnl /_LT_CONFIG_SAVE_COMMANDS
-])# _LT_CONFIG
-
-
-# LT_SUPPORTED_TAG(TAG)
-# ---------------------
-# Trace this macro to discover what tags are supported by the libtool
-# --tag option, using:
-#    autoconf --trace 'LT_SUPPORTED_TAG:$1'
-AC_DEFUN([LT_SUPPORTED_TAG], [])
-
-
-# C support is built-in for now
-m4_define([_LT_LANG_C_enabled], [])
-m4_define([_LT_TAGS], [])
-
-
-# LT_LANG(LANG)
-# -------------
-# Enable libtool support for the given language if not already enabled.
-AC_DEFUN([LT_LANG],
-[AC_BEFORE([$0], [LT_OUTPUT])dnl
-m4_case([$1],
-  [C],			[_LT_LANG(C)],
-  [C++],		[_LT_LANG(CXX)],
-  [Java],		[_LT_LANG(GCJ)],
-  [Fortran 77],		[_LT_LANG(F77)],
-  [Fortran],		[_LT_LANG(FC)],
-  [Windows Resource],	[_LT_LANG(RC)],
-  [m4_ifdef([_LT_LANG_]$1[_CONFIG],
-    [_LT_LANG($1)],
-    [m4_fatal([$0: unsupported language: "$1"])])])dnl
-])# LT_LANG
-
-
-# _LT_LANG(LANGNAME)
-# ------------------
-m4_defun([_LT_LANG],
-[m4_ifdef([_LT_LANG_]$1[_enabled], [],
-  [LT_SUPPORTED_TAG([$1])dnl
-  m4_append([_LT_TAGS], [$1 ])dnl
-  m4_define([_LT_LANG_]$1[_enabled], [])dnl
-  _LT_LANG_$1_CONFIG($1)])dnl
-])# _LT_LANG
-
-
-# _LT_LANG_DEFAULT_CONFIG
-# -----------------------
-m4_defun([_LT_LANG_DEFAULT_CONFIG],
-[AC_PROVIDE_IFELSE([AC_PROG_CXX],
-  [LT_LANG(CXX)],
-  [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
-
-AC_PROVIDE_IFELSE([AC_PROG_F77],
-  [LT_LANG(F77)],
-  [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
-
-AC_PROVIDE_IFELSE([AC_PROG_FC],
-  [LT_LANG(FC)],
-  [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
-
-dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
-dnl pulling things in needlessly.
-AC_PROVIDE_IFELSE([AC_PROG_GCJ],
-  [LT_LANG(GCJ)],
-  [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
-    [LT_LANG(GCJ)],
-    [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
-      [LT_LANG(GCJ)],
-      [m4_ifdef([AC_PROG_GCJ],
-	[m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
-       m4_ifdef([A][M_PROG_GCJ],
-	[m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
-       m4_ifdef([LT_PROG_GCJ],
-	[m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
-
-AC_PROVIDE_IFELSE([LT_PROG_RC],
-  [LT_LANG(RC)],
-  [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
-])# _LT_LANG_DEFAULT_CONFIG
-
-# Obsolete macros:
-AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
-AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
-AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
-AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
-dnl AC_DEFUN([AC_LIBTOOL_F77], [])
-dnl AC_DEFUN([AC_LIBTOOL_FC], [])
-dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
-
-
-# _LT_TAG_COMPILER
-# ----------------
-m4_defun([_LT_TAG_COMPILER],
-[AC_REQUIRE([AC_PROG_CC])dnl
-
-_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
-_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
-_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
-_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-])# _LT_TAG_COMPILER
-
-
-# _LT_COMPILER_BOILERPLATE
-# ------------------------
-# Check for compiler boilerplate output or warnings with
-# the simple compiler test code.
-m4_defun([_LT_COMPILER_BOILERPLATE],
-[m4_require([_LT_DECL_SED])dnl
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$RM conftest*
-])# _LT_COMPILER_BOILERPLATE
-
-
-# _LT_LINKER_BOILERPLATE
-# ----------------------
-# Check for linker boilerplate output or warnings with
-# the simple link test code.
-m4_defun([_LT_LINKER_BOILERPLATE],
-[m4_require([_LT_DECL_SED])dnl
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$RM -r conftest*
-])# _LT_LINKER_BOILERPLATE
-
-# _LT_REQUIRED_DARWIN_CHECKS
-# -------------------------
-m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
-  case $host_os in
-    rhapsody* | darwin*)
-    AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
-    AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
-    AC_CHECK_TOOL([LIPO], [lipo], [:])
-    AC_CHECK_TOOL([OTOOL], [otool], [:])
-    AC_CHECK_TOOL([OTOOL64], [otool64], [:])
-    _LT_DECL([], [DSYMUTIL], [1],
-      [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
-    _LT_DECL([], [NMEDIT], [1],
-      [Tool to change global to local symbols on Mac OS X])
-    _LT_DECL([], [LIPO], [1],
-      [Tool to manipulate fat objects and archives on Mac OS X])
-    _LT_DECL([], [OTOOL], [1],
-      [ldd/readelf like tool for Mach-O binaries on Mac OS X])
-    _LT_DECL([], [OTOOL64], [1],
-      [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
-
-    AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
-      [lt_cv_apple_cc_single_mod=no
-      if test -z "${LT_MULTI_MODULE}"; then
-	# By default we will add the -single_module flag. You can override
-	# by either setting the environment variable LT_MULTI_MODULE
-	# non-empty at configure time, or by adding -multi_module to the
-	# link flags.
-	rm -rf libconftest.dylib*
-	echo "int foo(void){return 1;}" > conftest.c
-	echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
--dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
-	$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
-	  -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
-        _lt_result=$?
-	if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
-	  lt_cv_apple_cc_single_mod=yes
-	else
-	  cat conftest.err >&AS_MESSAGE_LOG_FD
-	fi
-	rm -rf libconftest.dylib*
-	rm -f conftest.*
-      fi])
-    AC_CACHE_CHECK([for -exported_symbols_list linker flag],
-      [lt_cv_ld_exported_symbols_list],
-      [lt_cv_ld_exported_symbols_list=no
-      save_LDFLAGS=$LDFLAGS
-      echo "_main" > conftest.sym
-      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
-      AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
-	[lt_cv_ld_exported_symbols_list=yes],
-	[lt_cv_ld_exported_symbols_list=no])
-	LDFLAGS="$save_LDFLAGS"
-    ])
-    case $host_os in
-    rhapsody* | darwin1.[[012]])
-      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
-    darwin1.*)
-      _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-    darwin*) # darwin 5.x on
-      # if running on 10.5 or later, the deployment target defaults
-      # to the OS version, if on x86, and 10.4, the deployment
-      # target defaults to 10.4. Don't you love it?
-      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
-	10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
-	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-	10.[[012]]*)
-	  _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-	10.*)
-	  _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-      esac
-    ;;
-  esac
-    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
-      _lt_dar_single_mod='$single_module'
-    fi
-    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
-      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
-    else
-      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
-    fi
-    if test "$DSYMUTIL" != ":"; then
-      _lt_dsymutil='~$DSYMUTIL $lib || :'
-    else
-      _lt_dsymutil=
-    fi
-    ;;
-  esac
-])
-
-
-# _LT_DARWIN_LINKER_FEATURES
-# --------------------------
-# Checks for linker and compiler features on darwin
-m4_defun([_LT_DARWIN_LINKER_FEATURES],
-[
-  m4_require([_LT_REQUIRED_DARWIN_CHECKS])
-  _LT_TAGVAR(archive_cmds_need_lc, $1)=no
-  _LT_TAGVAR(hardcode_direct, $1)=no
-  _LT_TAGVAR(hardcode_automatic, $1)=yes
-  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-  _LT_TAGVAR(whole_archive_flag_spec, $1)=''
-  _LT_TAGVAR(link_all_deplibs, $1)=yes
-  _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
-  case $cc_basename in
-     ifort*) _lt_dar_can_shared=yes ;;
-     *) _lt_dar_can_shared=$GCC ;;
-  esac
-  if test "$_lt_dar_can_shared" = "yes"; then
-    output_verbose_link_cmd=echo
-    _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
-    _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
-    _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
-    _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-    m4_if([$1], [CXX],
-[   if test "$lt_cv_apple_cc_single_mod" != "yes"; then
-      _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
-      _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
-    fi
-],[])
-  else
-  _LT_TAGVAR(ld_shlibs, $1)=no
-  fi
-])
-
-# _LT_SYS_MODULE_PATH_AIX
-# -----------------------
-# Links a minimal program and checks the executable
-# for the system default hardcoded library path. In most cases,
-# this is /usr/lib:/lib, but when the MPI compilers are used
-# the location of the communication and MPI libs are included too.
-# If we don't find anything, use the default library path according
-# to the aix ld manual.
-m4_defun([_LT_SYS_MODULE_PATH_AIX],
-[m4_require([_LT_DECL_SED])dnl
-AC_LINK_IFELSE(AC_LANG_PROGRAM,[
-lt_aix_libpath_sed='
-    /Import File Strings/,/^$/ {
-	/^0/ {
-	    s/^0  *\(.*\)$/\1/
-	    p
-	}
-    }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
-  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi],[])
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-])# _LT_SYS_MODULE_PATH_AIX
-
-
-# _LT_SHELL_INIT(ARG)
-# -------------------
-m4_define([_LT_SHELL_INIT],
-[ifdef([AC_DIVERSION_NOTICE],
-	     [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
-	 [AC_DIVERT_PUSH(NOTICE)])
-$1
-AC_DIVERT_POP
-])# _LT_SHELL_INIT
-
-
-# _LT_PROG_ECHO_BACKSLASH
-# -----------------------
-# Add some code to the start of the generated configure script which
-# will find an echo command which doesn't interpret backslashes.
-m4_defun([_LT_PROG_ECHO_BACKSLASH],
-[_LT_SHELL_INIT([
-# Check that we are running under the correct shell.
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-case X$lt_ECHO in
-X*--fallback-echo)
-  # Remove one level of quotation (which was required for Make).
-  ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
-  ;;
-esac
-
-ECHO=${lt_ECHO-echo}
-if test "X[$]1" = X--no-reexec; then
-  # Discard the --no-reexec flag, and continue.
-  shift
-elif test "X[$]1" = X--fallback-echo; then
-  # Avoid inline document here, it may be left over
-  :
-elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
-  # Yippee, $ECHO works!
-  :
-else
-  # Restart under the correct shell.
-  exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
-fi
-
-if test "X[$]1" = X--fallback-echo; then
-  # used as fallback echo
-  shift
-  cat <<_LT_EOF
-[$]*
-_LT_EOF
-  exit 0
-fi
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test -z "$lt_ECHO"; then
-  if test "X${echo_test_string+set}" != Xset; then
-    # find a string as large as possible, as long as the shell can cope with it
-    for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
-      # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
-      if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
-	 { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
-      then
-        break
-      fi
-    done
-  fi
-
-  if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
-     echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
-     test "X$echo_testing_string" = "X$echo_test_string"; then
-    :
-  else
-    # The Solaris, AIX, and Digital Unix default echo programs unquote
-    # backslashes.  This makes it impossible to quote backslashes using
-    #   echo "$something" | sed 's/\\/\\\\/g'
-    #
-    # So, first we look for a working echo in the user's PATH.
-
-    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-    for dir in $PATH /usr/ucb; do
-      IFS="$lt_save_ifs"
-      if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
-         test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
-         echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
-         test "X$echo_testing_string" = "X$echo_test_string"; then
-        ECHO="$dir/echo"
-        break
-      fi
-    done
-    IFS="$lt_save_ifs"
-
-    if test "X$ECHO" = Xecho; then
-      # We didn't find a better echo, so look for alternatives.
-      if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
-         echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
-         test "X$echo_testing_string" = "X$echo_test_string"; then
-        # This shell has a builtin print -r that does the trick.
-        ECHO='print -r'
-      elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
-	   test "X$CONFIG_SHELL" != X/bin/ksh; then
-        # If we have ksh, try running configure again with it.
-        ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
-        export ORIGINAL_CONFIG_SHELL
-        CONFIG_SHELL=/bin/ksh
-        export CONFIG_SHELL
-        exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
-      else
-        # Try using printf.
-        ECHO='printf %s\n'
-        if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
-	   echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
-	   test "X$echo_testing_string" = "X$echo_test_string"; then
-	  # Cool, printf works
-	  :
-        elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
-	     test "X$echo_testing_string" = 'X\t' &&
-	     echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
-	     test "X$echo_testing_string" = "X$echo_test_string"; then
-	  CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
-	  export CONFIG_SHELL
-	  SHELL="$CONFIG_SHELL"
-	  export SHELL
-	  ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
-        elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
-	     test "X$echo_testing_string" = 'X\t' &&
-	     echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
-	     test "X$echo_testing_string" = "X$echo_test_string"; then
-	  ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
-        else
-	  # maybe with a smaller string...
-	  prev=:
-
-	  for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
-	    if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
-	    then
-	      break
-	    fi
-	    prev="$cmd"
-	  done
-
-	  if test "$prev" != 'sed 50q "[$]0"'; then
-	    echo_test_string=`eval $prev`
-	    export echo_test_string
-	    exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
-	  else
-	    # Oops.  We lost completely, so just stick with echo.
-	    ECHO=echo
-	  fi
-        fi
-      fi
-    fi
-  fi
-fi
-
-# Copy echo and quote the copy suitably for passing to libtool from
-# the Makefile, instead of quoting the original, which is used later.
-lt_ECHO=$ECHO
-if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
-   lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
-fi
-
-AC_SUBST(lt_ECHO)
-])
-_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
-_LT_DECL([], [ECHO], [1],
-    [An echo program that does not interpret backslashes])
-])# _LT_PROG_ECHO_BACKSLASH
-
-
-# _LT_ENABLE_LOCK
-# ---------------
-m4_defun([_LT_ENABLE_LOCK],
-[AC_ARG_ENABLE([libtool-lock],
-  [AS_HELP_STRING([--disable-libtool-lock],
-    [avoid locking (might break parallel builds)])])
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if AC_TRY_EVAL(ac_compile); then
-    case `/usr/bin/file conftest.$ac_objext` in
-      *ELF-32*)
-	HPUX_IA64_MODE="32"
-	;;
-      *ELF-64*)
-	HPUX_IA64_MODE="64"
-	;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-*-*-irix6*)
-  # Find out which ABI we are using.
-  echo '[#]line __oline__ "configure"' > conftest.$ac_ext
-  if AC_TRY_EVAL(ac_compile); then
-    if test "$lt_cv_prog_gnu_ld" = yes; then
-      case `/usr/bin/file conftest.$ac_objext` in
-	*32-bit*)
-	  LD="${LD-ld} -melf32bsmip"
-	  ;;
-	*N32*)
-	  LD="${LD-ld} -melf32bmipn32"
-	  ;;
-	*64-bit*)
-	  LD="${LD-ld} -melf64bmip"
-	;;
-      esac
-    else
-      case `/usr/bin/file conftest.$ac_objext` in
-	*32-bit*)
-	  LD="${LD-ld} -32"
-	  ;;
-	*N32*)
-	  LD="${LD-ld} -n32"
-	  ;;
-	*64-bit*)
-	  LD="${LD-ld} -64"
-	  ;;
-      esac
-    fi
-  fi
-  rm -rf conftest*
-  ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if AC_TRY_EVAL(ac_compile); then
-    case `/usr/bin/file conftest.o` in
-      *32-bit*)
-	case $host in
-	  x86_64-*kfreebsd*-gnu)
-	    LD="${LD-ld} -m elf_i386_fbsd"
-	    ;;
-	  x86_64-*linux*)
-	    LD="${LD-ld} -m elf_i386"
-	    ;;
-	  ppc64-*linux*|powerpc64-*linux*)
-	    LD="${LD-ld} -m elf32ppclinux"
-	    ;;
-	  s390x-*linux*)
-	    LD="${LD-ld} -m elf_s390"
-	    ;;
-	  sparc64-*linux*)
-	    LD="${LD-ld} -m elf32_sparc"
-	    ;;
-	esac
-	;;
-      *64-bit*)
-	case $host in
-	  x86_64-*kfreebsd*-gnu)
-	    LD="${LD-ld} -m elf_x86_64_fbsd"
-	    ;;
-	  x86_64-*linux*)
-	    LD="${LD-ld} -m elf_x86_64"
-	    ;;
-	  ppc*-*linux*|powerpc*-*linux*)
-	    LD="${LD-ld} -m elf64ppc"
-	    ;;
-	  s390*-*linux*|s390*-*tpf*)
-	    LD="${LD-ld} -m elf64_s390"
-	    ;;
-	  sparc*-*linux*)
-	    LD="${LD-ld} -m elf64_sparc"
-	    ;;
-	esac
-	;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-
-*-*-sco3.2v5*)
-  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
-  SAVE_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -belf"
-  AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
-    [AC_LANG_PUSH(C)
-     AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
-     AC_LANG_POP])
-  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
-    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
-    CFLAGS="$SAVE_CFLAGS"
-  fi
-  ;;
-sparc*-*solaris*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if AC_TRY_EVAL(ac_compile); then
-    case `/usr/bin/file conftest.o` in
-    *64-bit*)
-      case $lt_cv_prog_gnu_ld in
-      yes*) LD="${LD-ld} -m elf64_sparc" ;;
-      *)
-	if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
-	  LD="${LD-ld} -64"
-	fi
-	;;
-      esac
-      ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-esac
-
-need_locks="$enable_libtool_lock"
-])# _LT_ENABLE_LOCK
-
-
-# _LT_CMD_OLD_ARCHIVE
-# -------------------
-m4_defun([_LT_CMD_OLD_ARCHIVE],
-[AC_CHECK_TOOL(AR, ar, false)
-test -z "$AR" && AR=ar
-test -z "$AR_FLAGS" && AR_FLAGS=cru
-_LT_DECL([], [AR], [1], [The archiver])
-_LT_DECL([], [AR_FLAGS], [1])
-
-AC_CHECK_TOOL(STRIP, strip, :)
-test -z "$STRIP" && STRIP=:
-_LT_DECL([], [STRIP], [1], [A symbol stripping program])
-
-AC_CHECK_TOOL(RANLIB, ranlib, :)
-test -z "$RANLIB" && RANLIB=:
-_LT_DECL([], [RANLIB], [1],
-    [Commands used to install an old-style archive])
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
-  case $host_os in
-  openbsd*)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
-    ;;
-  *)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
-    ;;
-  esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-fi
-_LT_DECL([], [old_postinstall_cmds], [2])
-_LT_DECL([], [old_postuninstall_cmds], [2])
-_LT_TAGDECL([], [old_archive_cmds], [2],
-    [Commands used to build an old-style archive])
-])# _LT_CMD_OLD_ARCHIVE
-
-
-# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
-#		[OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
-# ----------------------------------------------------------------
-# Check whether the given compiler option works
-AC_DEFUN([_LT_COMPILER_OPTION],
-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_SED])dnl
-AC_CACHE_CHECK([$1], [$2],
-  [$2=no
-   m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="$3"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&AS_MESSAGE_LOG_FD
-   echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       $2=yes
-     fi
-   fi
-   $RM conftest*
-])
-
-if test x"[$]$2" = xyes; then
-    m4_if([$5], , :, [$5])
-else
-    m4_if([$6], , :, [$6])
-fi
-])# _LT_COMPILER_OPTION
-
-# Old name:
-AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
-
-
-# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
-#                  [ACTION-SUCCESS], [ACTION-FAILURE])
-# ----------------------------------------------------
-# Check whether the given linker option works
-AC_DEFUN([_LT_LINKER_OPTION],
-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_SED])dnl
-AC_CACHE_CHECK([$1], [$2],
-  [$2=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS $3"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&AS_MESSAGE_LOG_FD
-       $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         $2=yes
-       fi
-     else
-       $2=yes
-     fi
-   fi
-   $RM -r conftest*
-   LDFLAGS="$save_LDFLAGS"
-])
-
-if test x"[$]$2" = xyes; then
-    m4_if([$4], , :, [$4])
-else
-    m4_if([$5], , :, [$5])
-fi
-])# _LT_LINKER_OPTION
-
-# Old name:
-AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
-
-
-# LT_CMD_MAX_LEN
-#---------------
-AC_DEFUN([LT_CMD_MAX_LEN],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-# find the maximum length of command line arguments
-AC_MSG_CHECKING([the maximum length of command line arguments])
-AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
-  i=0
-  teststring="ABCD"
-
-  case $build_os in
-  msdosdjgpp*)
-    # On DJGPP, this test can blow up pretty badly due to problems in libc
-    # (any single argument exceeding 2000 bytes causes a buffer overrun
-    # during glob expansion).  Even if it were fixed, the result of this
-    # check would be larger than it should be.
-    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
-    ;;
-
-  gnu*)
-    # Under GNU Hurd, this test is not required because there is
-    # no limit to the length of command line arguments.
-    # Libtool will interpret -1 as no limit whatsoever
-    lt_cv_sys_max_cmd_len=-1;
-    ;;
-
-  cygwin* | mingw* | cegcc*)
-    # On Win9x/ME, this test blows up -- it succeeds, but takes
-    # about 5 minutes as the teststring grows exponentially.
-    # Worse, since 9x/ME are not pre-emptively multitasking,
-    # you end up with a "frozen" computer, even though with patience
-    # the test eventually succeeds (with a max line length of 256k).
-    # Instead, let's just punt: use the minimum linelength reported by
-    # all of the supported platforms: 8192 (on NT/2K/XP).
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  amigaos*)
-    # On AmigaOS with pdksh, this test takes hours, literally.
-    # So we just punt and use a minimum line length of 8192.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
-    # This has been around since 386BSD, at least.  Likely further.
-    if test -x /sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
-    elif test -x /usr/sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
-    else
-      lt_cv_sys_max_cmd_len=65536	# usable default for all BSDs
-    fi
-    # And add a safety zone
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    ;;
-
-  interix*)
-    # We know the value 262144 and hardcode it with a safety zone (like BSD)
-    lt_cv_sys_max_cmd_len=196608
-    ;;
-
-  osf*)
-    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
-    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
-    # nice to cause kernel panics so lets avoid the loop below.
-    # First set a reasonable default.
-    lt_cv_sys_max_cmd_len=16384
-    #
-    if test -x /sbin/sysconfig; then
-      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
-        *1*) lt_cv_sys_max_cmd_len=-1 ;;
-      esac
-    fi
-    ;;
-  sco3.2v5*)
-    lt_cv_sys_max_cmd_len=102400
-    ;;
-  sysv5* | sco5v6* | sysv4.2uw2*)
-    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
-    if test -n "$kargmax"; then
-      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[	 ]]//'`
-    else
-      lt_cv_sys_max_cmd_len=32768
-    fi
-    ;;
-  *)
-    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
-    if test -n "$lt_cv_sys_max_cmd_len"; then
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    else
-      # Make teststring a little bigger before we do anything with it.
-      # a 1K string should be a reasonable start.
-      for i in 1 2 3 4 5 6 7 8 ; do
-        teststring=$teststring$teststring
-      done
-      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
-      # If test is not a shell built-in, we'll probably end up computing a
-      # maximum length that is only half of the actual maximum length, but
-      # we can't tell.
-      while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
-	         = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
-	      test $i != 17 # 1/2 MB should be enough
-      do
-        i=`expr $i + 1`
-        teststring=$teststring$teststring
-      done
-      # Only check the string length outside the loop.
-      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
-      teststring=
-      # Add a significant safety factor because C++ compilers can tack on
-      # massive amounts of additional arguments before passing them to the
-      # linker.  It appears as though 1/2 is a usable value.
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
-    fi
-    ;;
-  esac
-])
-if test -n $lt_cv_sys_max_cmd_len ; then
-  AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
-else
-  AC_MSG_RESULT(none)
-fi
-max_cmd_len=$lt_cv_sys_max_cmd_len
-_LT_DECL([], [max_cmd_len], [0],
-    [What is the maximum length of a command?])
-])# LT_CMD_MAX_LEN
-
-# Old name:
-AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
-
-
-# _LT_HEADER_DLFCN
-# ----------------
-m4_defun([_LT_HEADER_DLFCN],
-[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
-])# _LT_HEADER_DLFCN
-
-
-# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
-#                      ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
-# ----------------------------------------------------------------
-m4_defun([_LT_TRY_DLOPEN_SELF],
-[m4_require([_LT_HEADER_DLFCN])dnl
-if test "$cross_compiling" = yes; then :
-  [$4]
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<_LT_EOF
-[#line __oline__ "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL		RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL		DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL		0
-#  endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW		RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW		DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW	RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW	DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW	0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
-
-void fnord() { int i=42;}
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
-
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-  return status;
-}]
-_LT_EOF
-  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) $1 ;;
-      x$lt_dlneed_uscore) $2 ;;
-      x$lt_dlunknown|x*) $3 ;;
-    esac
-  else :
-    # compilation failed
-    $3
-  fi
-fi
-rm -fr conftest*
-])# _LT_TRY_DLOPEN_SELF
-
-
-# LT_SYS_DLOPEN_SELF
-# ------------------
-AC_DEFUN([LT_SYS_DLOPEN_SELF],
-[m4_require([_LT_HEADER_DLFCN])dnl
-if test "x$enable_dlopen" != xyes; then
-  enable_dlopen=unknown
-  enable_dlopen_self=unknown
-  enable_dlopen_self_static=unknown
-else
-  lt_cv_dlopen=no
-  lt_cv_dlopen_libs=
-
-  case $host_os in
-  beos*)
-    lt_cv_dlopen="load_add_on"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-    ;;
-
-  mingw* | pw32* | cegcc*)
-    lt_cv_dlopen="LoadLibrary"
-    lt_cv_dlopen_libs=
-    ;;
-
-  cygwin*)
-    lt_cv_dlopen="dlopen"
-    lt_cv_dlopen_libs=
-    ;;
-
-  darwin*)
-  # if libdl is installed we need to link against it
-    AC_CHECK_LIB([dl], [dlopen],
-		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
-    lt_cv_dlopen="dyld"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-    ])
-    ;;
-
-  *)
-    AC_CHECK_FUNC([shl_load],
-	  [lt_cv_dlopen="shl_load"],
-      [AC_CHECK_LIB([dld], [shl_load],
-	    [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
-	[AC_CHECK_FUNC([dlopen],
-	      [lt_cv_dlopen="dlopen"],
-	  [AC_CHECK_LIB([dl], [dlopen],
-		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
-	    [AC_CHECK_LIB([svld], [dlopen],
-		  [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
-	      [AC_CHECK_LIB([dld], [dld_link],
-		    [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
-	      ])
-	    ])
-	  ])
-	])
-      ])
-    ;;
-  esac
-
-  if test "x$lt_cv_dlopen" != xno; then
-    enable_dlopen=yes
-  else
-    enable_dlopen=no
-  fi
-
-  case $lt_cv_dlopen in
-  dlopen)
-    save_CPPFLAGS="$CPPFLAGS"
-    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
-    save_LDFLAGS="$LDFLAGS"
-    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
-    save_LIBS="$LIBS"
-    LIBS="$lt_cv_dlopen_libs $LIBS"
-
-    AC_CACHE_CHECK([whether a program can dlopen itself],
-	  lt_cv_dlopen_self, [dnl
-	  _LT_TRY_DLOPEN_SELF(
-	    lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
-	    lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
-    ])
-
-    if test "x$lt_cv_dlopen_self" = xyes; then
-      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
-      AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
-	  lt_cv_dlopen_self_static, [dnl
-	  _LT_TRY_DLOPEN_SELF(
-	    lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
-	    lt_cv_dlopen_self_static=no,  lt_cv_dlopen_self_static=cross)
-      ])
-    fi
-
-    CPPFLAGS="$save_CPPFLAGS"
-    LDFLAGS="$save_LDFLAGS"
-    LIBS="$save_LIBS"
-    ;;
-  esac
-
-  case $lt_cv_dlopen_self in
-  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
-  *) enable_dlopen_self=unknown ;;
-  esac
-
-  case $lt_cv_dlopen_self_static in
-  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
-  *) enable_dlopen_self_static=unknown ;;
-  esac
-fi
-_LT_DECL([dlopen_support], [enable_dlopen], [0],
-	 [Whether dlopen is supported])
-_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
-	 [Whether dlopen of programs is supported])
-_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
-	 [Whether dlopen of statically linked programs is supported])
-])# LT_SYS_DLOPEN_SELF
-
-# Old name:
-AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
-
-
-# _LT_COMPILER_C_O([TAGNAME])
-# ---------------------------
-# Check to see if options -c and -o are simultaneously supported by compiler.
-# This macro does not hard code the compiler like AC_PROG_CC_C_O.
-m4_defun([_LT_COMPILER_C_O],
-[m4_require([_LT_DECL_SED])dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_TAG_COMPILER])dnl
-AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
-  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
-  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&AS_MESSAGE_LOG_FD
-   echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
-     fi
-   fi
-   chmod u+w . 2>&AS_MESSAGE_LOG_FD
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
-])
-_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
-	[Does compiler simultaneously support -c and -o options?])
-])# _LT_COMPILER_C_O
-
-
-# _LT_COMPILER_FILE_LOCKS([TAGNAME])
-# ----------------------------------
-# Check to see if we can do hard links to lock some files if needed
-m4_defun([_LT_COMPILER_FILE_LOCKS],
-[m4_require([_LT_ENABLE_LOCK])dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-_LT_COMPILER_C_O([$1])
-
-hard_links="nottested"
-if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
-  # do not overwrite the value of need_locks provided by the user
-  AC_MSG_CHECKING([if we can lock with hard links])
-  hard_links=yes
-  $RM conftest*
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  touch conftest.a
-  ln conftest.a conftest.b 2>&5 || hard_links=no
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  AC_MSG_RESULT([$hard_links])
-  if test "$hard_links" = no; then
-    AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
-    need_locks=warn
-  fi
-else
-  need_locks=no
-fi
-_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
-])# _LT_COMPILER_FILE_LOCKS
-
-
-# _LT_CHECK_OBJDIR
-# ----------------
-m4_defun([_LT_CHECK_OBJDIR],
-[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
-[rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
-  lt_cv_objdir=.libs
-else
-  # MS-DOS does not allow filenames that begin with a dot.
-  lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null])
-objdir=$lt_cv_objdir
-_LT_DECL([], [objdir], [0],
-         [The name of the directory that contains temporary libtool files])dnl
-m4_pattern_allow([LT_OBJDIR])dnl
-AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
-  [Define to the sub-directory in which libtool stores uninstalled libraries.])
-])# _LT_CHECK_OBJDIR
-
-
-# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
-# --------------------------------------
-# Check hardcoding attributes.
-m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
-[AC_MSG_CHECKING([how to hardcode library paths into programs])
-_LT_TAGVAR(hardcode_action, $1)=
-if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
-   test -n "$_LT_TAGVAR(runpath_var, $1)" ||
-   test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
-
-  # We can hardcode non-existent directories.
-  if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
-     # If the only mechanism to avoid hardcoding is shlibpath_var, we
-     # have to relink, otherwise we might link with an installed library
-     # when we should be linking with a yet-to-be-installed one
-     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
-     test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
-    # Linking always hardcodes the temporary library directory.
-    _LT_TAGVAR(hardcode_action, $1)=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    _LT_TAGVAR(hardcode_action, $1)=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  _LT_TAGVAR(hardcode_action, $1)=unsupported
-fi
-AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
-
-if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
-   test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
-     test "$enable_shared" = no; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
-fi
-_LT_TAGDECL([], [hardcode_action], [0],
-    [How to hardcode a shared library path into an executable])
-])# _LT_LINKER_HARDCODE_LIBPATH
-
-
-# _LT_CMD_STRIPLIB
-# ----------------
-m4_defun([_LT_CMD_STRIPLIB],
-[m4_require([_LT_DECL_EGREP])
-striplib=
-old_striplib=
-AC_MSG_CHECKING([whether stripping libraries is possible])
-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
-  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
-  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
-  AC_MSG_RESULT([yes])
-else
-# FIXME - insert some real tests, host_os isn't really good enough
-  case $host_os in
-  darwin*)
-    if test -n "$STRIP" ; then
-      striplib="$STRIP -x"
-      old_striplib="$STRIP -S"
-      AC_MSG_RESULT([yes])
-    else
-      AC_MSG_RESULT([no])
-    fi
-    ;;
-  *)
-    AC_MSG_RESULT([no])
-    ;;
-  esac
-fi
-_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
-_LT_DECL([], [striplib], [1])
-])# _LT_CMD_STRIPLIB
-
-
-# _LT_SYS_DYNAMIC_LINKER([TAG])
-# -----------------------------
-# PORTME Fill in your ld.so characteristics
-m4_defun([_LT_SYS_DYNAMIC_LINKER],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-m4_require([_LT_DECL_EGREP])dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_OBJDUMP])dnl
-m4_require([_LT_DECL_SED])dnl
-AC_MSG_CHECKING([dynamic linker characteristics])
-m4_if([$1],
-	[], [
-if test "$GCC" = yes; then
-  case $host_os in
-    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
-    *) lt_awk_arg="/^libraries:/" ;;
-  esac
-  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-  if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
-    # if the path contains ";" then we assume it to be the separator
-    # otherwise default to the standard path separator (i.e. ":") - it is
-    # assumed that no part of a normal pathname contains ";" but that should
-    # okay in the real world where ";" in dirpaths is itself problematic.
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
-  else
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
-  fi
-  # Ok, now we have the path, separated by spaces, we can step through it
-  # and add multilib dir if necessary.
-  lt_tmp_lt_search_path_spec=
-  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
-  for lt_sys_path in $lt_search_path_spec; do
-    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
-      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
-    else
-      test -d "$lt_sys_path" && \
-	lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
-    fi
-  done
-  lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
-BEGIN {RS=" "; FS="/|\n";} {
-  lt_foo="";
-  lt_count=0;
-  for (lt_i = NF; lt_i > 0; lt_i--) {
-    if ($lt_i != "" && $lt_i != ".") {
-      if ($lt_i == "..") {
-        lt_count++;
-      } else {
-        if (lt_count == 0) {
-          lt_foo="/" $lt_i lt_foo;
-        } else {
-          lt_count--;
-        }
-      }
-    }
-  }
-  if (lt_foo != "") { lt_freq[[lt_foo]]++; }
-  if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
-}'`
-  sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
-else
-  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi])
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
-  shlibpath_var=LIBPATH
-
-  # AIX 3 has no versioning support, so we append a major version to the name.
-  soname_spec='${libname}${release}${shared_ext}$major'
-  ;;
-
-aix[[4-9]]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  hardcode_into_libs=yes
-  if test "$host_cpu" = ia64; then
-    # AIX 5 supports IA64
-    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
-    shlibpath_var=LD_LIBRARY_PATH
-  else
-    # With GCC up to 2.95.x, collect2 would create an import file
-    # for dependence libraries.  The import file would start with
-    # the line `#! .'.  This would cause the generated library to
-    # depend on `.', always an invalid library.  This was fixed in
-    # development snapshots of GCC prior to 3.0.
-    case $host_os in
-      aix4 | aix4.[[01]] | aix4.[[01]].*)
-      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
-	   echo ' yes '
-	   echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
-	:
-      else
-	can_build_shared=no
-      fi
-      ;;
-    esac
-    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
-    # soname into executable. Probably we can add versioning support to
-    # collect2, so additional links can be useful in future.
-    if test "$aix_use_runtimelinking" = yes; then
-      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
-      # instead of lib<name>.a to let people know that these are not
-      # typical AIX shared libraries.
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    else
-      # We preserve .a as extension for shared libraries through AIX4.2
-      # and later when we are not doing run time linking.
-      library_names_spec='${libname}${release}.a $libname.a'
-      soname_spec='${libname}${release}${shared_ext}$major'
-    fi
-    shlibpath_var=LIBPATH
-  fi
-  ;;
-
-amigaos*)
-  case $host_cpu in
-  powerpc)
-    # Since July 2007 AmigaOS4 officially supports .so libraries.
-    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    ;;
-  m68k)
-    library_names_spec='$libname.ixlibrary $libname.a'
-    # Create ${libname}_ixlibrary.a entries in /sys/libs.
-    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
-    ;;
-  esac
-  ;;
-
-beos*)
-  library_names_spec='${libname}${shared_ext}'
-  dynamic_linker="$host_os ld.so"
-  shlibpath_var=LIBRARY_PATH
-  ;;
-
-bsdi[[45]]*)
-  version_type=linux
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
-  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
-  # the default ld.so.conf also contains /usr/contrib/lib and
-  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
-  # libtool to hard-code these into programs
-  ;;
-
-cygwin* | mingw* | pw32* | cegcc*)
-  version_type=windows
-  shrext_cmds=".dll"
-  need_version=no
-  need_lib_prefix=no
-
-  case $GCC,$host_os in
-  yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
-    library_names_spec='$libname.dll.a'
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname~
-      chmod a+x \$dldir/$dlname~
-      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
-        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
-      fi'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $RM \$dlpath'
-    shlibpath_overrides_runpath=yes
-
-    case $host_os in
-    cygwin*)
-      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
-      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
-      ;;
-    mingw* | cegcc*)
-      # MinGW DLLs use traditional 'lib' prefix
-      soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-      if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
-        # It is most probably a Windows format PATH printed by
-        # mingw gcc, but we are running on Cygwin. Gcc prints its search
-        # path with ; separators, and with drive letters. We can handle the
-        # drive letters (cygwin fileutils understands them), so leave them,
-        # especially as we might pass files found there to a mingw objdump,
-        # which wouldn't understand a cygwinified path. Ahh.
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
-      else
-        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
-      fi
-      ;;
-    pw32*)
-      # pw32 DLLs use 'pw' prefix rather than 'lib'
-      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
-      ;;
-    esac
-    ;;
-
-  *)
-    library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
-    ;;
-  esac
-  dynamic_linker='Win32 ld.exe'
-  # FIXME: first we should search . and the directory the executable is in
-  shlibpath_var=PATH
-  ;;
-
-darwin* | rhapsody*)
-  dynamic_linker="$host_os dyld"
-  version_type=darwin
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
-  soname_spec='${libname}${release}${major}$shared_ext'
-  shlibpath_overrides_runpath=yes
-  shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-m4_if([$1], [],[
-  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
-  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
-  ;;
-
-dgux*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-freebsd1*)
-  dynamic_linker=no
-  ;;
-
-freebsd* | dragonfly*)
-  # DragonFly does not have aout.  When/if they implement a new
-  # versioning mechanism, adjust this.
-  if test -x /usr/bin/objformat; then
-    objformat=`/usr/bin/objformat`
-  else
-    case $host_os in
-    freebsd[[123]]*) objformat=aout ;;
-    *) objformat=elf ;;
-    esac
-  fi
-  version_type=freebsd-$objformat
-  case $version_type in
-    freebsd-elf*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-      need_version=no
-      need_lib_prefix=no
-      ;;
-    freebsd-*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
-      need_version=yes
-      ;;
-  esac
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_os in
-  freebsd2*)
-    shlibpath_overrides_runpath=yes
-    ;;
-  freebsd3.[[01]]* | freebsdelf3.[[01]]*)
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
-  freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
-    shlibpath_overrides_runpath=no
-    hardcode_into_libs=yes
-    ;;
-  *) # from 4.6 on, and DragonFly
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  esac
-  ;;
-
-gnu*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  hardcode_into_libs=yes
-  ;;
-
-hpux9* | hpux10* | hpux11*)
-  # Give a soname corresponding to the major version so that dld.sl refuses to
-  # link against other versions.
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  case $host_cpu in
-  ia64*)
-    shrext_cmds='.so'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.so"
-    shlibpath_var=LD_LIBRARY_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    if test "X$HPUX_IA64_MODE" = X32; then
-      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
-    else
-      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
-    fi
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-  hppa*64*)
-    shrext_cmds='.sl'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-  *)
-    shrext_cmds='.sl'
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=SHLIB_PATH
-    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    ;;
-  esac
-  # HP-UX runs *really* slowly unless shared libraries are mode 555.
-  postinstall_cmds='chmod 555 $lib'
-  ;;
-
-interix[[3-9]]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $host_os in
-    nonstopux*) version_type=nonstopux ;;
-    *)
-	if test "$lt_cv_prog_gnu_ld" = yes; then
-		version_type=linux
-	else
-		version_type=irix
-	fi ;;
-  esac
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
-  case $host_os in
-  irix5* | nonstopux*)
-    libsuff= shlibsuff=
-    ;;
-  *)
-    case $LD in # libtool.m4 will add one of these switches to LD
-    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
-      libsuff= shlibsuff= libmagic=32-bit;;
-    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
-      libsuff=32 shlibsuff=N32 libmagic=N32;;
-    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
-      libsuff=64 shlibsuff=64 libmagic=64-bit;;
-    *) libsuff= shlibsuff= libmagic=never-match;;
-    esac
-    ;;
-  esac
-  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
-  shlibpath_overrides_runpath=no
-  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
-  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
-  hardcode_into_libs=yes
-  ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
-  dynamic_linker=no
-  ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  # Some binutils ld are patched to set DT_RUNPATH
-  save_LDFLAGS=$LDFLAGS
-  save_libdir=$libdir
-  eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
-       LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
-  AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
-    [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
-       [shlibpath_overrides_runpath=yes])])
-  LDFLAGS=$save_LDFLAGS
-  libdir=$save_libdir
-
-  # This implies no fast_install, which is unacceptable.
-  # Some rework will be needed to allow for fast_install
-  # before this can be enabled.
-  hardcode_into_libs=yes
-
-  # Add ABI-specific directories to the system library path.
-  sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
-
-  # Append ld.so.conf contents to the search path
-  if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[	 ]*hwcap[	 ]/d;s/[:,	]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
-  fi
-
-  # We used to test for /lib/ld.so.1 and disable shared libraries on
-  # powerpc, because MkLinux only supported shared libraries with the
-  # GNU dynamic linker.  Since this was broken with cross compilers,
-  # most powerpc-linux boxes support dynamic linking these days and
-  # people can always --disable-shared, the test was removed, and we
-  # assume the GNU/Linux dynamic linker is in use.
-  dynamic_linker='GNU/Linux ld.so'
-  ;;
-
-netbsd*)
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-    dynamic_linker='NetBSD (a.out) ld.so'
-  else
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    dynamic_linker='NetBSD ld.elf_so'
-  fi
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  ;;
-
-newsos6)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  ;;
-
-*nto* | *qnx*)
-  version_type=qnx
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='ldqnx.so'
-  ;;
-
-openbsd*)
-  version_type=sunos
-  sys_lib_dlsearch_path_spec="/usr/lib"
-  need_lib_prefix=no
-  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
-  case $host_os in
-    openbsd3.3 | openbsd3.3.*)	need_version=yes ;;
-    *)				need_version=no  ;;
-  esac
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    case $host_os in
-      openbsd2.[[89]] | openbsd2.[[89]].*)
-	shlibpath_overrides_runpath=no
-	;;
-      *)
-	shlibpath_overrides_runpath=yes
-	;;
-      esac
-  else
-    shlibpath_overrides_runpath=yes
-  fi
-  ;;
-
-os2*)
-  libname_spec='$name'
-  shrext_cmds=".dll"
-  need_lib_prefix=no
-  library_names_spec='$libname${shared_ext} $libname.a'
-  dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=LIBPATH
-  ;;
-
-osf3* | osf4* | osf5*)
-  version_type=osf
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
-  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
-  ;;
-
-rdos*)
-  dynamic_linker=no
-  ;;
-
-solaris*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  # ldd complains unless libraries are executable
-  postinstall_cmds='chmod +x $lib'
-  ;;
-
-sunos4*)
-  version_type=sunos
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  if test "$with_gnu_ld" = yes; then
-    need_lib_prefix=no
-  fi
-  need_version=yes
-  ;;
-
-sysv4 | sysv4.3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_vendor in
-    sni)
-      shlibpath_overrides_runpath=no
-      need_lib_prefix=no
-      runpath_var=LD_RUN_PATH
-      ;;
-    siemens)
-      need_lib_prefix=no
-      ;;
-    motorola)
-      need_lib_prefix=no
-      need_version=no
-      shlibpath_overrides_runpath=no
-      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
-      ;;
-  esac
-  ;;
-
-sysv4*MP*)
-  if test -d /usr/nec ;then
-    version_type=linux
-    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
-    soname_spec='$libname${shared_ext}.$major'
-    shlibpath_var=LD_LIBRARY_PATH
-  fi
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  version_type=freebsd-elf
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  if test "$with_gnu_ld" = yes; then
-    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
-  else
-    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
-    case $host_os in
-      sco3.2v5*)
-        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
-	;;
-    esac
-  fi
-  sys_lib_dlsearch_path_spec='/usr/lib'
-  ;;
-
-tpf*)
-  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-uts4*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-*)
-  dynamic_linker=no
-  ;;
-esac
-AC_MSG_RESULT([$dynamic_linker])
-test "$dynamic_linker" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
-  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
-  sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
-  sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-fi
-
-_LT_DECL([], [variables_saved_for_relink], [1],
-    [Variables whose values should be saved in libtool wrapper scripts and
-    restored at link time])
-_LT_DECL([], [need_lib_prefix], [0],
-    [Do we need the "lib" prefix for modules?])
-_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
-_LT_DECL([], [version_type], [0], [Library versioning type])
-_LT_DECL([], [runpath_var], [0],  [Shared library runtime path variable])
-_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
-_LT_DECL([], [shlibpath_overrides_runpath], [0],
-    [Is shlibpath searched before the hard-coded library search path?])
-_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
-_LT_DECL([], [library_names_spec], [1],
-    [[List of archive names.  First name is the real one, the rest are links.
-    The last name is the one that the linker finds with -lNAME]])
-_LT_DECL([], [soname_spec], [1],
-    [[The coded name of the library, if different from the real name]])
-_LT_DECL([], [postinstall_cmds], [2],
-    [Command to use after installation of a shared archive])
-_LT_DECL([], [postuninstall_cmds], [2],
-    [Command to use after uninstallation of a shared archive])
-_LT_DECL([], [finish_cmds], [2],
-    [Commands used to finish a libtool library installation in a directory])
-_LT_DECL([], [finish_eval], [1],
-    [[As "finish_cmds", except a single script fragment to be evaled but
-    not shown]])
-_LT_DECL([], [hardcode_into_libs], [0],
-    [Whether we should hardcode library paths into libraries])
-_LT_DECL([], [sys_lib_search_path_spec], [2],
-    [Compile-time system search path for libraries])
-_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
-    [Run-time system search path for libraries])
-])# _LT_SYS_DYNAMIC_LINKER
-
-
-# _LT_PATH_TOOL_PREFIX(TOOL)
-# --------------------------
-# find a file program which can recognize shared library
-AC_DEFUN([_LT_PATH_TOOL_PREFIX],
-[m4_require([_LT_DECL_EGREP])dnl
-AC_MSG_CHECKING([for $1])
-AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
-[case $MAGIC_CMD in
-[[\\/*] |  ?:[\\/]*])
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-dnl $ac_dummy forces splitting on constant user-supplied paths.
-dnl POSIX.2 word splitting is done only on the output of word expansions,
-dnl not every word.  This closes a longstanding sh security hole.
-  ac_dummy="m4_if([$2], , $PATH, [$2])"
-  for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$1; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/$1"
-      if test -n "$file_magic_test_file"; then
-	case $deplibs_check_method in
-	"file_magic "*)
-	  file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-	  MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-	  if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-	    $EGREP "$file_magic_regex" > /dev/null; then
-	    :
-	  else
-	    cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
-	  fi ;;
-	esac
-      fi
-      break
-    fi
-  done
-  IFS="$lt_save_ifs"
-  MAGIC_CMD="$lt_save_MAGIC_CMD"
-  ;;
-esac])
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
-  AC_MSG_RESULT($MAGIC_CMD)
-else
-  AC_MSG_RESULT(no)
-fi
-_LT_DECL([], [MAGIC_CMD], [0],
-	 [Used to examine libraries when file_magic_cmd begins with "file"])dnl
-])# _LT_PATH_TOOL_PREFIX
-
-# Old name:
-AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
-
-
-# _LT_PATH_MAGIC
-# --------------
-# find a file program which can recognize a shared library
-m4_defun([_LT_PATH_MAGIC],
-[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
-if test -z "$lt_cv_path_MAGIC_CMD"; then
-  if test -n "$ac_tool_prefix"; then
-    _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
-  else
-    MAGIC_CMD=:
-  fi
-fi
-])# _LT_PATH_MAGIC
-
-
-# LT_PATH_LD
-# ----------
-# find the pathname to the GNU or non-GNU linker
-AC_DEFUN([LT_PATH_LD],
-[AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-m4_require([_LT_DECL_SED])dnl
-m4_require([_LT_DECL_EGREP])dnl
-
-AC_ARG_WITH([gnu-ld],
-    [AS_HELP_STRING([--with-gnu-ld],
-	[assume the C compiler uses GNU ld @<:@default=no@:>@])],
-    [test "$withval" = no || with_gnu_ld=yes],
-    [with_gnu_ld=no])dnl
-
-ac_prog=ld
-if test "$GCC" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  AC_MSG_CHECKING([for ld used by $CC])
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [[\\/]]* | ?:[[\\/]]*)
-      re_direlt='/[[^/]][[^/]]*/\.\./'
-      # Canonicalize the pathname of ld
-      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
-      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
-	ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-elif test "$with_gnu_ld" = yes; then
-  AC_MSG_CHECKING([for GNU ld])
-else
-  AC_MSG_CHECKING([for non-GNU ld])
-fi
-AC_CACHE_VAL(lt_cv_path_LD,
-[if test -z "$LD"; then
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  for ac_dir in $PATH; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      lt_cv_path_LD="$ac_dir/$ac_prog"
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some variants of GNU ld only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
-      *GNU* | *'with BFD'*)
-	test "$with_gnu_ld" != no && break
-	;;
-      *)
-	test "$with_gnu_ld" != yes && break
-	;;
-      esac
-    fi
-  done
-  IFS="$lt_save_ifs"
-else
-  lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi])
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
-  AC_MSG_RESULT($LD)
-else
-  AC_MSG_RESULT(no)
-fi
-test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
-_LT_PATH_LD_GNU
-AC_SUBST([LD])
-
-_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
-])# LT_PATH_LD
-
-# Old names:
-AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
-AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AM_PROG_LD], [])
-dnl AC_DEFUN([AC_PROG_LD], [])
-
-
-# _LT_PATH_LD_GNU
-#- --------------
-m4_defun([_LT_PATH_LD_GNU],
-[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
-[# I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
-  lt_cv_prog_gnu_ld=yes
-  ;;
-*)
-  lt_cv_prog_gnu_ld=no
-  ;;
-esac])
-with_gnu_ld=$lt_cv_prog_gnu_ld
-])# _LT_PATH_LD_GNU
-
-
-# _LT_CMD_RELOAD
-# --------------
-# find reload flag for linker
-#   -- PORTME Some linkers may need a different reload flag.
-m4_defun([_LT_CMD_RELOAD],
-[AC_CACHE_CHECK([for $LD option to reload object files],
-  lt_cv_ld_reload_flag,
-  [lt_cv_ld_reload_flag='-r'])
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
-  darwin*)
-    if test "$GCC" = yes; then
-      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-    else
-      reload_cmds='$LD$reload_flag -o $output$reload_objs'
-    fi
-    ;;
-esac
-_LT_DECL([], [reload_flag], [1], [How to create reloadable object files])dnl
-_LT_DECL([], [reload_cmds], [2])dnl
-])# _LT_CMD_RELOAD
-
-
-# _LT_CHECK_MAGIC_METHOD
-# ----------------------
-# how to check for library dependencies
-#  -- PORTME fill in with the dynamic library characteristics
-m4_defun([_LT_CHECK_MAGIC_METHOD],
-[m4_require([_LT_DECL_EGREP])
-m4_require([_LT_DECL_OBJDUMP])
-AC_CACHE_CHECK([how to recognize dependent libraries],
-lt_cv_deplibs_check_method,
-[lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix[[4-9]]*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-beos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-bsdi[[45]]*)
-  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
-  lt_cv_file_magic_cmd='/usr/bin/file -L'
-  lt_cv_file_magic_test_file=/shlib/libc.so
-  ;;
-
-cygwin*)
-  # func_win32_libid is a shell function defined in ltmain.sh
-  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-  lt_cv_file_magic_cmd='func_win32_libid'
-  ;;
-
-mingw* | pw32*)
-  # Base MSYS/MinGW do not provide the 'file' command needed by
-  # func_win32_libid shell function, so use a weaker test based on 'objdump',
-  # unless we find 'file', for example because we are cross-compiling.
-  if ( file / ) >/dev/null 2>&1; then
-    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-    lt_cv_file_magic_cmd='func_win32_libid'
-  else
-    lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
-    lt_cv_file_magic_cmd='$OBJDUMP -f'
-  fi
-  ;;
-
-cegcc)
-  # use the weaker test based on 'objdump'. See mingw*.
-  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
-  lt_cv_file_magic_cmd='$OBJDUMP -f'
-  ;;
-
-darwin* | rhapsody*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-freebsd* | dragonfly*)
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-    case $host_cpu in
-    i*86 )
-      # Not sure whether the presence of OpenBSD here was a mistake.
-      # Let's accept both of them until this is cleared up.
-      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
-      lt_cv_file_magic_cmd=/usr/bin/file
-      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
-      ;;
-    esac
-  else
-    lt_cv_deplibs_check_method=pass_all
-  fi
-  ;;
-
-gnu*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-hpux10.20* | hpux11*)
-  lt_cv_file_magic_cmd=/usr/bin/file
-  case $host_cpu in
-  ia64*)
-    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
-    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
-    ;;
-  hppa*64*)
-    [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]']
-    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
-    ;;
-  *)
-    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
-    lt_cv_file_magic_test_file=/usr/lib/libc.sl
-    ;;
-  esac
-  ;;
-
-interix[[3-9]]*)
-  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
-  lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $LD in
-  *-32|*"-32 ") libmagic=32-bit;;
-  *-n32|*"-n32 ") libmagic=N32;;
-  *-64|*"-64 ") libmagic=64-bit;;
-  *) libmagic=never-match;;
-  esac
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-netbsd*)
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
-  fi
-  ;;
-
-newos6*)
-  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
-  lt_cv_file_magic_cmd=/usr/bin/file
-  lt_cv_file_magic_test_file=/usr/lib/libnls.so
-  ;;
-
-*nto* | *qnx*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-openbsd*)
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
-  fi
-  ;;
-
-osf3* | osf4* | osf5*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-rdos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-solaris*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-sysv4 | sysv4.3*)
-  case $host_vendor in
-  motorola)
-    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
-    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
-    ;;
-  ncr)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  sequent)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
-    ;;
-  sni)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
-    lt_cv_file_magic_test_file=/lib/libc.so
-    ;;
-  siemens)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  pc)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  esac
-  ;;
-
-tpf*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-esac
-])
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-
-_LT_DECL([], [deplibs_check_method], [1],
-    [Method to check whether dependent libraries are shared objects])
-_LT_DECL([], [file_magic_cmd], [1],
-    [Command to use when deplibs_check_method == "file_magic"])
-])# _LT_CHECK_MAGIC_METHOD
-
-
-# LT_PATH_NM
-# ----------
-# find the pathname to a BSD- or MS-compatible name lister
-AC_DEFUN([LT_PATH_NM],
-[AC_REQUIRE([AC_PROG_CC])dnl
-AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
-[if test -n "$NM"; then
-  # Let the user override the test.
-  lt_cv_path_NM="$NM"
-else
-  lt_nm_to_check="${ac_tool_prefix}nm"
-  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
-    lt_nm_to_check="$lt_nm_to_check nm"
-  fi
-  for lt_tmp_nm in $lt_nm_to_check; do
-    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
-      IFS="$lt_save_ifs"
-      test -z "$ac_dir" && ac_dir=.
-      tmp_nm="$ac_dir/$lt_tmp_nm"
-      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
-	# Check to see if the nm accepts a BSD-compat flag.
-	# Adding the `sed 1q' prevents false positives on HP-UX, which says:
-	#   nm: unknown option "B" ignored
-	# Tru64's nm complains that /dev/null is an invalid object file
-	case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
-	*/dev/null* | *'Invalid file or object type'*)
-	  lt_cv_path_NM="$tmp_nm -B"
-	  break
-	  ;;
-	*)
-	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
-	  */dev/null*)
-	    lt_cv_path_NM="$tmp_nm -p"
-	    break
-	    ;;
-	  *)
-	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
-	    continue # so that we can try to find one that supports BSD flags
-	    ;;
-	  esac
-	  ;;
-	esac
-      fi
-    done
-    IFS="$lt_save_ifs"
-  done
-  : ${lt_cv_path_NM=no}
-fi])
-if test "$lt_cv_path_NM" != "no"; then
-  NM="$lt_cv_path_NM"
-else
-  # Didn't find any BSD compatible name lister, look for dumpbin.
-  AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :)
-  AC_SUBST([DUMPBIN])
-  if test "$DUMPBIN" != ":"; then
-    NM="$DUMPBIN"
-  fi
-fi
-test -z "$NM" && NM=nm
-AC_SUBST([NM])
-_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
-
-AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
-  [lt_cv_nm_interface="BSD nm"
-  echo "int some_variable = 0;" > conftest.$ac_ext
-  (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
-  (eval "$ac_compile" 2>conftest.err)
-  cat conftest.err >&AS_MESSAGE_LOG_FD
-  (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
-  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
-  cat conftest.err >&AS_MESSAGE_LOG_FD
-  (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD)
-  cat conftest.out >&AS_MESSAGE_LOG_FD
-  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
-    lt_cv_nm_interface="MS dumpbin"
-  fi
-  rm -f conftest*])
-])# LT_PATH_NM
-
-# Old names:
-AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
-AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AM_PROG_NM], [])
-dnl AC_DEFUN([AC_PROG_NM], [])
-
-
-# LT_LIB_M
-# --------
-# check for math library
-AC_DEFUN([LT_LIB_M],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-LIBM=
-case $host in
-*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
-  # These system don't have libm, or don't need it
-  ;;
-*-ncr-sysv4.3*)
-  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
-  AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
-  ;;
-*)
-  AC_CHECK_LIB(m, cos, LIBM="-lm")
-  ;;
-esac
-AC_SUBST([LIBM])
-])# LT_LIB_M
-
-# Old name:
-AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_CHECK_LIBM], [])
-
-
-# _LT_COMPILER_NO_RTTI([TAGNAME])
-# -------------------------------
-m4_defun([_LT_COMPILER_NO_RTTI],
-[m4_require([_LT_TAG_COMPILER])dnl
-
-_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
-
-if test "$GCC" = yes; then
-  _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
-
-  _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
-    lt_cv_prog_compiler_rtti_exceptions,
-    [-fno-rtti -fno-exceptions], [],
-    [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
-fi
-_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
-	[Compiler flag to turn off builtin functions])
-])# _LT_COMPILER_NO_RTTI
-
-
-# _LT_CMD_GLOBAL_SYMBOLS
-# ----------------------
-m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([LT_PATH_NM])dnl
-AC_REQUIRE([LT_PATH_LD])dnl
-m4_require([_LT_DECL_SED])dnl
-m4_require([_LT_DECL_EGREP])dnl
-m4_require([_LT_TAG_COMPILER])dnl
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-AC_MSG_CHECKING([command to parse $NM output from $compiler object])
-AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
-[
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[[BCDEGRST]]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
-
-# Define system-specific variables.
-case $host_os in
-aix*)
-  symcode='[[BCDT]]'
-  ;;
-cygwin* | mingw* | pw32* | cegcc*)
-  symcode='[[ABCDGISTW]]'
-  ;;
-hpux*)
-  if test "$host_cpu" = ia64; then
-    symcode='[[ABCDEGRST]]'
-  fi
-  ;;
-irix* | nonstopux*)
-  symcode='[[BCDEGRST]]'
-  ;;
-osf*)
-  symcode='[[BCDEGQRST]]'
-  ;;
-solaris*)
-  symcode='[[BDRT]]'
-  ;;
-sco3.2v5*)
-  symcode='[[DT]]'
-  ;;
-sysv4.2uw2*)
-  symcode='[[DT]]'
-  ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
-  symcode='[[ABDT]]'
-  ;;
-sysv4)
-  symcode='[[DFNSTU]]'
-  ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
-  symcode='[[ABCDGIRSTW]]' ;;
-esac
-
-# Transform an extracted symbol line into a proper C declaration.
-# Some systems (esp. on ia64) link data and code symbols differently,
-# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
-  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
-  ;;
-esac
-
-# Try without a prefix underscore, then with it.
-for ac_symprfx in "" "_"; do
-
-  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
-  symxfrm="\\1 $ac_symprfx\\2 \\2"
-
-  # Write the raw and C identifiers.
-  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-    # Fake it for dumpbin and say T for any non-static function
-    # and D for any global variable.
-    # Also find C++ and __fastcall symbols from MSVC++,
-    # which start with @ or ?.
-    lt_cv_sys_global_symbol_pipe="$AWK ['"\
-"     {last_section=section; section=\$ 3};"\
-"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
-"     \$ 0!~/External *\|/{next};"\
-"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
-"     {if(hide[section]) next};"\
-"     {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
-"     {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
-"     s[1]~/^[@?]/{print s[1], s[1]; next};"\
-"     s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
-"     ' prfx=^$ac_symprfx]"
-  else
-    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[	 ]]\($symcode$symcode*\)[[	 ]][[	 ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
-  fi
-
-  # Check to see that the pipe works correctly.
-  pipe_works=no
-
-  rm -f conftest*
-  cat > conftest.$ac_ext <<_LT_EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(void);
-void nm_test_func(void){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-_LT_EOF
-
-  if AC_TRY_EVAL(ac_compile); then
-    # Now try to grab the symbols.
-    nlist=conftest.nm
-    if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
-      # Try sorting and uniquifying the output.
-      if sort "$nlist" | uniq > "$nlist"T; then
-	mv -f "$nlist"T "$nlist"
-      else
-	rm -f "$nlist"T
-      fi
-
-      # Make sure that we snagged all the symbols we need.
-      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
-	if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
-	  cat <<_LT_EOF > conftest.$ac_ext
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_LT_EOF
-	  # Now generate the symbol file.
-	  eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
-
-	  cat <<_LT_EOF >> conftest.$ac_ext
-
-/* The mapping between symbol names and symbols.  */
-const struct {
-  const char *name;
-  void       *address;
-}
-lt__PROGRAM__LTX_preloaded_symbols[[]] =
-{
-  { "@PROGRAM@", (void *) 0 },
-_LT_EOF
-	  $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
-	  cat <<\_LT_EOF >> conftest.$ac_ext
-  {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
-  return lt__PROGRAM__LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-_LT_EOF
-	  # Now try linking the two files.
-	  mv conftest.$ac_objext conftstm.$ac_objext
-	  lt_save_LIBS="$LIBS"
-	  lt_save_CFLAGS="$CFLAGS"
-	  LIBS="conftstm.$ac_objext"
-	  CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
-	  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
-	    pipe_works=yes
-	  fi
-	  LIBS="$lt_save_LIBS"
-	  CFLAGS="$lt_save_CFLAGS"
-	else
-	  echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
-	fi
-      else
-	echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
-      fi
-    else
-      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
-    fi
-  else
-    echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
-    cat conftest.$ac_ext >&5
-  fi
-  rm -rf conftest* conftst*
-
-  # Do not use the global_symbol_pipe unless it works.
-  if test "$pipe_works" = yes; then
-    break
-  else
-    lt_cv_sys_global_symbol_pipe=
-  fi
-done
-])
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
-  lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
-  AC_MSG_RESULT(failed)
-else
-  AC_MSG_RESULT(ok)
-fi
-
-_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
-    [Take the output of nm and produce a listing of raw symbols and C names])
-_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
-    [Transform the output of nm in a proper C declaration])
-_LT_DECL([global_symbol_to_c_name_address],
-    [lt_cv_sys_global_symbol_to_c_name_address], [1],
-    [Transform the output of nm in a C name address pair])
-_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
-    [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
-    [Transform the output of nm in a C name address pair when lib prefix is needed])
-]) # _LT_CMD_GLOBAL_SYMBOLS
-
-
-# _LT_COMPILER_PIC([TAGNAME])
-# ---------------------------
-m4_defun([_LT_COMPILER_PIC],
-[m4_require([_LT_TAG_COMPILER])dnl
-_LT_TAGVAR(lt_prog_compiler_wl, $1)=
-_LT_TAGVAR(lt_prog_compiler_pic, $1)=
-_LT_TAGVAR(lt_prog_compiler_static, $1)=
-
-AC_MSG_CHECKING([for $compiler option to produce PIC])
-m4_if([$1], [CXX], [
-  # C++ specific cases for pic, static, wl, etc.
-  if test "$GXX" = yes; then
-    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-
-    case $host_os in
-    aix*)
-      # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
-	# AIX 5 now supports IA64 processor
-	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-        ;;
-      m68k)
-            # FIXME: we need at least 68020 code to build shared libraries, but
-            # adding the `-m68020' flag to GCC prevents building anything better,
-            # like `-m68040'.
-            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
-        ;;
-      esac
-      ;;
-
-    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
-    mingw* | cygwin* | os2* | pw32* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      # Although the cygwin gcc ignores -fPIC, still need this for old-style
-      # (--disable-auto-import) libraries
-      m4_if([$1], [GCJ], [],
-	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
-      ;;
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
-      ;;
-    *djgpp*)
-      # DJGPP does not support shared libraries at all
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)=
-      ;;
-    interix[[3-9]]*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
-      ;;
-    sysv4*MP*)
-      if test -d /usr/nec; then
-	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
-      fi
-      ;;
-    hpux*)
-      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
-      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
-      # sets the default TLS model and affects inlining.
-      case $host_cpu in
-      hppa*64*)
-	;;
-      *)
-	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-	;;
-      esac
-      ;;
-    *qnx* | *nto*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
-      ;;
-    *)
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-      ;;
-    esac
-  else
-    case $host_os in
-      aix[[4-9]]*)
-	# All AIX code is PIC.
-	if test "$host_cpu" = ia64; then
-	  # AIX 5 now supports IA64 processor
-	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	else
-	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
-	fi
-	;;
-      chorus*)
-	case $cc_basename in
-	cxch68*)
-	  # Green Hills C++ Compiler
-	  # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
-	  ;;
-	esac
-	;;
-      dgux*)
-	case $cc_basename in
-	  ec++*)
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	    ;;
-	  ghcx*)
-	    # Green Hills C++ Compiler
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      freebsd* | dragonfly*)
-	# FreeBSD uses GNU C++
-	;;
-      hpux9* | hpux10* | hpux11*)
-	case $cc_basename in
-	  CC*)
-	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
-	    if test "$host_cpu" != ia64; then
-	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
-	    fi
-	    ;;
-	  aCC*)
-	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
-	    case $host_cpu in
-	    hppa*64*|ia64*)
-	      # +Z the default
-	      ;;
-	    *)
-	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
-	      ;;
-	    esac
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      interix*)
-	# This is c89, which is MS Visual C++ (no shared libs)
-	# Anyone wants to do a port?
-	;;
-      irix5* | irix6* | nonstopux*)
-	case $cc_basename in
-	  CC*)
-	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-	    # CC pic flag -KPIC is the default.
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      linux* | k*bsd*-gnu)
-	case $cc_basename in
-	  KCC*)
-	    # KAI C++ Compiler
-	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-	    ;;
-	  ecpc* )
-	    # old Intel C++ for x86_64 which still supported -KPIC.
-	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-	    ;;
-	  icpc* )
-	    # Intel C++, used to be incompatible with GCC.
-	    # ICC 10 doesn't accept -KPIC any more.
-	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-	    ;;
-	  pgCC* | pgcpp*)
-	    # Portland Group C++ compiler
-	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
-	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	    ;;
-	  cxx*)
-	    # Compaq C++
-	    # Make sure the PIC flag is empty.  It appears that all Alpha
-	    # Linux and Compaq Tru64 Unix objects are PIC.
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
-	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-	    ;;
-	  xlc* | xlC*)
-	    # IBM XL 8.0 on PPC
-	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
-	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
-	    ;;
-	  *)
-	    case `$CC -V 2>&1 | sed 5q` in
-	    *Sun\ C*)
-	      # Sun C++ 5.9
-	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
-	      ;;
-	    esac
-	    ;;
-	esac
-	;;
-      lynxos*)
-	;;
-      m88k*)
-	;;
-      mvs*)
-	case $cc_basename in
-	  cxx*)
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      netbsd*)
-	;;
-      *qnx* | *nto*)
-        # QNX uses GNU C++, but need to define -shared option too, otherwise
-        # it will coredump.
-        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
-        ;;
-      osf3* | osf4* | osf5*)
-	case $cc_basename in
-	  KCC*)
-	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
-	    ;;
-	  RCC*)
-	    # Rational C++ 2.4.1
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-	    ;;
-	  cxx*)
-	    # Digital/Compaq C++
-	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    # Make sure the PIC flag is empty.  It appears that all Alpha
-	    # Linux and Compaq Tru64 Unix objects are PIC.
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
-	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      psos*)
-	;;
-      solaris*)
-	case $cc_basename in
-	  CC*)
-	    # Sun C++ 4.2, 5.x and Centerline C++
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
-	    ;;
-	  gcx*)
-	    # Green Hills C++ Compiler
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      sunos4*)
-	case $cc_basename in
-	  CC*)
-	    # Sun C++ 4.x
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	    ;;
-	  lcc*)
-	    # Lucid
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-	case $cc_basename in
-	  CC*)
-	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	    ;;
-	esac
-	;;
-      tandem*)
-	case $cc_basename in
-	  NCC*)
-	    # NonStop-UX NCC 3.20
-	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	    ;;
-	  *)
-	    ;;
-	esac
-	;;
-      vxworks*)
-	;;
-      *)
-	_LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
-	;;
-    esac
-  fi
-],
-[
-  if test "$GCC" = yes; then
-    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-
-    case $host_os in
-      aix*)
-      # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
-	# AIX 5 now supports IA64 processor
-	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-        ;;
-      m68k)
-            # FIXME: we need at least 68020 code to build shared libraries, but
-            # adding the `-m68020' flag to GCC prevents building anything better,
-            # like `-m68040'.
-            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
-        ;;
-      esac
-      ;;
-
-    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
-
-    mingw* | cygwin* | pw32* | os2* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      # Although the cygwin gcc ignores -fPIC, still need this for old-style
-      # (--disable-auto-import) libraries
-      m4_if([$1], [GCJ], [],
-	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
-      ;;
-
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
-      ;;
-
-    hpux*)
-      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
-      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
-      # sets the default TLS model and affects inlining.
-      case $host_cpu in
-      hppa*64*)
-	# +Z the default
-	;;
-      *)
-	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-	;;
-      esac
-      ;;
-
-    interix[[3-9]]*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
-      ;;
-
-    msdosdjgpp*)
-      # Just because we use GCC doesn't mean we suddenly get shared libraries
-      # on systems that don't support them.
-      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
-      enable_shared=no
-      ;;
-
-    *nto* | *qnx*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
-      fi
-      ;;
-
-    *)
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-      ;;
-    esac
-  else
-    # PORTME Check for flag to pass linker flags through the system compiler.
-    case $host_os in
-    aix*)
-      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      if test "$host_cpu" = ia64; then
-	# AIX 5 now supports IA64 processor
-	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      else
-	_LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
-      fi
-      ;;
-
-    mingw* | cygwin* | pw32* | os2* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      m4_if([$1], [GCJ], [],
-	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
-      ;;
-
-    hpux9* | hpux10* | hpux11*)
-      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-	# +Z the default
-	;;
-      *)
-	_LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
-	;;
-      esac
-      # Is there a better lt_prog_compiler_static that works with the bundled CC?
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      # PIC (with -KPIC) is the default.
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-      ;;
-
-    linux* | k*bsd*-gnu)
-      case $cc_basename in
-      # old Intel for x86_64 which still supported -KPIC.
-      ecc*)
-	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-        ;;
-      # icc used to be incompatible with GCC.
-      # ICC 10 doesn't accept -KPIC any more.
-      icc* | ifort*)
-	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
-        ;;
-      # Lahey Fortran 8.1.
-      lf95*)
-	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	_LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
-	_LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
-	;;
-      pgcc* | pgf77* | pgf90* | pgf95*)
-        # Portland Group compilers (*not* the Pentium gcc compiler,
-	# which looks to be a dead project)
-	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
-	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-        ;;
-      ccc*)
-        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-        # All Alpha code is PIC.
-        _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-        ;;
-      xl*)
-	# IBM XL C 8.0/Fortran 10.1 on PPC
-	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
-	_LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
-	;;
-      *)
-	case `$CC -V 2>&1 | sed 5q` in
-	*Sun\ C*)
-	  # Sun C 5.9
-	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-	  ;;
-	*Sun\ F*)
-	  # Sun Fortran 8.3 passes all unrecognized flags to the linker
-	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-	  _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
-	  ;;
-	esac
-	;;
-      esac
-      ;;
-
-    newsos6)
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    *nto* | *qnx*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
-      ;;
-
-    osf3* | osf4* | osf5*)
-      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      # All OSF/1 code is PIC.
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-      ;;
-
-    rdos*)
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-      ;;
-
-    solaris*)
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      case $cc_basename in
-      f77* | f90* | f95*)
-	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
-      *)
-	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
-      esac
-      ;;
-
-    sunos4*)
-      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    sysv4 | sysv4.2uw2* | sysv4.3*)
-      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec ;then
-	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
-	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      fi
-      ;;
-
-    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    unicos*)
-      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
-      ;;
-
-    uts4*)
-      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    *)
-      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
-      ;;
-    esac
-  fi
-])
-case $host_os in
-  # For platforms which do not support PIC, -DPIC is meaningless:
-  *djgpp*)
-    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
-    ;;
-  *)
-    _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
-    ;;
-esac
-AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
-_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
-	[How to pass a linker flag through the compiler])
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
-  _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
-    [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
-    [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
-    [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
-     "" | " "*) ;;
-     *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
-     esac],
-    [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
-     _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
-fi
-_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
-	[Additional compiler flags for building library objects])
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
-_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
-  _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
-  $lt_tmp_static_flag,
-  [],
-  [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
-_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
-	[Compiler flag to prevent dynamic linking])
-])# _LT_COMPILER_PIC
-
-
-# _LT_LINKER_SHLIBS([TAGNAME])
-# ----------------------------
-# See if the linker supports building shared libraries.
-m4_defun([_LT_LINKER_SHLIBS],
-[AC_REQUIRE([LT_PATH_LD])dnl
-AC_REQUIRE([LT_PATH_NM])dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_EGREP])dnl
-m4_require([_LT_DECL_SED])dnl
-m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
-m4_require([_LT_TAG_COMPILER])dnl
-AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
-m4_if([$1], [CXX], [
-  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  case $host_os in
-  aix[[4-9]]*)
-    # If we're using GNU nm, then we don't want the "-C" option.
-    # -C means demangle to AIX nm, but means don't demangle with GNU nm
-    if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-      _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-    else
-      _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-    fi
-    ;;
-  pw32*)
-    _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
-  ;;
-  cygwin* | mingw* | cegcc*)
-    _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
-  ;;
-  *)
-    _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  ;;
-  esac
-  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
-], [
-  runpath_var=
-  _LT_TAGVAR(allow_undefined_flag, $1)=
-  _LT_TAGVAR(always_export_symbols, $1)=no
-  _LT_TAGVAR(archive_cmds, $1)=
-  _LT_TAGVAR(archive_expsym_cmds, $1)=
-  _LT_TAGVAR(compiler_needs_object, $1)=no
-  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-  _LT_TAGVAR(export_dynamic_flag_spec, $1)=
-  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  _LT_TAGVAR(hardcode_automatic, $1)=no
-  _LT_TAGVAR(hardcode_direct, $1)=no
-  _LT_TAGVAR(hardcode_direct_absolute, $1)=no
-  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-  _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
-  _LT_TAGVAR(hardcode_libdir_separator, $1)=
-  _LT_TAGVAR(hardcode_minus_L, $1)=no
-  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-  _LT_TAGVAR(inherit_rpath, $1)=no
-  _LT_TAGVAR(link_all_deplibs, $1)=unknown
-  _LT_TAGVAR(module_cmds, $1)=
-  _LT_TAGVAR(module_expsym_cmds, $1)=
-  _LT_TAGVAR(old_archive_from_new_cmds, $1)=
-  _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
-  _LT_TAGVAR(thread_safe_flag_spec, $1)=
-  _LT_TAGVAR(whole_archive_flag_spec, $1)=
-  # include_expsyms should be a list of space-separated symbols to be *always*
-  # included in the symbol list
-  _LT_TAGVAR(include_expsyms, $1)=
-  # exclude_expsyms can be an extended regexp of symbols to exclude
-  # it will be wrapped by ` (' and `)$', so one must not match beginning or
-  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
-  # as well as any symbol that contains `d'.
-  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
-  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
-  # platforms (ab)use it in PIC code, but their linkers get confused if
-  # the symbol is explicitly referenced.  Since portable code cannot
-  # rely on this symbol name, it's probably fine to never include it in
-  # preloaded symbol tables.
-  # Exclude shared library initialization/finalization symbols.
-dnl Note also adjust exclude_expsyms for C++ above.
-  extract_expsyms_cmds=
-
-  case $host_os in
-  cygwin* | mingw* | pw32* | cegcc*)
-    # FIXME: the MSVC++ port hasn't been tested in a loooong time
-    # When not using gcc, we currently assume that we are using
-    # Microsoft Visual C++.
-    if test "$GCC" != yes; then
-      with_gnu_ld=no
-    fi
-    ;;
-  interix*)
-    # we just hope/assume this is gcc and not c89 (= MSVC++)
-    with_gnu_ld=yes
-    ;;
-  openbsd*)
-    with_gnu_ld=no
-    ;;
-  esac
-
-  _LT_TAGVAR(ld_shlibs, $1)=yes
-  if test "$with_gnu_ld" = yes; then
-    # If archive_cmds runs LD, not CC, wlarc should be empty
-    wlarc='${wl}'
-
-    # Set some defaults for GNU ld with shared library support. These
-    # are reset later if shared libraries are not supported. Putting them
-    # here allows them to be overridden if necessary.
-    runpath_var=LD_RUN_PATH
-    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-    # ancient GNU ld didn't support --whole-archive et. al.
-    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
-      _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-    else
-      _LT_TAGVAR(whole_archive_flag_spec, $1)=
-    fi
-    supports_anon_versioning=no
-    case `$LD -v 2>&1` in
-      *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
-      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
-      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
-      *\ 2.11.*) ;; # other 2.11 versions
-      *) supports_anon_versioning=yes ;;
-    esac
-
-    # See if GNU ld supports shared libraries.
-    case $host_os in
-    aix[[3-9]]*)
-      # On AIX/PPC, the GNU linker is very broken
-      if test "$host_cpu" != ia64; then
-	_LT_TAGVAR(ld_shlibs, $1)=no
-	cat <<_LT_EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support.  If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
-
-_LT_EOF
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-            _LT_TAGVAR(archive_expsym_cmds, $1)=''
-        ;;
-      m68k)
-            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-            _LT_TAGVAR(hardcode_minus_L, $1)=yes
-        ;;
-      esac
-      ;;
-
-    beos*)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-	# Joseph Beckenbach <jrb3@best.com> says some releases of gcc
-	# support --undefined.  This deserves some investigation.  FIXME
-	_LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      else
-	_LT_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    cygwin* | mingw* | pw32* | cegcc*)
-      # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
-      # as there is no search path for DLLs.
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-      _LT_TAGVAR(always_export_symbols, $1)=no
-      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-      _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
-
-      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
-        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-	# If the export-symbols file already is a .def file (1st line
-	# is EXPORTS), use it as is; otherwise, prepend...
-	_LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-	  cp $export_symbols $output_objdir/$soname.def;
-	else
-	  echo EXPORTS > $output_objdir/$soname.def;
-	  cat $export_symbols >> $output_objdir/$soname.def;
-	fi~
-	$CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-      else
-	_LT_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    interix[[3-9]]*)
-      _LT_TAGVAR(hardcode_direct, $1)=no
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-      # Instead, shared libraries are loaded at an image base (0x10000000 by
-      # default) and relocated if they conflict, which is a slow very memory
-      # consuming and fragmenting process.  To avoid this, we pick a random,
-      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      ;;
-
-    gnu* | linux* | tpf* | k*bsd*-gnu)
-      tmp_diet=no
-      if test "$host_os" = linux-dietlibc; then
-	case $cc_basename in
-	  diet\ *) tmp_diet=yes;;	# linux-dietlibc with static linking (!diet-dyn)
-	esac
-      fi
-      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
-	 && test "$tmp_diet" = no
-      then
-	tmp_addflag=
-	tmp_sharedflag='-shared'
-	case $cc_basename,$host_cpu in
-        pgcc*)				# Portland Group C compiler
-	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
-	  tmp_addflag=' $pic_flag'
-	  ;;
-	pgf77* | pgf90* | pgf95*)	# Portland Group f77 and f90 compilers
-	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
-	  tmp_addflag=' $pic_flag -Mnomain' ;;
-	ecc*,ia64* | icc*,ia64*)	# Intel C compiler on ia64
-	  tmp_addflag=' -i_dynamic' ;;
-	efc*,ia64* | ifort*,ia64*)	# Intel Fortran compiler on ia64
-	  tmp_addflag=' -i_dynamic -nofor_main' ;;
-	ifc* | ifort*)			# Intel Fortran compiler
-	  tmp_addflag=' -nofor_main' ;;
-	lf95*)				# Lahey Fortran 8.1
-	  _LT_TAGVAR(whole_archive_flag_spec, $1)=
-	  tmp_sharedflag='--shared' ;;
-	xl[[cC]]*)			# IBM XL C 8.0 on PPC (deal with xlf below)
-	  tmp_sharedflag='-qmkshrobj'
-	  tmp_addflag= ;;
-	esac
-	case `$CC -V 2>&1 | sed 5q` in
-	*Sun\ C*)			# Sun C 5.9
-	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
-	  _LT_TAGVAR(compiler_needs_object, $1)=yes
-	  tmp_sharedflag='-G' ;;
-	*Sun\ F*)			# Sun Fortran 8.3
-	  tmp_sharedflag='-G' ;;
-	esac
-	_LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
-        if test "x$supports_anon_versioning" = xyes; then
-          _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
-	    cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-	    echo "local: *; };" >> $output_objdir/$libname.ver~
-	    $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-        fi
-
-	case $cc_basename in
-	xlf*)
-	  # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
-	  _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
-	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-	  _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
-	  _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
-	  if test "x$supports_anon_versioning" = xyes; then
-	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
-	      cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-	      echo "local: *; };" >> $output_objdir/$libname.ver~
-	      $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
-	  fi
-	  ;;
-	esac
-      else
-        _LT_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    netbsd*)
-      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
-	wlarc=
-      else
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      fi
-      ;;
-
-    solaris*)
-      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
-	_LT_TAGVAR(ld_shlibs, $1)=no
-	cat <<_LT_EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
-      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-	_LT_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
-      case `$LD -v 2>&1` in
-        *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
-	_LT_TAGVAR(ld_shlibs, $1)=no
-	cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
-	;;
-	*)
-	  # For security reasons, it is highly recommended that you always
-	  # use absolute paths for naming shared libraries, and exclude the
-	  # DT_RUNPATH tag from executables and libraries.  But doing so
-	  # requires that you compile everything twice, which is a pain.
-	  if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-	  else
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	  fi
-	;;
-      esac
-      ;;
-
-    sunos4*)
-      _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      wlarc=
-      _LT_TAGVAR(hardcode_direct, $1)=yes
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    *)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-	_LT_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-    esac
-
-    if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
-      runpath_var=
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)=
-      _LT_TAGVAR(whole_archive_flag_spec, $1)=
-    fi
-  else
-    # PORTME fill in a description of your system's linker (not GNU ld)
-    case $host_os in
-    aix3*)
-      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-      _LT_TAGVAR(always_export_symbols, $1)=yes
-      _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
-      # Note: this linker hardcodes the directories in LIBPATH if there
-      # are no directories specified by -L.
-      _LT_TAGVAR(hardcode_minus_L, $1)=yes
-      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
-	# Neither direct hardcoding nor static linking is supported with a
-	# broken collect2.
-	_LT_TAGVAR(hardcode_direct, $1)=unsupported
-      fi
-      ;;
-
-    aix[[4-9]]*)
-      if test "$host_cpu" = ia64; then
-	# On IA64, the linker does run time linking by default, so we don't
-	# have to do anything special.
-	aix_use_runtimelinking=no
-	exp_sym_flag='-Bexport'
-	no_entry_flag=""
-      else
-	# If we're using GNU nm, then we don't want the "-C" option.
-	# -C means demangle to AIX nm, but means don't demangle with GNU nm
-	if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-	  _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-	else
-	  _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-	fi
-	aix_use_runtimelinking=no
-
-	# Test if we are trying to use run time linking or normal
-	# AIX style linking. If -brtl is somewhere in LDFLAGS, we
-	# need to do runtime linking.
-	case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
-	  for ld_flag in $LDFLAGS; do
-	  if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
-	    aix_use_runtimelinking=yes
-	    break
-	  fi
-	  done
-	  ;;
-	esac
-
-	exp_sym_flag='-bexport'
-	no_entry_flag='-bnoentry'
-      fi
-
-      # When large executables or shared objects are built, AIX ld can
-      # have problems creating the table of contents.  If linking a library
-      # or program results in "error TOC overflow" add -mminimal-toc to
-      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
-      _LT_TAGVAR(archive_cmds, $1)=''
-      _LT_TAGVAR(hardcode_direct, $1)=yes
-      _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
-      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
-      _LT_TAGVAR(link_all_deplibs, $1)=yes
-      _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
-
-      if test "$GCC" = yes; then
-	case $host_os in aix4.[[012]]|aix4.[[012]].*)
-	# We only want to do this on AIX 4.2 and lower, the check
-	# below for broken collect2 doesn't work under 4.3+
-	  collect2name=`${CC} -print-prog-name=collect2`
-	  if test -f "$collect2name" &&
-	   strings "$collect2name" | $GREP resolve_lib_name >/dev/null
-	  then
-	  # We have reworked collect2
-	  :
-	  else
-	  # We have old collect2
-	  _LT_TAGVAR(hardcode_direct, $1)=unsupported
-	  # It fails to find uninstalled libraries when the uninstalled
-	  # path is not listed in the libpath.  Setting hardcode_minus_L
-	  # to unsupported forces relinking
-	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
-	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-	  _LT_TAGVAR(hardcode_libdir_separator, $1)=
-	  fi
-	  ;;
-	esac
-	shared_flag='-shared'
-	if test "$aix_use_runtimelinking" = yes; then
-	  shared_flag="$shared_flag "'${wl}-G'
-	fi
-      else
-	# not using gcc
-	if test "$host_cpu" = ia64; then
-	# VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-	# chokes on -Wl,-G. The following line is correct:
-	  shared_flag='-G'
-	else
-	  if test "$aix_use_runtimelinking" = yes; then
-	    shared_flag='${wl}-G'
-	  else
-	    shared_flag='${wl}-bM:SRE'
-	  fi
-	fi
-      fi
-
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
-      # It seems that -bexpall does not export symbols beginning with
-      # underscore (_), so it is better to generate a list of symbols to export.
-      _LT_TAGVAR(always_export_symbols, $1)=yes
-      if test "$aix_use_runtimelinking" = yes; then
-	# Warning - without using the other runtime loading flags (-brtl),
-	# -berok will link without error, but may produce a broken library.
-	_LT_TAGVAR(allow_undefined_flag, $1)='-berok'
-        # Determine the default libpath from the value encoded in an
-        # empty executable.
-        _LT_SYS_MODULE_PATH_AIX
-        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-      else
-	if test "$host_cpu" = ia64; then
-	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
-	  _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
-	  _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
-	else
-	 # Determine the default libpath from the value encoded in an
-	 # empty executable.
-	 _LT_SYS_MODULE_PATH_AIX
-	 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-	  # Warning - without using the other run time loading flags,
-	  # -berok will link without error, but may produce a broken library.
-	  _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
-	  _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
-	  # Exported symbols can be pulled into shared objects from archives
-	  _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
-	  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
-	  # This is similar to how AIX traditionally builds its shared libraries.
-	  _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
-	fi
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-            _LT_TAGVAR(archive_expsym_cmds, $1)=''
-        ;;
-      m68k)
-            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-            _LT_TAGVAR(hardcode_minus_L, $1)=yes
-        ;;
-      esac
-      ;;
-
-    bsdi[[45]]*)
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
-      ;;
-
-    cygwin* | mingw* | pw32* | cegcc*)
-      # When not using gcc, we currently assume that we are using
-      # Microsoft Visual C++.
-      # hardcode_libdir_flag_spec is actually meaningless, as there is
-      # no search path for DLLs.
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
-      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-      # Tell ltmain to make .lib files, not .a files.
-      libext=lib
-      # Tell ltmain to make .dll files, not .so files.
-      shrext_cmds=".dll"
-      # FIXME: Setting linknames here is a bad hack.
-      _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
-      # The linker will automatically build a .lib file if we build a DLL.
-      _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
-      # FIXME: Should let the user specify the lib program.
-      _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
-      _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
-      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-      ;;
-
-    darwin* | rhapsody*)
-      _LT_DARWIN_LINKER_FEATURES($1)
-      ;;
-
-    dgux*)
-      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    freebsd1*)
-      _LT_TAGVAR(ld_shlibs, $1)=no
-      ;;
-
-    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
-    # support.  Future versions do this automatically, but an explicit c++rt0.o
-    # does not break anything, and helps significantly (at the cost of a little
-    # extra space).
-    freebsd2.2*)
-      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-      _LT_TAGVAR(hardcode_direct, $1)=yes
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2*)
-      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      _LT_TAGVAR(hardcode_direct, $1)=yes
-      _LT_TAGVAR(hardcode_minus_L, $1)=yes
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | dragonfly*)
-      _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-      _LT_TAGVAR(hardcode_direct, $1)=yes
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    hpux9*)
-      if test "$GCC" = yes; then
-	_LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      else
-	_LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      fi
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-      _LT_TAGVAR(hardcode_direct, $1)=yes
-
-      # hardcode_minus_L: Not really in the search PATH,
-      # but as the default location of the library.
-      _LT_TAGVAR(hardcode_minus_L, $1)=yes
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-      ;;
-
-    hpux10*)
-      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      if test "$with_gnu_ld" = no; then
-	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-	_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
-	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
-	_LT_TAGVAR(hardcode_direct, $1)=yes
-	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
-	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-	# hardcode_minus_L: Not really in the search PATH,
-	# but as the default location of the library.
-	_LT_TAGVAR(hardcode_minus_L, $1)=yes
-      fi
-      ;;
-
-    hpux11*)
-      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
-	case $host_cpu in
-	hppa*64*)
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	ia64*)
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	*)
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	esac
-      else
-	case $host_cpu in
-	hppa*64*)
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	ia64*)
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	*)
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	esac
-      fi
-      if test "$with_gnu_ld" = no; then
-	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	case $host_cpu in
-	hppa*64*|ia64*)
-	  _LT_TAGVAR(hardcode_direct, $1)=no
-	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-	  ;;
-	*)
-	  _LT_TAGVAR(hardcode_direct, $1)=yes
-	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
-	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-
-	  # hardcode_minus_L: Not really in the search PATH,
-	  # but as the default location of the library.
-	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
-	  ;;
-	esac
-      fi
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      if test "$GCC" = yes; then
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-	# Try to use the -exported_symbol ld option, if it does not
-	# work, assume that -exports_file does not work either and
-	# implicitly export all symbols.
-        save_LDFLAGS="$LDFLAGS"
-        LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
-        AC_LINK_IFELSE(int foo(void) {},
-          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
-        )
-        LDFLAGS="$save_LDFLAGS"
-      else
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
-      fi
-      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-      _LT_TAGVAR(inherit_rpath, $1)=yes
-      _LT_TAGVAR(link_all_deplibs, $1)=yes
-      ;;
-
-    netbsd*)
-      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
-      else
-	_LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
-      fi
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-      _LT_TAGVAR(hardcode_direct, $1)=yes
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    newsos6)
-      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      _LT_TAGVAR(hardcode_direct, $1)=yes
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    *nto* | *qnx*)
-      ;;
-
-    openbsd*)
-      if test -f /usr/libexec/ld.so; then
-	_LT_TAGVAR(hardcode_direct, $1)=yes
-	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
-	if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
-	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-	else
-	  case $host_os in
-	   openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
-	     _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-	     _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-	     ;;
-	   *)
-	     _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-	     _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-	     ;;
-	  esac
-	fi
-      else
-	_LT_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    os2*)
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_TAGVAR(hardcode_minus_L, $1)=yes
-      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-      _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
-      _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
-      ;;
-
-    osf3*)
-      if test "$GCC" = yes; then
-	_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-      else
-	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
-      fi
-      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-      ;;
-
-    osf4* | osf5*)	# as osf3* with the addition of -msym flag
-      if test "$GCC" = yes; then
-	_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-      else
-	_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
-	$CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
-
-	# Both c and cxx compiler support -rpath directly
-	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
-      fi
-      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
-      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-      ;;
-
-    solaris*)
-      _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
-      if test "$GCC" = yes; then
-	wlarc='${wl}'
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-	  $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-      else
-	case `$CC -V 2>&1` in
-	*"Compilers 5.0"*)
-	  wlarc=''
-	  _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	  _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-	  $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
-	  ;;
-	*)
-	  wlarc='${wl}'
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
-	  _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-	  $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-	  ;;
-	esac
-      fi
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      case $host_os in
-      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
-      *)
-	# The compiler driver will combine and reorder linker options,
-	# but understands `-z linker_flag'.  GCC discards it without `$wl',
-	# but is careful enough not to reorder.
-	# Supported since Solaris 2.6 (maybe 2.5.1?)
-	if test "$GCC" = yes; then
-	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
-	else
-	  _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
-	fi
-	;;
-      esac
-      _LT_TAGVAR(link_all_deplibs, $1)=yes
-      ;;
-
-    sunos4*)
-      if test "x$host_vendor" = xsequent; then
-	# Use $CC to link under sequent, because it throws in some extra .o
-	# files that make .init and .fini sections work.
-	_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	_LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_TAGVAR(hardcode_direct, $1)=yes
-      _LT_TAGVAR(hardcode_minus_L, $1)=yes
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    sysv4)
-      case $host_vendor in
-	sni)
-	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	  _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
-	;;
-	siemens)
-	  ## LD is ld it makes a PLAMLIB
-	  ## CC just makes a GrossModule.
-	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
-	  _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
-	  _LT_TAGVAR(hardcode_direct, $1)=no
-        ;;
-	motorola)
-	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	  _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
-	;;
-      esac
-      runpath_var='LD_RUN_PATH'
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    sysv4.3*)
-      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-	_LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-	runpath_var=LD_RUN_PATH
-	hardcode_runpath_var=yes
-	_LT_TAGVAR(ld_shlibs, $1)=yes
-      fi
-      ;;
-
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
-      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
-      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6*)
-      # Note: We can NOT use -z defs as we might desire, because we do not
-      # link with -lc, and that would cause any symbols used from libc to
-      # always be unresolved, which means just about no library would
-      # ever link correctly.  If we're not using GNU ld we use -z text
-      # though, which does catch some bad symbols but isn't as heavy-handed
-      # as -z defs.
-      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
-      _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
-      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
-      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
-      _LT_TAGVAR(link_all_deplibs, $1)=yes
-      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-	_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    uts4*)
-      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    *)
-      _LT_TAGVAR(ld_shlibs, $1)=no
-      ;;
-    esac
-
-    if test x$host_vendor = xsni; then
-      case $host in
-      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
-	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
-	;;
-      esac
-    fi
-  fi
-])
-AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
-test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
-
-_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
-
-_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
-_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
-_LT_DECL([], [extract_expsyms_cmds], [2],
-    [The commands to extract the exported symbol list from a shared archive])
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
-x|xyes)
-  # Assume -lc should be added
-  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
-
-  if test "$enable_shared" = yes && test "$GCC" = yes; then
-    case $_LT_TAGVAR(archive_cmds, $1) in
-    *'~'*)
-      # FIXME: we may have to deal with multi-command sequences.
-      ;;
-    '$CC '*)
-      # Test whether the compiler implicitly links with -lc since on some
-      # systems, -lgcc has to come before -lc. If gcc already passes -lc
-      # to ld, don't add -lc before -lgcc.
-      AC_MSG_CHECKING([whether -lc should be explicitly linked in])
-      $RM conftest*
-      echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-      if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
-        soname=conftest
-        lib=conftest
-        libobjs=conftest.$ac_objext
-        deplibs=
-        wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
-	pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
-        compiler_flags=-v
-        linker_flags=-v
-        verstring=
-        output_objdir=.
-        libname=conftest
-        lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
-        _LT_TAGVAR(allow_undefined_flag, $1)=
-        if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
-        then
-	  _LT_TAGVAR(archive_cmds_need_lc, $1)=no
-        else
-	  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
-        fi
-        _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
-      else
-        cat conftest.err 1>&5
-      fi
-      $RM conftest*
-      AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)])
-      ;;
-    esac
-  fi
-  ;;
-esac
-
-_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
-    [Whether or not to add -lc for building shared libraries])
-_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
-    [enable_shared_with_static_runtimes], [0],
-    [Whether or not to disallow shared libs when runtime libs are static])
-_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
-    [Compiler flag to allow reflexive dlopens])
-_LT_TAGDECL([], [whole_archive_flag_spec], [1],
-    [Compiler flag to generate shared objects directly from archives])
-_LT_TAGDECL([], [compiler_needs_object], [1],
-    [Whether the compiler copes with passing no objects directly])
-_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
-    [Create an old-style archive from a shared archive])
-_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
-    [Create a temporary old-style archive to link instead of a shared archive])
-_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
-_LT_TAGDECL([], [archive_expsym_cmds], [2])
-_LT_TAGDECL([], [module_cmds], [2],
-    [Commands used to build a loadable module if different from building
-    a shared archive.])
-_LT_TAGDECL([], [module_expsym_cmds], [2])
-_LT_TAGDECL([], [with_gnu_ld], [1],
-    [Whether we are building with GNU ld or not])
-_LT_TAGDECL([], [allow_undefined_flag], [1],
-    [Flag that allows shared libraries with undefined symbols to be built])
-_LT_TAGDECL([], [no_undefined_flag], [1],
-    [Flag that enforces no undefined symbols])
-_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
-    [Flag to hardcode $libdir into a binary during linking.
-    This must work even if $libdir does not exist])
-_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1],
-    [[If ld is used when linking, flag to hardcode $libdir into a binary
-    during linking.  This must work even if $libdir does not exist]])
-_LT_TAGDECL([], [hardcode_libdir_separator], [1],
-    [Whether we need a single "-rpath" flag with a separated argument])
-_LT_TAGDECL([], [hardcode_direct], [0],
-    [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
-    DIR into the resulting binary])
-_LT_TAGDECL([], [hardcode_direct_absolute], [0],
-    [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
-    DIR into the resulting binary and the resulting library dependency is
-    "absolute", i.e impossible to change by setting ${shlibpath_var} if the
-    library is relocated])
-_LT_TAGDECL([], [hardcode_minus_L], [0],
-    [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
-    into the resulting binary])
-_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
-    [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
-    into the resulting binary])
-_LT_TAGDECL([], [hardcode_automatic], [0],
-    [Set to "yes" if building a shared library automatically hardcodes DIR
-    into the library and all subsequent libraries and executables linked
-    against it])
-_LT_TAGDECL([], [inherit_rpath], [0],
-    [Set to yes if linker adds runtime paths of dependent libraries
-    to runtime path list])
-_LT_TAGDECL([], [link_all_deplibs], [0],
-    [Whether libtool must link a program against all its dependency libraries])
-_LT_TAGDECL([], [fix_srcfile_path], [1],
-    [Fix the shell variable $srcfile for the compiler])
-_LT_TAGDECL([], [always_export_symbols], [0],
-    [Set to "yes" if exported symbols are required])
-_LT_TAGDECL([], [export_symbols_cmds], [2],
-    [The commands to list exported symbols])
-_LT_TAGDECL([], [exclude_expsyms], [1],
-    [Symbols that should not be listed in the preloaded symbols])
-_LT_TAGDECL([], [include_expsyms], [1],
-    [Symbols that must always be exported])
-_LT_TAGDECL([], [prelink_cmds], [2],
-    [Commands necessary for linking programs (against libraries) with templates])
-_LT_TAGDECL([], [file_list_spec], [1],
-    [Specify filename containing input files])
-dnl FIXME: Not yet implemented
-dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
-dnl    [Compiler flag to generate thread safe objects])
-])# _LT_LINKER_SHLIBS
-
-
-# _LT_LANG_C_CONFIG([TAG])
-# ------------------------
-# Ensure that the configuration variables for a C compiler are suitably
-# defined.  These variables are subsequently used by _LT_CONFIG to write
-# the compiler configuration to `libtool'.
-m4_defun([_LT_LANG_C_CONFIG],
-[m4_require([_LT_DECL_EGREP])dnl
-lt_save_CC="$CC"
-AC_LANG_PUSH(C)
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
-
-_LT_TAG_COMPILER
-# Save the default compiler, since it gets overwritten when the other
-# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
-compiler_DEFAULT=$CC
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-## CAVEAT EMPTOR:
-## There is no encapsulation within the following macros, do not change
-## the running order or otherwise move them around unless you know exactly
-## what you are doing...
-if test -n "$compiler"; then
-  _LT_COMPILER_NO_RTTI($1)
-  _LT_COMPILER_PIC($1)
-  _LT_COMPILER_C_O($1)
-  _LT_COMPILER_FILE_LOCKS($1)
-  _LT_LINKER_SHLIBS($1)
-  _LT_SYS_DYNAMIC_LINKER($1)
-  _LT_LINKER_HARDCODE_LIBPATH($1)
-  LT_SYS_DLOPEN_SELF
-  _LT_CMD_STRIPLIB
-
-  # Report which library types will actually be built
-  AC_MSG_CHECKING([if libtool supports shared libraries])
-  AC_MSG_RESULT([$can_build_shared])
-
-  AC_MSG_CHECKING([whether to build shared libraries])
-  test "$can_build_shared" = "no" && enable_shared=no
-
-  # On AIX, shared libraries and static libraries use the same namespace, and
-  # are all built from PIC.
-  case $host_os in
-  aix3*)
-    test "$enable_shared" = yes && enable_static=no
-    if test -n "$RANLIB"; then
-      archive_cmds="$archive_cmds~\$RANLIB \$lib"
-      postinstall_cmds='$RANLIB $lib'
-    fi
-    ;;
-
-  aix[[4-9]]*)
-    if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-      test "$enable_shared" = yes && enable_static=no
-    fi
-    ;;
-  esac
-  AC_MSG_RESULT([$enable_shared])
-
-  AC_MSG_CHECKING([whether to build static libraries])
-  # Make sure either enable_shared or enable_static is yes.
-  test "$enable_shared" = yes || enable_static=yes
-  AC_MSG_RESULT([$enable_static])
-
-  _LT_CONFIG($1)
-fi
-AC_LANG_POP
-CC="$lt_save_CC"
-])# _LT_LANG_C_CONFIG
-
-
-# _LT_PROG_CXX
-# ------------
-# Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++
-# compiler, we have our own version here.
-m4_defun([_LT_PROG_CXX],
-[
-pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes])
-AC_PROG_CXX
-if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
-    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
-    (test "X$CXX" != "Xg++"))) ; then
-  AC_PROG_CXXCPP
-else
-  _lt_caught_CXX_error=yes
-fi
-popdef([AC_MSG_ERROR])
-])# _LT_PROG_CXX
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([_LT_PROG_CXX], [])
-
-
-# _LT_LANG_CXX_CONFIG([TAG])
-# --------------------------
-# Ensure that the configuration variables for a C++ compiler are suitably
-# defined.  These variables are subsequently used by _LT_CONFIG to write
-# the compiler configuration to `libtool'.
-m4_defun([_LT_LANG_CXX_CONFIG],
-[AC_REQUIRE([_LT_PROG_CXX])dnl
-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-m4_require([_LT_DECL_EGREP])dnl
-
-AC_LANG_PUSH(C++)
-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_TAGVAR(allow_undefined_flag, $1)=
-_LT_TAGVAR(always_export_symbols, $1)=no
-_LT_TAGVAR(archive_expsym_cmds, $1)=
-_LT_TAGVAR(compiler_needs_object, $1)=no
-_LT_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_TAGVAR(hardcode_direct, $1)=no
-_LT_TAGVAR(hardcode_direct_absolute, $1)=no
-_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
-_LT_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_TAGVAR(hardcode_minus_L, $1)=no
-_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-_LT_TAGVAR(hardcode_automatic, $1)=no
-_LT_TAGVAR(inherit_rpath, $1)=no
-_LT_TAGVAR(module_cmds, $1)=
-_LT_TAGVAR(module_expsym_cmds, $1)=
-_LT_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_TAGVAR(no_undefined_flag, $1)=
-_LT_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Source file extension for C++ test sources.
-ac_ext=cpp
-
-# Object file extension for compiled C++ test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# No sense in running all these tests if we already determined that
-# the CXX compiler isn't working.  Some variables (like enable_shared)
-# are currently assumed to apply to all compilers on this platform,
-# and will be corrupted by setting them based on a non-working compiler.
-if test "$_lt_caught_CXX_error" != yes; then
-  # Code to be used in simple compile tests
-  lt_simple_compile_test_code="int some_variable = 0;"
-
-  # Code to be used in simple link tests
-  lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
-
-  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
-  _LT_TAG_COMPILER
-
-  # save warnings/boilerplate of simple test code
-  _LT_COMPILER_BOILERPLATE
-  _LT_LINKER_BOILERPLATE
-
-  # Allow CC to be a program name with arguments.
-  lt_save_CC=$CC
-  lt_save_LD=$LD
-  lt_save_GCC=$GCC
-  GCC=$GXX
-  lt_save_with_gnu_ld=$with_gnu_ld
-  lt_save_path_LD=$lt_cv_path_LD
-  if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
-    lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
-  else
-    $as_unset lt_cv_prog_gnu_ld
-  fi
-  if test -n "${lt_cv_path_LDCXX+set}"; then
-    lt_cv_path_LD=$lt_cv_path_LDCXX
-  else
-    $as_unset lt_cv_path_LD
-  fi
-  test -z "${LDCXX+set}" || LD=$LDCXX
-  CC=${CXX-"c++"}
-  compiler=$CC
-  _LT_TAGVAR(compiler, $1)=$CC
-  _LT_CC_BASENAME([$compiler])
-
-  if test -n "$compiler"; then
-    # We don't want -fno-exception when compiling C++ code, so set the
-    # no_builtin_flag separately
-    if test "$GXX" = yes; then
-      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
-    else
-      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
-    fi
-
-    if test "$GXX" = yes; then
-      # Set up default GNU C++ configuration
-
-      LT_PATH_LD
-
-      # Check if GNU C++ uses GNU ld as the underlying linker, since the
-      # archiving commands below assume that GNU ld is being used.
-      if test "$with_gnu_ld" = yes; then
-        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-
-        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-
-        # If archive_cmds runs LD, not CC, wlarc should be empty
-        # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
-        #     investigate it a little bit more. (MM)
-        wlarc='${wl}'
-
-        # ancient GNU ld didn't support --whole-archive et. al.
-        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
-	  $GREP 'no-whole-archive' > /dev/null; then
-          _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-        else
-          _LT_TAGVAR(whole_archive_flag_spec, $1)=
-        fi
-      else
-        with_gnu_ld=no
-        wlarc=
-
-        # A generic and very simple default shared library creation
-        # command for GNU C++ for the case where it uses the native
-        # linker, instead of GNU ld.  If possible, this setting should
-        # overridden to take advantage of the native linker features on
-        # the platform it is being used on.
-        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
-      fi
-
-      # Commands to make compiler produce verbose output that lists
-      # what "hidden" libraries, object files and flags are used when
-      # linking a shared library.
-      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
-
-    else
-      GXX=no
-      with_gnu_ld=no
-      wlarc=
-    fi
-
-    # PORTME: fill in a description of your system's C++ link characteristics
-    AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
-    _LT_TAGVAR(ld_shlibs, $1)=yes
-    case $host_os in
-      aix3*)
-        # FIXME: insert proper C++ library support
-        _LT_TAGVAR(ld_shlibs, $1)=no
-        ;;
-      aix[[4-9]]*)
-        if test "$host_cpu" = ia64; then
-          # On IA64, the linker does run time linking by default, so we don't
-          # have to do anything special.
-          aix_use_runtimelinking=no
-          exp_sym_flag='-Bexport'
-          no_entry_flag=""
-        else
-          aix_use_runtimelinking=no
-
-          # Test if we are trying to use run time linking or normal
-          # AIX style linking. If -brtl is somewhere in LDFLAGS, we
-          # need to do runtime linking.
-          case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
-	    for ld_flag in $LDFLAGS; do
-	      case $ld_flag in
-	      *-brtl*)
-	        aix_use_runtimelinking=yes
-	        break
-	        ;;
-	      esac
-	    done
-	    ;;
-          esac
-
-          exp_sym_flag='-bexport'
-          no_entry_flag='-bnoentry'
-        fi
-
-        # When large executables or shared objects are built, AIX ld can
-        # have problems creating the table of contents.  If linking a library
-        # or program results in "error TOC overflow" add -mminimal-toc to
-        # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-        # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
-        _LT_TAGVAR(archive_cmds, $1)=''
-        _LT_TAGVAR(hardcode_direct, $1)=yes
-        _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
-        _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
-        _LT_TAGVAR(link_all_deplibs, $1)=yes
-        _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
-
-        if test "$GXX" = yes; then
-          case $host_os in aix4.[[012]]|aix4.[[012]].*)
-          # We only want to do this on AIX 4.2 and lower, the check
-          # below for broken collect2 doesn't work under 4.3+
-	  collect2name=`${CC} -print-prog-name=collect2`
-	  if test -f "$collect2name" &&
-	     strings "$collect2name" | $GREP resolve_lib_name >/dev/null
-	  then
-	    # We have reworked collect2
-	    :
-	  else
-	    # We have old collect2
-	    _LT_TAGVAR(hardcode_direct, $1)=unsupported
-	    # It fails to find uninstalled libraries when the uninstalled
-	    # path is not listed in the libpath.  Setting hardcode_minus_L
-	    # to unsupported forces relinking
-	    _LT_TAGVAR(hardcode_minus_L, $1)=yes
-	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-	    _LT_TAGVAR(hardcode_libdir_separator, $1)=
-	  fi
-          esac
-          shared_flag='-shared'
-	  if test "$aix_use_runtimelinking" = yes; then
-	    shared_flag="$shared_flag "'${wl}-G'
-	  fi
-        else
-          # not using gcc
-          if test "$host_cpu" = ia64; then
-	  # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-	  # chokes on -Wl,-G. The following line is correct:
-	  shared_flag='-G'
-          else
-	    if test "$aix_use_runtimelinking" = yes; then
-	      shared_flag='${wl}-G'
-	    else
-	      shared_flag='${wl}-bM:SRE'
-	    fi
-          fi
-        fi
-
-        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
-        # It seems that -bexpall does not export symbols beginning with
-        # underscore (_), so it is better to generate a list of symbols to
-	# export.
-        _LT_TAGVAR(always_export_symbols, $1)=yes
-        if test "$aix_use_runtimelinking" = yes; then
-          # Warning - without using the other runtime loading flags (-brtl),
-          # -berok will link without error, but may produce a broken library.
-          _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
-          # Determine the default libpath from the value encoded in an empty
-          # executable.
-          _LT_SYS_MODULE_PATH_AIX
-          _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-
-          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-        else
-          if test "$host_cpu" = ia64; then
-	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
-	    _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
-	    _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
-          else
-	    # Determine the default libpath from the value encoded in an
-	    # empty executable.
-	    _LT_SYS_MODULE_PATH_AIX
-	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-	    # Warning - without using the other run time loading flags,
-	    # -berok will link without error, but may produce a broken library.
-	    _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
-	    _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
-	    # Exported symbols can be pulled into shared objects from archives
-	    _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
-	    _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
-	    # This is similar to how AIX traditionally builds its shared
-	    # libraries.
-	    _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
-          fi
-        fi
-        ;;
-
-      beos*)
-	if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-	  # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
-	  # support --undefined.  This deserves some investigation.  FIXME
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	else
-	  _LT_TAGVAR(ld_shlibs, $1)=no
-	fi
-	;;
-
-      chorus*)
-        case $cc_basename in
-          *)
-	  # FIXME: insert proper C++ library support
-	  _LT_TAGVAR(ld_shlibs, $1)=no
-	  ;;
-        esac
-        ;;
-
-      cygwin* | mingw* | pw32* | cegcc*)
-        # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
-        # as there is no search path for DLLs.
-        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-        _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
-        _LT_TAGVAR(always_export_symbols, $1)=no
-        _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-
-        if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
-          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-          # If the export-symbols file already is a .def file (1st line
-          # is EXPORTS), use it as is; otherwise, prepend...
-          _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-	    cp $export_symbols $output_objdir/$soname.def;
-          else
-	    echo EXPORTS > $output_objdir/$soname.def;
-	    cat $export_symbols >> $output_objdir/$soname.def;
-          fi~
-          $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-        else
-          _LT_TAGVAR(ld_shlibs, $1)=no
-        fi
-        ;;
-      darwin* | rhapsody*)
-        _LT_DARWIN_LINKER_FEATURES($1)
-	;;
-
-      dgux*)
-        case $cc_basename in
-          ec++*)
-	    # FIXME: insert proper C++ library support
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	    ;;
-          ghcx*)
-	    # Green Hills C++ Compiler
-	    # FIXME: insert proper C++ library support
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	    ;;
-          *)
-	    # FIXME: insert proper C++ library support
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	    ;;
-        esac
-        ;;
-
-      freebsd[[12]]*)
-        # C++ shared libraries reported to be fairly broken before
-	# switch to ELF
-        _LT_TAGVAR(ld_shlibs, $1)=no
-        ;;
-
-      freebsd-elf*)
-        _LT_TAGVAR(archive_cmds_need_lc, $1)=no
-        ;;
-
-      freebsd* | dragonfly*)
-        # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
-        # conventions
-        _LT_TAGVAR(ld_shlibs, $1)=yes
-        ;;
-
-      gnu*)
-        ;;
-
-      hpux9*)
-        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-        _LT_TAGVAR(hardcode_direct, $1)=yes
-        _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
-				             # but as the default
-				             # location of the library.
-
-        case $cc_basename in
-          CC*)
-            # FIXME: insert proper C++ library support
-            _LT_TAGVAR(ld_shlibs, $1)=no
-            ;;
-          aCC*)
-            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-            # Commands to make compiler produce verbose output that lists
-            # what "hidden" libraries, object files and flags are used when
-            # linking a shared library.
-            #
-            # There doesn't appear to be a way to prevent this compiler from
-            # explicitly linking system object files so we need to strip them
-            # from the output so that they don't get included in the library
-            # dependencies.
-            output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
-            ;;
-          *)
-            if test "$GXX" = yes; then
-              _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-            else
-              # FIXME: insert proper C++ library support
-              _LT_TAGVAR(ld_shlibs, $1)=no
-            fi
-            ;;
-        esac
-        ;;
-
-      hpux10*|hpux11*)
-        if test $with_gnu_ld = no; then
-	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-	  _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
-          case $host_cpu in
-            hppa*64*|ia64*)
-              ;;
-            *)
-	      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-              ;;
-          esac
-        fi
-        case $host_cpu in
-          hppa*64*|ia64*)
-            _LT_TAGVAR(hardcode_direct, $1)=no
-            _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-            ;;
-          *)
-            _LT_TAGVAR(hardcode_direct, $1)=yes
-            _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
-            _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
-					         # but as the default
-					         # location of the library.
-            ;;
-        esac
-
-        case $cc_basename in
-          CC*)
-	    # FIXME: insert proper C++ library support
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	    ;;
-          aCC*)
-	    case $host_cpu in
-	      hppa*64*)
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	        ;;
-	      ia64*)
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	        ;;
-	      *)
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	        ;;
-	    esac
-	    # Commands to make compiler produce verbose output that lists
-	    # what "hidden" libraries, object files and flags are used when
-	    # linking a shared library.
-	    #
-	    # There doesn't appear to be a way to prevent this compiler from
-	    # explicitly linking system object files so we need to strip them
-	    # from the output so that they don't get included in the library
-	    # dependencies.
-	    output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
-	    ;;
-          *)
-	    if test "$GXX" = yes; then
-	      if test $with_gnu_ld = no; then
-	        case $host_cpu in
-	          hppa*64*)
-	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	            ;;
-	          ia64*)
-	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	            ;;
-	          *)
-	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	            ;;
-	        esac
-	      fi
-	    else
-	      # FIXME: insert proper C++ library support
-	      _LT_TAGVAR(ld_shlibs, $1)=no
-	    fi
-	    ;;
-        esac
-        ;;
-
-      interix[[3-9]]*)
-	_LT_TAGVAR(hardcode_direct, $1)=no
-	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-	# Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-	# Instead, shared libraries are loaded at an image base (0x10000000 by
-	# default) and relocated if they conflict, which is a slow very memory
-	# consuming and fragmenting process.  To avoid this, we pick a random,
-	# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-	# time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-	_LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-	;;
-      irix5* | irix6*)
-        case $cc_basename in
-          CC*)
-	    # SGI C++
-	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
-
-	    # Archives containing C++ object files must be created using
-	    # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
-	    # necessary to make sure instantiated templates are included
-	    # in the archive.
-	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
-	    ;;
-          *)
-	    if test "$GXX" = yes; then
-	      if test "$with_gnu_ld" = no; then
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-	      else
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib'
-	      fi
-	    fi
-	    _LT_TAGVAR(link_all_deplibs, $1)=yes
-	    ;;
-        esac
-        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-        _LT_TAGVAR(inherit_rpath, $1)=yes
-        ;;
-
-      linux* | k*bsd*-gnu)
-        case $cc_basename in
-          KCC*)
-	    # Kuck and Associates, Inc. (KAI) C++ Compiler
-
-	    # KCC will only create a shared library if the output file
-	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
-	    # to its proper name (with version) after linking.
-	    _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-	    _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
-	    # Commands to make compiler produce verbose output that lists
-	    # what "hidden" libraries, object files and flags are used when
-	    # linking a shared library.
-	    #
-	    # There doesn't appear to be a way to prevent this compiler from
-	    # explicitly linking system object files so we need to strip them
-	    # from the output so that they don't get included in the library
-	    # dependencies.
-	    output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
-
-	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-
-	    # Archives containing C++ object files must be created using
-	    # "CC -Bstatic", where "CC" is the KAI C++ compiler.
-	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
-	    ;;
-	  icpc* | ecpc* )
-	    # Intel C++
-	    with_gnu_ld=yes
-	    # version 8.0 and above of icpc choke on multiply defined symbols
-	    # if we add $predep_objects and $postdep_objects, however 7.1 and
-	    # earlier do not add the objects themselves.
-	    case `$CC -V 2>&1` in
-	      *"Version 7."*)
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-		_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-		;;
-	      *)  # Version 8.0 or newer
-	        tmp_idyn=
-	        case $host_cpu in
-		  ia64*) tmp_idyn=' -i_dynamic';;
-		esac
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-		_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-		;;
-	    esac
-	    _LT_TAGVAR(archive_cmds_need_lc, $1)=no
-	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-	    _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
-	    ;;
-          pgCC* | pgcpp*)
-            # Portland Group C++ compiler
-	    case `$CC -V` in
-	    *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*)
-	      _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
-		rm -rf $tpldir~
-		$CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
-		compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"'
-	      _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
-		rm -rf $tpldir~
-		$CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
-		$AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~
-		$RANLIB $oldlib'
-	      _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
-		rm -rf $tpldir~
-		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
-		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
-	      _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
-		rm -rf $tpldir~
-		$CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
-		$CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
-	      ;;
-	    *) # Version 6 will use weak symbols
-	      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
-	      _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
-	      ;;
-	    esac
-
-	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
-	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-	    _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
-            ;;
-	  cxx*)
-	    # Compaq C++
-	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname  -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
-
-	    runpath_var=LD_RUN_PATH
-	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
-	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	    # Commands to make compiler produce verbose output that lists
-	    # what "hidden" libraries, object files and flags are used when
-	    # linking a shared library.
-	    #
-	    # There doesn't appear to be a way to prevent this compiler from
-	    # explicitly linking system object files so we need to strip them
-	    # from the output so that they don't get included in the library
-	    # dependencies.
-	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
-	    ;;
-	  xl*)
-	    # IBM XL 8.0 on PPC, with GNU ld
-	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-	    _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-	    if test "x$supports_anon_versioning" = xyes; then
-	      _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
-		cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-		echo "local: *; };" >> $output_objdir/$libname.ver~
-		$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-	    fi
-	    ;;
-	  *)
-	    case `$CC -V 2>&1 | sed 5q` in
-	    *Sun\ C*)
-	      # Sun C++ 5.9
-	      _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
-	      _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	      _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
-	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-	      _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
-	      _LT_TAGVAR(compiler_needs_object, $1)=yes
-
-	      # Not sure whether something based on
-	      # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
-	      # would be better.
-	      output_verbose_link_cmd='echo'
-
-	      # Archives containing C++ object files must be created using
-	      # "CC -xar", where "CC" is the Sun C++ compiler.  This is
-	      # necessary to make sure instantiated templates are included
-	      # in the archive.
-	      _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
-	      ;;
-	    esac
-	    ;;
-	esac
-	;;
-
-      lynxos*)
-        # FIXME: insert proper C++ library support
-	_LT_TAGVAR(ld_shlibs, $1)=no
-	;;
-
-      m88k*)
-        # FIXME: insert proper C++ library support
-        _LT_TAGVAR(ld_shlibs, $1)=no
-	;;
-
-      mvs*)
-        case $cc_basename in
-          cxx*)
-	    # FIXME: insert proper C++ library support
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	    ;;
-	  *)
-	    # FIXME: insert proper C++ library support
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	    ;;
-	esac
-	;;
-
-      netbsd*)
-        if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-	  _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
-	  wlarc=
-	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-	  _LT_TAGVAR(hardcode_direct, $1)=yes
-	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-	fi
-	# Workaround some broken pre-1.5 toolchains
-	output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
-	;;
-
-      *nto* | *qnx*)
-        _LT_TAGVAR(ld_shlibs, $1)=yes
-	;;
-
-      openbsd2*)
-        # C++ shared libraries are fairly broken
-	_LT_TAGVAR(ld_shlibs, $1)=no
-	;;
-
-      openbsd*)
-	if test -f /usr/libexec/ld.so; then
-	  _LT_TAGVAR(hardcode_direct, $1)=yes
-	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
-	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-	  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
-	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-	    _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-	  fi
-	  output_verbose_link_cmd=echo
-	else
-	  _LT_TAGVAR(ld_shlibs, $1)=no
-	fi
-	;;
-
-      osf3* | osf4* | osf5*)
-        case $cc_basename in
-          KCC*)
-	    # Kuck and Associates, Inc. (KAI) C++ Compiler
-
-	    # KCC will only create a shared library if the output file
-	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
-	    # to its proper name (with version) after linking.
-	    _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-
-	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	    # Archives containing C++ object files must be created using
-	    # the KAI C++ compiler.
-	    case $host in
-	      osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
-	      *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
-	    esac
-	    ;;
-          RCC*)
-	    # Rational C++ 2.4.1
-	    # FIXME: insert proper C++ library support
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	    ;;
-          cxx*)
-	    case $host in
-	      osf3*)
-	        _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
-	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-		;;
-	      *)
-	        _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
-	        _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
-	          echo "-hidden">> $lib.exp~
-	          $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp  `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~
-	          $RM $lib.exp'
-	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
-		;;
-	    esac
-
-	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	    # Commands to make compiler produce verbose output that lists
-	    # what "hidden" libraries, object files and flags are used when
-	    # linking a shared library.
-	    #
-	    # There doesn't appear to be a way to prevent this compiler from
-	    # explicitly linking system object files so we need to strip them
-	    # from the output so that they don't get included in the library
-	    # dependencies.
-	    output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
-	    ;;
-	  *)
-	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
-	      _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-	      case $host in
-	        osf3*)
-	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-		  ;;
-	        *)
-	          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-		  ;;
-	      esac
-
-	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-	      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
-
-	      # Commands to make compiler produce verbose output that lists
-	      # what "hidden" libraries, object files and flags are used when
-	      # linking a shared library.
-	      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
-
-	    else
-	      # FIXME: insert proper C++ library support
-	      _LT_TAGVAR(ld_shlibs, $1)=no
-	    fi
-	    ;;
-        esac
-        ;;
-
-      psos*)
-        # FIXME: insert proper C++ library support
-        _LT_TAGVAR(ld_shlibs, $1)=no
-        ;;
-
-      sunos4*)
-        case $cc_basename in
-          CC*)
-	    # Sun C++ 4.x
-	    # FIXME: insert proper C++ library support
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	    ;;
-          lcc*)
-	    # Lucid
-	    # FIXME: insert proper C++ library support
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	    ;;
-          *)
-	    # FIXME: insert proper C++ library support
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	    ;;
-        esac
-        ;;
-
-      solaris*)
-        case $cc_basename in
-          CC*)
-	    # Sun C++ 4.2, 5.x and Centerline C++
-            _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
-	    _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
-	    _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag}  -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-	    _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-	      $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
-
-	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-	    _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-	    case $host_os in
-	      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
-	      *)
-		# The compiler driver will combine and reorder linker options,
-		# but understands `-z linker_flag'.
-	        # Supported since Solaris 2.6 (maybe 2.5.1?)
-		_LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
-	        ;;
-	    esac
-	    _LT_TAGVAR(link_all_deplibs, $1)=yes
-
-	    output_verbose_link_cmd='echo'
-
-	    # Archives containing C++ object files must be created using
-	    # "CC -xar", where "CC" is the Sun C++ compiler.  This is
-	    # necessary to make sure instantiated templates are included
-	    # in the archive.
-	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
-	    ;;
-          gcx*)
-	    # Green Hills C++ Compiler
-	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-
-	    # The C++ compiler must be used to create the archive.
-	    _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
-	    ;;
-          *)
-	    # GNU C++ compiler with Solaris linker
-	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
-	      _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
-	      if $CC --version | $GREP -v '^2\.7' > /dev/null; then
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-		  $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
-
-	        # Commands to make compiler produce verbose output that lists
-	        # what "hidden" libraries, object files and flags are used when
-	        # linking a shared library.
-	        output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
-	      else
-	        # g++ 2.7 appears to require `-G' NOT `-shared' on this
-	        # platform.
-	        _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-		  $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
-
-	        # Commands to make compiler produce verbose output that lists
-	        # what "hidden" libraries, object files and flags are used when
-	        # linking a shared library.
-	        output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
-	      fi
-
-	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
-	      case $host_os in
-		solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
-		*)
-		  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
-		  ;;
-	      esac
-	    fi
-	    ;;
-        esac
-        ;;
-
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
-      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
-      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
-      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-      runpath_var='LD_RUN_PATH'
-
-      case $cc_basename in
-        CC*)
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-	*)
-	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	  ;;
-      esac
-      ;;
-
-      sysv5* | sco3.2v5* | sco5v6*)
-	# Note: We can NOT use -z defs as we might desire, because we do not
-	# link with -lc, and that would cause any symbols used from libc to
-	# always be unresolved, which means just about no library would
-	# ever link correctly.  If we're not using GNU ld we use -z text
-	# though, which does catch some bad symbols but isn't as heavy-handed
-	# as -z defs.
-	_LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
-	_LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
-	_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
-	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
-	_LT_TAGVAR(hardcode_libdir_separator, $1)=':'
-	_LT_TAGVAR(link_all_deplibs, $1)=yes
-	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
-	runpath_var='LD_RUN_PATH'
-
-	case $cc_basename in
-          CC*)
-	    _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	    ;;
-	  *)
-	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-	    ;;
-	esac
-      ;;
-
-      tandem*)
-        case $cc_basename in
-          NCC*)
-	    # NonStop-UX NCC 3.20
-	    # FIXME: insert proper C++ library support
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	    ;;
-          *)
-	    # FIXME: insert proper C++ library support
-	    _LT_TAGVAR(ld_shlibs, $1)=no
-	    ;;
-        esac
-        ;;
-
-      vxworks*)
-        # FIXME: insert proper C++ library support
-        _LT_TAGVAR(ld_shlibs, $1)=no
-        ;;
-
-      *)
-        # FIXME: insert proper C++ library support
-        _LT_TAGVAR(ld_shlibs, $1)=no
-        ;;
-    esac
-
-    AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
-    test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
-
-    _LT_TAGVAR(GCC, $1)="$GXX"
-    _LT_TAGVAR(LD, $1)="$LD"
-
-    ## CAVEAT EMPTOR:
-    ## There is no encapsulation within the following macros, do not change
-    ## the running order or otherwise move them around unless you know exactly
-    ## what you are doing...
-    _LT_SYS_HIDDEN_LIBDEPS($1)
-    _LT_COMPILER_PIC($1)
-    _LT_COMPILER_C_O($1)
-    _LT_COMPILER_FILE_LOCKS($1)
-    _LT_LINKER_SHLIBS($1)
-    _LT_SYS_DYNAMIC_LINKER($1)
-    _LT_LINKER_HARDCODE_LIBPATH($1)
-
-    _LT_CONFIG($1)
-  fi # test -n "$compiler"
-
-  CC=$lt_save_CC
-  LDCXX=$LD
-  LD=$lt_save_LD
-  GCC=$lt_save_GCC
-  with_gnu_ld=$lt_save_with_gnu_ld
-  lt_cv_path_LDCXX=$lt_cv_path_LD
-  lt_cv_path_LD=$lt_save_path_LD
-  lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
-  lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
-fi # test "$_lt_caught_CXX_error" != yes
-
-AC_LANG_POP
-])# _LT_LANG_CXX_CONFIG
-
-
-# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
-# ---------------------------------
-# Figure out "hidden" library dependencies from verbose
-# compiler output when linking a shared library.
-# Parse the compiler output and extract the necessary
-# objects, libraries and library flags.
-m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
-# Dependencies to place before and after the object being linked:
-_LT_TAGVAR(predep_objects, $1)=
-_LT_TAGVAR(postdep_objects, $1)=
-_LT_TAGVAR(predeps, $1)=
-_LT_TAGVAR(postdeps, $1)=
-_LT_TAGVAR(compiler_lib_search_path, $1)=
-
-dnl we can't use the lt_simple_compile_test_code here,
-dnl because it contains code intended for an executable,
-dnl not a library.  It's possible we should let each
-dnl tag define a new lt_????_link_test_code variable,
-dnl but it's only used here...
-m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
-int a;
-void foo (void) { a = 0; }
-_LT_EOF
-], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
-class Foo
-{
-public:
-  Foo (void) { a = 0; }
-private:
-  int a;
-};
-_LT_EOF
-], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
-      subroutine foo
-      implicit none
-      integer*4 a
-      a=0
-      return
-      end
-_LT_EOF
-], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
-      subroutine foo
-      implicit none
-      integer a
-      a=0
-      return
-      end
-_LT_EOF
-], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
-public class foo {
-  private int a;
-  public void bar (void) {
-    a = 0;
-  }
-};
-_LT_EOF
-])
-dnl Parse the compiler output and extract the necessary
-dnl objects, libraries and library flags.
-if AC_TRY_EVAL(ac_compile); then
-  # Parse the compiler output and extract the necessary
-  # objects, libraries and library flags.
-
-  # Sentinel used to keep track of whether or not we are before
-  # the conftest object file.
-  pre_test_object_deps_done=no
-
-  for p in `eval "$output_verbose_link_cmd"`; do
-    case $p in
-
-    -L* | -R* | -l*)
-       # Some compilers place space between "-{L,R}" and the path.
-       # Remove the space.
-       if test $p = "-L" ||
-          test $p = "-R"; then
-	 prev=$p
-	 continue
-       else
-	 prev=
-       fi
-
-       if test "$pre_test_object_deps_done" = no; then
-	 case $p in
-	 -L* | -R*)
-	   # Internal compiler library paths should come after those
-	   # provided the user.  The postdeps already come after the
-	   # user supplied libs so there is no need to process them.
-	   if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
-	     _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
-	   else
-	     _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
-	   fi
-	   ;;
-	 # The "-l" case would never come before the object being
-	 # linked, so don't bother handling this case.
-	 esac
-       else
-	 if test -z "$_LT_TAGVAR(postdeps, $1)"; then
-	   _LT_TAGVAR(postdeps, $1)="${prev}${p}"
-	 else
-	   _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
-	 fi
-       fi
-       ;;
-
-    *.$objext)
-       # This assumes that the test object file only shows up
-       # once in the compiler output.
-       if test "$p" = "conftest.$objext"; then
-	 pre_test_object_deps_done=yes
-	 continue
-       fi
-
-       if test "$pre_test_object_deps_done" = no; then
-	 if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
-	   _LT_TAGVAR(predep_objects, $1)="$p"
-	 else
-	   _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
-	 fi
-       else
-	 if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
-	   _LT_TAGVAR(postdep_objects, $1)="$p"
-	 else
-	   _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
-	 fi
-       fi
-       ;;
-
-    *) ;; # Ignore the rest.
-
-    esac
-  done
-
-  # Clean up.
-  rm -f a.out a.exe
-else
-  echo "libtool.m4: error: problem compiling $1 test program"
-fi
-
-$RM -f confest.$objext
-
-# PORTME: override above test on systems where it is broken
-m4_if([$1], [CXX],
-[case $host_os in
-interix[[3-9]]*)
-  # Interix 3.5 installs completely hosed .la files for C++, so rather than
-  # hack all around it, let's just trust "g++" to DTRT.
-  _LT_TAGVAR(predep_objects,$1)=
-  _LT_TAGVAR(postdep_objects,$1)=
-  _LT_TAGVAR(postdeps,$1)=
-  ;;
-
-linux*)
-  case `$CC -V 2>&1 | sed 5q` in
-  *Sun\ C*)
-    # Sun C++ 5.9
-
-    # The more standards-conforming stlport4 library is
-    # incompatible with the Cstd library. Avoid specifying
-    # it if it's in CXXFLAGS. Ignore libCrun as
-    # -library=stlport4 depends on it.
-    case " $CXX $CXXFLAGS " in
-    *" -library=stlport4 "*)
-      solaris_use_stlport4=yes
-      ;;
-    esac
-
-    if test "$solaris_use_stlport4" != yes; then
-      _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
-    fi
-    ;;
-  esac
-  ;;
-
-solaris*)
-  case $cc_basename in
-  CC*)
-    # The more standards-conforming stlport4 library is
-    # incompatible with the Cstd library. Avoid specifying
-    # it if it's in CXXFLAGS. Ignore libCrun as
-    # -library=stlport4 depends on it.
-    case " $CXX $CXXFLAGS " in
-    *" -library=stlport4 "*)
-      solaris_use_stlport4=yes
-      ;;
-    esac
-
-    # Adding this requires a known-good setup of shared libraries for
-    # Sun compiler versions before 5.6, else PIC objects from an old
-    # archive will be linked into the output, leading to subtle bugs.
-    if test "$solaris_use_stlport4" != yes; then
-      _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
-    fi
-    ;;
-  esac
-  ;;
-esac
-])
-
-case " $_LT_TAGVAR(postdeps, $1) " in
-*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
-esac
- _LT_TAGVAR(compiler_lib_search_dirs, $1)=
-if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
- _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
-fi
-_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
-    [The directories searched by this compiler when creating a shared library])
-_LT_TAGDECL([], [predep_objects], [1],
-    [Dependencies to place before and after the objects being linked to
-    create a shared library])
-_LT_TAGDECL([], [postdep_objects], [1])
-_LT_TAGDECL([], [predeps], [1])
-_LT_TAGDECL([], [postdeps], [1])
-_LT_TAGDECL([], [compiler_lib_search_path], [1],
-    [The library search path used internally by the compiler when linking
-    a shared library])
-])# _LT_SYS_HIDDEN_LIBDEPS
-
-
-# _LT_PROG_F77
-# ------------
-# Since AC_PROG_F77 is broken, in that it returns the empty string
-# if there is no fortran compiler, we have our own version here.
-m4_defun([_LT_PROG_F77],
-[
-pushdef([AC_MSG_ERROR], [_lt_disable_F77=yes])
-AC_PROG_F77
-if test -z "$F77" || test "X$F77" = "Xno"; then
-  _lt_disable_F77=yes
-fi
-popdef([AC_MSG_ERROR])
-])# _LT_PROG_F77
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([_LT_PROG_F77], [])
-
-
-# _LT_LANG_F77_CONFIG([TAG])
-# --------------------------
-# Ensure that the configuration variables for a Fortran 77 compiler are
-# suitably defined.  These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
-m4_defun([_LT_LANG_F77_CONFIG],
-[AC_REQUIRE([_LT_PROG_F77])dnl
-AC_LANG_PUSH(Fortran 77)
-
-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_TAGVAR(allow_undefined_flag, $1)=
-_LT_TAGVAR(always_export_symbols, $1)=no
-_LT_TAGVAR(archive_expsym_cmds, $1)=
-_LT_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_TAGVAR(hardcode_direct, $1)=no
-_LT_TAGVAR(hardcode_direct_absolute, $1)=no
-_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
-_LT_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_TAGVAR(hardcode_minus_L, $1)=no
-_LT_TAGVAR(hardcode_automatic, $1)=no
-_LT_TAGVAR(inherit_rpath, $1)=no
-_LT_TAGVAR(module_cmds, $1)=
-_LT_TAGVAR(module_expsym_cmds, $1)=
-_LT_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_TAGVAR(no_undefined_flag, $1)=
-_LT_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Source file extension for f77 test sources.
-ac_ext=f
-
-# Object file extension for compiled f77 test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# No sense in running all these tests if we already determined that
-# the F77 compiler isn't working.  Some variables (like enable_shared)
-# are currently assumed to apply to all compilers on this platform,
-# and will be corrupted by setting them based on a non-working compiler.
-if test "$_lt_disable_F77" != yes; then
-  # Code to be used in simple compile tests
-  lt_simple_compile_test_code="\
-      subroutine t
-      return
-      end
-"
-
-  # Code to be used in simple link tests
-  lt_simple_link_test_code="\
-      program t
-      end
-"
-
-  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
-  _LT_TAG_COMPILER
-
-  # save warnings/boilerplate of simple test code
-  _LT_COMPILER_BOILERPLATE
-  _LT_LINKER_BOILERPLATE
-
-  # Allow CC to be a program name with arguments.
-  lt_save_CC="$CC"
-  lt_save_GCC=$GCC
-  CC=${F77-"f77"}
-  compiler=$CC
-  _LT_TAGVAR(compiler, $1)=$CC
-  _LT_CC_BASENAME([$compiler])
-  GCC=$G77
-  if test -n "$compiler"; then
-    AC_MSG_CHECKING([if libtool supports shared libraries])
-    AC_MSG_RESULT([$can_build_shared])
-
-    AC_MSG_CHECKING([whether to build shared libraries])
-    test "$can_build_shared" = "no" && enable_shared=no
-
-    # On AIX, shared libraries and static libraries use the same namespace, and
-    # are all built from PIC.
-    case $host_os in
-      aix3*)
-        test "$enable_shared" = yes && enable_static=no
-        if test -n "$RANLIB"; then
-          archive_cmds="$archive_cmds~\$RANLIB \$lib"
-          postinstall_cmds='$RANLIB $lib'
-        fi
-        ;;
-      aix[[4-9]]*)
-	if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-	  test "$enable_shared" = yes && enable_static=no
-	fi
-        ;;
-    esac
-    AC_MSG_RESULT([$enable_shared])
-
-    AC_MSG_CHECKING([whether to build static libraries])
-    # Make sure either enable_shared or enable_static is yes.
-    test "$enable_shared" = yes || enable_static=yes
-    AC_MSG_RESULT([$enable_static])
-
-    _LT_TAGVAR(GCC, $1)="$G77"
-    _LT_TAGVAR(LD, $1)="$LD"
-
-    ## CAVEAT EMPTOR:
-    ## There is no encapsulation within the following macros, do not change
-    ## the running order or otherwise move them around unless you know exactly
-    ## what you are doing...
-    _LT_COMPILER_PIC($1)
-    _LT_COMPILER_C_O($1)
-    _LT_COMPILER_FILE_LOCKS($1)
-    _LT_LINKER_SHLIBS($1)
-    _LT_SYS_DYNAMIC_LINKER($1)
-    _LT_LINKER_HARDCODE_LIBPATH($1)
-
-    _LT_CONFIG($1)
-  fi # test -n "$compiler"
-
-  GCC=$lt_save_GCC
-  CC="$lt_save_CC"
-fi # test "$_lt_disable_F77" != yes
-
-AC_LANG_POP
-])# _LT_LANG_F77_CONFIG
-
-
-# _LT_PROG_FC
-# -----------
-# Since AC_PROG_FC is broken, in that it returns the empty string
-# if there is no fortran compiler, we have our own version here.
-m4_defun([_LT_PROG_FC],
-[
-pushdef([AC_MSG_ERROR], [_lt_disable_FC=yes])
-AC_PROG_FC
-if test -z "$FC" || test "X$FC" = "Xno"; then
-  _lt_disable_FC=yes
-fi
-popdef([AC_MSG_ERROR])
-])# _LT_PROG_FC
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([_LT_PROG_FC], [])
-
-
-# _LT_LANG_FC_CONFIG([TAG])
-# -------------------------
-# Ensure that the configuration variables for a Fortran compiler are
-# suitably defined.  These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
-m4_defun([_LT_LANG_FC_CONFIG],
-[AC_REQUIRE([_LT_PROG_FC])dnl
-AC_LANG_PUSH(Fortran)
-
-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_TAGVAR(allow_undefined_flag, $1)=
-_LT_TAGVAR(always_export_symbols, $1)=no
-_LT_TAGVAR(archive_expsym_cmds, $1)=
-_LT_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_TAGVAR(hardcode_direct, $1)=no
-_LT_TAGVAR(hardcode_direct_absolute, $1)=no
-_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
-_LT_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_TAGVAR(hardcode_minus_L, $1)=no
-_LT_TAGVAR(hardcode_automatic, $1)=no
-_LT_TAGVAR(inherit_rpath, $1)=no
-_LT_TAGVAR(module_cmds, $1)=
-_LT_TAGVAR(module_expsym_cmds, $1)=
-_LT_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_TAGVAR(no_undefined_flag, $1)=
-_LT_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Source file extension for fc test sources.
-ac_ext=${ac_fc_srcext-f}
-
-# Object file extension for compiled fc test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# No sense in running all these tests if we already determined that
-# the FC compiler isn't working.  Some variables (like enable_shared)
-# are currently assumed to apply to all compilers on this platform,
-# and will be corrupted by setting them based on a non-working compiler.
-if test "$_lt_disable_FC" != yes; then
-  # Code to be used in simple compile tests
-  lt_simple_compile_test_code="\
-      subroutine t
-      return
-      end
-"
-
-  # Code to be used in simple link tests
-  lt_simple_link_test_code="\
-      program t
-      end
-"
-
-  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
-  _LT_TAG_COMPILER
-
-  # save warnings/boilerplate of simple test code
-  _LT_COMPILER_BOILERPLATE
-  _LT_LINKER_BOILERPLATE
-
-  # Allow CC to be a program name with arguments.
-  lt_save_CC="$CC"
-  lt_save_GCC=$GCC
-  CC=${FC-"f95"}
-  compiler=$CC
-  GCC=$ac_cv_fc_compiler_gnu
-
-  _LT_TAGVAR(compiler, $1)=$CC
-  _LT_CC_BASENAME([$compiler])
-
-  if test -n "$compiler"; then
-    AC_MSG_CHECKING([if libtool supports shared libraries])
-    AC_MSG_RESULT([$can_build_shared])
-
-    AC_MSG_CHECKING([whether to build shared libraries])
-    test "$can_build_shared" = "no" && enable_shared=no
-
-    # On AIX, shared libraries and static libraries use the same namespace, and
-    # are all built from PIC.
-    case $host_os in
-      aix3*)
-        test "$enable_shared" = yes && enable_static=no
-        if test -n "$RANLIB"; then
-          archive_cmds="$archive_cmds~\$RANLIB \$lib"
-          postinstall_cmds='$RANLIB $lib'
-        fi
-        ;;
-      aix[[4-9]]*)
-	if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-	  test "$enable_shared" = yes && enable_static=no
-	fi
-        ;;
-    esac
-    AC_MSG_RESULT([$enable_shared])
-
-    AC_MSG_CHECKING([whether to build static libraries])
-    # Make sure either enable_shared or enable_static is yes.
-    test "$enable_shared" = yes || enable_static=yes
-    AC_MSG_RESULT([$enable_static])
-
-    _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
-    _LT_TAGVAR(LD, $1)="$LD"
-
-    ## CAVEAT EMPTOR:
-    ## There is no encapsulation within the following macros, do not change
-    ## the running order or otherwise move them around unless you know exactly
-    ## what you are doing...
-    _LT_SYS_HIDDEN_LIBDEPS($1)
-    _LT_COMPILER_PIC($1)
-    _LT_COMPILER_C_O($1)
-    _LT_COMPILER_FILE_LOCKS($1)
-    _LT_LINKER_SHLIBS($1)
-    _LT_SYS_DYNAMIC_LINKER($1)
-    _LT_LINKER_HARDCODE_LIBPATH($1)
-
-    _LT_CONFIG($1)
-  fi # test -n "$compiler"
-
-  GCC=$lt_save_GCC
-  CC="$lt_save_CC"
-fi # test "$_lt_disable_FC" != yes
-
-AC_LANG_POP
-])# _LT_LANG_FC_CONFIG
-
-
-# _LT_LANG_GCJ_CONFIG([TAG])
-# --------------------------
-# Ensure that the configuration variables for the GNU Java Compiler compiler
-# are suitably defined.  These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
-m4_defun([_LT_LANG_GCJ_CONFIG],
-[AC_REQUIRE([LT_PROG_GCJ])dnl
-AC_LANG_SAVE
-
-# Source file extension for Java test sources.
-ac_ext=java
-
-# Object file extension for compiled Java test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="class foo {}"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_TAG_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-lt_save_GCC=$GCC
-GCC=yes
-CC=${GCJ-"gcj"}
-compiler=$CC
-_LT_TAGVAR(compiler, $1)=$CC
-_LT_TAGVAR(LD, $1)="$LD"
-_LT_CC_BASENAME([$compiler])
-
-# GCJ did not exist at the time GCC didn't implicitly link libc in.
-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
-
-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-
-## CAVEAT EMPTOR:
-## There is no encapsulation within the following macros, do not change
-## the running order or otherwise move them around unless you know exactly
-## what you are doing...
-if test -n "$compiler"; then
-  _LT_COMPILER_NO_RTTI($1)
-  _LT_COMPILER_PIC($1)
-  _LT_COMPILER_C_O($1)
-  _LT_COMPILER_FILE_LOCKS($1)
-  _LT_LINKER_SHLIBS($1)
-  _LT_LINKER_HARDCODE_LIBPATH($1)
-
-  _LT_CONFIG($1)
-fi
-
-AC_LANG_RESTORE
-
-GCC=$lt_save_GCC
-CC="$lt_save_CC"
-])# _LT_LANG_GCJ_CONFIG
-
-
-# _LT_LANG_RC_CONFIG([TAG])
-# -------------------------
-# Ensure that the configuration variables for the Windows resource compiler
-# are suitably defined.  These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
-m4_defun([_LT_LANG_RC_CONFIG],
-[AC_REQUIRE([LT_PROG_RC])dnl
-AC_LANG_SAVE
-
-# Source file extension for RC test sources.
-ac_ext=rc
-
-# Object file extension for compiled RC test sources.
-objext=o
-_LT_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
-
-# Code to be used in simple link tests
-lt_simple_link_test_code="$lt_simple_compile_test_code"
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_TAG_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-lt_save_GCC=$GCC
-GCC=
-CC=${RC-"windres"}
-compiler=$CC
-_LT_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
-
-if test -n "$compiler"; then
-  :
-  _LT_CONFIG($1)
-fi
-
-GCC=$lt_save_GCC
-AC_LANG_RESTORE
-CC="$lt_save_CC"
-])# _LT_LANG_RC_CONFIG
-
-
-# LT_PROG_GCJ
-# -----------
-AC_DEFUN([LT_PROG_GCJ],
-[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
-  [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
-    [AC_CHECK_TOOL(GCJ, gcj,)
-      test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
-      AC_SUBST(GCJFLAGS)])])[]dnl
-])
-
-# Old name:
-AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
-
-
-# LT_PROG_RC
-# ----------
-AC_DEFUN([LT_PROG_RC],
-[AC_CHECK_TOOL(RC, windres,)
-])
-
-# Old name:
-AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([LT_AC_PROG_RC], [])
-
-
-# _LT_DECL_EGREP
-# --------------
-# If we don't have a new enough Autoconf to choose the best grep
-# available, choose the one first in the user's PATH.
-m4_defun([_LT_DECL_EGREP],
-[AC_REQUIRE([AC_PROG_EGREP])dnl
-AC_REQUIRE([AC_PROG_FGREP])dnl
-test -z "$GREP" && GREP=grep
-_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
-_LT_DECL([], [EGREP], [1], [An ERE matcher])
-_LT_DECL([], [FGREP], [1], [A literal string matcher])
-dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
-AC_SUBST([GREP])
-])
-
-
-# _LT_DECL_OBJDUMP
-# --------------
-# If we don't have a new enough Autoconf to choose the best objdump
-# available, choose the one first in the user's PATH.
-m4_defun([_LT_DECL_OBJDUMP],
-[AC_CHECK_TOOL(OBJDUMP, objdump, false)
-test -z "$OBJDUMP" && OBJDUMP=objdump
-_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
-AC_SUBST([OBJDUMP])
-])
-
-
-# _LT_DECL_SED
-# ------------
-# Check for a fully-functional sed program, that truncates
-# as few characters as possible.  Prefer GNU sed if found.
-m4_defun([_LT_DECL_SED],
-[AC_PROG_SED
-test -z "$SED" && SED=sed
-Xsed="$SED -e 1s/^X//"
-_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
-_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
-    [Sed that helps us avoid accidentally triggering echo(1) options like -n])
-])# _LT_DECL_SED
-
-m4_ifndef([AC_PROG_SED], [
-############################################################
-# NOTE: This macro has been submitted for inclusion into   #
-#  GNU Autoconf as AC_PROG_SED.  When it is available in   #
-#  a released version of Autoconf we should remove this    #
-#  macro and use it instead.                               #
-############################################################
-
-m4_defun([AC_PROG_SED],
-[AC_MSG_CHECKING([for a sed that does not truncate output])
-AC_CACHE_VAL(lt_cv_path_SED,
-[# Loop through the user's path and test for sed and gsed.
-# Then use that list of sed's as ones to test for truncation.
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for lt_ac_prog in sed gsed; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
-        lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
-      fi
-    done
-  done
-done
-IFS=$as_save_IFS
-lt_ac_max=0
-lt_ac_count=0
-# Add /usr/xpg4/bin/sed as it is typically found on Solaris
-# along with /bin/sed that truncates output.
-for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
-  test ! -f $lt_ac_sed && continue
-  cat /dev/null > conftest.in
-  lt_ac_count=0
-  echo $ECHO_N "0123456789$ECHO_C" >conftest.in
-  # Check for GNU sed and select it if it is found.
-  if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
-    lt_cv_path_SED=$lt_ac_sed
-    break
-  fi
-  while true; do
-    cat conftest.in conftest.in >conftest.tmp
-    mv conftest.tmp conftest.in
-    cp conftest.in conftest.nl
-    echo >>conftest.nl
-    $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
-    cmp -s conftest.out conftest.nl || break
-    # 10000 chars as input seems more than enough
-    test $lt_ac_count -gt 10 && break
-    lt_ac_count=`expr $lt_ac_count + 1`
-    if test $lt_ac_count -gt $lt_ac_max; then
-      lt_ac_max=$lt_ac_count
-      lt_cv_path_SED=$lt_ac_sed
-    fi
-  done
-done
-])
-SED=$lt_cv_path_SED
-AC_SUBST([SED])
-AC_MSG_RESULT([$SED])
-])#AC_PROG_SED
-])#m4_ifndef
-
-# Old name:
-AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([LT_AC_PROG_SED], [])
-
-
-# _LT_CHECK_SHELL_FEATURES
-# ------------------------
-# Find out whether the shell is Bourne or XSI compatible,
-# or has some other useful features.
-m4_defun([_LT_CHECK_SHELL_FEATURES],
-[AC_MSG_CHECKING([whether the shell understands some XSI constructs])
-# Try some XSI features
-xsi_shell=no
-( _lt_dummy="a/b/c"
-  test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
-      = c,a/b,, \
-    && eval 'test $(( 1 + 1 )) -eq 2 \
-    && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
-  && xsi_shell=yes
-AC_MSG_RESULT([$xsi_shell])
-_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
-
-AC_MSG_CHECKING([whether the shell understands "+="])
-lt_shell_append=no
-( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
-    >/dev/null 2>&1 \
-  && lt_shell_append=yes
-AC_MSG_RESULT([$lt_shell_append])
-_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
-
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-  lt_unset=unset
-else
-  lt_unset=false
-fi
-_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
-
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
-    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
-  lt_SP2NL='tr \040 \012'
-  lt_NL2SP='tr \015\012 \040\040'
-  ;;
- *) # EBCDIC based system
-  lt_SP2NL='tr \100 \n'
-  lt_NL2SP='tr \r\n \100\100'
-  ;;
-esac
-_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
-_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
-])# _LT_CHECK_SHELL_FEATURES
-
-
-# _LT_PROG_XSI_SHELLFNS
-# ---------------------
-# Bourne and XSI compatible variants of some useful shell functions.
-m4_defun([_LT_PROG_XSI_SHELLFNS],
-[case $xsi_shell in
-  yes)
-    cat << \_LT_EOF >> "$cfgfile"
-
-# func_dirname file append nondir_replacement
-# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
-# otherwise set result to NONDIR_REPLACEMENT.
-func_dirname ()
-{
-  case ${1} in
-    */*) func_dirname_result="${1%/*}${2}" ;;
-    *  ) func_dirname_result="${3}" ;;
-  esac
-}
-
-# func_basename file
-func_basename ()
-{
-  func_basename_result="${1##*/}"
-}
-
-# func_dirname_and_basename file append nondir_replacement
-# perform func_basename and func_dirname in a single function
-# call:
-#   dirname:  Compute the dirname of FILE.  If nonempty,
-#             add APPEND to the result, otherwise set result
-#             to NONDIR_REPLACEMENT.
-#             value returned in "$func_dirname_result"
-#   basename: Compute filename of FILE.
-#             value retuned in "$func_basename_result"
-# Implementation must be kept synchronized with func_dirname
-# and func_basename. For efficiency, we do not delegate to
-# those functions but instead duplicate the functionality here.
-func_dirname_and_basename ()
-{
-  case ${1} in
-    */*) func_dirname_result="${1%/*}${2}" ;;
-    *  ) func_dirname_result="${3}" ;;
-  esac
-  func_basename_result="${1##*/}"
-}
-
-# func_stripname prefix suffix name
-# strip PREFIX and SUFFIX off of NAME.
-# PREFIX and SUFFIX must not contain globbing or regex special
-# characters, hashes, percent signs, but SUFFIX may contain a leading
-# dot (in which case that matches only a dot).
-func_stripname ()
-{
-  # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
-  # positional parameters, so assign one to ordinary parameter first.
-  func_stripname_result=${3}
-  func_stripname_result=${func_stripname_result#"${1}"}
-  func_stripname_result=${func_stripname_result%"${2}"}
-}
-
-# func_opt_split
-func_opt_split ()
-{
-  func_opt_split_opt=${1%%=*}
-  func_opt_split_arg=${1#*=}
-}
-
-# func_lo2o object
-func_lo2o ()
-{
-  case ${1} in
-    *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
-    *)    func_lo2o_result=${1} ;;
-  esac
-}
-
-# func_xform libobj-or-source
-func_xform ()
-{
-  func_xform_result=${1%.*}.lo
-}
-
-# func_arith arithmetic-term...
-func_arith ()
-{
-  func_arith_result=$(( $[*] ))
-}
-
-# func_len string
-# STRING may not start with a hyphen.
-func_len ()
-{
-  func_len_result=${#1}
-}
-
-_LT_EOF
-    ;;
-  *) # Bourne compatible functions.
-    cat << \_LT_EOF >> "$cfgfile"
-
-# func_dirname file append nondir_replacement
-# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
-# otherwise set result to NONDIR_REPLACEMENT.
-func_dirname ()
-{
-  # Extract subdirectory from the argument.
-  func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
-  if test "X$func_dirname_result" = "X${1}"; then
-    func_dirname_result="${3}"
-  else
-    func_dirname_result="$func_dirname_result${2}"
-  fi
-}
-
-# func_basename file
-func_basename ()
-{
-  func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
-}
-
-dnl func_dirname_and_basename
-dnl A portable version of this function is already defined in general.m4sh
-dnl so there is no need for it here.
-
-# func_stripname prefix suffix name
-# strip PREFIX and SUFFIX off of NAME.
-# PREFIX and SUFFIX must not contain globbing or regex special
-# characters, hashes, percent signs, but SUFFIX may contain a leading
-# dot (in which case that matches only a dot).
-# func_strip_suffix prefix name
-func_stripname ()
-{
-  case ${2} in
-    .*) func_stripname_result=`$ECHO "X${3}" \
-           | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
-    *)  func_stripname_result=`$ECHO "X${3}" \
-           | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
-  esac
-}
-
-# sed scripts:
-my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q'
-my_sed_long_arg='1s/^-[[^=]]*=//'
-
-# func_opt_split
-func_opt_split ()
-{
-  func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
-  func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
-}
-
-# func_lo2o object
-func_lo2o ()
-{
-  func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
-}
-
-# func_xform libobj-or-source
-func_xform ()
-{
-  func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'`
-}
-
-# func_arith arithmetic-term...
-func_arith ()
-{
-  func_arith_result=`expr "$[@]"`
-}
-
-# func_len string
-# STRING may not start with a hyphen.
-func_len ()
-{
-  func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len`
-}
-
-_LT_EOF
-esac
-
-case $lt_shell_append in
-  yes)
-    cat << \_LT_EOF >> "$cfgfile"
-
-# func_append var value
-# Append VALUE to the end of shell variable VAR.
-func_append ()
-{
-  eval "$[1]+=\$[2]"
-}
-_LT_EOF
-    ;;
-  *)
-    cat << \_LT_EOF >> "$cfgfile"
-
-# func_append var value
-# Append VALUE to the end of shell variable VAR.
-func_append ()
-{
-  eval "$[1]=\$$[1]\$[2]"
-}
-
-_LT_EOF
-    ;;
-  esac
-])
diff --git a/m4/ltoptions.m4 b/m4/ltoptions.m4
deleted file mode 100644
index 34151a3..0000000
--- a/m4/ltoptions.m4
+++ /dev/null
@@ -1,368 +0,0 @@
-# Helper functions for option handling.                    -*- Autoconf -*-
-#
-#   Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
-#   Written by Gary V. Vaughan, 2004
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-# serial 6 ltoptions.m4
-
-# This is to help aclocal find these macros, as it can't see m4_define.
-AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
-
-
-# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
-# ------------------------------------------
-m4_define([_LT_MANGLE_OPTION],
-[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
-
-
-# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
-# ---------------------------------------
-# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
-# matching handler defined, dispatch to it.  Other OPTION-NAMEs are
-# saved as a flag.
-m4_define([_LT_SET_OPTION],
-[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
-m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
-        _LT_MANGLE_DEFUN([$1], [$2]),
-    [m4_warning([Unknown $1 option `$2'])])[]dnl
-])
-
-
-# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
-# ------------------------------------------------------------
-# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
-m4_define([_LT_IF_OPTION],
-[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
-
-
-# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
-# -------------------------------------------------------
-# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
-# are set.
-m4_define([_LT_UNLESS_OPTIONS],
-[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
-	    [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
-		      [m4_define([$0_found])])])[]dnl
-m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
-])[]dnl
-])
-
-
-# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
-# ----------------------------------------
-# OPTION-LIST is a space-separated list of Libtool options associated
-# with MACRO-NAME.  If any OPTION has a matching handler declared with
-# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
-# the unknown option and exit.
-m4_defun([_LT_SET_OPTIONS],
-[# Set options
-m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
-    [_LT_SET_OPTION([$1], _LT_Option)])
-
-m4_if([$1],[LT_INIT],[
-  dnl
-  dnl Simply set some default values (i.e off) if boolean options were not
-  dnl specified:
-  _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
-  ])
-  _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
-  ])
-  dnl
-  dnl If no reference was made to various pairs of opposing options, then
-  dnl we run the default mode handler for the pair.  For example, if neither
-  dnl `shared' nor `disable-shared' was passed, we enable building of shared
-  dnl archives by default:
-  _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
-  _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
-  _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
-  _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
-  		   [_LT_ENABLE_FAST_INSTALL])
-  ])
-])# _LT_SET_OPTIONS
-
-
-## --------------------------------- ##
-## Macros to handle LT_INIT options. ##
-## --------------------------------- ##
-
-# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
-# -----------------------------------------
-m4_define([_LT_MANGLE_DEFUN],
-[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
-
-
-# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
-# -----------------------------------------------
-m4_define([LT_OPTION_DEFINE],
-[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
-])# LT_OPTION_DEFINE
-
-
-# dlopen
-# ------
-LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
-])
-
-AU_DEFUN([AC_LIBTOOL_DLOPEN],
-[_LT_SET_OPTION([LT_INIT], [dlopen])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the `dlopen' option into LT_INIT's first parameter.])
-])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
-
-
-# win32-dll
-# ---------
-# Declare package support for building win32 dll's.
-LT_OPTION_DEFINE([LT_INIT], [win32-dll],
-[enable_win32_dll=yes
-
-case $host in
-*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*)
-  AC_CHECK_TOOL(AS, as, false)
-  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
-  AC_CHECK_TOOL(OBJDUMP, objdump, false)
-  ;;
-esac
-
-test -z "$AS" && AS=as
-_LT_DECL([], [AS],      [0], [Assembler program])dnl
-
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl
-
-test -z "$OBJDUMP" && OBJDUMP=objdump
-_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl
-])# win32-dll
-
-AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-_LT_SET_OPTION([LT_INIT], [win32-dll])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the `win32-dll' option into LT_INIT's first parameter.])
-])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
-
-
-# _LT_ENABLE_SHARED([DEFAULT])
-# ----------------------------
-# implement the --enable-shared flag, and supports the `shared' and
-# `disable-shared' LT_INIT options.
-# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
-m4_define([_LT_ENABLE_SHARED],
-[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
-AC_ARG_ENABLE([shared],
-    [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
-	[build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
-    [p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_shared=yes ;;
-    no) enable_shared=no ;;
-    *)
-      enable_shared=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-	IFS="$lt_save_ifs"
-	if test "X$pkg" = "X$p"; then
-	  enable_shared=yes
-	fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac],
-    [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
-
-    _LT_DECL([build_libtool_libs], [enable_shared], [0],
-	[Whether or not to build shared libraries])
-])# _LT_ENABLE_SHARED
-
-LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
-LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
-
-# Old names:
-AC_DEFUN([AC_ENABLE_SHARED],
-[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
-])
-
-AC_DEFUN([AC_DISABLE_SHARED],
-[_LT_SET_OPTION([LT_INIT], [disable-shared])
-])
-
-AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
-AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AM_ENABLE_SHARED], [])
-dnl AC_DEFUN([AM_DISABLE_SHARED], [])
-
-
-
-# _LT_ENABLE_STATIC([DEFAULT])
-# ----------------------------
-# implement the --enable-static flag, and support the `static' and
-# `disable-static' LT_INIT options.
-# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
-m4_define([_LT_ENABLE_STATIC],
-[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
-AC_ARG_ENABLE([static],
-    [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
-	[build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
-    [p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_static=yes ;;
-    no) enable_static=no ;;
-    *)
-     enable_static=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-	IFS="$lt_save_ifs"
-	if test "X$pkg" = "X$p"; then
-	  enable_static=yes
-	fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac],
-    [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
-
-    _LT_DECL([build_old_libs], [enable_static], [0],
-	[Whether or not to build static libraries])
-])# _LT_ENABLE_STATIC
-
-LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
-LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
-
-# Old names:
-AC_DEFUN([AC_ENABLE_STATIC],
-[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
-])
-
-AC_DEFUN([AC_DISABLE_STATIC],
-[_LT_SET_OPTION([LT_INIT], [disable-static])
-])
-
-AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
-AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AM_ENABLE_STATIC], [])
-dnl AC_DEFUN([AM_DISABLE_STATIC], [])
-
-
-
-# _LT_ENABLE_FAST_INSTALL([DEFAULT])
-# ----------------------------------
-# implement the --enable-fast-install flag, and support the `fast-install'
-# and `disable-fast-install' LT_INIT options.
-# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
-m4_define([_LT_ENABLE_FAST_INSTALL],
-[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
-AC_ARG_ENABLE([fast-install],
-    [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
-    [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
-    [p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_fast_install=yes ;;
-    no) enable_fast_install=no ;;
-    *)
-      enable_fast_install=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-	IFS="$lt_save_ifs"
-	if test "X$pkg" = "X$p"; then
-	  enable_fast_install=yes
-	fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac],
-    [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
-
-_LT_DECL([fast_install], [enable_fast_install], [0],
-	 [Whether or not to optimize for fast installation])dnl
-])# _LT_ENABLE_FAST_INSTALL
-
-LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
-LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
-
-# Old names:
-AU_DEFUN([AC_ENABLE_FAST_INSTALL],
-[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you put
-the `fast-install' option into LT_INIT's first parameter.])
-])
-
-AU_DEFUN([AC_DISABLE_FAST_INSTALL],
-[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you put
-the `disable-fast-install' option into LT_INIT's first parameter.])
-])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
-dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
-
-
-# _LT_WITH_PIC([MODE])
-# --------------------
-# implement the --with-pic flag, and support the `pic-only' and `no-pic'
-# LT_INIT options.
-# MODE is either `yes' or `no'.  If omitted, it defaults to `both'.
-m4_define([_LT_WITH_PIC],
-[AC_ARG_WITH([pic],
-    [AS_HELP_STRING([--with-pic],
-	[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
-    [pic_mode="$withval"],
-    [pic_mode=default])
-
-test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
-
-_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
-])# _LT_WITH_PIC
-
-LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
-LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
-
-# Old name:
-AU_DEFUN([AC_LIBTOOL_PICMODE],
-[_LT_SET_OPTION([LT_INIT], [pic-only])
-AC_DIAGNOSE([obsolete],
-[$0: Remove this warning and the call to _LT_SET_OPTION when you
-put the `pic-only' option into LT_INIT's first parameter.])
-])
-
-dnl aclocal-1.4 backwards compatibility:
-dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
-
-## ----------------- ##
-## LTDL_INIT Options ##
-## ----------------- ##
-
-m4_define([_LTDL_MODE], [])
-LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
-		 [m4_define([_LTDL_MODE], [nonrecursive])])
-LT_OPTION_DEFINE([LTDL_INIT], [recursive],
-		 [m4_define([_LTDL_MODE], [recursive])])
-LT_OPTION_DEFINE([LTDL_INIT], [subproject],
-		 [m4_define([_LTDL_MODE], [subproject])])
-
-m4_define([_LTDL_TYPE], [])
-LT_OPTION_DEFINE([LTDL_INIT], [installable],
-		 [m4_define([_LTDL_TYPE], [installable])])
-LT_OPTION_DEFINE([LTDL_INIT], [convenience],
-		 [m4_define([_LTDL_TYPE], [convenience])])
diff --git a/m4/ltsugar.m4 b/m4/ltsugar.m4
deleted file mode 100644
index 9000a05..0000000
--- a/m4/ltsugar.m4
+++ /dev/null
@@ -1,123 +0,0 @@
-# ltsugar.m4 -- libtool m4 base layer.                         -*-Autoconf-*-
-#
-# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
-# Written by Gary V. Vaughan, 2004
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-# serial 6 ltsugar.m4
-
-# This is to help aclocal find these macros, as it can't see m4_define.
-AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
-
-
-# lt_join(SEP, ARG1, [ARG2...])
-# -----------------------------
-# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
-# associated separator.
-# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
-# versions in m4sugar had bugs.
-m4_define([lt_join],
-[m4_if([$#], [1], [],
-       [$#], [2], [[$2]],
-       [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
-m4_define([_lt_join],
-[m4_if([$#$2], [2], [],
-       [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
-
-
-# lt_car(LIST)
-# lt_cdr(LIST)
-# ------------
-# Manipulate m4 lists.
-# These macros are necessary as long as will still need to support
-# Autoconf-2.59 which quotes differently.
-m4_define([lt_car], [[$1]])
-m4_define([lt_cdr],
-[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
-       [$#], 1, [],
-       [m4_dquote(m4_shift($@))])])
-m4_define([lt_unquote], $1)
-
-
-# lt_append(MACRO-NAME, STRING, [SEPARATOR])
-# ------------------------------------------
-# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
-# Note that neither SEPARATOR nor STRING are expanded; they are appended
-# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
-# No SEPARATOR is output if MACRO-NAME was previously undefined (different
-# than defined and empty).
-#
-# This macro is needed until we can rely on Autoconf 2.62, since earlier
-# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
-m4_define([lt_append],
-[m4_define([$1],
-	   m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
-
-
-
-# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
-# ----------------------------------------------------------
-# Produce a SEP delimited list of all paired combinations of elements of
-# PREFIX-LIST with SUFFIX1 through SUFFIXn.  Each element of the list
-# has the form PREFIXmINFIXSUFFIXn.
-# Needed until we can rely on m4_combine added in Autoconf 2.62.
-m4_define([lt_combine],
-[m4_if(m4_eval([$# > 3]), [1],
-       [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
-[[m4_foreach([_Lt_prefix], [$2],
-	     [m4_foreach([_Lt_suffix],
-		]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
-	[_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
-
-
-# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
-# -----------------------------------------------------------------------
-# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
-# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
-m4_define([lt_if_append_uniq],
-[m4_ifdef([$1],
-	  [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
-		 [lt_append([$1], [$2], [$3])$4],
-		 [$5])],
-	  [lt_append([$1], [$2], [$3])$4])])
-
-
-# lt_dict_add(DICT, KEY, VALUE)
-# -----------------------------
-m4_define([lt_dict_add],
-[m4_define([$1($2)], [$3])])
-
-
-# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
-# --------------------------------------------
-m4_define([lt_dict_add_subkey],
-[m4_define([$1($2:$3)], [$4])])
-
-
-# lt_dict_fetch(DICT, KEY, [SUBKEY])
-# ----------------------------------
-m4_define([lt_dict_fetch],
-[m4_ifval([$3],
-	m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
-    m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
-
-
-# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
-# -----------------------------------------------------------------
-m4_define([lt_if_dict_fetch],
-[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
-	[$5],
-    [$6])])
-
-
-# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
-# --------------------------------------------------------------
-m4_define([lt_dict_filter],
-[m4_if([$5], [], [],
-  [lt_join(m4_quote(m4_default([$4], [[, ]])),
-           lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
-		      [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
-])
diff --git a/m4/ltversion.m4 b/m4/ltversion.m4
deleted file mode 100644
index b8e154f..0000000
--- a/m4/ltversion.m4
+++ /dev/null
@@ -1,23 +0,0 @@
-# ltversion.m4 -- version numbers			-*- Autoconf -*-
-#
-#   Copyright (C) 2004 Free Software Foundation, Inc.
-#   Written by Scott James Remnant, 2004
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-# Generated from ltversion.in.
-
-# serial 3012 ltversion.m4
-# This file is part of GNU Libtool
-
-m4_define([LT_PACKAGE_VERSION], [2.2.6])
-m4_define([LT_PACKAGE_REVISION], [1.3012])
-
-AC_DEFUN([LTVERSION_VERSION],
-[macro_version='2.2.6'
-macro_revision='1.3012'
-_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
-_LT_DECL(, macro_revision, 0)
-])
diff --git a/m4/lt~obsolete.m4 b/m4/lt~obsolete.m4
deleted file mode 100644
index 637bb20..0000000
--- a/m4/lt~obsolete.m4
+++ /dev/null
@@ -1,92 +0,0 @@
-# lt~obsolete.m4 -- aclocal satisfying obsolete definitions.    -*-Autoconf-*-
-#
-#   Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
-#   Written by Scott James Remnant, 2004.
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-# serial 4 lt~obsolete.m4
-
-# These exist entirely to fool aclocal when bootstrapping libtool.
-#
-# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
-# which have later been changed to m4_define as they aren't part of the
-# exported API, or moved to Autoconf or Automake where they belong.
-#
-# The trouble is, aclocal is a bit thick.  It'll see the old AC_DEFUN
-# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
-# using a macro with the same name in our local m4/libtool.m4 it'll
-# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
-# and doesn't know about Autoconf macros at all.)
-#
-# So we provide this file, which has a silly filename so it's always
-# included after everything else.  This provides aclocal with the
-# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
-# because those macros already exist, or will be overwritten later.
-# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. 
-#
-# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
-# Yes, that means every name once taken will need to remain here until
-# we give up compatibility with versions before 1.7, at which point
-# we need to keep only those names which we still refer to.
-
-# This is to help aclocal find these macros, as it can't see m4_define.
-AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
-
-m4_ifndef([AC_LIBTOOL_LINKER_OPTION],	[AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
-m4_ifndef([AC_PROG_EGREP],		[AC_DEFUN([AC_PROG_EGREP])])
-m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH],	[AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
-m4_ifndef([_LT_AC_SHELL_INIT],		[AC_DEFUN([_LT_AC_SHELL_INIT])])
-m4_ifndef([_LT_AC_SYS_LIBPATH_AIX],	[AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
-m4_ifndef([_LT_PROG_LTMAIN],		[AC_DEFUN([_LT_PROG_LTMAIN])])
-m4_ifndef([_LT_AC_TAGVAR],		[AC_DEFUN([_LT_AC_TAGVAR])])
-m4_ifndef([AC_LTDL_ENABLE_INSTALL],	[AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
-m4_ifndef([AC_LTDL_PREOPEN],		[AC_DEFUN([AC_LTDL_PREOPEN])])
-m4_ifndef([_LT_AC_SYS_COMPILER],	[AC_DEFUN([_LT_AC_SYS_COMPILER])])
-m4_ifndef([_LT_AC_LOCK],		[AC_DEFUN([_LT_AC_LOCK])])
-m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE],	[AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
-m4_ifndef([_LT_AC_TRY_DLOPEN_SELF],	[AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
-m4_ifndef([AC_LIBTOOL_PROG_CC_C_O],	[AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
-m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
-m4_ifndef([AC_LIBTOOL_OBJDIR],		[AC_DEFUN([AC_LIBTOOL_OBJDIR])])
-m4_ifndef([AC_LTDL_OBJDIR],		[AC_DEFUN([AC_LTDL_OBJDIR])])
-m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
-m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP],	[AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
-m4_ifndef([AC_PATH_MAGIC],		[AC_DEFUN([AC_PATH_MAGIC])])
-m4_ifndef([AC_PROG_LD_GNU],		[AC_DEFUN([AC_PROG_LD_GNU])])
-m4_ifndef([AC_PROG_LD_RELOAD_FLAG],	[AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
-m4_ifndef([AC_DEPLIBS_CHECK_METHOD],	[AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
-m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
-m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
-m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
-m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS],	[AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
-m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP],	[AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
-m4_ifndef([LT_AC_PROG_EGREP],		[AC_DEFUN([LT_AC_PROG_EGREP])])
-m4_ifndef([LT_AC_PROG_SED],		[AC_DEFUN([LT_AC_PROG_SED])])
-m4_ifndef([_LT_CC_BASENAME],		[AC_DEFUN([_LT_CC_BASENAME])])
-m4_ifndef([_LT_COMPILER_BOILERPLATE],	[AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
-m4_ifndef([_LT_LINKER_BOILERPLATE],	[AC_DEFUN([_LT_LINKER_BOILERPLATE])])
-m4_ifndef([_AC_PROG_LIBTOOL],		[AC_DEFUN([_AC_PROG_LIBTOOL])])
-m4_ifndef([AC_LIBTOOL_SETUP],		[AC_DEFUN([AC_LIBTOOL_SETUP])])
-m4_ifndef([_LT_AC_CHECK_DLFCN],		[AC_DEFUN([_LT_AC_CHECK_DLFCN])])
-m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER],	[AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
-m4_ifndef([_LT_AC_TAGCONFIG],		[AC_DEFUN([_LT_AC_TAGCONFIG])])
-m4_ifndef([AC_DISABLE_FAST_INSTALL],	[AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
-m4_ifndef([_LT_AC_LANG_CXX],		[AC_DEFUN([_LT_AC_LANG_CXX])])
-m4_ifndef([_LT_AC_LANG_F77],		[AC_DEFUN([_LT_AC_LANG_F77])])
-m4_ifndef([_LT_AC_LANG_GCJ],		[AC_DEFUN([_LT_AC_LANG_GCJ])])
-m4_ifndef([AC_LIBTOOL_RC],		[AC_DEFUN([AC_LIBTOOL_RC])])
-m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
-m4_ifndef([_LT_AC_LANG_C_CONFIG],	[AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
-m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
-m4_ifndef([_LT_AC_LANG_CXX_CONFIG],	[AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
-m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
-m4_ifndef([_LT_AC_LANG_F77_CONFIG],	[AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
-m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
-m4_ifndef([_LT_AC_LANG_GCJ_CONFIG],	[AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
-m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
-m4_ifndef([_LT_AC_LANG_RC_CONFIG],	[AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
-m4_ifndef([AC_LIBTOOL_CONFIG],		[AC_DEFUN([AC_LIBTOOL_CONFIG])])
-m4_ifndef([_LT_AC_FILE_LTDLL_C],	[AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
diff --git a/m4/stdint.m4 b/m4/stdint.m4
index 62ac3e5..c38bce0 100644
--- a/m4/stdint.m4
+++ b/m4/stdint.m4
@@ -34,7 +34,7 @@
 ac_dir=`AS_DIRNAME(["$1"])`
 if test "$ac_dir" != "$1" && test "$ac_dir" != .; then
   # The file is in a subdirectory.
-  test ! -d "$ac_dir" && AS_MKDIR_P(["$ac_dir"])
+  test ! -d "$ac_dir" && (AS_MKDIR_P(["$ac_dir"]))
 fi
 
 AX_CHECK_DEFINED_TYPE(uint8_t,
diff --git a/missing b/missing
deleted file mode 100755
index 28055d2..0000000
--- a/missing
+++ /dev/null
@@ -1,376 +0,0 @@
-#! /bin/sh
-# Common stub for a few missing GNU programs while installing.
-
-scriptversion=2009-04-28.21; # UTC
-
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
-# 2008, 2009 Free Software Foundation, Inc.
-# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-if test $# -eq 0; then
-  echo 1>&2 "Try \`$0 --help' for more information"
-  exit 1
-fi
-
-run=:
-sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
-sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
-
-# In the cases where this matters, `missing' is being run in the
-# srcdir already.
-if test -f configure.ac; then
-  configure_ac=configure.ac
-else
-  configure_ac=configure.in
-fi
-
-msg="missing on your system"
-
-case $1 in
---run)
-  # Try to run requested program, and just exit if it succeeds.
-  run=
-  shift
-  "$@" && exit 0
-  # Exit code 63 means version mismatch.  This often happens
-  # when the user try to use an ancient version of a tool on
-  # a file that requires a minimum version.  In this case we
-  # we should proceed has if the program had been absent, or
-  # if --run hadn't been passed.
-  if test $? = 63; then
-    run=:
-    msg="probably too old"
-  fi
-  ;;
-
-  -h|--h|--he|--hel|--help)
-    echo "\
-$0 [OPTION]... PROGRAM [ARGUMENT]...
-
-Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
-error status if there is no known handling for PROGRAM.
-
-Options:
-  -h, --help      display this help and exit
-  -v, --version   output version information and exit
-  --run           try to run the given command, and emulate it if it fails
-
-Supported PROGRAM values:
-  aclocal      touch file \`aclocal.m4'
-  autoconf     touch file \`configure'
-  autoheader   touch file \`config.h.in'
-  autom4te     touch the output file, or create a stub one
-  automake     touch all \`Makefile.in' files
-  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
-  flex         create \`lex.yy.c', if possible, from existing .c
-  help2man     touch the output file
-  lex          create \`lex.yy.c', if possible, from existing .c
-  makeinfo     touch the output file
-  tar          try tar, gnutar, gtar, then tar without non-portable flags
-  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
-
-Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
-\`g' are ignored when checking the name.
-
-Send bug reports to <bug-automake@gnu.org>."
-    exit $?
-    ;;
-
-  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
-    echo "missing $scriptversion (GNU Automake)"
-    exit $?
-    ;;
-
-  -*)
-    echo 1>&2 "$0: Unknown \`$1' option"
-    echo 1>&2 "Try \`$0 --help' for more information"
-    exit 1
-    ;;
-
-esac
-
-# normalize program name to check for.
-program=`echo "$1" | sed '
-  s/^gnu-//; t
-  s/^gnu//; t
-  s/^g//; t'`
-
-# Now exit if we have it, but it failed.  Also exit now if we
-# don't have it and --version was passed (most likely to detect
-# the program).  This is about non-GNU programs, so use $1 not
-# $program.
-case $1 in
-  lex*|yacc*)
-    # Not GNU programs, they don't have --version.
-    ;;
-
-  tar*)
-    if test -n "$run"; then
-       echo 1>&2 "ERROR: \`tar' requires --run"
-       exit 1
-    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
-       exit 1
-    fi
-    ;;
-
-  *)
-    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
-       # We have it, but it failed.
-       exit 1
-    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
-       # Could not run --version or --help.  This is probably someone
-       # running `$TOOL --version' or `$TOOL --help' to check whether
-       # $TOOL exists and not knowing $TOOL uses missing.
-       exit 1
-    fi
-    ;;
-esac
-
-# If it does not exist, or fails to run (possibly an outdated version),
-# try to emulate it.
-case $program in
-  aclocal*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
-         to install the \`Automake' and \`Perl' packages.  Grab them from
-         any GNU archive site."
-    touch aclocal.m4
-    ;;
-
-  autoconf*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`${configure_ac}'.  You might want to install the
-         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
-         archive site."
-    touch configure
-    ;;
-
-  autoheader*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`acconfig.h' or \`${configure_ac}'.  You might want
-         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
-         from any GNU archive site."
-    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
-    test -z "$files" && files="config.h"
-    touch_files=
-    for f in $files; do
-      case $f in
-      *:*) touch_files="$touch_files "`echo "$f" |
-				       sed -e 's/^[^:]*://' -e 's/:.*//'`;;
-      *) touch_files="$touch_files $f.in";;
-      esac
-    done
-    touch $touch_files
-    ;;
-
-  automake*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
-         You might want to install the \`Automake' and \`Perl' packages.
-         Grab them from any GNU archive site."
-    find . -type f -name Makefile.am -print |
-	   sed 's/\.am$/.in/' |
-	   while read f; do touch "$f"; done
-    ;;
-
-  autom4te*)
-    echo 1>&2 "\
-WARNING: \`$1' is needed, but is $msg.
-         You might have modified some files without having the
-         proper tools for further handling them.
-         You can get \`$1' as part of \`Autoconf' from any GNU
-         archive site."
-
-    file=`echo "$*" | sed -n "$sed_output"`
-    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
-    if test -f "$file"; then
-	touch $file
-    else
-	test -z "$file" || exec >$file
-	echo "#! /bin/sh"
-	echo "# Created by GNU Automake missing as a replacement of"
-	echo "#  $ $@"
-	echo "exit 0"
-	chmod +x $file
-	exit 1
-    fi
-    ;;
-
-  bison*|yacc*)
-    echo 1>&2 "\
-WARNING: \`$1' $msg.  You should only need it if
-         you modified a \`.y' file.  You may need the \`Bison' package
-         in order for those modifications to take effect.  You can get
-         \`Bison' from any GNU archive site."
-    rm -f y.tab.c y.tab.h
-    if test $# -ne 1; then
-        eval LASTARG="\${$#}"
-	case $LASTARG in
-	*.y)
-	    SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
-	    if test -f "$SRCFILE"; then
-	         cp "$SRCFILE" y.tab.c
-	    fi
-	    SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
-	    if test -f "$SRCFILE"; then
-	         cp "$SRCFILE" y.tab.h
-	    fi
-	  ;;
-	esac
-    fi
-    if test ! -f y.tab.h; then
-	echo >y.tab.h
-    fi
-    if test ! -f y.tab.c; then
-	echo 'main() { return 0; }' >y.tab.c
-    fi
-    ;;
-
-  lex*|flex*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified a \`.l' file.  You may need the \`Flex' package
-         in order for those modifications to take effect.  You can get
-         \`Flex' from any GNU archive site."
-    rm -f lex.yy.c
-    if test $# -ne 1; then
-        eval LASTARG="\${$#}"
-	case $LASTARG in
-	*.l)
-	    SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
-	    if test -f "$SRCFILE"; then
-	         cp "$SRCFILE" lex.yy.c
-	    fi
-	  ;;
-	esac
-    fi
-    if test ! -f lex.yy.c; then
-	echo 'main() { return 0; }' >lex.yy.c
-    fi
-    ;;
-
-  help2man*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-	 you modified a dependency of a manual page.  You may need the
-	 \`Help2man' package in order for those modifications to take
-	 effect.  You can get \`Help2man' from any GNU archive site."
-
-    file=`echo "$*" | sed -n "$sed_output"`
-    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
-    if test -f "$file"; then
-	touch $file
-    else
-	test -z "$file" || exec >$file
-	echo ".ab help2man is required to generate this page"
-	exit $?
-    fi
-    ;;
-
-  makeinfo*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified a \`.texi' or \`.texinfo' file, or any other file
-         indirectly affecting the aspect of the manual.  The spurious
-         call might also be the consequence of using a buggy \`make' (AIX,
-         DU, IRIX).  You might want to install the \`Texinfo' package or
-         the \`GNU make' package.  Grab either from any GNU archive site."
-    # The file to touch is that specified with -o ...
-    file=`echo "$*" | sed -n "$sed_output"`
-    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
-    if test -z "$file"; then
-      # ... or it is the one specified with @setfilename ...
-      infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
-      file=`sed -n '
-	/^@setfilename/{
-	  s/.* \([^ ]*\) *$/\1/
-	  p
-	  q
-	}' $infile`
-      # ... or it is derived from the source name (dir/f.texi becomes f.info)
-      test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
-    fi
-    # If the file does not exist, the user really needs makeinfo;
-    # let's fail without touching anything.
-    test -f $file || exit 1
-    touch $file
-    ;;
-
-  tar*)
-    shift
-
-    # We have already tried tar in the generic part.
-    # Look for gnutar/gtar before invocation to avoid ugly error
-    # messages.
-    if (gnutar --version > /dev/null 2>&1); then
-       gnutar "$@" && exit 0
-    fi
-    if (gtar --version > /dev/null 2>&1); then
-       gtar "$@" && exit 0
-    fi
-    firstarg="$1"
-    if shift; then
-	case $firstarg in
-	*o*)
-	    firstarg=`echo "$firstarg" | sed s/o//`
-	    tar "$firstarg" "$@" && exit 0
-	    ;;
-	esac
-	case $firstarg in
-	*h*)
-	    firstarg=`echo "$firstarg" | sed s/h//`
-	    tar "$firstarg" "$@" && exit 0
-	    ;;
-	esac
-    fi
-
-    echo 1>&2 "\
-WARNING: I can't seem to be able to run \`tar' with the given arguments.
-         You may want to install GNU tar or Free paxutils, or check the
-         command line arguments."
-    exit 1
-    ;;
-
-  *)
-    echo 1>&2 "\
-WARNING: \`$1' is needed, and is $msg.
-         You might have modified some files without having the
-         proper tools for further handling them.  Check the \`README' file,
-         it often tells you about the needed prerequisites for installing
-         this package.  You may also peek at any GNU archive site, in case
-         some other package would contain this missing \`$1' program."
-    exit 1
-    ;;
-esac
-
-exit 0
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC"
-# time-stamp-end: "; # UTC"
-# End:
diff --git a/src/.gitignore b/src/.gitignore
new file mode 100644
index 0000000..4b0f4c0
--- /dev/null
+++ b/src/.gitignore
@@ -0,0 +1,5 @@
+.deps
+.libs
+_stdint.h
+gphoto2-endian.h
+libmtp.h
diff --git a/src/Makefile.am b/src/Makefile.am
index bd10139..d00e372 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,15 +1,34 @@
-lib_LTLIBRARIES=libmtp.la
-libmtp_la_SOURCES=libmtp.c unicode.c unicode.h util.c util.h playlist-spl.c \
-	libusb-glue.c libusb-glue.h \
-	gphoto2-endian.h libptp-stdint.h ptp.c ptp.h \
-	music-players.h device-flags.h playlist-spl.h
+lib_LTLIBRARIES = libmtp.la
+
+libmtp_la_CFLAGS = @LIBUSB_CFLAGS@
+libmtp_la_SOURCES = libmtp.c unicode.c unicode.h util.c util.h playlist-spl.c \
+	gphoto2-endian.h _stdint.h ptp.c ptp.h libusb-glue.h \
+	music-players.h device-flags.h playlist-spl.h mtpz.h \
+	chdk_live_view.h chdk_ptp.h
+
+if MTPZ_COMPILE
+libmtp_la_SOURCES += mtpz.c
+endif
+
+if LIBUSB1_COMPILE
+libmtp_la_SOURCES += libusb1-glue.c
+endif
+
+if LIBUSB0_COMPILE
+libmtp_la_SOURCES += libusb-glue.c
+endif
+
+if LIBOPENUSB_COMPILE
+libmtp_la_SOURCES += libopenusb1-glue.c
+endif
+
 include_HEADERS=libmtp.h
 EXTRA_DIST=libmtp.h.in libmtp.sym ptp-pack.c
 
 # ---------------------------------------------------------------------------
 # Advanced information about versioning:
 #   * "Writing shared libraries" by Mike Hearn
-#         http://navi.cx/~mike/writing-shared-libraries.html
+#      http://plan99.net/~mike/writing-shared-libraries.html
 #   * libtool.info chapter "Versioning"
 #   * libtool.info chapter "Updating library version information"
 # ---------------------------------------------------------------------------
@@ -28,9 +47,9 @@
 #  increment AGE, Otherwise AGE is reset to 0. If CURRENT has changed,
 #  REVISION is set to 0, otherwise REVISION is incremented.
 # ---------------------------------------------------------------------------
-CURRENT=11
+CURRENT=12
 AGE=3
-REVISION=1
+REVISION=0
 SOVERSION=$(CURRENT):$(REVISION):$(AGE)
 LT_CURRENT_MINUS_AGE=`expr $(CURRENT) - $(AGE)`
 
@@ -55,7 +74,7 @@
 endif
 
 libmtp_la_LDFLAGS=@LDFLAGS@ -no-undefined -export-symbols $(srcdir)/libmtp.sym -version-info $(SOVERSION) $(W32_LDFLAGS)
-libmtp_la_LIBADD=$(W32_LIBS) $(LTLIBICONV)
+libmtp_la_LIBADD=$(W32_LIBS) $(LTLIBICONV) @LIBUSB_LIBS@
 libmtp_la_DEPENDENCIES=$(srcdir)/libmtp.sym
 
-DISTCLEANFILES = _stdint.h
+DISTCLEANFILES = _stdint.h gphoto2-endian.h
diff --git a/src/Makefile.in b/src/Makefile.in
deleted file mode 100644
index 3b294c0..0000000
--- a/src/Makefile.in
+++ /dev/null
@@ -1,616 +0,0 @@
-# Makefile.in generated by automake 1.11 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
-# Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkglibexecdir = $(libexecdir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = src
-DIST_COMMON = README $(include_HEADERS) $(srcdir)/Makefile.am \
-	$(srcdir)/Makefile.in $(srcdir)/libmtp.h.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/byteorder.m4 \
-	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
-	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
-	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/stdint.m4 \
-	$(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-	$(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES = libmtp.h
-CONFIG_CLEAN_VPATH_FILES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
-    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
-    *) f=$$p;; \
-  esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
-  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
-  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
-  for p in $$list; do echo "$$p $$p"; done | \
-  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
-  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
-    if (++n[$$2] == $(am__install_max)) \
-      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
-    END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
-  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
-  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)"
-LTLIBRARIES = $(lib_LTLIBRARIES)
-am__DEPENDENCIES_1 =
-am_libmtp_la_OBJECTS = libmtp.lo unicode.lo util.lo playlist-spl.lo \
-	libusb-glue.lo ptp.lo
-libmtp_la_OBJECTS = $(am_libmtp_la_OBJECTS)
-libmtp_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-	$(libmtp_la_LDFLAGS) $(LDFLAGS) -o $@
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-am__mv = mv -f
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
-SOURCES = $(libmtp_la_SOURCES)
-DIST_SOURCES = $(libmtp_la_SOURCES)
-DATA = $(noinst_DATA)
-HEADERS = $(include_HEADERS)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-HAVE_DOXYGEN = @HAVE_DOXYGEN@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBICONV = @LIBICONV@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBICONV = @LTLIBICONV@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OSFLAGS = @OSFLAGS@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-effective_target = @effective_target@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-ms_lib_exe = @ms_lib_exe@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_build_prefix = @top_build_prefix@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-lib_LTLIBRARIES = libmtp.la
-libmtp_la_SOURCES = libmtp.c unicode.c unicode.h util.c util.h playlist-spl.c \
-	libusb-glue.c libusb-glue.h \
-	gphoto2-endian.h libptp-stdint.h ptp.c ptp.h \
-	music-players.h device-flags.h playlist-spl.h
-
-include_HEADERS = libmtp.h
-EXTRA_DIST = libmtp.h.in libmtp.sym ptp-pack.c
-
-# ---------------------------------------------------------------------------
-# Advanced information about versioning:
-#   * "Writing shared libraries" by Mike Hearn
-#         http://navi.cx/~mike/writing-shared-libraries.html
-#   * libtool.info chapter "Versioning"
-#   * libtool.info chapter "Updating library version information"
-# ---------------------------------------------------------------------------
-# Versioning:
-#  - CURRENT (Major):  Increment if the interface has changes. AGE is always
-#                      *changed* at the same time.
-#  - AGE (Micro):      Increment if any interfaces have been added; set to 0
-#		         if any interfaces have been removed. Removal has
-#                      precedence over adding, so set to 0 if both happened.
-#                      It denotes upward compatibility.
-#  - REVISION (Minor): Increment any time the source changes; set to
-#			 0 if you incremented CURRENT.
-#
-#  To summarize. Any interface *change* increment CURRENT. If that interface
-#  change does not break upward compatibility (ie it is an addition),
-#  increment AGE, Otherwise AGE is reset to 0. If CURRENT has changed,
-#  REVISION is set to 0, otherwise REVISION is incremented.
-# ---------------------------------------------------------------------------
-CURRENT = 11
-AGE = 3
-REVISION = 1
-SOVERSION = $(CURRENT):$(REVISION):$(AGE)
-LT_CURRENT_MINUS_AGE = `expr $(CURRENT) - $(AGE)`
-@COMPILE_MINGW32_TRUE@W32_LIBS = -lws2_32
-@COMPILE_MINGW32_TRUE@W32_LDFLAGS = -export-dynamic
-@COMPILE_MINGW32_TRUE@@MS_LIB_EXE_TRUE@noinst_DATA = libmtp.lib
-libmtp_la_LDFLAGS = @LDFLAGS@ -no-undefined -export-symbols $(srcdir)/libmtp.sym -version-info $(SOVERSION) $(W32_LDFLAGS)
-libmtp_la_LIBADD = $(W32_LIBS) $(LTLIBICONV)
-libmtp_la_DEPENDENCIES = $(srcdir)/libmtp.sym
-DISTCLEANFILES = _stdint.h
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
-	@for dep in $?; do \
-	  case '$(am__configure_deps)' in \
-	    *$$dep*) \
-	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
-	        && { if test -f $@; then exit 0; else break; fi; }; \
-	      exit 1;; \
-	  esac; \
-	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \
-	$(am__cd) $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign src/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-	@case '$?' in \
-	  *config.status*) \
-	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
-	  *) \
-	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
-	esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure:  $(am__configure_deps)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
-	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(am__aclocal_m4_deps):
-libmtp.h: $(top_builddir)/config.status $(srcdir)/libmtp.h.in
-	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-install-libLTLIBRARIES: $(lib_LTLIBRARIES)
-	@$(NORMAL_INSTALL)
-	test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
-	@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
-	list2=; for p in $$list; do \
-	  if test -f $$p; then \
-	    list2="$$list2 $$p"; \
-	  else :; fi; \
-	done; \
-	test -z "$$list2" || { \
-	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
-	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
-	}
-
-uninstall-libLTLIBRARIES:
-	@$(NORMAL_UNINSTALL)
-	@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
-	for p in $$list; do \
-	  $(am__strip_dir) \
-	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
-	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
-	done
-
-clean-libLTLIBRARIES:
-	-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
-	@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
-	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-	  test "$$dir" != "$$p" || dir=.; \
-	  echo "rm -f \"$${dir}/so_locations\""; \
-	  rm -f "$${dir}/so_locations"; \
-	done
-libmtp.la: $(libmtp_la_OBJECTS) $(libmtp_la_DEPENDENCIES) 
-	$(libmtp_la_LINK) -rpath $(libdir) $(libmtp_la_OBJECTS) $(libmtp_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
-	-rm -f *.$(OBJEXT)
-
-distclean-compile:
-	-rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmtp.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libusb-glue.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/playlist-spl.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ptp.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unicode.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/util.Plo@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@	$(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
-	-rm -f *.lo
-
-clean-libtool:
-	-rm -rf .libs _libs
-install-includeHEADERS: $(include_HEADERS)
-	@$(NORMAL_INSTALL)
-	test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)"
-	@list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
-	for p in $$list; do \
-	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  echo "$$d$$p"; \
-	done | $(am__base_list) | \
-	while read files; do \
-	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \
-	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \
-	done
-
-uninstall-includeHEADERS:
-	@$(NORMAL_UNINSTALL)
-	@list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
-	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
-	test -n "$$files" || exit 0; \
-	echo " ( cd '$(DESTDIR)$(includedir)' && rm -f" $$files ")"; \
-	cd "$(DESTDIR)$(includedir)" && rm -f $$files
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	mkid -fID $$unique
-tags: TAGS
-
-TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-		$(TAGS_FILES) $(LISP)
-	set x; \
-	here=`pwd`; \
-	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	shift; \
-	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
-	  test -n "$$unique" || unique=$$empty_fix; \
-	  if test $$# -gt 0; then \
-	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	      "$$@" $$unique; \
-	  else \
-	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	      $$unique; \
-	  fi; \
-	fi
-ctags: CTAGS
-CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-		$(TAGS_FILES) $(LISP)
-	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-	unique=`for i in $$list; do \
-	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-	  done | \
-	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-	      END { if (nonempty) { for (i in files) print i; }; }'`; \
-	test -z "$(CTAGS_ARGS)$$unique" \
-	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$unique
-
-GTAGS:
-	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && $(am__cd) $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) "$$here"
-
-distclean-tags:
-	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-	list='$(DISTFILES)'; \
-	  dist_files=`for file in $$list; do echo $$file; done | \
-	  sed -e "s|^$$srcdirstrip/||;t" \
-	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-	case $$dist_files in \
-	  */*) $(MKDIR_P) `echo "$$dist_files" | \
-			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-			   sort -u` ;; \
-	esac; \
-	for file in $$dist_files; do \
-	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-	  if test -d $$d/$$file; then \
-	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-	    if test -d "$(distdir)/$$file"; then \
-	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-	    fi; \
-	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
-	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
-	    fi; \
-	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
-	  else \
-	    test -f "$(distdir)/$$file" \
-	    || cp -p $$d/$$file "$(distdir)/$$file" \
-	    || exit 1; \
-	  fi; \
-	done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LTLIBRARIES) $(DATA) $(HEADERS)
-installdirs:
-	for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)"; do \
-	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
-	done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
-	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
-	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-	  `test -z '$(STRIP)' || \
-	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
-	-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
-
-maintainer-clean-generic:
-	@echo "This command is intended for maintainers to use"
-	@echo "it deletes files that may require special tools to rebuild."
-@COMPILE_MINGW32_FALSE@install-data-local:
-@MS_LIB_EXE_FALSE@install-data-local:
-clean: clean-am
-
-clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
-	mostlyclean-am
-
-distclean: distclean-am
-	-rm -rf ./$(DEPDIR)
-	-rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
-	distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-html-am:
-
-info: info-am
-
-info-am:
-
-install-data-am: install-data-local install-includeHEADERS
-
-install-dvi: install-dvi-am
-
-install-dvi-am:
-
-install-exec-am: install-libLTLIBRARIES
-
-install-html: install-html-am
-
-install-html-am:
-
-install-info: install-info-am
-
-install-info-am:
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-pdf-am:
-
-install-ps: install-ps-am
-
-install-ps-am:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
-	-rm -rf ./$(DEPDIR)
-	-rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
-	mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-includeHEADERS uninstall-libLTLIBRARIES
-
-.MAKE: install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-libLTLIBRARIES clean-libtool ctags distclean \
-	distclean-compile distclean-generic distclean-libtool \
-	distclean-tags distdir dvi dvi-am html html-am info info-am \
-	install install-am install-data install-data-am \
-	install-data-local install-dvi install-dvi-am install-exec \
-	install-exec-am install-html install-html-am \
-	install-includeHEADERS install-info install-info-am \
-	install-libLTLIBRARIES install-man install-pdf install-pdf-am \
-	install-ps install-ps-am install-strip installcheck \
-	installcheck-am installdirs maintainer-clean \
-	maintainer-clean-generic mostlyclean mostlyclean-compile \
-	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-	tags uninstall uninstall-am uninstall-includeHEADERS \
-	uninstall-libLTLIBRARIES
-
-@COMPILE_MINGW32_TRUE@@MS_LIB_EXE_TRUE@libmtp.def: $(srcdir)/libmtp.sym
-@COMPILE_MINGW32_TRUE@@MS_LIB_EXE_TRUE@	echo "LIBRARY \"@PACKAGE@\"" > libmtp.def
-@COMPILE_MINGW32_TRUE@@MS_LIB_EXE_TRUE@	echo "DESCRIPTION \"Media Transfer Protocol (MTP) library\"" >> libmtp.def
-@COMPILE_MINGW32_TRUE@@MS_LIB_EXE_TRUE@	echo "VERSION @VERSION@" >> libmtp.def
-@COMPILE_MINGW32_TRUE@@MS_LIB_EXE_TRUE@	echo >> libmtp.def
-@COMPILE_MINGW32_TRUE@@MS_LIB_EXE_TRUE@	echo "EXPORTS" >> libmtp.def
-@COMPILE_MINGW32_TRUE@@MS_LIB_EXE_TRUE@	cat $< >> libmtp.def
-@COMPILE_MINGW32_TRUE@@MS_LIB_EXE_TRUE@libmtp.lib: libmtp.la libmtp.def
-@COMPILE_MINGW32_TRUE@@MS_LIB_EXE_TRUE@	lib -name:libmtp-$(LT_CURRENT_MINUS_AGE).dll -def:libmtp.def -out:$@
-@COMPILE_MINGW32_TRUE@@MS_LIB_EXE_TRUE@install-data-local: libmtp.lib libmtp.def
-@COMPILE_MINGW32_TRUE@@MS_LIB_EXE_TRUE@	$(INSTALL) libmtp.def $(DESTDIR)$(libdir)
-@COMPILE_MINGW32_TRUE@@MS_LIB_EXE_TRUE@	$(INSTALL) libmtp.lib $(DESTDIR)$(libdir)
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/src/chdk_live_view.h b/src/chdk_live_view.h
new file mode 100644
index 0000000..8c20669
--- /dev/null
+++ b/src/chdk_live_view.h
@@ -0,0 +1,99 @@
+#ifndef __LIVE_VIEW_H
+#define __LIVE_VIEW_H
+
+// Note: used in modules and platform independent code. 
+// Do not add platform dependent stuff in here (#ifdef/#endif compile options or camera dependent values)
+
+/*
+Protocol notes:
+- Unless otherwise specified, all structure values are packed in camera native (little
+  endian) byte order
+- Frame buffer and palette data are in native camera formats
+  Some documentation may be found at http://chdk.wikia.com/wiki/Frame_buffers 
+- The frame buffer descriptions returned may not be correct depending on the
+  camera model and various camera settings (shooting mode, digital zoom, aspect ratio)
+  This may result in partial images, garbage in the "valid" area or incorrect position
+- In some cases, the requested data may not be available. If this happens, the framebuffer
+  or palette data offset will be zero. 
+- The frame buffer descriptions are returned regardless of whether the data is available
+*/
+// Live View protocol version
+#define LIVE_VIEW_VERSION_MAJOR 2  // increase only with backwards incompatible changes (and reset minor)
+#define LIVE_VIEW_VERSION_MINOR 1  // increase with extensions of functionality
+
+/*
+protocol version history
+< 2.0 - development versions
+2.0 - initial release, chdk 1.1
+2.1 - added palette type 4 - 16 entry VUYA, 2 bit alpha
+*/
+
+
+// Control flags for determining which data block to transfer
+#define LV_TFR_VIEWPORT     0x01
+#define LV_TFR_BITMAP       0x04
+#define LV_TFR_PALETTE      0x08
+
+enum lv_aspect_rato {
+    LV_ASPECT_4_3,
+    LV_ASPECT_16_9,
+};
+
+/*
+Framebuffer types
+additional values will be added if new data formats appear
+*/
+enum lv_fb_type {
+    LV_FB_YUV8, // 8 bit per element UYVYYY, used for live view
+    LV_FB_PAL8, // 8 bit paletted, used for bitmap overlay. Note palette data and type sent separately
+};
+
+/*
+framebuffer data description
+NOTE YUV pixels widths are based on the number of Y elements
+*/
+typedef struct {
+    int fb_type; // framebuffer type - note future versions might use different structures depending on type
+    int data_start; // offset of data from start of live view header
+    /*
+    buffer width in pixels
+    data size is always buffer_width*visible_height*(buffer bpp based on type)
+    */
+    int buffer_width;
+    /*
+    visible size in pixels
+    describes data within the buffer which contains image data to be displayed
+    any offsets within buffer data are added before sending, so the top left
+    pixel is always the first first byte of data.
+    width must always be <= buffer_width
+    if buffer_width is > width, the additional data should be skipped
+    visible_height also defines the number of data rows
+    */
+    int visible_width;
+    int visible_height;
+
+    /*
+    margins
+    pixels offsets needed to replicate display position on cameras screen
+    not used for any buffer offsets
+    */
+    int margin_left;
+    int margin_top;
+
+    int margin_right;
+    int margin_bot;
+} lv_framebuffer_desc;
+
+typedef struct {
+    // live view sub-protocol version
+    int version_major;
+    int version_minor;
+    int lcd_aspect_ratio; // physical aspect ratio of LCD
+    int palette_type;
+    int palette_data_start;
+    // framebuffer descriptions are given as offsets, to allow expanding the structures in minor protocol changes
+    int vp_desc_start;
+    int bm_desc_start;
+} lv_data_header;
+
+#endif // __LIVE_VIEW_H
diff --git a/src/chdk_ptp.h b/src/chdk_ptp.h
new file mode 100644
index 0000000..068be02
--- /dev/null
+++ b/src/chdk_ptp.h
@@ -0,0 +1,278 @@
+#ifndef __CHDK_PTP_H
+#define __CHDK_PTP_H
+
+// CHDK PTP protocol interface (can also be used in client PTP programs)
+
+// Note: used in modules and platform independent code. 
+// Do not add platform dependent stuff in here (#ifdef/#endif compile options or camera dependent values)
+
+#define PTP_CHDK_VERSION_MAJOR 2  // increase only with backwards incompatible changes (and reset minor)
+#define PTP_CHDK_VERSION_MINOR 6  // increase with extensions of functionality
+                                  // minor > 1000 for development versions
+
+/*
+protocol version history
+0.1 - initial proposal from mweerden, + luar
+0.2 - Added ScriptStatus and ScriptSupport, based on work by ultimA
+1.0 - removed old script result code (luar), replace with message system
+2.0 - return PTP_CHDK_TYPE_TABLE for tables instead of TYPE_STRING, allow return of empty strings
+2.1 - experimental live view, not formally released
+2.2 - live view (work in progress)
+2.3 - live view - released in 1.1
+2.4 - live view protocol 2.1
+2.5 - remote capture
+2.6 - script execution flags
+*/
+
+#define PTP_OC_CHDK 0x9999
+
+// N.B.: unused parameters should be set to 0
+//enum ptp_chdk_command {
+enum PTP_CHDK_Command {
+  PTP_CHDK_Version = 0,     // return param1 is major version number
+                            // return param2 is minor version number
+  PTP_CHDK_GetMemory,       // param2 is base address (not NULL; circumvent by taking 0xFFFFFFFF and size+1)
+                            // param3 is size (in bytes)
+                            // return data is memory block
+  PTP_CHDK_SetMemory,       // param2 is address
+                            // param3 is size (in bytes)
+                            // data is new memory block
+  PTP_CHDK_CallFunction,    // data is array of function pointer and 32 bit int arguments (max: 10 args prior to protocol 2.5)
+                            // return param1 is return value
+  PTP_CHDK_TempData,        // data is data to be stored for later
+                            // param2 is for the TD flags below
+  PTP_CHDK_UploadFile,      // data is 4-byte length of filename, followed by filename and contents
+  PTP_CHDK_DownloadFile,    // preceded by PTP_CHDK_TempData with filename
+                            // return data are file contents
+  PTP_CHDK_ExecuteScript,   // data is script to be executed
+                            // param2 is language of script
+                            //  in proto 2.6 and later, language is the lower byte, rest is used for PTP_CHDK_SCRIPT_FL* flags
+                            // return param1 is script id, like a process id
+                            // return param2 is status from ptp_chdk_script_error_type
+  PTP_CHDK_ScriptStatus,    // Script execution status
+                            // return param1 bits
+                            // PTP_CHDK_SCRIPT_STATUS_RUN is set if a script running, cleared if not
+                            // PTP_CHDK_SCRIPT_STATUS_MSG is set if script messages from script waiting to be read
+                            // all other bits and params are reserved for future use
+  PTP_CHDK_ScriptSupport,   // Which scripting interfaces are supported in this build
+                            // param1 CHDK_PTP_SUPPORT_LUA is set if lua is supported, cleared if not
+                            // all other bits and params are reserved for future use
+  PTP_CHDK_ReadScriptMsg,   // read next message from camera script system
+                            // return param1 is chdk_ptp_s_msg_type
+                            // return param2 is message subtype:
+                            //   for script return and users this is ptp_chdk_script_data_type
+                            //   for error ptp_chdk_script_error_type
+                            // return param3 is script id of script that generated the message
+                            // return param4 is length of the message data. 
+                            // return data is message.
+                            // A minimum of 1 bytes of zeros is returned if the message has no data (empty string or type NONE)
+  PTP_CHDK_WriteScriptMsg,  // write a message for scripts running on camera
+                            // input param2 is target script id, 0=don't care. Messages for a non-running script will be discarded
+                            // data length is handled by ptp data phase
+                            // input messages do not have type or subtype, they are always a string destined for the script (similar to USER/string)
+                            // output param1 is ptp_chdk_script_msg_status
+  PTP_CHDK_GetDisplayData,  // Return camera display data
+                            // This is defined as separate sub protocol in live_view.h
+                            // Changes to the sub-protocol will always be considered a minor change to the main protocol
+                            //  param2 bitmask of data
+                            //  output param1 = total size of data
+                            //  return data is protocol information, frame buffer descriptions and selected display data
+                            //  Currently a data phase is always returned. Future versions may define other behavior 
+                            //  for values in currently unused parameters.
+  // Direct image capture over USB.
+  // Use lua get_usb_capture_support for available data types, lua init_usb_capture for setup
+  PTP_CHDK_RemoteCaptureIsReady, // Check if data is available
+                                 // return param1 is status 
+                                 //  0 = not ready
+                                 //  0x10000000 = remote capture not initialized
+                                 //  otherwise bitmask of PTP_CHDK_CAPTURE_* datatypes
+                                 // return param2 is image number
+  PTP_CHDK_RemoteCaptureGetData  // retrieve data
+                                 // param2 is bit indicating data type to get
+                                 // return param1 is length
+                                 // return param2 more chunks available?
+                                 //  0 = no more chunks of selected format
+                                 // return param3 seek required to pos (-1 = no seek)
+};
+
+// data types as used by ReadScriptMessage
+enum ptp_chdk_script_data_type {
+  PTP_CHDK_TYPE_UNSUPPORTED = 0, // type name will be returned in data
+  PTP_CHDK_TYPE_NIL,
+  PTP_CHDK_TYPE_BOOLEAN,
+  PTP_CHDK_TYPE_INTEGER,
+  PTP_CHDK_TYPE_STRING, // Empty strings are returned with length=0
+  PTP_CHDK_TYPE_TABLE,  // tables are converted to a string by usb_msg_table_to_string, 
+                        // this function can be overridden in lua to change the format
+                        // the string may be empty for an empty table
+};
+
+// TempData flags
+#define PTP_CHDK_TD_DOWNLOAD  0x1  // download data instead of upload
+#define PTP_CHDK_TD_CLEAR     0x2  // clear the stored data; with DOWNLOAD this
+                                   // means first download, then clear and
+                                   // without DOWNLOAD this means no uploading,
+                                   // just clear
+
+// Script Languages - for execution only lua is supported for now
+#define PTP_CHDK_SL_LUA    0
+#define PTP_CHDK_SL_UBASIC 1
+#define PTP_CHDK_SL_MASK 0xFF
+
+/* standard message chdkptp sends */
+#define PTP_CHDK_LUA_SERIALIZE "\n\
+serialize_r = function(v,opts,r,seen,depth)\n\
+        local vt = type(v)\n\
+        if vt == 'nil' or  vt == 'boolean' or vt == 'number' then\n\
+                table.insert(r,tostring(v))\n\
+                return\n\
+        end\n\
+        if vt == 'string' then\n\
+                table.insert(r,string.format('%q',v))\n\
+                return\n\
+        end\n\
+        if vt == 'table' then\n\
+                if not depth then\n\
+                        depth = 1\n\
+                end\n\
+                if depth >= opts.maxdepth then\n\
+                        error('serialize: max depth')\n\
+                end\n\
+                if not seen then\n\
+                        seen={}\n\
+                elseif seen[v] then\n\
+                        if opts.err_cycle then\n\
+                                error('serialize: cycle')\n\
+                        else\n\
+                                table.insert(r,'\"cycle:'..tostring(v)..'\"')\n\
+                                return\n\
+                        end\n\
+                end\n\
+                seen[v] = true;\n\
+                table.insert(r,'{')\n\
+                for k,v1 in pairs(v) do\n\
+                        if opts.pretty then\n\
+                                table.insert(r,'\\n'..string.rep(' ',depth))\n\
+                        end\n\
+                        if type(k) == 'string' and string.match(k,'^[_%a][%a%d_]*$') then\n\
+                                table.insert(r,k)\n\
+                        else\n\
+                                table.insert(r,'[')\n\
+                                serialize_r(k,opts,r,seen,depth+1)\n\
+                                table.insert(r,']')\n\
+                        end\n\
+                        table.insert(r,'=')\n\
+                        serialize_r(v1,opts,r,seen,depth+1)\n\
+                        table.insert(r,',')\n\
+                end\n\
+                if opts.pretty then\n\
+                        table.insert(r,'\\n'..string.rep(' ',depth-1))\n\
+                end\n\
+                table.insert(r,'}')\n\
+                return\n\
+        end\n\
+        if opts.err_type then\n\
+                error('serialize: unsupported type ' .. vt, 2)\n\
+        else\n\
+                table.insert(r,'\"'..tostring(v)..'\"')\n\
+        end\n\
+end\n\
+serialize_defaults = {\n\
+        maxdepth=10,\n\
+        err_type=true,\n\
+        err_cycle=true,\n\
+        pretty=false,\n\
+}\n\
+function serialize(v,opts)\n\
+        if opts then\n\
+                for k,v in pairs(serialize_defaults) do\n\
+                        if not opts[k] then\n\
+                                opts[k]=v\n\
+                        end\n\
+                end\n\
+        else\n\
+                opts=serialize_defaults\n\
+        end\n\
+        local r={}\n\
+        serialize_r(v,opts,r)\n\
+        return table.concat(r)\n\
+end\n\
+\n\
+usb_msg_table_to_string=serialize\n"
+
+
+// bit flags for script start
+#define PTP_CHDK_SCRIPT_FL_NOKILL           0x100 // if script is running return error instead of killing
+#define PTP_CHDK_SCRIPT_FL_FLUSH_CAM_MSGS   0x200 // discard existing cam->host messages before starting
+#define PTP_CHDK_SCRIPT_FL_FLUSH_HOST_MSGS  0x400 // discard existing host->cam messages before starting
+
+// bit flags for script status
+#define PTP_CHDK_SCRIPT_STATUS_RUN   0x1 // script running
+#define PTP_CHDK_SCRIPT_STATUS_MSG   0x2 // messages waiting
+// bit flags for scripting support
+#define PTP_CHDK_SCRIPT_SUPPORT_LUA  0x1
+
+
+// bit flags for remote capture
+// used to select and also to indicate available data in PTP_CHDK_RemoteCaptureIsReady
+/*
+Full jpeg file. Note supported on all cameras, use Lua get_usb_capture_support to check
+*/
+#define PTP_CHDK_CAPTURE_JPG    0x1 
+
+/*
+Raw framebuffer data, in camera native format.
+A subset of rows may be requested in init_usb_capture.
+*/
+#define PTP_CHDK_CAPTURE_RAW    0x2
+
+/*
+DNG header. 
+The header will be DNG version 1.3
+Does not include image data, clients wanting to create a DNG file should also request RAW
+Raw data for all known cameras will be packed, little endian. Client is responsible for
+reversing the byte order if creating a DNG.
+Can requested without RAW to get sensor dimensions, exif values etc.
+
+ifd 0 specifies a 128x96 RGB thumbnail, 4 byte aligned following the header
+client is responsible for generating thumbnail data.
+
+ifd 0 subifd 0 specifies the main image
+The image dimensions always contain the full sensor dimensions, if a sub-image was requested
+with init_usb_capture, the client is responsible for padding the data to the full image or
+adjusting dimensions.
+
+Bad pixels will not be patched, but DNG opcodes will specify how to patch them
+*/
+#define PTP_CHDK_CAPTURE_DNGHDR 0x4  
+
+// status from PTP_CHDK_RemoteCaptureIsReady if capture not enabled
+#define PTP_CHDK_CAPTURE_NOTSET 0x10000000
+
+// message types
+enum ptp_chdk_script_msg_type {
+    PTP_CHDK_S_MSGTYPE_NONE = 0, // no messages waiting
+    PTP_CHDK_S_MSGTYPE_ERR,      // error message
+    PTP_CHDK_S_MSGTYPE_RET,      // script return value
+    PTP_CHDK_S_MSGTYPE_USER,     // message queued by script
+// TODO chdk console data ?
+};
+
+// error subtypes for PTP_CHDK_S_MSGTYPE_ERR and script startup status
+enum ptp_chdk_script_error_type {
+    PTP_CHDK_S_ERRTYPE_NONE = 0,
+    PTP_CHDK_S_ERRTYPE_COMPILE,
+    PTP_CHDK_S_ERRTYPE_RUN,
+    // the following are for ExecuteScript status only, not message types
+    PTP_CHDK_S_ERR_SCRIPTRUNNING = 0x1000, // script already running with NOKILL
+};
+
+// message status
+enum ptp_chdk_script_msg_status {
+    PTP_CHDK_S_MSGSTATUS_OK = 0, // queued ok
+    PTP_CHDK_S_MSGSTATUS_NOTRUN, // no script is running
+    PTP_CHDK_S_MSGSTATUS_QFULL,  // queue is full
+    PTP_CHDK_S_MSGSTATUS_BADID,  // specified ID is not running
+};
+
+#endif // __CHDK_PTP_H
diff --git a/src/device-flags.h b/src/device-flags.h
index 1b842c0..ba3f22b 100644
--- a/src/device-flags.h
+++ b/src/device-flags.h
@@ -3,7 +3,7 @@
  * Special device flags to deal with bugs in specific devices.
  *
  * Copyright (C) 2005-2007 Richard A. Low <richard@wentnet.com>
- * Copyright (C) 2005-2007 Linus Walleij <triad@df.lth.se>
+ * Copyright (C) 2005-2012 Linus Walleij <triad@df.lth.se>
  * Copyright (C) 2006-2007 Marcus Meissner
  * Copyright (C) 2007 Ted Bullock
  *
@@ -35,12 +35,12 @@
 /**
  * This means that the PTP_OC_MTP_GetObjPropList is broken
  * in the sense that it won't return properly formatted metadata
- * for ALL files on the device when you request an object 
+ * for ALL files on the device when you request an object
  * property list for object 0xFFFFFFFF with parameter 3 likewise
- * set to 0xFFFFFFFF. Compare to 
+ * set to 0xFFFFFFFF. Compare to
  * DEVICE_FLAG_BROKEN_MTPGETOBJECTPROPLIST which only signify
  * that it's broken when getting metadata for a SINGLE object.
- * A typical way the implementation may be broken is that it 
+ * A typical way the implementation may be broken is that it
  * may not return a proper count of the objects, and sometimes
  * (like on the ZENs) objects are simply missing from the list
  * if you use this. Sometimes it has been used incorrectly to
@@ -52,37 +52,38 @@
  */
 #define DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL 0x00000001
 /**
- * This means that under Linux, another kernel module may 
- * be using this device's USB interface, so we need to detach 
+ * This means that under Linux, another kernel module may
+ * be using this device's USB interface, so we need to detach
  * it if it is. Typically this is on dual-mode devices that
  * will present both an MTP compliant interface and device
  * descriptor *and* a USB mass storage interface. If the USB
  * mass storage interface is in use, other apps (like our
  * userspace libmtp through libusb access path) cannot get in
- * and get cosy with it. So we can remove the offending 
+ * and get cosy with it. So we can remove the offending
  * application. Typically this means you have to run the program
  * as root as well.
  */
 #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
 /**
  * This means the device doesn't send zero packets to indicate
- * end of transfer when the transfer boundary occurs at a 
- * multiple of 64 bytes (the USB 1.1 endpoint size). Instead, 
- * exactly one extra byte is sent at the end of the transfer 
- * if the size is an integer multiple of USB 1.1 endpoint size 
+ * end of transfer when the transfer boundary occurs at a
+ * multiple of 64 bytes (the USB 1.1 endpoint size). Instead,
+ * exactly one extra byte is sent at the end of the transfer
+ * if the size is an integer multiple of USB 1.1 endpoint size
  * (64 bytes).
  *
- * This behaviour is most probably a workaround due to the fact 
- * that the hardware USB slave controller in the device cannot 
- * handle zero writes at all, and the usage of the USB 1.1 
- * endpoint size is due to the fact that the device will "gear 
- * down" on a USB 1.1 hub, and since 64 bytes is a multiple of 
+ * This behaviour is most probably a workaround due to the fact
+ * that the hardware USB slave controller in the device cannot
+ * handle zero writes at all, and the usage of the USB 1.1
+ * endpoint size is due to the fact that the device will "gear
+ * down" on a USB 1.1 hub, and since 64 bytes is a multiple of
  * 512 bytes, it will work with USB 1.1 and USB 2.0 alike.
  */
 #define DEVICE_FLAG_NO_ZERO_READS 0x00000008
@@ -97,7 +98,7 @@
  * flag on won't hurt anything, just that the check against
  * filename extension will be done for files of "unknown" type.
  * If the player does not even know (reports) that it supports
- * ogg even though it does, please use the stronger 
+ * ogg even though it does, please use the stronger
  * OGG_IS_UNKNOWN flag, which will forcedly support ogg on
  * anything with the .ogg filename extension.
  */
@@ -127,8 +128,9 @@
  * contain junk. This is breaking the PTP/MTP spec but works
  * on Windows anyway, probably because the Windows implementation
  * does not check that these bytes are valid. To interoperate
- * with devices like this, we need this flag to emulate the 
- * Windows bug.
+ * with devices like this, we need this flag to emulate the
+ * Windows bug. Broken headers has also been found in the
+ * Aricent MTP stack.
  */
 #define DEVICE_FLAG_IGNORE_HEADER_ERRORS 0x00000080
 /**
@@ -141,11 +143,11 @@
 #define DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST 0x00000100
 /**
  * The Samsung YP-T10 think Ogg files shall be sent with
- * the "unknown" (PTP_OFC_Undefined) file type, this gives a 
- * side effect that is a combination of the iRiver Ogg Alzheimer 
+ * the "unknown" (PTP_OFC_Undefined) file type, this gives a
+ * side effect that is a combination of the iRiver Ogg Alzheimer
  * problem (have to recognized Ogg files on file extension)
  * and a need to report the Ogg support (the device itself does
- * not properly claim to support it) and need to set filetype 
+ * not properly claim to support it) and need to set filetype
  * to unknown when storing Ogg files, even though they're not
  * actually unknown. Later iRivers seem to need this flag since
  * they do not report to support OGG even though they actually
@@ -209,39 +211,123 @@
 
 /**
  * Devices that send "ObjectDeleted" events after deletion
- * of images. (libgphoto2) 
- */ 
+ * of images. (libgphoto2)
+ */
 #define DEVICE_FLAG_DELETE_SENDS_EVENT	0x00020000
 
 /**
  * Cameras that can capture images. (libgphoto2)
- */ 
+ */
 #define DEVICE_FLAG_CAPTURE		0x00040000
 
 /**
  * Cameras that can capture images. (libgphoto2)
- */ 
+ */
 #define DEVICE_FLAG_CAPTURE_PREVIEW	0x00080000
 
 /**
  * Nikon broken capture support without proper ObjectAdded events.
  * (libgphoto2)
- */ 
+ */
 #define DEVICE_FLAG_NIKON_BROKEN_CAPTURE	0x00100000
 
 /**
  * Broken capture support where cameras do not send CaptureComplete events.
  * (libgphoto2)
- */ 
+ */
 #define DEVICE_FLAG_NO_CAPTURE_COMPLETE		0x00400000
 
 /**
  * Direct PTP match required.
  * (libgphoto2)
- */ 
-#define DEVICE_FLAG_MATCH_PTP_INTERFACE		0x00800000
+ */
+#define DEVICE_FLAG_OLYMPUS_XML_WRAPPED		0x00800000
 /**
  * This flag is like DEVICE_FLAG_OGG_IS_UNKNOWN but for FLAC
  * files instead. Using the unknown filetype for FLAC files.
  */
-#define DEVICE_FLAG_FLAC_IS_UNKNOWN 0x01000000
+#define DEVICE_FLAG_FLAC_IS_UNKNOWN		0x01000000
+/**
+ * Device needs unique filenames, no two files can be
+ * named the same string.
+ */
+#define DEVICE_FLAG_UNIQUE_FILENAMES		0x02000000
+/**
+ * This flag performs some random magic on the BlackBerry
+ * device to switch from USB mass storage to MTP mode we think.
+ */
+#define DEVICE_FLAG_SWITCH_MODE_BLACKBERRY	0x04000000
+/**
+ * This flag indicates that the device need an extra long
+ * timeout on some operations.
+ */
+#define DEVICE_FLAG_LONG_TIMEOUT		0x08000000
+/**
+ * This flag indicates that the device need an explicit
+ * USB reset after each connection. Some devices don't
+ * 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.
+ * Or so it seemed. Later bug fixes to the library has made
+ * this work flawlessly so the bug flag is moot.
+ * NOT USED ANYMORE, THIS FLAG MAY BE RECYCLED.
+ */
+#define DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL	0x20000000
+/**
+ * It seems that some devices return an bad data when
+ * using the GetObjectInfo operation. So in these cases
+ * we prefer to override the PTP-compatible object infos
+ * with the MTP property list.
+ *
+ * For example Some Samsung Galaxy S devices contain an MTP
+ * stack that present the ObjectInfo in 64 bit instead of
+ * 32 bit.
+ */
+#define DEVICE_FLAG_PROPLIST_OVERRIDES_OI	0x40000000
+
+/**
+ * All these bug flags need to be set on SONY NWZ Walkman
+ * players, and will be autodetected on unknown devices
+ * by detecting the vendor extension descriptor "sony.net"
+ */
+#define DEVICE_FLAGS_SONY_NWZ_BUGS \
+  (DEVICE_FLAG_UNLOAD_DRIVER | \
+   DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | \
+   DEVICE_FLAG_UNIQUE_FILENAMES | \
+   DEVICE_FLAG_FORCE_RESET_ON_CLOSE)
+/**
+ * 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 | \
+   DEVICE_FLAG_UNLOAD_DRIVER | \
+   DEVICE_FLAG_LONG_TIMEOUT | \
+   DEVICE_FLAG_FORCE_RESET_ON_CLOSE)
+/**
+ * All these bug flags appear on a number of SonyEricsson
+ * devices including Android devices not using the stock
+ * Android 4.0+ (Ice Cream Sandwich) MTP stack. It is highly
+ * supected that these bugs comes from an MTP implementation
+ * from Aricent, so it is called the Aricent bug flags as a
+ * shorthand. Especially the header errors that need to be
+ * ignored is typical for this stack.
+ *
+ * After some guesswork we auto-assign these bug flags to
+ * devices that present the "microsoft.com/WPDNA", and
+ * "sonyericsson.com/SE" but NOT the "android.com"
+ * descriptor.
+ */
+#define DEVICE_FLAGS_ARICENT_BUGS \
+  (DEVICE_FLAG_IGNORE_HEADER_ERRORS | \
+   DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST | \
+   DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST)
diff --git a/src/gphoto2-endian-intel.h b/src/gphoto2-endian-intel.h
deleted file mode 100644
index 89f84f6..0000000
--- a/src/gphoto2-endian-intel.h
+++ /dev/null
@@ -1,137 +0,0 @@
-/* This file is generated automatically by configure */
-/* It is valid only for the system type i386-apple-darwin10.4.0 */
-
-#ifndef __BYTEORDER_H
-#define __BYTEORDER_H
-
-/* ntohl and relatives live here */
-#include <arpa/inet.h>
-
-/* Define generic byte swapping functions */
-#include <machine/byte_order.h>
-#define swap16(x) NXSwapShort(x)
-#define swap32(x) NXSwapLong(x)
-#define swap64(x) NXSwapLongLong(x)
-
-/* The byte swapping macros have the form: */
-/*   EENN[a]toh or htoEENN[a] where EE is be (big endian) or */
-/* le (little-endian), NN is 16 or 32 (number of bits) and a, */
-/* if present, indicates that the endian side is a pointer to an */
-/* array of uint8_t bytes instead of an integer of the specified length. */
-/* h refers to the host's ordering method. */
-
-/* So, to convert a 32-bit integer stored in a buffer in little-endian */
-/* format into a uint32_t usable on this machine, you could use: */
-/*   uint32_t value = le32atoh(&buf[3]); */
-/* To put that value back into the buffer, you could use: */
-/*   htole32a(&buf[3], value); */
-
-/* Define aliases for the standard byte swapping macros */
-/* Arguments to these macros must be properly aligned on natural word */
-/* boundaries in order to work properly on all architectures */
-#ifndef htobe16
-# define htobe16(x) htons(x)
-#endif
-#ifndef htobe32
-# define htobe32(x) htonl(x)
-#endif
-#ifndef be16toh
-# define be16toh(x) ntohs(x)
-#endif
-#ifndef be32toh
-# define be32toh(x) ntohl(x)
-#endif
-
-#define HTOBE16(x) (x) = htobe16(x)
-#define HTOBE32(x) (x) = htobe32(x)
-#define BE32TOH(x) (x) = be32toh(x)
-#define BE16TOH(x) (x) = be16toh(x)
-
-/* On little endian machines, these macros are null */
-#ifndef htole16
-# define htole16(x)      (x)
-#endif
-#ifndef htole32
-# define htole32(x)      (x)
-#endif
-#ifndef htole64
-# define htole64(x)      (x)
-#endif
-#ifndef le16toh
-# define le16toh(x)      (x)
-#endif
-#ifndef le32toh
-# define le32toh(x)      (x)
-#endif
-#ifndef le64toh
-# define le64toh(x)      (x)
-#endif
-
-#define HTOLE16(x)      (void) (x)
-#define HTOLE32(x)      (void) (x)
-#define HTOLE64(x)      (void) (x)
-#define LE16TOH(x)      (void) (x)
-#define LE32TOH(x)      (void) (x)
-#define LE64TOH(x)      (void) (x)
-
-/* These don't have standard aliases */
-#ifndef htobe64
-# define htobe64(x)      swap64(x)
-#endif
-#ifndef be64toh
-# define be64toh(x)      swap64(x)
-#endif
-
-#define HTOBE64(x)      (x) = htobe64(x)
-#define BE64TOH(x)      (x) = be64toh(x)
-
-/* Define the C99 standard length-specific integer types */
-#include <stdint.h>
-
-/* Here are some macros to create integers from a byte array */
-/* These are used to get and put integers from/into a uint8_t array */
-/* with a specific endianness.  This is the most portable way to generate */
-/* and read messages to a network or serial device.  Each member of a */
-/* packet structure must be handled separately. */
-
-/* The i386 and compatibles can handle unaligned memory access, */
-/* so use the optimized macros above to do this job */
-#ifndef be16atoh
-# define be16atoh(x)     be16toh(*(uint16_t*)(x))
-#endif
-#ifndef be32atoh
-# define be32atoh(x)     be32toh(*(uint32_t*)(x))
-#endif
-#ifndef be64atoh
-# define be64atoh(x)     be64toh(*(uint64_t*)(x))
-#endif
-#ifndef le16atoh
-# define le16atoh(x)     le16toh(*(uint16_t*)(x))
-#endif
-#ifndef le32atoh
-# define le32atoh(x)     le32toh(*(uint32_t*)(x))
-#endif
-#ifndef le64atoh
-# define le64atoh(x)     le64toh(*(uint64_t*)(x))
-#endif
-
-#ifndef htob16a
-# define htobe16a(a,x)   *(uint16_t*)(a) = htobe16(x)
-#endif
-#ifndef htobe32a
-# define htobe32a(a,x)   *(uint32_t*)(a) = htobe32(x)
-#endif
-#ifndef htobe64a
-# define htobe64a(a,x)   *(uint64_t*)(a) = htobe64(x)
-#endif
-#ifndef htole16a
-# define htole16a(a,x)   *(uint16_t*)(a) = htole16(x)
-#endif
-#ifndef htole32a
-# define htole32a(a,x)   *(uint32_t*)(a) = htole32(x)
-#endif
-#ifndef htole64a
-# define htole64a(a,x)   *(uint64_t*)(a) = htole64(x)
-#endif
-
-#endif /*__BYTEORDER_H*/
diff --git a/src/gphoto2-endian-ppc.h b/src/gphoto2-endian-ppc.h
deleted file mode 100644
index 6ff07cc..0000000
--- a/src/gphoto2-endian-ppc.h
+++ /dev/null
@@ -1,119 +0,0 @@
-/* This file is generated automatically by configure */
-/* It is valid only for the system type powerpc-apple-darwin9.8.0 */
-
-#ifndef __BYTEORDER_H
-#define __BYTEORDER_H
-
-/* ntohl and relatives live here */
-#include <arpa/inet.h>
-
-/* Define generic byte swapping functions */
-#include <machine/byte_order.h>
-#define swap16(x) NXSwapShort(x)
-#define swap32(x) NXSwapLong(x)
-#define swap64(x) NXSwapLongLong(x)
-
-/* The byte swapping macros have the form: */
-/*   EENN[a]toh or htoEENN[a] where EE is be (big endian) or */
-/* le (little-endian), NN is 16 or 32 (number of bits) and a, */
-/* if present, indicates that the endian side is a pointer to an */
-/* array of uint8_t bytes instead of an integer of the specified length. */
-/* h refers to the host's ordering method. */
-
-/* So, to convert a 32-bit integer stored in a buffer in little-endian */
-/* format into a uint32_t usable on this machine, you could use: */
-/*   uint32_t value = le32atoh(&buf[3]); */
-/* To put that value back into the buffer, you could use: */
-/*   htole32a(&buf[3], value); */
-
-/* Define aliases for the standard byte swapping macros */
-/* Arguments to these macros must be properly aligned on natural word */
-/* boundaries in order to work properly on all architectures */
-#ifndef htobe16
-# define htobe16(x) htons(x)
-#endif
-#ifndef htobe32
-# define htobe32(x) htonl(x)
-#endif
-#ifndef be16toh
-# define be16toh(x) ntohs(x)
-#endif
-#ifndef be32toh
-# define be32toh(x) ntohl(x)
-#endif
-
-#define HTOBE16(x) (x) = htobe16(x)
-#define HTOBE32(x) (x) = htobe32(x)
-#define BE32TOH(x) (x) = be32toh(x)
-#define BE16TOH(x) (x) = be16toh(x)
-
-/* Define our own extended byte swapping macros for big-endian machines */
-#ifndef htole16
-# define htole16(x)      swap16(x)
-#endif
-#ifndef htole32
-# define htole32(x)      swap32(x)
-#endif
-#ifndef le16toh
-# define le16toh(x)      swap16(x)
-#endif
-#ifndef le32toh
-# define le32toh(x)      swap32(x)
-#endif
-#ifndef le64toh
-# define le64toh(x)      swap64(x)
-#endif
-
-#ifndef htobe64
-# define htobe64(x)      (x)
-#endif
-#ifndef be64toh
-# define be64toh(x)      (x)
-#endif
-
-#define HTOLE16(x)      (x) = htole16(x)
-#define HTOLE32(x)      (x) = htole32(x)
-#define LE16TOH(x)      (x) = le16toh(x)
-#define LE32TOH(x)      (x) = le32toh(x)
-#define LE64TOH(x)      (x) = le64toh(x)
-
-#define HTOBE64(x)      (void) (x)
-#define BE64TOH(x)      (void) (x)
-
-/* Define the C99 standard length-specific integer types */
-#include <stdint.h>
-
-/* Here are some macros to create integers from a byte array */
-/* These are used to get and put integers from/into a uint8_t array */
-/* with a specific endianness.  This is the most portable way to generate */
-/* and read messages to a network or serial device.  Each member of a */
-/* packet structure must be handled separately. */
-
-/* Non-optimized but portable macros */
-#define be16atoh(x)     ((uint16_t)(((x)[0]<<8)|(x)[1]))
-#define be32atoh(x)     ((uint32_t)(((x)[0]<<24)|((x)[1]<<16)|((x)[2]<<8)|(x)[3]))
-#define be64atoh_x(x,off,shift) 	(((uint64_t)((x)[off]))<<shift)
-#define be64atoh(x)     ((uint64_t)(be64atoh_x(x,0,56)|be64atoh_x(x,1,48)|be64atoh_x(x,2,40)| \
-        be64atoh_x(x,3,32)|be64atoh_x(x,4,24)|be64atoh_x(x,5,16)|be64atoh_x(x,6,8)|((x)[7])))
-#define le16atoh(x)     ((uint16_t)(((x)[1]<<8)|(x)[0]))
-#define le32atoh(x)     ((uint32_t)(((x)[3]<<24)|((x)[2]<<16)|((x)[1]<<8)|(x)[0]))
-#define le64atoh_x(x,off,shift) (((uint64_t)(x)[off])<<shift)
-#define le64atoh(x)     ((uint64_t)(le64atoh_x(x,7,56)|le64atoh_x(x,6,48)|le64atoh_x(x,5,40)| \
-        le64atoh_x(x,4,32)|le64atoh_x(x,3,24)|le64atoh_x(x,2,16)|le64atoh_x(x,1,8)|((x)[0])))
-
-#define htobe16a(a,x)   (a)[0]=(uint8_t)((x)>>8), (a)[1]=(uint8_t)(x)
-#define htobe32a(a,x)   (a)[0]=(uint8_t)((x)>>24), (a)[1]=(uint8_t)((x)>>16), \
-        (a)[2]=(uint8_t)((x)>>8), (a)[3]=(uint8_t)(x)
-#define htobe64a(a,x)   (a)[0]=(uint8_t)((x)>>56), (a)[1]=(uint8_t)((x)>>48), \
-        (a)[2]=(uint8_t)((x)>>40), (a)[3]=(uint8_t)((x)>>32), \
-        (a)[4]=(uint8_t)((x)>>24), (a)[5]=(uint8_t)((x)>>16), \
-        (a)[6]=(uint8_t)((x)>>8), (a)[7]=(uint8_t)(x)
-#define htole16a(a,x)   (a)[1]=(uint8_t)((x)>>8), (a)[0]=(uint8_t)(x)
-#define htole32a(a,x)   (a)[3]=(uint8_t)((x)>>24), (a)[2]=(uint8_t)((x)>>16), \
-        (a)[1]=(uint8_t)((x)>>8), (a)[0]=(uint8_t)(x)
-#define htole64a(a,x)   (a)[7]=(uint8_t)((x)>>56), (a)[6]=(uint8_t)((x)>>48), \
-        (a)[5]=(uint8_t)((x)>>40), (a)[4]=(uint8_t)((x)>>32), \
-        (a)[3]=(uint8_t)((x)>>24), (a)[2]=(uint8_t)((x)>>16), \
-        (a)[1]=(uint8_t)((x)>>8), (a)[0]=(uint8_t)(x)
-
-#endif /*__BYTEORDER_H*/
diff --git a/src/gphoto2-endian.h b/src/gphoto2-endian.h
deleted file mode 100644
index 90cdeae..0000000
--- a/src/gphoto2-endian.h
+++ /dev/null
@@ -1,7 +0,0 @@
-/* added 10/26/2010 to deal with both archs on Mac */
-
-#ifdef __BIG_ENDIAN__
-#include "gphoto2-endian-ppc.h"
-#else
-#include "gphoto2-endian-intel.h"
-#endif
diff --git a/src/gphoto2-sync.sh b/src/gphoto2-sync.sh
new file mode 100755
index 0000000..6cbf732
--- /dev/null
+++ b/src/gphoto2-sync.sh
@@ -0,0 +1,30 @@
+#!/bin/sh
+#set -e
+
+SVN=`which svn`
+if [ "x$SVN" = "x" ]; then
+    echo "Install svn! (subversion client)"
+    exit 1
+fi
+
+if [ ! -d ptp2 ] ; then
+    echo "No copy of the gphoto trunk, checking out..."
+    svn checkout svn://svn.code.sf.net/p/gphoto/code/trunk/libgphoto2/camlibs/ptp2 ptp2
+fi
+if [ ! -d ptp2 ] ; then
+    echo "Could not clone gphoto trunk."
+    exit 1
+fi
+
+cd ptp2
+svn update
+cd ..
+
+cp ptp2/ptp.c ptp.c
+cp ptp2/ptp.h ptp.h
+cp ptp2/ptp-pack.c ptp-pack.c
+cp ptp2/chdk_ptp.h chdk_ptp.h
+cp ptp2/chdk_live_view.h chdk_live_view.h
+diff -ur ptp2/device-flags.h device-flags.h
+
+echo "Finished!"
diff --git a/src/libmtp.c b/src/libmtp.c
index 8c86cde..7a0ac13 100644
--- a/src/libmtp.c
+++ b/src/libmtp.c
@@ -1,7 +1,7 @@
 /**
  * \file libmtp.c
  *
- * Copyright (C) 2005-2009 Linus Walleij <triad@df.lth.se>
+ * Copyright (C) 2005-2011 Linus Walleij <triad@df.lth.se>
  * Copyright (C) 2005-2008 Richard A. Low <richard@wentnet.com>
  * Copyright (C) 2007 Ted Bullock <tbullock@canada.com>
  * Copyright (C) 2007 Tero Saarni <tero.saarni@gmail.com>
@@ -41,8 +41,13 @@
 #include "libusb-glue.h"
 #include "device-flags.h"
 #include "playlist-spl.h"
+#include "util.h"
 
+#include "mtpz.h"
+
+#include <stdarg.h>
 #include <stdlib.h>
+#include <limits.h>
 #include <unistd.h>
 #include <string.h>
 #include <sys/types.h>
@@ -55,8 +60,33 @@
 #include <io.h>
 #endif
 
-/* To enable PTP level debug prints (all ptp_debug(...)), switch on this */
-//#define ENABLE_PTP_DEBUG
+
+/**
+ * Global debug level
+ * We use a flag system to enable a part of logs.
+ *
+ * The LIBMTP_DEBUG environment variable sets the debug flags for any binary
+ * that uses libmtp and calls LIBMTP_Init. The value can be given in decimal
+ * (must not start with "0" or it will be interpreted in octal), or in
+ * hexadecimal (must start with "0x").
+ *
+ * The value "-1" enables all debug flags.
+ *
+ * Some of the utilities in examples/ also take a command-line flag "-d" that
+ * enables LIBMTP_DEBUG_PTP and LIBMTP_DEBUG_DATA (same as setting
+ * LIBMTP_DEBUG=9).
+ *
+ * Flags (combine by adding the hex values):
+ *  0x00 [0000 0000] : LIBMTP_DEBUG_NONE  : no debug (default)
+ *  0x01 [0000 0001] : LIBMTP_DEBUG_PTP   : PTP debug
+ *  0x02 [0000 0010] : LIBMTP_DEBUG_PLST  : Playlist debug
+ *  0x04 [0000 0100] : LIBMTP_DEBUG_USB   : USB debug
+ *  0x08 [0000 1000] : LIBMTP_DEBUG_DATA  : USB data debug
+ *
+ * (Please keep this list in sync with libmtp.h.)
+ */
+int LIBMTP_debug = LIBMTP_DEBUG_NONE;
+
 
 /*
  * This is a mapping between libmtp internal MTP filetypes and
@@ -85,11 +115,20 @@
   struct propertymap_struct *next;
 } propertymap_t;
 
+/*
+ * This is a simple container for holding our callback and user_data
+ * for parsing onwards to the usb_event_async function.
+ */
+typedef struct event_cb_data_struct {
+  LIBMTP_event_cb_fn cb;
+  void *user_data;
+} event_cb_data_t;
+
 // Global variables
 // This holds the global filetype mapping table
-static filemap_t *filemap = NULL;
+static filemap_t *g_filemap = NULL;
 // This holds the global property mapping table
-static propertymap_t *propertymap = NULL;
+static propertymap_t *g_propertymap = NULL;
 
 static int load_cache_on_demand = 0;
 /*
@@ -108,17 +147,18 @@
 					uint16_t ptp_error,
 					char const * const error_text);
 static void flush_handles(LIBMTP_mtpdevice_t *device);
-static void get_handles_recursively(LIBMTP_mtpdevice_t *device, 
-				    PTPParams *params, 
+static void get_handles_recursively(LIBMTP_mtpdevice_t *device,
+				    PTPParams *params,
 				    uint32_t storageid,
 				    uint32_t parent);
 static void free_storage_list(LIBMTP_mtpdevice_t *device);
 static int sort_storage_by(LIBMTP_mtpdevice_t *device, int const sortby);
-static uint32_t get_writeable_storageid(LIBMTP_mtpdevice_t *device, uint64_t fitsize);
+static uint32_t get_writeable_storageid(LIBMTP_mtpdevice_t *device,
+					uint64_t fitsize);
 static int get_storage_freespace(LIBMTP_mtpdevice_t *device,
 				 LIBMTP_devicestorage_t *storage,
 				 uint64_t *freespace);
-static int check_if_file_fits(LIBMTP_mtpdevice_t *device, 
+static int check_if_file_fits(LIBMTP_mtpdevice_t *device,
 			      LIBMTP_devicestorage_t *storage,
 			      uint64_t const filesize);
 static uint16_t map_libmtp_type_to_ptp_type(LIBMTP_filetype_t intype);
@@ -179,7 +219,11 @@
 		uint32_t object_id,
 		uint16_t ptp_type,
                 const char **newname);
-                
+static char *generate_unique_filename(PTPParams* params, char const * const filename);
+static int check_filename_exists(PTPParams* params, char const * const filename);
+static void LIBMTP_Handle_Event(PTPContainer *ptp_event,
+                                LIBMTP_event_t *event, uint32_t *out1);
+
 /**
  * These are to wrap the get/put handlers to convert from the MTP types to PTP types
  * in a reliable way
@@ -191,8 +235,8 @@
 } MTPDataHandler;
 
 static uint16_t get_func_wrapper(PTPParams* params, void* priv, unsigned long wantlen, unsigned char *data, unsigned long *gotlen);
-static uint16_t put_func_wrapper(PTPParams* params, void* priv, unsigned long sendlen, unsigned char *data, unsigned long *putlen);
-                
+static uint16_t put_func_wrapper(PTPParams* params, void* priv, unsigned long sendlen, unsigned char *data);
+
 /**
  * Checks if a filename ends with ".ogg". Used in various
  * situations when the device has no idea that it support
@@ -273,7 +317,7 @@
   filemap_t *new = NULL, *current;
 
   // Has this LIBMTP filetype been registered before ?
-  current = filemap;
+  current = g_filemap;
   while (current != NULL) {
     if(current->id == id) {
       break;
@@ -295,10 +339,10 @@
     new->ptp_id = ptp_id;
 
     // Add the entry to the list
-    if(filemap == NULL) {
-      filemap = new;
+    if(g_filemap == NULL) {
+      g_filemap = new;
     } else {
-      current = filemap;
+      current = g_filemap;
       while (current->next != NULL ) current=current->next;
       current->next = new;
     }
@@ -375,7 +419,7 @@
 {
   filemap_t *current;
 
-  current = filemap;
+  current = g_filemap;
 
   while (current != NULL) {
     if(current->id == intype) {
@@ -398,7 +442,7 @@
 {
   filemap_t *current;
 
-  current = filemap;
+  current = g_filemap;
 
   while (current != NULL) {
     if(current->ptp_id == intype) {
@@ -444,7 +488,7 @@
   propertymap_t *new = NULL, *current;
 
   // Has this LIBMTP propety been registered before ?
-  current = propertymap;
+  current = g_propertymap;
   while (current != NULL) {
     if(current->id == id) {
       break;
@@ -466,10 +510,10 @@
     new->ptp_id = ptp_id;
 
     // Add the entry to the list
-    if(propertymap == NULL) {
-      propertymap = new;
+    if(g_propertymap == NULL) {
+      g_propertymap = new;
     } else {
-      current = propertymap;
+      current = g_propertymap;
       while (current->next != NULL ) current=current->next;
       current->next = new;
     }
@@ -669,7 +713,7 @@
 {
   propertymap_t *current;
 
-  current = propertymap;
+  current = g_propertymap;
 
   while (current != NULL) {
     if(current->id == inproperty) {
@@ -691,7 +735,7 @@
 {
   propertymap_t *current;
 
-  current = propertymap;
+  current = g_propertymap;
 
   while (current != NULL) {
     if(current->ptp_id == inproperty) {
@@ -705,17 +749,50 @@
 
 
 /**
+ * Set the debug level.
+ *
+ * By default, the debug level is set to '0' (disable).
+ */
+void LIBMTP_Set_Debug(int level)
+{
+  if (LIBMTP_debug || level)
+    LIBMTP_ERROR("LIBMTP_Set_Debug: Setting debugging level to %d (0x%02x) "
+                 "(%s)\n", level, level, level ? "on" : "off");
+
+  LIBMTP_debug = level;
+}
+
+
+/**
  * Initialize the library. You are only supposed to call this
  * one, before using the library for the first time in a program.
  * Never re-initialize libmtp!
  *
  * The only thing this does at the moment is to initialise the
- * filetype mapping table.
+ * filetype mapping table, as well as load MTPZ data if necessary.
  */
 void LIBMTP_Init(void)
 {
+  const char *env_debug = getenv("LIBMTP_DEBUG");
+  if (env_debug) {
+    const long debug_flags = strtol(env_debug, NULL, 0);
+    if (debug_flags != LONG_MIN && debug_flags != LONG_MAX &&
+        INT_MIN <= debug_flags && debug_flags <= INT_MAX) {
+      LIBMTP_Set_Debug(debug_flags);
+    } else {
+      fprintf(stderr, "LIBMTP_Init: error setting debug flags from environment "
+                      "value \"%s\"\n", env_debug);
+    }
+  }
+
   init_filemap();
   init_propertymap();
+
+  if (mtpz_loaddata() == -1)
+    use_mtpz = 0;
+  else
+    use_mtpz = 1;
+
   return;
 }
 
@@ -731,7 +808,7 @@
 {
   filemap_t *current;
 
-  current = filemap;
+  current = g_filemap;
 
   while (current != NULL) {
     if(current->id == intype) {
@@ -754,7 +831,7 @@
 {
   propertymap_t *current;
 
-  current = propertymap;
+  current = g_propertymap;
 
   while (current != NULL) {
     if(current->id == inproperty) {
@@ -791,7 +868,7 @@
     {
       int i;
       uint16_t bestfit = opd->FORM.Enum.SupportedValue[0].u16;
-      
+
       for (i=0; i<opd->FORM.Enum.NumberOfValues; i++) {
 	if (val == opd->FORM.Enum.SupportedValue[i].u16) {
 	  return val;
@@ -888,7 +965,7 @@
 {
   PTPObjectPropDesc opd;
   uint16_t ret = 0;
-  
+
   ret = ptp_mtp_getobjectpropdesc(device->params, map_libmtp_property_to_ptp_property(property), map_libmtp_type_to_ptp_type(filetype), &opd);
   if (ret != PTP_RC_OK) {
     add_ptp_error_to_errorstack(device, ret, "LIBMTP_Get_Allowed_Property_Values(): could not get property description.");
@@ -897,7 +974,7 @@
 
   if (opd.FormFlag == PTP_OPFF_Enumeration) {
     int i = 0;
-    
+
     allowed_vals->is_range = 0;
     allowed_vals->num_entries = opd.FORM.Enum.NumberOfValues;
 
@@ -936,7 +1013,7 @@
         allowed_vals->datatype = LIBMTP_DATATYPE_UINT64;
         break;
     }
-    
+
     for (i = 0; i < opd.FORM.Enum.NumberOfValues; i++) {
       switch (opd.DataType)
       {
@@ -970,7 +1047,7 @@
     return 0;
   } else if (opd.FormFlag == PTP_OPFF_Range) {
     allowed_vals->is_range = 1;
-    
+
     switch (opd.DataType)
     {
       case PTP_DTC_INT8:
@@ -1022,7 +1099,7 @@
         allowed_vals->datatype = LIBMTP_DATATYPE_UINT64;
         break;
     }
-    return 0; 
+    return 0;
   } else
     return -1;
 }
@@ -1089,7 +1166,10 @@
   int i = 0;
   int supported = 0;
   uint16_t ptp_prop = map_libmtp_property_to_ptp_property(property);
-  
+
+  if (!ptp_operation_issupported(device->params, PTP_OC_MTP_GetObjectPropsSupported))
+    return 0;
+
   ret = ptp_mtp_getobjectpropssupported(device->params, map_libmtp_type_to_ptp_type(filetype), &propcnt, &props);
   if (ret != PTP_RC_OK) {
     add_ptp_error_to_errorstack(device, ret, "LIBMTP_Is_Property_Supported(): could not get properties supported.");
@@ -1102,9 +1182,9 @@
       break;
     }
   }
-  
+
   free(props);
-  
+
   return supported;
 }
 
@@ -1260,14 +1340,15 @@
 {
   PTPPropertyValue propval;
   char *retstring = NULL;
-  PTPParams *params = (PTPParams *) device->params;
+  PTPParams *params;
   uint16_t ret;
   MTPProperties *prop;
 
-  if ( device == NULL || object_id == 0) {
+  if (!device || !object_id)
     return NULL;
-  }
-  
+
+  params = (PTPParams *) device->params;
+
   prop = ptp_find_object_prop_in_cache(params, object_id, attribute_id);
   if (prop) {
     if (prop->propval.str != NULL)
@@ -1303,14 +1384,15 @@
 {
   PTPPropertyValue propval;
   uint64_t retval = value_default;
-  PTPParams *params = (PTPParams *) device->params;
+  PTPParams *params;
   uint16_t ret;
   MTPProperties *prop;
-  
-  if ( device == NULL ) {
+
+  if (!device)
     return value_default;
-  }
-  
+
+  params = (PTPParams *) device->params;
+
   prop = ptp_find_object_prop_in_cache(params, object_id, attribute_id);
   if (prop)
     return prop->propval.u64;
@@ -1324,7 +1406,7 @@
   } else {
     add_ptp_error_to_errorstack(device, ret, "get_u64_from_object(): could not get unsigned 64bit integer from object.");
   }
-  
+
   return retval;
 }
 
@@ -1342,13 +1424,14 @@
 {
   PTPPropertyValue propval;
   uint32_t retval = value_default;
-  PTPParams *params = (PTPParams *) device->params;
+  PTPParams *params;
   uint16_t ret;
   MTPProperties *prop;
 
-  if ( device == NULL ) {
+  if (!device)
     return value_default;
-  }
+
+  params = (PTPParams *) device->params;
 
   prop = ptp_find_object_prop_in_cache(params, object_id, attribute_id);
   if (prop)
@@ -1380,13 +1463,14 @@
 {
   PTPPropertyValue propval;
   uint16_t retval = value_default;
-  PTPParams *params = (PTPParams *) device->params;
+  PTPParams *params;
   uint16_t ret;
   MTPProperties *prop;
 
-  if ( device == NULL ) {
+  if (!device)
     return value_default;
-  }
+
+  params = (PTPParams *) device->params;
 
   // This O(n) search should not be used so often, since code
   // using the cached properties don't usually call this function.
@@ -1421,13 +1505,14 @@
 {
   PTPPropertyValue propval;
   uint8_t retval = value_default;
-  PTPParams *params = (PTPParams *) device->params;
+  PTPParams *params;
   uint16_t ret;
   MTPProperties *prop;
 
-  if ( device == NULL ) {
+  if (!device)
     return value_default;
-  }
+
+  params = (PTPParams *) device->params;
 
   // This O(n) search should not be used so often, since code
   // using the cached properties don't usually call this function.
@@ -1461,13 +1546,14 @@
 			     uint16_t const attribute_id, char const * const string)
 {
   PTPPropertyValue propval;
-  PTPParams *params = (PTPParams *) device->params;
+  PTPParams *params;
   uint16_t ret;
 
-  if (device == NULL || string == NULL) {
+  if (!device || !string)
     return -1;
-  }
-  
+
+  params = (PTPParams *) device->params;
+
   if (!ptp_operation_issupported(params,PTP_OC_MTP_SetObjectPropValue)) {
     add_error_to_errorstack(device, LIBMTP_ERROR_GENERAL, "set_object_string(): could not set object string: "
 				"PTP_OC_MTP_SetObjectPropValue not supported.");
@@ -1497,19 +1583,20 @@
 			  uint16_t const attribute_id, uint32_t const value)
 {
   PTPPropertyValue propval;
-  PTPParams *params = (PTPParams *) device->params;
+  PTPParams *params;
   uint16_t ret;
 
-  if (device == NULL) {
+  if (!device)
     return -1;
-  }
+
+  params = (PTPParams *) device->params;
 
   if (!ptp_operation_issupported(params,PTP_OC_MTP_SetObjectPropValue)) {
     add_error_to_errorstack(device, LIBMTP_ERROR_GENERAL, "set_object_u32(): could not set unsigned 32bit integer property: "
 				"PTP_OC_MTP_SetObjectPropValue not supported.");
     return -1;
   }
-  
+
   propval.u32 = value;
   ret = ptp_mtp_setobjectpropvalue(params, object_id, attribute_id, &propval, PTP_DTC_UINT32);
   if (ret != PTP_RC_OK) {
@@ -1533,12 +1620,13 @@
 			  uint16_t const attribute_id, uint16_t const value)
 {
   PTPPropertyValue propval;
-  PTPParams *params = (PTPParams *) device->params;
+  PTPParams *params;
   uint16_t ret;
 
-  if (device == NULL) {
+  if (!device)
     return 1;
-  }
+
+  params = (PTPParams *) device->params;
 
   if (!ptp_operation_issupported(params,PTP_OC_MTP_SetObjectPropValue)) {
     add_error_to_errorstack(device, LIBMTP_ERROR_GENERAL, "set_object_u16(): could not set unsigned 16bit integer property: "
@@ -1568,12 +1656,13 @@
 			 uint16_t const attribute_id, uint8_t const value)
 {
   PTPPropertyValue propval;
-  PTPParams *params = (PTPParams *) device->params;
+  PTPParams *params;
   uint16_t ret;
 
-  if (device == NULL) {
+  if (!device)
     return 1;
-  }
+
+  params = (PTPParams *) device->params;
 
   if (!ptp_operation_issupported(params,PTP_OC_MTP_SetObjectPropValue)) {
     add_error_to_errorstack(device, LIBMTP_ERROR_GENERAL, "set_object_u8(): could not set unsigned 8bit integer property: "
@@ -1601,13 +1690,14 @@
   LIBMTP_raw_device_t *devices;
   int numdevs;
   LIBMTP_error_number_t ret;
-  
+
   ret = LIBMTP_Detect_Raw_Devices(&devices, &numdevs);
   if (ret != LIBMTP_ERROR_NONE) {
     return NULL;
   }
 
   if (devices == NULL || numdevs == 0) {
+    free(devices);
     return NULL;
   }
 
@@ -1626,10 +1716,11 @@
 #endif
 LIBMTP_ptp_debug(void *data, const char *format, va_list args)
 {
-#ifdef ENABLE_PTP_DEBUG
-  vfprintf (stderr, format, args);
-  fflush (stderr);
-#endif
+  if ((LIBMTP_debug & LIBMTP_DEBUG_PTP) != 0) {
+    vfprintf (stderr, format, args);
+    fprintf (stderr, "\n");
+    fflush (stderr);
+  }
 }
 
 /**
@@ -1661,6 +1752,76 @@
 }
 
 /**
+ * Parses the extension descriptor, there may be stuff in
+ * this that we want to know about.
+ */
+static void parse_extension_descriptor(LIBMTP_mtpdevice_t *mtpdevice,
+                                       char *desc)
+{
+  int start = 0;
+  int end = 0;
+
+  /* NULL on Canon A70 */
+  if (!desc)
+    return;
+
+  /* descriptors are divided by semicolons */
+  while (end < strlen(desc)) {
+    /* Skip past initial whitespace */
+    while ((end < strlen(desc)) && (desc[start] == ' ' )) {
+      start++;
+      end++;
+    }
+    /* Detect extension */
+    while ((end < strlen(desc)) && (desc[end] != ';'))
+      end++;
+    if (end < strlen(desc)) {
+      char *element = strndup(desc + start, end-start);
+      if (element) {
+        int i = 0;
+        // printf("  Element: \"%s\"\n", element);
+
+        /* Parse for an extension */
+        while ((i < strlen(element)) && (element[i] != ':'))
+          i++;
+        if (i < strlen(element)) {
+          char *name = strndup(element, i);
+          int major = 0, minor = 0;
+
+	  /* extension versions have to be MAJOR.MINOR, but Samsung has one
+	   * with just 0, so just cope with those cases too */
+	  if (	(2 == sscanf(element+i+1,"%d.%d",&major,&minor)) || 
+	  	(1 == sscanf(element+i+1,"%d",&major))
+	  ) {
+            LIBMTP_device_extension_t *extension;
+
+            extension = malloc(sizeof(LIBMTP_device_extension_t));
+            extension->name = name;
+            extension->major = major;
+            extension->minor = minor;
+            extension->next = NULL;
+            if (mtpdevice->extensions == NULL) {
+              mtpdevice->extensions = extension;
+            } else {
+              LIBMTP_device_extension_t *tmp = mtpdevice->extensions;
+              while (tmp->next != NULL)
+                tmp = tmp->next;
+              tmp->next = extension;
+            }
+          } else {
+            LIBMTP_ERROR("LIBMTP ERROR: couldnt parse extension %s\n",
+                         element);
+          }
+        }
+        free(element);
+      }
+    }
+    end++;
+    start = end;
+  }
+}
+
+/**
  * This function opens a device from a raw device. It is the
  * preferred way to access devices in the new interface where
  * several devices can come and go as the library is working
@@ -1668,7 +1829,7 @@
  * @param rawdevice the raw device to open a "real" device for.
  * @return an open device.
  */
-LIBMTP_mtpdevice_t *LIBMTP_Open_Raw_Device(LIBMTP_raw_device_t *rawdevice)
+LIBMTP_mtpdevice_t *LIBMTP_Open_Raw_Device_Uncached(LIBMTP_raw_device_t *rawdevice)
 {
   LIBMTP_mtpdevice_t *mtp_device;
   uint8_t bs = 0;
@@ -1679,19 +1840,21 @@
 
   /* Allocate dynamic space for our device */
   mtp_device = (LIBMTP_mtpdevice_t *) malloc(sizeof(LIBMTP_mtpdevice_t));
-  memset(mtp_device, 0, sizeof(LIBMTP_mtpdevice_t));
   /* Check if there was a memory allocation error */
   if(mtp_device == NULL) {
     /* There has been an memory allocation error. We are going to ignore this
        device and attempt to continue */
-    
+
     /* TODO: This error statement could probably be a bit more robust */
-    fprintf(stderr, "LIBMTP PANIC: connect_usb_devices encountered a memory "
+    LIBMTP_ERROR("LIBMTP PANIC: connect_usb_devices encountered a memory "
 	    "allocation error with device %d on bus %d, trying to continue",
 	    rawdevice->devnum, rawdevice->bus_location);
-    
+
     return NULL;
   }
+  memset(mtp_device, 0, sizeof(LIBMTP_mtpdevice_t));
+  // Non-cached by default
+  mtp_device->cached = 0;
 
   /* Create PTP params */
   current_params = (PTPParams *) malloc(sizeof(PTPParams));
@@ -1702,6 +1865,7 @@
   memset(current_params, 0, sizeof(PTPParams));
   current_params->device_flags = rawdevice->device_entry.device_flags;
   current_params->nrofobjects = 0;
+  current_params->cachetime = 2;
   current_params->objects = NULL;
   current_params->response_packet_size = 0;
   current_params->response_packet = NULL;
@@ -1714,10 +1878,10 @@
   current_params->byteorder = PTP_DL_LE;
   current_params->cd_locale_to_ucs2 = iconv_open("UCS-2LE", "UTF-8");
   current_params->cd_ucs2_to_locale = iconv_open("UTF-8", "UCS-2LE");
-    
+
   if(current_params->cd_locale_to_ucs2 == (iconv_t) -1 ||
      current_params->cd_ucs2_to_locale == (iconv_t) -1) {
-    fprintf(stderr, "LIBMTP PANIC: Cannot open iconv() converters to/from UCS-2!\n"
+    LIBMTP_ERROR("LIBMTP PANIC: Cannot open iconv() converters to/from UCS-2!\n"
 	    "Too old stdlibc, glibc and libiconv?\n");
     free(current_params);
     free(mtp_device);
@@ -1725,7 +1889,6 @@
   }
   mtp_device->params = current_params;
 
-  
   /* Create usbinfo, this also opens the session */
   err = configure_usb_device(rawdevice,
 			     current_params,
@@ -1739,57 +1902,148 @@
   /* Set pointer back to params */
   ptp_usb->params = current_params;
 
-  
   /* Cache the device information for later use */
   if (ptp_getdeviceinfo(current_params,
 			&current_params->deviceinfo) != PTP_RC_OK) {
-    fprintf(stderr, "LIBMTP PANIC: Unable to read device information on device "
+    LIBMTP_ERROR("LIBMTP PANIC: Unable to read device information on device "
 	    "%d on bus %d, trying to continue",
 	    rawdevice->devnum, rawdevice->bus_location);
-    
+
     /* Prevent memory leaks for this device */
     free(mtp_device->usbinfo);
     free(mtp_device->params);
     current_params = NULL;
-    free(mtp_device);    
+    free(mtp_device);
     return NULL;
   }
-  
+
+  /* Check: if this is a PTP device, is it really tagged as MTP? */
+  if (current_params->deviceinfo.VendorExtensionID != 0x00000006) {
+    LIBMTP_ERROR("LIBMTP WARNING: no MTP vendor extension on device "
+		 "%d on bus %d",
+		 rawdevice->devnum, rawdevice->bus_location);
+    LIBMTP_ERROR("LIBMTP WARNING: VendorExtensionID: %08x",
+		 current_params->deviceinfo.VendorExtensionID);
+    LIBMTP_ERROR("LIBMTP WARNING: VendorExtensionDesc: %s",
+		 current_params->deviceinfo.VendorExtensionDesc);
+    LIBMTP_ERROR("LIBMTP WARNING: this typically means the device is PTP "
+		 "(i.e. a camera) but not an MTP device at all. "
+		 "Trying to continue anyway.");
+  }
+
+  parse_extension_descriptor(mtp_device,
+                             current_params->deviceinfo.VendorExtensionDesc);
+
+  /*
+   * Android has a number of bugs, force-assign these bug flags
+   * if Android is encountered. Same thing for devices we detect
+   * as SONY NWZ Walkmen. I have no clue what "sony.net/WMFU" means
+   * I just know only NWZs have it.
+   */
+  {
+    LIBMTP_device_extension_t *tmpext = mtp_device->extensions;
+    int is_microsoft_com_wpdna = 0;
+    int is_android = 0;
+    int is_sony_net_wmfu = 0;
+    int is_sonyericsson_com_se = 0;
+
+    /* Loop over extensions and set flags */
+    while (tmpext != NULL) {
+      if (!strcmp(tmpext->name, "microsoft.com/WPDNA"))
+	is_microsoft_com_wpdna = 1;
+      if (!strcmp(tmpext->name, "android.com"))
+	is_android = 1;
+      if (!strcmp(tmpext->name, "sony.net/WMFU"))
+	is_sony_net_wmfu = 1;
+      if (!strcmp(tmpext->name, "sonyericsson.com/SE"))
+	is_sonyericsson_com_se = 1;
+      tmpext = tmpext->next;
+    }
+
+    /* Check for specific stacks */
+    if (is_microsoft_com_wpdna && is_sonyericsson_com_se && !is_android) {
+      /*
+       * The Aricent stack seems to be detected by providing WPDNA, the SonyEricsson
+       * extension and NO Android extension.
+       */
+      ptp_usb->rawdevice.device_entry.device_flags |= DEVICE_FLAGS_ARICENT_BUGS;
+      LIBMTP_INFO("Aricent MTP stack device detected, assigning default bug flags\n");
+    }
+    else if (is_android) {
+      /*
+       * If bugs are fixed in later versions, test on tmpext->major, tmpext->minor
+       */
+      ptp_usb->rawdevice.device_entry.device_flags |= DEVICE_FLAGS_ANDROID_BUGS;
+      LIBMTP_INFO("Android device detected, assigning default bug flags\n");
+    }
+    else if (is_sony_net_wmfu) {
+      ptp_usb->rawdevice.device_entry.device_flags |= DEVICE_FLAGS_SONY_NWZ_BUGS;
+      LIBMTP_INFO("SONY NWZ device detected, assigning default bug flags\n");
+    }
+  }
+
+  /*
+   * If the OGG or FLAC filetypes are flagged as "unknown", check
+   * if the firmware has been updated to actually support it.
+   */
+  if (FLAG_OGG_IS_UNKNOWN(ptp_usb)) {
+    for (i=0;i<current_params->deviceinfo.ImageFormats_len;i++) {
+      if (current_params->deviceinfo.ImageFormats[i] == PTP_OFC_MTP_OGG) {
+        /* This is not unknown anymore, unflag it */
+        ptp_usb->rawdevice.device_entry.device_flags &=
+          ~DEVICE_FLAG_OGG_IS_UNKNOWN;
+        break;
+      }
+    }
+  }
+  if (FLAG_FLAC_IS_UNKNOWN(ptp_usb)) {
+    for (i=0;i<current_params->deviceinfo.ImageFormats_len;i++) {
+      if (current_params->deviceinfo.ImageFormats[i] == PTP_OFC_MTP_FLAC) {
+        /* This is not unknown anymore, unflag it */
+        ptp_usb->rawdevice.device_entry.device_flags &=
+          ~DEVICE_FLAG_FLAC_IS_UNKNOWN;
+        break;
+      }
+    }
+  }
+
   /* Determine if the object size supported is 32 or 64 bit wide */
-  for (i=0;i<current_params->deviceinfo.ImageFormats_len;i++) {
-    PTPObjectPropDesc opd;
-    
-    if (ptp_mtp_getobjectpropdesc(current_params, 
-				  PTP_OPC_ObjectSize, 
-				  current_params->deviceinfo.ImageFormats[i], 
-				  &opd) != PTP_RC_OK) {
-      printf("LIBMTP PANIC: "
-	     "could not inspect object property descriptions!\n");
-    } else {
-      if (opd.DataType == PTP_DTC_UINT32) {
-	if (bs == 0) {
-	  bs = 32;
-	} else if (bs != 32) {
-	  printf("LIBMTP PANIC: "
-		 "different objects support different object sizes!\n");
-	  bs = 0;
-	  break;
-	}
-      } else if (opd.DataType == PTP_DTC_UINT64) {
-	if (bs == 0) {
-	  bs = 64;
-	} else if (bs != 64) {
-	  printf("LIBMTP PANIC: "
-		 "different objects support different object sizes!\n");
-	  bs = 0;
-	  break;
-	}
+  if (ptp_operation_issupported(current_params,PTP_OC_MTP_GetObjectPropsSupported)) {
+    for (i=0;i<current_params->deviceinfo.ImageFormats_len;i++) {
+      PTPObjectPropDesc opd;
+
+      if (ptp_mtp_getobjectpropdesc(current_params,
+                                    PTP_OPC_ObjectSize,
+                                    current_params->deviceinfo.ImageFormats[i],
+                                    &opd) != PTP_RC_OK) {
+        LIBMTP_ERROR("LIBMTP PANIC: "
+                     "could not inspect object property descriptions!\n");
       } else {
-	// Ignore if other size.
-	printf("LIBMTP PANIC: "
-	       "awkward object size data type: %04x\n", opd.DataType);
-	bs = 0;
-	break;
+        if (opd.DataType == PTP_DTC_UINT32) {
+          if (bs == 0) {
+            bs = 32;
+          } else if (bs != 32) {
+            LIBMTP_ERROR("LIBMTP PANIC: "
+                         "different objects support different object sizes!\n");
+            bs = 0;
+            break;
+          }
+        } else if (opd.DataType == PTP_DTC_UINT64) {
+          if (bs == 0) {
+            bs = 64;
+          } else if (bs != 64) {
+            LIBMTP_ERROR("LIBMTP PANIC: "
+                         "different objects support different object sizes!\n");
+            bs = 0;
+            break;
+          }
+        } else {
+          // Ignore if other size.
+          LIBMTP_ERROR("LIBMTP PANIC: "
+                       "awkward object size data type: %04x\n", opd.DataType);
+          bs = 0;
+          break;
+        }
       }
     }
   }
@@ -1798,18 +2052,18 @@
     bs = 32;
   }
   mtp_device->object_bitsize = bs;
-  
+
   /* No Errors yet for this device */
   mtp_device->errorstack = NULL;
-  
+
   /* Default Max Battery Level, we will adjust this if possible */
   mtp_device->maximum_battery_level = 100;
-  
+
   /* Check if device supports reading maximum battery level */
-  if(!FLAG_BROKEN_BATTERY_LEVEL(ptp_usb) && 
+  if(!FLAG_BROKEN_BATTERY_LEVEL(ptp_usb) &&
      ptp_property_issupported( current_params, PTP_DPC_BatteryLevel)) {
     PTPDevicePropDesc dpd;
-    
+
     /* Try to read maximum battery level */
     if(ptp_getdevicepropdesc(current_params,
 			     PTP_DPC_BatteryLevel,
@@ -1820,26 +2074,26 @@
 			      "device even though the device supposedly "
 			      "supports this functionality");
     }
-    
+
     /* TODO: is this appropriate? */
     /* If max battery level is 0 then leave the default, otherwise assign */
     if (dpd.FORM.Range.MaximumValue.u8 != 0) {
       mtp_device->maximum_battery_level = dpd.FORM.Range.MaximumValue.u8;
     }
-    
+
     ptp_free_devicepropdesc(&dpd);
   }
-  
-  /* Set all default folders to 0 (root directory) */
-  mtp_device->default_music_folder = 0;
-  mtp_device->default_playlist_folder = 0;
-  mtp_device->default_picture_folder = 0;
-  mtp_device->default_video_folder = 0;
-  mtp_device->default_organizer_folder = 0;
-  mtp_device->default_zencast_folder = 0;
-  mtp_device->default_album_folder = 0;
-  mtp_device->default_text_folder = 0;
-  
+
+  /* Set all default folders to 0xffffffffU (root directory) */
+  mtp_device->default_music_folder = 0xffffffffU;
+  mtp_device->default_playlist_folder = 0xffffffffU;
+  mtp_device->default_picture_folder = 0xffffffffU;
+  mtp_device->default_video_folder = 0xffffffffU;
+  mtp_device->default_organizer_folder = 0xffffffffU;
+  mtp_device->default_zencast_folder = 0xffffffffU;
+  mtp_device->default_album_folder = 0xffffffffU;
+  mtp_device->default_text_folder = 0xffffffffU;
+
   /* Set initial storage information */
   mtp_device->storage = NULL;
   if (LIBMTP_Get_Storage(mtp_device, LIBMTP_STORAGE_SORTBY_NOTSORTED) == -1) {
@@ -1848,18 +2102,214 @@
 			    "Get Storage information failed.");
     mtp_device->storage = NULL;
   }
-  
+
+
+  return mtp_device;
+}
+
+LIBMTP_mtpdevice_t *LIBMTP_Open_Raw_Device(LIBMTP_raw_device_t *rawdevice)
+{
+  LIBMTP_mtpdevice_t *mtp_device = LIBMTP_Open_Raw_Device_Uncached(rawdevice);
+
+  if (mtp_device == NULL)
+    return NULL;
+
+  /* Check for MTPZ devices. */
+  if (use_mtpz) {
+    LIBMTP_device_extension_t *tmpext = mtp_device->extensions;
+
+    while (tmpext != NULL) {
+      if (!strcmp(tmpext->name, "microsoft.com/MTPZ")) {
+	LIBMTP_INFO("MTPZ device detected. Authenticating...\n");
+        if (PTP_RC_OK == ptp_mtpz_handshake(mtp_device->params)) {
+	  LIBMTP_INFO ("(MTPZ) Successfully authenticated with device.\n");
+        } else {
+          LIBMTP_INFO ("(MTPZ) Failure - could not authenticate with device.\n");
+        }
+	break;
+      }
+      tmpext = tmpext->next;
+    }
+  }
+
+  // Set up this device as cached
+  mtp_device->cached = 1;
   /*
    * Then get the handles and try to locate the default folders.
    * This has the desired side effect of caching all handles from
    * the device which speeds up later operations.
    */
   flush_handles(mtp_device);
-
   return mtp_device;
 }
 
 /**
+ * To read events sent by the device, repeatedly call this function from a secondary
+ * thread until the return value is < 0.
+ *
+ * @param device a pointer to the MTP device to poll for events.
+ * @param event contains a pointer to be filled in with the event retrieved if the call
+ * is successful.
+ * @param out1 contains the param1 value from the raw event.
+ * @return 0 on success, any other value means the polling loop shall be
+ * terminated immediately for this session.
+ */
+int LIBMTP_Read_Event(LIBMTP_mtpdevice_t *device, LIBMTP_event_t *event, uint32_t *out1)
+{
+  /*
+   * FIXME: Potential race-condition here, if client deallocs device
+   * while we're *not* waiting for input. As we'll be waiting for
+   * input most of the time, it's unlikely but still worth considering
+   * for improvement. Also we cannot affect the state of the cache etc
+   * unless we know we are the sole user on the device. A spinlock or
+   * mutex in the LIBMTP_mtpdevice_t is needed for this to work.
+   */
+  PTPParams *params = (PTPParams *) device->params;
+  PTPContainer ptp_event;
+  uint16_t ret = ptp_usb_event_wait(params, &ptp_event);
+
+  if (ret != PTP_RC_OK) {
+    /* Device is closing down or other fatal stuff, exit thread */
+    return -1;
+  }
+  LIBMTP_Handle_Event(&ptp_event, event, out1);
+  return 0;
+}
+
+void LIBMTP_Handle_Event(PTPContainer *ptp_event,
+                         LIBMTP_event_t *event, uint32_t *out1) {
+  uint16_t code;
+  uint32_t session_id;
+  uint32_t param1;
+
+  *event = LIBMTP_EVENT_NONE;
+
+  /* Process the event */
+  code = ptp_event->Code;
+  session_id = ptp_event->SessionID;
+  param1 = ptp_event->Param1;
+
+  switch(code) {
+    case PTP_EC_Undefined:
+      LIBMTP_INFO("Received event PTP_EC_Undefined in session %u\n", session_id);
+      break;
+    case PTP_EC_CancelTransaction:
+      LIBMTP_INFO("Received event PTP_EC_CancelTransaction in session %u\n", session_id);
+      break;
+    case PTP_EC_ObjectAdded:
+      LIBMTP_INFO("Received event PTP_EC_ObjectAdded in session %u\n", session_id);
+      *event = LIBMTP_EVENT_OBJECT_ADDED;
+      *out1 = param1;
+      break;
+    case PTP_EC_ObjectRemoved:
+      LIBMTP_INFO("Received event PTP_EC_ObjectRemoved in session %u\n", session_id);
+      *event = LIBMTP_EVENT_OBJECT_REMOVED;
+      *out1 = param1;
+      break;
+    case PTP_EC_StoreAdded:
+      LIBMTP_INFO("Received event PTP_EC_StoreAdded in session %u\n", session_id);
+      /* TODO: rescan storages */
+      *event = LIBMTP_EVENT_STORE_ADDED;
+      *out1 = param1;
+      break;
+    case PTP_EC_StoreRemoved:
+      LIBMTP_INFO("Received event PTP_EC_StoreRemoved in session %u\n", session_id);
+      /* TODO: rescan storages */
+      *event = LIBMTP_EVENT_STORE_REMOVED;
+      *out1 = param1;
+      break;
+    case PTP_EC_DevicePropChanged:
+      LIBMTP_INFO("Received event PTP_EC_DevicePropChanged in session %u\n", session_id);
+      /* TODO: update device properties */
+      break;
+    case PTP_EC_ObjectInfoChanged:
+      LIBMTP_INFO("Received event PTP_EC_ObjectInfoChanged in session %u\n", session_id);
+      /* TODO: rescan object cache or just for this one object */
+      break;
+    case PTP_EC_DeviceInfoChanged:
+      LIBMTP_INFO("Received event PTP_EC_DeviceInfoChanged in session %u\n", session_id);
+      /* TODO: update device info */
+      break;
+    case PTP_EC_RequestObjectTransfer:
+      LIBMTP_INFO("Received event PTP_EC_RequestObjectTransfer in session %u\n", session_id);
+      break;
+    case PTP_EC_StoreFull:
+      LIBMTP_INFO("Received event PTP_EC_StoreFull in session %u\n", session_id);
+      break;
+    case PTP_EC_DeviceReset:
+      LIBMTP_INFO("Received event PTP_EC_DeviceReset in session %u\n", session_id);
+      break;
+    case PTP_EC_StorageInfoChanged :
+      LIBMTP_INFO( "Received event PTP_EC_StorageInfoChanged in session %u\n", session_id);
+     /* TODO: update storage info */
+      break;
+    case PTP_EC_CaptureComplete :
+      LIBMTP_INFO( "Received event PTP_EC_CaptureComplete in session %u\n", session_id);
+      break;
+    case PTP_EC_UnreportedStatus :
+      LIBMTP_INFO( "Received event PTP_EC_UnreportedStatus in session %u\n", session_id);
+      break;
+    default :
+      LIBMTP_INFO( "Received unknown event in session %u\n", session_id);
+      break;
+  }
+}
+
+static void LIBMTP_Read_Event_Cb(PTPParams *params, uint16_t ret_code,
+                                 PTPContainer *ptp_event, void *user_data) {
+  event_cb_data_t *data = user_data;
+  LIBMTP_event_t event = LIBMTP_EVENT_NONE;
+  uint32_t param1 = 0;
+  int handler_ret;
+
+  switch (ret_code) {
+  case PTP_RC_OK:
+    handler_ret = LIBMTP_HANDLER_RETURN_OK;
+    LIBMTP_Handle_Event(ptp_event, &event, &param1);
+    break;
+  case PTP_ERROR_CANCEL:
+    handler_ret = LIBMTP_HANDLER_RETURN_CANCEL;
+    break;
+  default:
+    handler_ret = LIBMTP_HANDLER_RETURN_ERROR;
+    break;
+  }
+
+  data->cb(handler_ret, event, param1, data->user_data);
+  free(data);
+}
+
+/**
+ * This function reads events sent by the device, in a non-blocking manner.
+ * The callback function will be called when an event is received, but for the function
+ * to make progress, polling must take place, using LIBMTP_Handle_Events_Timeout_Completed.
+ *
+ * After an event is received, this function should be called again to listen for the next
+ * event.
+ *
+ * For now, this non-blocking mechanism only works with libusb-1.0, and not any of the
+ * other usb library backends. Attempting to call this method with another backend will
+ * always return an error.
+ *
+ * @param device a pointer to the MTP device to poll for events.
+ * @param cb a callback to be invoked when an event is received.
+ * @param user_data arbitrary user data passed to the callback.
+ * @return 0 on success, any other value means that the callback was not registered and
+ *         no event notification will take place.
+ */
+int LIBMTP_Read_Event_Async(LIBMTP_mtpdevice_t *device, LIBMTP_event_cb_fn cb, void *user_data) {
+  PTPParams *params = (PTPParams *) device->params;
+  event_cb_data_t *data =  malloc(sizeof(event_cb_data_t));
+  uint16_t ret;
+
+  data->cb = cb;
+  data->user_data = user_data;
+
+  ret = ptp_usb_event_async(params, LIBMTP_Read_Event_Cb, data);
+  return ret == PTP_RC_OK ? 0 : -1;
+}
+
+/**
  * Recursive function that adds MTP devices to a linked list
  * @param devices a list of raw devices to have real devices created for.
  * @return a device pointer to a newly created mtpdevice (used in linked
@@ -1896,14 +2346,14 @@
  * @param device_list Pointer to a linked list of devices
  * @return Number of devices in the device list device_list
  * @see LIBMTP_Get_Connected_Devices()
- */ 
+ */
 uint32_t LIBMTP_Number_Devices_In_List(LIBMTP_mtpdevice_t *device_list)
 {
   uint32_t numdevices = 0;
   LIBMTP_mtpdevice_t *iter;
   for(iter = device_list; iter != NULL; iter = iter->next)
     numdevices++;
-  
+
   return numdevices;
 }
 
@@ -1920,7 +2370,7 @@
   LIBMTP_raw_device_t *devices;
   int numdevs;
   LIBMTP_error_number_t ret;
-  
+
   ret = LIBMTP_Detect_Raw_Devices(&devices, &numdevs);
   if (ret != LIBMTP_ERROR_NONE) {
     *device_list = NULL;
@@ -1930,6 +2380,7 @@
   /* Assign linked list of devices */
   if (devices == NULL || numdevs == 0) {
     *device_list = NULL;
+    free(devices);
     return LIBMTP_ERROR_NO_DEVICE_ATTACHED;
   }
 
@@ -1937,7 +2388,7 @@
   free(devices);
 
   /* TODO: Add wifi device access here */
-  
+
   /* We have found some devices but create failed */
   if (*device_list == NULL)
     return LIBMTP_ERROR_CONNECTING;
@@ -1957,7 +2408,7 @@
     {
       LIBMTP_Release_Device_List(device->next);
     }
-    
+
     LIBMTP_Release_Device(device);
   }
 }
@@ -1977,9 +2428,23 @@
   // Free iconv() converters...
   iconv_close(params->cd_locale_to_ucs2);
   iconv_close(params->cd_ucs2_to_locale);
-  free(ptp_usb);  
+  free(ptp_usb);
   ptp_free_params(params);
+  free(params);
   free_storage_list(device);
+  // Free extension list...
+  if (device->extensions != NULL) {
+    LIBMTP_device_extension_t *tmp = device->extensions;
+
+    while (tmp != NULL) {
+      LIBMTP_device_extension_t *next = tmp->next;
+
+      if (tmp->name)
+        free(tmp->name);
+      free(tmp);
+      tmp = next;
+    }
+  }
   free(device);
 }
 
@@ -1995,9 +2460,9 @@
 				    char const * const error_text)
 {
   LIBMTP_error_t *newerror;
-  
+
   if (device == NULL) {
-    fprintf(stderr, "LIBMTP PANIC: Trying to add error to a NULL device!\n");
+    LIBMTP_ERROR("LIBMTP PANIC: Trying to add error to a NULL device!\n");
     return;
   }
   newerror = (LIBMTP_error_t *) malloc(sizeof(LIBMTP_error_t));
@@ -2008,7 +2473,7 @@
     device->errorstack = newerror;
   } else {
     LIBMTP_error_t *tmp = device->errorstack;
-    
+
     while (tmp->next != NULL) {
       tmp = tmp->next;
     }
@@ -2023,15 +2488,20 @@
 					uint16_t ptp_error,
 					char const * const error_text)
 {
+  PTPParams      *params = (PTPParams *) device->params;
+
   if (device == NULL) {
-    fprintf(stderr, "LIBMTP PANIC: Trying to add PTP error to a NULL device!\n");
+    LIBMTP_ERROR("LIBMTP PANIC: Trying to add PTP error to a NULL device!\n");
     return;
   } else {
     char outstr[256];
     snprintf(outstr, sizeof(outstr), "PTP Layer error %04x: %s", ptp_error, error_text);
     outstr[sizeof(outstr)-1] = '\0';
     add_error_to_errorstack(device, LIBMTP_ERROR_PTP_LAYER, outstr);
-    add_error_to_errorstack(device, LIBMTP_ERROR_PTP_LAYER, "(Look this up in ptp.h for an explanation.)");
+
+    snprintf(outstr, sizeof(outstr), "Error %04x: %s", ptp_error, ptp_strerror(ptp_error, params->deviceinfo.VendorExtensionID));
+    outstr[sizeof(outstr)-1] = '\0';
+    add_error_to_errorstack(device, LIBMTP_ERROR_PTP_LAYER, outstr);
   }
 }
 
@@ -2053,7 +2523,7 @@
 LIBMTP_error_t *LIBMTP_Get_Errorstack(LIBMTP_mtpdevice_t *device)
 {
   if (device == NULL) {
-    fprintf(stderr, "LIBMTP PANIC: Trying to get the error stack of a NULL device!\n");
+    LIBMTP_ERROR("LIBMTP PANIC: Trying to get the error stack of a NULL device!\n");
     return NULL;
   }
   return device->errorstack;
@@ -2069,13 +2539,13 @@
 void LIBMTP_Clear_Errorstack(LIBMTP_mtpdevice_t *device)
 {
   if (device == NULL) {
-    fprintf(stderr, "LIBMTP PANIC: Trying to clear the error stack of a NULL device!\n");
+    LIBMTP_ERROR("LIBMTP PANIC: Trying to clear the error stack of a NULL device!\n");
   } else {
     LIBMTP_error_t *tmp = device->errorstack;
-  
+
     while (tmp != NULL) {
       LIBMTP_error_t *tmp2;
-      
+
       if (tmp->error_text != NULL) {
 	free(tmp->error_text);
       }
@@ -2096,15 +2566,15 @@
 void LIBMTP_Dump_Errorstack(LIBMTP_mtpdevice_t *device)
 {
   if (device == NULL) {
-    fprintf(stderr, "LIBMTP PANIC: Trying to dump the error stack of a NULL device!\n");
+    LIBMTP_ERROR("LIBMTP PANIC: Trying to dump the error stack of a NULL device!\n");
   } else {
     LIBMTP_error_t *tmp = device->errorstack;
 
     while (tmp != NULL) {
       if (tmp->error_text != NULL) {
-	fprintf(stderr, "Error %d: %s\n", tmp->errornumber, tmp->error_text);
+	LIBMTP_ERROR("Error %d: %s\n", tmp->errornumber, tmp->error_text);
       } else {
-	fprintf(stderr, "Error %d: (unknown)\n", tmp->errornumber);
+	LIBMTP_ERROR("Error %d: (unknown)\n", tmp->errornumber);
       }
       tmp = tmp->next;
     }
@@ -2117,23 +2587,22 @@
   set_usb_device_timeout(ptp_usb, milliseconds);
 }
 
-void LIBMTP_Get_Device_Timeout(LIBMTP_mtpdevice_t *device, int * milliseconds)
+void LIBMTP_Get_Device_Timeout(LIBMTP_mtpdevice_t *device, int *milliseconds)
 {
   PTP_USB *ptp_usb = (PTP_USB*) device->usbinfo;
   get_usb_device_timeout(ptp_usb, milliseconds);
 }
 
 /**
- * This command gets all handles and stuff by FAST directory retrieveal 
- * which is available by getting all metadata for object 
+ * This command gets all handles and stuff by FAST directory retrieveal
+ * which is available by getting all metadata for object
  * <code>0xffffffff</code> which simply means "all metadata for all objects".
  * This works on the vast majority of MTP devices (there ARE exceptions!)
  * and is quite quick. Check the error stack to see if there were
  * problems getting the metadata.
  * @return 0 if all was OK, -1 on failure.
  */
-static int get_all_metadata_fast(LIBMTP_mtpdevice_t *device,
-				 uint32_t storage)
+static int get_all_metadata_fast(LIBMTP_mtpdevice_t *device)
 {
   PTPParams      *params = (PTPParams *) device->params;
   int		 cnt = 0;
@@ -2145,8 +2614,9 @@
   int            oldtimeout;
   PTP_USB *ptp_usb = (PTP_USB*) device->usbinfo;
 
-  /* The follow request causes the device to generate
-   * a list of very file on the device and return it
+  /*
+   * The follow request causes the device to generate
+   * a list of every file on the device and return it
    * in a single response.
    *
    * Some slow devices as well as devices with very
@@ -2159,12 +2629,12 @@
    */
   get_usb_device_timeout(ptp_usb, &oldtimeout);
   set_usb_device_timeout(ptp_usb, 60000);
-  
+
   ret = ptp_mtp_getobjectproplist(params, 0xffffffff, &props, &nrofprops);
   set_usb_device_timeout(ptp_usb, oldtimeout);
 
   if (ret == PTP_RC_MTP_Specification_By_Group_Unsupported) {
-    // What's the point in the device implementing this command if 
+    // What's the point in the device implementing this command if
     // you cannot use it to get all props for AT LEAST one object?
     // Well, whatever...
     add_ptp_error_to_errorstack(device, ret, "get_all_metadata_fast(): "
@@ -2183,7 +2653,7 @@
 			    "inconsistent results.");
     return -1;
   }
-  /* 
+  /*
    * We count the number of objects by counting the ObjectHandle
    * references, whenever it changes we get a new object, when it's
    * the same, it is just different properties of the same object.
@@ -2197,7 +2667,7 @@
       prop++;
   }
   lasthandle = 0xffffffff;
-  params->objects = calloc (sizeof(PTPObject),cnt);
+  params->objects = calloc (cnt, sizeof(PTPObject));
   prop = props;
   i = -1;
   for (j=0;j<nrofprops;j++) {
@@ -2244,13 +2714,15 @@
 
       /* Copy all of the other MTP oprierties into the per-object proplist */
       if (params->objects[i].nrofmtpprops) {
-        newprops = realloc(params->objects[i].mtpprops,(params->objects[i].nrofmtpprops+1)*sizeof(MTPProperties));
+        newprops = realloc(params->objects[i].mtpprops,
+		(params->objects[i].nrofmtpprops+1)*sizeof(MTPProperties));
       } else {
-        newprops = calloc(sizeof(MTPProperties),1);
+        newprops = calloc(1,sizeof(MTPProperties));
       }
       if (!newprops) return 0; /* FIXME: error handling? */
       params->objects[i].mtpprops = newprops;
-      memcpy(&params->objects[i].mtpprops[params->objects[i].nrofmtpprops],&props[j],sizeof(props[j]));
+      memcpy(&params->objects[i].mtpprops[params->objects[i].nrofmtpprops],
+	     &props[j],sizeof(props[j]));
       params->objects[i].nrofmtpprops++;
       params->objects[i].flags |= PTPOBJECT_MTPPROPLIST_LOADED;
       break;
@@ -2259,8 +2731,13 @@
     prop++;
   }
   /* mark last entry also */
-  params->objects[i].flags |= PTPOBJECT_OBJECTINFO_LOADED;
-  params->nrofobjects = i+1;
+  if (i >= 0) {
+    params->objects[i].flags |= PTPOBJECT_OBJECTINFO_LOADED;
+    params->nrofobjects = i+1;
+  } else {
+    params->nrofobjects = 0;
+  }
+  free (props);
   /* The device might not give the list in linear ascending order */
   ptp_objects_sort (params);
   return 0;
@@ -2273,8 +2750,8 @@
  * certain directory and does not respect the option to get all metadata
  * for all objects.
  */
-static void get_handles_recursively(LIBMTP_mtpdevice_t *device, 
-				    PTPParams *params, 
+static void get_handles_recursively(LIBMTP_mtpdevice_t *device,
+				    PTPParams *params,
 				    uint32_t storageid,
 				    uint32_t parent)
 {
@@ -2285,22 +2762,24 @@
                                       PTP_GOH_ALL_FORMATS,
                                       parent,
                                       &currentHandles);
-  
+
   if (ret != PTP_RC_OK) {
     add_ptp_error_to_errorstack(device, ret, "get_handles_recursively(): could not get object handles.");
     return;
   }
-  
+
   if (currentHandles.Handler == NULL || currentHandles.n == 0)
     return;
 
   // Now descend into any subdirectories found
-  for (i = 0; i < currentHandles.n; i++) {    
+  for (i = 0; i < currentHandles.n; i++) {
     PTPObject *ob;
-    ret = ptp_object_want(params,currentHandles.Handler[i],PTPOBJECT_OBJECTINFO_LOADED, &ob);
+    ret = ptp_object_want(params,currentHandles.Handler[i],
+			  PTPOBJECT_OBJECTINFO_LOADED, &ob);
     if (ret == PTP_RC_OK) {
       if (ob->oi.ObjectFormat == PTP_OFC_Association)
-        get_handles_recursively(device, params, storageid, currentHandles.Handler[i]);
+        get_handles_recursively(device, params,
+				storageid, currentHandles.Handler[i]);
     } else {
       add_error_to_errorstack(device,
 			      LIBMTP_ERROR_CONNECTING,
@@ -2310,224 +2789,6 @@
   free(currentHandles.Handler);
 }
 
-
-LIBMTP_file_t * obj2file(LIBMTP_mtpdevice_t *device, PTPObject *ob)
-{
-  PTP_USB *ptp_usb = (PTP_USB*) device->usbinfo;
-  PTPParams *params = (PTPParams *) device->params;
-  LIBMTP_file_t *file;
-  PTPObject *xob;
-  uint16_t ret;
-
-
-  if (ob->oi.Filename == NULL)
-    ob->oi.Filename = strdup("<null>");
-
-  if (ob->oi.Keywords == NULL)
-    ob->oi.Keywords = strdup("<null>");
-
-  // Allocate a new file type
-  file = LIBMTP_new_file_t();
-
-  file->parent_id = ob->oi.ParentObject;
-  file->storage_id = ob->oi.StorageID;
-
-  // This is some sort of unique ID so we can keep track of the track.
-  file->item_id = ob->oid;
-
-    // Set the filetype
-  file->filetype = map_ptp_type_to_libmtp_type(ob->oi.ObjectFormat);
-
-  // Set the modification date
-  file->modificationdate = ob->oi.ModificationDate;
-
-  // Original file-specific properties
-  // We only have 32-bit file size here; if we find it, we use the
-  // PTP_OPC_ObjectSize property which has 64bit precision.
-  file->filesize = ob->oi.ObjectCompressedSize;
-  if (ob->oi.Filename != NULL) {
-      file->filename = strdup(ob->oi.Filename);
-  }
-
-  /*
-  * A special quirk for devices that doesn't quite
-  * remember that some files marked as "unknown" type are
-  * actually OGG or FLAC files. We look at the filename extension
-  * and see if it happens that this was atleast named "ogg" or "flac"
-  * and fall back on this heuristic approach in that case,
-  * for these bugged devices only.
-  */
-  if (file->filetype == LIBMTP_FILETYPE_UNKNOWN) {
-    if ((FLAG_IRIVER_OGG_ALZHEIMER(ptp_usb) ||
-        FLAG_OGG_IS_UNKNOWN(ptp_usb)) &&
-        has_ogg_extension(file->filename))
-
-      file->filetype = LIBMTP_FILETYPE_OGG;
-
-      if (FLAG_FLAC_IS_UNKNOWN(ptp_usb) && has_flac_extension(file->filename))
-        file->filetype = LIBMTP_FILETYPE_FLAC;
-    }
-
-  /*
-  * If we have a cached, large set of metadata, then use it!
-  */
-  ret = ptp_object_want (params, ob->oid, PTPOBJECT_MTPPROPLIST_LOADED, &xob);
-  if (ob->mtpprops) {
-    MTPProperties *prop = ob->mtpprops;
-    int i;
-
-    for (i=0;i<ob->nrofmtpprops;i++) {
-      // Pick ObjectSize here...
-      if (prop->property == PTP_OPC_ObjectSize) {
-        if (device->object_bitsize == 64) {
-          file->filesize = prop->propval.u64;
-        } else {
-          file->filesize = prop->propval.u32;
-        }
-        break;
-      }
-      prop++;
-    }
-  } else {
-    uint16_t *props = NULL;
-    uint32_t propcnt = 0;
-
-    // First see which properties can be retrieved for this object format
-    ret = ptp_mtp_getobjectpropssupported(params, ob->oi.ObjectFormat, &propcnt, &props);
-    if (ret != PTP_RC_OK) {
-      add_ptp_error_to_errorstack(device, ret, "obj2file(): call to ptp_mtp_getobjectpropssupported() failed.");
-      // Silently fall through.
-    } else {
-      int i;
-      for (i=0;i<propcnt;i++) {
-
-/*
-    TODO: (yavor) See what is a sensible thing to do for Folders
-    if (ob->oi.ObjectFormat == PTP_OFC_Association)
-*/
-      switch (props[i]) {
-        case PTP_OPC_ObjectSize:
-          if (device->object_bitsize == 64) {
-            file->filesize = get_u64_from_object(device, file->item_id, PTP_OPC_ObjectSize, 0);
-          } else {
-            file->filesize = get_u32_from_object(device, file->item_id, PTP_OPC_ObjectSize, 0);
-          }
-          break;
-        default:
-            break;
-        }
-      }
-      free(props);
-    }
-  }
-
-  return file;
-}
-
-
-
-static LIBMTP_file_t * get_files(LIBMTP_mtpdevice_t *device,
-                        PTPParams *params,
-                        uint32_t storageid,
-                        uint32_t parentId
-                        )
-{
-  int i = 0;
-  LIBMTP_file_t *curfile = NULL;
-  LIBMTP_file_t *retfiles = NULL;
-  PTPObjectHandles currentHandles;
-
-  uint16_t ret = ptp_getobjecthandles(params,
-                                      storageid,
-                                      PTP_GOH_ALL_FORMATS,
-                                      parentId,
-                                      &currentHandles);
-
-  if (ret != PTP_RC_OK) {
-    add_ptp_error_to_errorstack(device, ret, "get_files(): could not get object handles.");
-    return NULL;
-  }
-
-  if (currentHandles.Handler == NULL || currentHandles.n == 0)
-    return NULL;
-
-  for (i = 0; i < currentHandles.n; i++) {
-    PTPObject *ob;
-    LIBMTP_file_t *file;
-
-    ret = ptp_object_want(params, currentHandles.Handler[i],PTPOBJECT_OBJECTINFO_LOADED, &ob);
-    if (ret != PTP_RC_OK)
-      return NULL;
-
-    file = obj2file(device, ob);
-
-    if (file == NULL)
-      continue;
-
-    // Add track to a list that will be returned afterwards.
-    if (curfile == NULL) {
-      curfile = file;
-      retfiles = file;
-    } else {
-      curfile->next = file;
-      curfile = file;
-    }
- }
-
-  free(currentHandles.Handler);
-
-  // Return a pointer to the original first file
-  // in the big list.
-  return retfiles;
-}
-
-/**
- * This function controls the usage of the internal object cache.
- * The default configuration loads all object handles on initialization.
- * In order to handle large number of files turn on the on demand
- * loading by calling this function with parameter 1, and use
- * LIBMTP_Get_Files_And_Folders() to load content when needed.
- *
- * @param flag - 0 means turn off on demand loading.
- *             - 1 means turn on on demand loading.
- */
-void LIBMTP_Set_Load_Cache_On_Demand(int flag)
-{
-    load_cache_on_demand = flag;
-}
-
-/**
- * This function retrieves the content of a folder with id - parentId.
- * The result contains both files and folders.
- * NOTE: the request will always perform I/O with the device.
- * @param device a pointer to the MTP device to report info from.
- * @storageId the id for the storage.
- * @param parentId the parent folder id.
- */
-LIBMTP_file_t * LIBMTP_Get_Files_And_Folders(LIBMTP_mtpdevice_t *device, uint32_t storageId, uint32_t parentId)
-{
-  LIBMTP_file_t *retfiles = NULL;
-  PTPParams *params = (PTPParams *) device->params;
-  PTP_USB *ptp_usb = (PTP_USB*) device->usbinfo;
-  int ret;
-  uint32_t i;
-
-#if 0
-  //TODO: (yavor) Try to use get_all_metadata_fast for a parendId.
-  if (ptp_operation_issupported(params,PTP_OC_MTP_GetObjPropList)
-      && !FLAG_BROKEN_MTPGETOBJPROPLIST(ptp_usb)
-      && !FLAG_BROKEN_MTPGETOBJPROPLIST_ALL(ptp_usb)) {
-    // Use the fast method. Ignore return value for now.
-    ret = get_all_metadata_fast(device, PTP_GOH_ALL_STORAGE);
-  }
-#endif
-
-
-  retfiles = get_files(device, params, storageId, parentId);
-
-  return retfiles;
-}
-
 /**
  * This function refresh the internal handle list whenever
  * the items stored inside the device is altered. On operations
@@ -2542,6 +2803,10 @@
   int ret;
   uint32_t i;
 
+  if (!device->cached) {
+    return;
+  }
+
   if (load_cache_on_demand) {
     return;
   }
@@ -2558,7 +2823,7 @@
       && !FLAG_BROKEN_MTPGETOBJPROPLIST(ptp_usb)
       && !FLAG_BROKEN_MTPGETOBJPROPLIST_ALL(ptp_usb)) {
     // Use the fast method. Ignore return value for now.
-    ret = get_all_metadata_fast(device, PTP_GOH_ALL_STORAGE);
+    ret = get_all_metadata_fast(device);
   }
 
   // If the previous failed or returned no objects, use classic
@@ -2580,7 +2845,7 @@
       }
     }
   }
-  
+
   /*
    * Loop over the handles, fix up any NULL filenames or
    * keywords, then attempt to locate some default folders
@@ -2588,11 +2853,12 @@
    */
   for(i = 0; i < params->nrofobjects; i++) {
     PTPObject *ob, *xob;
- 
+
     ob = &params->objects[i];
-    ret = ptp_object_want(params,params->objects[i].oid,PTPOBJECT_OBJECTINFO_LOADED, &xob);
+    ret = ptp_object_want(params,params->objects[i].oid,
+			  PTPOBJECT_OBJECTINFO_LOADED, &xob);
     if (ret != PTP_RC_OK) {
-	fprintf(stderr,"broken! %x not found\n", params->objects[i].oid);
+	LIBMTP_ERROR("broken! %x not found\n", params->objects[i].oid);
     }
     if (ob->oi.Filename == NULL)
       ob->oi.Filename = strdup("<null>");
@@ -2603,31 +2869,38 @@
     if(ob->oi.ObjectFormat != PTP_OFC_Association)
       continue;
     /* Only look in the root folder */
-    if (ob->oi.ParentObject != 0x00000000U)
+    if (ob->oi.ParentObject == 0xffffffffU) {
+      LIBMTP_ERROR("object %x has parent 0xffffffff (-1) continuing anyway\n",
+		   ob->oid);
+    } else if (ob->oi.ParentObject != 0x00000000U)
       continue;
     /* Only look in the primary storage */
     if (device->storage != NULL && ob->oi.StorageID != device->storage->id)
       continue;
 
-    
     /* Is this the Music Folder */
     if (!strcasecmp(ob->oi.Filename, "My Music") ||
+	!strcasecmp(ob->oi.Filename, "My_Music") ||
 	!strcasecmp(ob->oi.Filename, "Music")) {
       device->default_music_folder = ob->oid;
     }
     else if (!strcasecmp(ob->oi.Filename, "My Playlists") ||
+	     !strcasecmp(ob->oi.Filename, "My_Playlists") ||
 	     !strcasecmp(ob->oi.Filename, "Playlists")) {
       device->default_playlist_folder = ob->oid;
     }
     else if (!strcasecmp(ob->oi.Filename, "My Pictures") ||
+	     !strcasecmp(ob->oi.Filename, "My_Pictures") ||
 	     !strcasecmp(ob->oi.Filename, "Pictures")) {
       device->default_picture_folder = ob->oid;
     }
     else if (!strcasecmp(ob->oi.Filename, "My Video") ||
+	     !strcasecmp(ob->oi.Filename, "My_Video") ||
 	     !strcasecmp(ob->oi.Filename, "Video")) {
 	device->default_video_folder = ob->oid;
     }
-    else if (!strcasecmp(ob->oi.Filename, "My Organizer")) {
+    else if (!strcasecmp(ob->oi.Filename, "My Organizer") ||
+	     !strcasecmp(ob->oi.Filename, "My_Organizer")) {
       device->default_organizer_folder = ob->oid;
     }
     else if (!strcasecmp(ob->oi.Filename, "ZENcast") ||
@@ -2635,6 +2908,7 @@
       device->default_zencast_folder = ob->oid;
     }
     else if (!strcasecmp(ob->oi.Filename, "My Albums") ||
+	     !strcasecmp(ob->oi.Filename, "My_Albums") ||
 	     !strcasecmp(ob->oi.Filename, "Albums")) {
       device->default_album_folder = ob->oid;
     }
@@ -2646,9 +2920,9 @@
 }
 
 /**
- * This function traverses a devices storage list freeing up the 
+ * This function traverses a devices storage list freeing up the
  * strings and the structs.
- * @param device a pointer to the MTP device to free the storage 
+ * @param device a pointer to the MTP device to free the storage
  * list for.
  */
 static void free_storage_list(LIBMTP_mtpdevice_t *device)
@@ -2657,7 +2931,7 @@
   LIBMTP_devicestorage_t *tmp;
 
   storage = device->storage;
-  while(storage != NULL) {  
+  while(storage != NULL) {
     if (storage->StorageDescription != NULL) {
       free(storage->StorageDescription);
     }
@@ -2685,7 +2959,7 @@
 
   if (device->storage == NULL)
     return -1;
-  if (sortby == LIBMTP_STORAGE_SORTBY_NOTSORTED) 
+  if (sortby == LIBMTP_STORAGE_SORTBY_NOTSORTED)
     return 0;
 
   oldhead = ptr1 = ptr2 = device->storage;
@@ -2696,9 +2970,9 @@
     ptr1 = ptr2 = oldhead;
     while(ptr1 != NULL) {
 
-      if (sortby == LIBMTP_STORAGE_SORTBY_FREESPACE && ptr1->FreeSpaceInBytes > ptr2->FreeSpaceInBytes) 
+      if (sortby == LIBMTP_STORAGE_SORTBY_FREESPACE && ptr1->FreeSpaceInBytes > ptr2->FreeSpaceInBytes)
         ptr2 = ptr1;
-      if (sortby == LIBMTP_STORAGE_SORTBY_MAXSPACE && ptr1->FreeSpaceInBytes > ptr2->FreeSpaceInBytes) 
+      if (sortby == LIBMTP_STORAGE_SORTBY_MAXSPACE && ptr1->FreeSpaceInBytes > ptr2->FreeSpaceInBytes)
         ptr2 = ptr1;
 
       ptr1 = ptr1->next;
@@ -2707,7 +2981,7 @@
     // Make our previous entries next point to our next
     if(ptr2->prev != NULL) {
       ptr1 = ptr2->prev;
-      ptr1->next = ptr2->next; 
+      ptr1->next = ptr2->next;
     } else {
       oldhead = ptr2->next;
       if(oldhead != NULL)
@@ -2723,7 +2997,7 @@
       if(ptr1 != NULL)
         ptr1->next = NULL;
     }
-  
+
     if(newlist == NULL) {
       newlist = ptr2;
       newlist->prev = NULL;
@@ -2733,10 +3007,10 @@
       newlist = newlist->next;
     }
   }
- 
+
   if (newlist != NULL) {
     newlist->next = NULL;
-    while(newlist->prev != NULL) 
+    while(newlist->prev != NULL)
       newlist = newlist->prev;
     device->storage = newlist;
   }
@@ -2745,13 +3019,14 @@
 }
 
 /**
- * This function grabs the first writeable storageid from the 
+ * This function grabs the first writeable storageid from the
  * device storage list.
- * @param device a pointer to the MTP device to locate writeable 
+ * @param device a pointer to the MTP device to locate writeable
  *        storage for.
  * @param fitsize a file of this file must fit on the device.
  */
-static uint32_t get_writeable_storageid(LIBMTP_mtpdevice_t *device, uint64_t fitsize)
+static uint32_t get_writeable_storageid(LIBMTP_mtpdevice_t *device,
+					uint64_t fitsize)
 {
   LIBMTP_devicestorage_t *storage;
   uint32_t store = 0x00000000; //Should this be 0xffffffffu instead?
@@ -2765,7 +3040,8 @@
   } else {
     while(storage != NULL) {
       // These storages cannot be used.
-      if (storage->StorageType == PTP_ST_FixedROM || storage->StorageType == PTP_ST_RemovableROM) {
+      if (storage->StorageType == PTP_ST_FixedROM ||
+	  storage->StorageType == PTP_ST_RemovableROM) {
 	storage = storage->next;
 	continue;
       }
@@ -2776,7 +3052,8 @@
 	continue;
       }
       // Also check the access capability to avoid e.g. deletable only storages
-      if (storage->AccessCapability == PTP_AC_ReadOnly || storage->AccessCapability == PTP_AC_ReadOnly_with_Object_Deletion) {
+      if (storage->AccessCapability == PTP_AC_ReadOnly ||
+	  storage->AccessCapability == PTP_AC_ReadOnly_with_Object_Deletion) {
 	storage = storage->next;
 	continue;
       }
@@ -2790,7 +3067,8 @@
       }
     }
     if (storage == NULL) {
-      add_error_to_errorstack(device, LIBMTP_ERROR_STORAGE_FULL, "LIBMTP_Send_File_From_File_Descriptor(): " 
+      add_error_to_errorstack(device, LIBMTP_ERROR_STORAGE_FULL,
+			      "get_writeable_storageid(): "
 			      "all device storage is full or corrupt.");
       return -1;
     }
@@ -2801,6 +3079,32 @@
 }
 
 /**
+ * Tries to suggest a storage_id of a given ID when we have a parent
+ * @param device a pointer to the device where to search for the storage ID
+ * @param fitsize a file of this file must fit on the device.
+ * @param parent_id look for this ID
+ * @ret storageID
+ */
+static int get_suggested_storage_id(LIBMTP_mtpdevice_t *device,
+				    uint64_t fitsize,
+				    uint32_t parent_id)
+{
+  PTPParams *params = (PTPParams *) device->params;
+  PTPObject *ob;
+  uint16_t ret;
+
+  ret = ptp_object_want(params, parent_id, PTPOBJECT_MTPPROPLIST_LOADED, &ob);
+  if ((ret != PTP_RC_OK) || (ob->oi.StorageID == 0)) {
+    add_ptp_error_to_errorstack(device, ret, "get_suggested_storage_id(): "
+				"could not get storage id from parent id.");
+    return get_writeable_storageid(device, fitsize);
+  } else {
+    /* OK we know the parent storage, then use that */
+    return ob->oi.StorageID;
+  }
+}
+
+/**
  * This function grabs the freespace from a certain storage in
  * device storage list.
  * @param device a pointer to the MTP device to free the storage
@@ -2810,7 +3114,7 @@
  * @param freespace the free space on this storage will be returned
  * in this variable.
  */
-static int get_storage_freespace(LIBMTP_mtpdevice_t *device, 
+static int get_storage_freespace(LIBMTP_mtpdevice_t *device,
 				 LIBMTP_devicestorage_t *storage,
 				 uint64_t *freespace)
 {
@@ -2821,10 +3125,11 @@
   if (ptp_operation_issupported(params,PTP_OC_GetStorageInfo)) {
     PTPStorageInfo storageInfo;
     uint16_t ret;
-    
+
     ret = ptp_getstorageinfo(params, storage->id, &storageInfo);
     if (ret != PTP_RC_OK) {
-      add_ptp_error_to_errorstack(device, ret, "get_first_storage_freespace(): could not get storage info.");
+      add_ptp_error_to_errorstack(device, ret,
+		"get_storage_freespace(): could not get storage info.");
       return -1;
     }
     if (storage->StorageDescription != NULL) {
@@ -2860,6 +3165,7 @@
   PTPParams *params = (PTPParams *) device->params;
   PTP_USB *ptp_usb = (PTP_USB*) device->usbinfo;
   LIBMTP_devicestorage_t *storage = device->storage;
+  LIBMTP_device_extension_t *tmpext = device->extensions;
 
   printf("USB low-level info:\n");
   dump_usbinfo(ptp_usb);
@@ -2869,30 +3175,39 @@
   printf("   Model: %s\n", params->deviceinfo.Model);
   printf("   Device version: %s\n", params->deviceinfo.DeviceVersion);
   printf("   Serial number: %s\n", params->deviceinfo.SerialNumber);
-  printf("   Vendor extension ID: 0x%08x\n", params->deviceinfo.VendorExtensionID);
-  printf("   Vendor extension description: %s\n", params->deviceinfo.VendorExtensionDesc);
-  printf("   Detected object size: %d bits\n", device->object_bitsize);
-  printf("Supported operations:\n");
-  for (i=0;i<params->deviceinfo.OperationsSupported_len;i++) {
-    char txt[256];
-
-    (void) ptp_render_opcode (params, params->deviceinfo.OperationsSupported[i], sizeof(txt), txt);
-    printf("   %04x: %s\n", params->deviceinfo.OperationsSupported[i], txt);
+  printf("   Vendor extension ID: 0x%08x\n",
+	 params->deviceinfo.VendorExtensionID);
+  printf("   Vendor extension description: %s\n",
+	 params->deviceinfo.VendorExtensionDesc);
+  printf("   Detected object size: %d bits\n",
+	 device->object_bitsize);
+  printf("   Extensions:\n");
+  while (tmpext != NULL) {
+    printf("        %s: %d.%d\n",
+           tmpext->name,
+           tmpext->major,
+           tmpext->minor);
+    tmpext = tmpext->next;
   }
+  printf("Supported operations:\n");
+  for (i=0;i<params->deviceinfo.OperationsSupported_len;i++)
+    printf("   %04x: %s\n", params->deviceinfo.OperationsSupported[i], ptp_get_opcode_name(params, params->deviceinfo.OperationsSupported[i]));
   printf("Events supported:\n");
   if (params->deviceinfo.EventsSupported_len == 0) {
     printf("   None.\n");
   } else {
     for (i=0;i<params->deviceinfo.EventsSupported_len;i++) {
-      printf("   0x%04x\n", params->deviceinfo.EventsSupported[i]);
+      printf("   0x%04x (%s)\n", params->deviceinfo.EventsSupported[i], ptp_strerror(params->deviceinfo.EventsSupported[i], params->deviceinfo.VendorExtensionID));
     }
   }
   printf("Device Properties Supported:\n");
   for (i=0;i<params->deviceinfo.DevicePropertiesSupported_len;i++) {
-    char const *propdesc = ptp_get_property_description(params, params->deviceinfo.DevicePropertiesSupported[i]);
+    char const *propdesc = ptp_get_property_description(params,
+			params->deviceinfo.DevicePropertiesSupported[i]);
 
     if (propdesc != NULL) {
-      printf("   0x%04x: %s\n", params->deviceinfo.DevicePropertiesSupported[i], propdesc);
+      printf("   0x%04x: %s\n",
+	     params->deviceinfo.DevicePropertiesSupported[i], propdesc);
     } else {
       uint16_t prop = params->deviceinfo.DevicePropertiesSupported[i];
       printf("   0x%04x: Unknown property\n", prop);
@@ -2908,22 +3223,29 @@
       uint32_t propcnt = 0;
       int j;
 
-      (void) ptp_render_ofc (params, params->deviceinfo.ImageFormats[i], sizeof(txt), txt);
+      (void) ptp_render_ofc (params, params->deviceinfo.ImageFormats[i],
+			     sizeof(txt), txt);
       printf("   %04x: %s\n", params->deviceinfo.ImageFormats[i], txt);
 
-      ret = ptp_mtp_getobjectpropssupported (params, params->deviceinfo.ImageFormats[i], &propcnt, &props);
+      ret = ptp_mtp_getobjectpropssupported (params,
+			params->deviceinfo.ImageFormats[i], &propcnt, &props);
       if (ret != PTP_RC_OK) {
-	add_ptp_error_to_errorstack(device, ret, "LIBMTP_Dump_Device_Info(): error on query for object properties.");
+	add_ptp_error_to_errorstack(device, ret, "LIBMTP_Dump_Device_Info(): "
+				    "error on query for object properties.");
       } else {
 	for (j=0;j<propcnt;j++) {
 	  PTPObjectPropDesc opd;
 	  int k;
-	  
-	  printf("      %04x: %s", props[j], LIBMTP_Get_Property_Description(map_ptp_property_to_libmtp_property(props[j])));
+
+	  printf("      %04x: %s", props[j],
+		 LIBMTP_Get_Property_Description(map_ptp_property_to_libmtp_property(props[j])));
 	  // Get a more verbose description
-	  ret = ptp_mtp_getobjectpropdesc(params, props[j], params->deviceinfo.ImageFormats[i], &opd);
+	  ret = ptp_mtp_getobjectpropdesc(params, props[j],
+					  params->deviceinfo.ImageFormats[i],
+					  &opd);
 	  if (ret != PTP_RC_OK) {
-	    add_error_to_errorstack(device, LIBMTP_ERROR_GENERAL, "LIBMTP_Dump_Device_Info(): "
+	    add_error_to_errorstack(device, LIBMTP_ERROR_GENERAL,
+				    "LIBMTP_Dump_Device_Info(): "
 				    "could not get property description.");
 	    break;
 	  }
@@ -2953,7 +3275,6 @@
 	    case PTP_DTC_UNDEF:
 	      printf(" UNDEFINED data type");
 	      break;
-	      
 	    case PTP_DTC_INT8:
 	      printf(" INT8 data type");
 	      switch (opd.FormFlag) {
@@ -2977,7 +3298,7 @@
 		break;
 	      }
 	      break;
-	      
+
 	    case PTP_DTC_UINT8:
 	      printf(" UINT8 data type");
 	      switch (opd.FormFlag) {
@@ -3001,7 +3322,7 @@
 		break;
 	      }
 	      break;
-	      
+
 	    case PTP_DTC_INT16:
 	      printf(" INT16 data type");
 	      switch (opd.FormFlag) {
@@ -3022,7 +3343,7 @@
 		break;
 	      }
 	      break;
-	      
+
 	    case PTP_DTC_UINT16:
 	      printf(" UINT16 data type");
 	      switch (opd.FormFlag) {
@@ -3043,7 +3364,7 @@
 		break;
 	      }
 	      break;
-	      
+
 	    case PTP_DTC_INT32:
 	      printf(" INT32 data type");
 	      switch (opd.FormFlag) {
@@ -3064,7 +3385,7 @@
 		break;
 	      }
 	      break;
-	      
+
 	    case PTP_DTC_UINT32:
 	      printf(" UINT32 data type");
 	      switch (opd.FormFlag) {
@@ -3104,23 +3425,23 @@
 		break;
 	      }
 	      break;
-	      
+
 	    case PTP_DTC_INT64:
 	      printf(" INT64 data type");
 	      break;
-	      
+
 	    case PTP_DTC_UINT64:
 	      printf(" UINT64 data type");
 	      break;
-	      
+
 	    case PTP_DTC_INT128:
 	      printf(" INT128 data type");
 	      break;
-	      
+
 	    case PTP_DTC_UINT128:
 	      printf(" UINT128 data type");
 	      break;
-	      
+
 	    default:
 	      printf(" UNKNOWN data type");
 	      break;
@@ -3139,7 +3460,8 @@
     }
   }
 
-  if(storage != NULL && ptp_operation_issupported(params,PTP_OC_GetStorageInfo)) {
+  if(storage != NULL &&
+     ptp_operation_issupported(params,PTP_OC_GetStorageInfo)) {
     printf("Storage Devices:\n");
     while(storage != NULL) {
       printf("   StorageID: 0x%08x\n",storage->id);
@@ -3197,9 +3519,12 @@
 	printf("UNKNOWN access capability\n");
 	break;
       }
-      printf("      MaxCapacity: %llu\n", (long long unsigned int) storage->MaxCapacity);
-      printf("      FreeSpaceInBytes: %llu\n", (long long unsigned int) storage->FreeSpaceInBytes);
-      printf("      FreeSpaceInObjects: %llu\n", (long long unsigned int) storage->FreeSpaceInObjects);
+      printf("      MaxCapacity: %llu\n",
+	     (long long unsigned int) storage->MaxCapacity);
+      printf("      FreeSpaceInBytes: %llu\n",
+	     (long long unsigned int) storage->FreeSpaceInBytes);
+      printf("      FreeSpaceInObjects: %llu\n",
+	     (long long unsigned int) storage->FreeSpaceInObjects);
       printf("      StorageDescription: %s\n",storage->StorageDescription);
       printf("      VolumeIdentifier: %s\n",storage->VolumeIdentifier);
       storage = storage->next;
@@ -3207,14 +3532,22 @@
   }
 
   printf("Special directories:\n");
-  printf("   Default music folder: 0x%08x\n", device->default_music_folder);
-  printf("   Default playlist folder: 0x%08x\n", device->default_playlist_folder);
-  printf("   Default picture folder: 0x%08x\n", device->default_picture_folder);
-  printf("   Default video folder: 0x%08x\n", device->default_video_folder);
-  printf("   Default organizer folder: 0x%08x\n", device->default_organizer_folder);
-  printf("   Default zencast folder: 0x%08x\n", device->default_zencast_folder);
-  printf("   Default album folder: 0x%08x\n", device->default_album_folder);
-  printf("   Default text folder: 0x%08x\n", device->default_text_folder);
+  printf("   Default music folder: 0x%08x\n",
+	 device->default_music_folder);
+  printf("   Default playlist folder: 0x%08x\n",
+	 device->default_playlist_folder);
+  printf("   Default picture folder: 0x%08x\n",
+	 device->default_picture_folder);
+  printf("   Default video folder: 0x%08x\n",
+	 device->default_video_folder);
+  printf("   Default organizer folder: 0x%08x\n",
+	 device->default_organizer_folder);
+  printf("   Default zencast folder: 0x%08x\n",
+	 device->default_zencast_folder);
+  printf("   Default album folder: 0x%08x\n",
+	 device->default_album_folder);
+  printf("   Default text folder: 0x%08x\n",
+	 device->default_text_folder);
 }
 
 /**
@@ -3229,8 +3562,9 @@
   uint16_t ret;
 
   if (!ptp_operation_issupported(params,PTP_OC_ResetDevice)) {
-    add_error_to_errorstack(device, LIBMTP_ERROR_GENERAL, 
-			    "LIBMTP_Reset_Device(): device does not support resetting.");
+    add_error_to_errorstack(device, LIBMTP_ERROR_GENERAL,
+			    "LIBMTP_Reset_Device(): "
+			    "device does not support resetting.");
     return -1;
   }
   ret = ptp_resetdevice(params);
@@ -3468,10 +3802,10 @@
   if (!ptp_operation_issupported(params,PTP_OC_GetStorageInfo)) {
     return 0;
   }
-  
+
   ret = get_storage_freespace(device, storage, &freebytes);
   if (ret != 0) {
-    add_error_to_errorstack(device, LIBMTP_ERROR_GENERAL, 
+    add_error_to_errorstack(device, LIBMTP_ERROR_GENERAL,
 			    "check_if_file_fits(): error checking free storage.");
     return -1;
   } else {
@@ -3513,9 +3847,12 @@
     return -1;
   }
 
-  ret = ptp_getdevicepropvalue(params, PTP_DPC_BatteryLevel, &propval, PTP_DTC_UINT8);
+  ret = ptp_getdevicepropvalue(params, PTP_DPC_BatteryLevel,
+			       &propval, PTP_DTC_UINT8);
   if (ret != PTP_RC_OK) {
-    add_ptp_error_to_errorstack(device, ret, "LIBMTP_Get_Batterylevel(): could not get device property value.");
+    add_ptp_error_to_errorstack(device, ret,
+				"LIBMTP_Get_Batterylevel(): "
+				"could not get device property value.");
     return -1;
   }
 
@@ -3535,19 +3872,22 @@
  * @param storage the actual storage to format.
  * @return 0 on success, any other value means failure.
  */
-int LIBMTP_Format_Storage(LIBMTP_mtpdevice_t *device, LIBMTP_devicestorage_t *storage)
+int LIBMTP_Format_Storage(LIBMTP_mtpdevice_t *device,
+			  LIBMTP_devicestorage_t *storage)
 {
   uint16_t ret;
   PTPParams *params = (PTPParams *) device->params;
 
   if (!ptp_operation_issupported(params,PTP_OC_FormatStore)) {
-    add_error_to_errorstack(device, LIBMTP_ERROR_GENERAL, 
-			    "LIBMTP_Format_Storage(): device does not support formatting storage.");
+    add_error_to_errorstack(device, LIBMTP_ERROR_GENERAL,
+			    "LIBMTP_Format_Storage(): "
+			    "device does not support formatting storage.");
     return -1;
   }
   ret = ptp_formatstore(params, storage->id);
   if (ret != PTP_RC_OK) {
-    add_ptp_error_to_errorstack(device, ret, "LIBMTP_Format_Storage(): failed to format storage.");
+    add_ptp_error_to_errorstack(device, ret, "LIBMTP_Format_Storage(): "
+				"failed to format storage.");
     return -1;
   }
   return 0;
@@ -3584,7 +3924,9 @@
   if (ret != PTP_RC_OK) {
     // TODO: add a note on WHICH property that we failed to get.
     *unicstring = NULL;
-    add_ptp_error_to_errorstack(device, ret, "get_device_unicode_property(): failed to get unicode property.");
+    add_ptp_error_to_errorstack(device, ret,
+				"get_device_unicode_property(): "
+				"failed to get unicode property.");
     return -1;
   }
 
@@ -3630,7 +3972,8 @@
  */
 int LIBMTP_Get_Device_Certificate(LIBMTP_mtpdevice_t *device, char ** const devcert)
 {
-  return get_device_unicode_property(device, devcert, PTP_DPC_MTP_DeviceCertificate);
+  return get_device_unicode_property(device, devcert,
+				     PTP_DPC_MTP_DeviceCertificate);
 }
 
 /**
@@ -3670,13 +4013,15 @@
   }
   // The forgotten Ogg support on YP-10 and others...
   if (FLAG_OGG_IS_UNKNOWN(ptp_usb)) {
-    localtypes = (uint16_t *) realloc(localtypes, (params->deviceinfo.ImageFormats_len+1) * sizeof(uint16_t));
+    localtypes = (uint16_t *) realloc(localtypes,
+		(params->deviceinfo.ImageFormats_len+1) * sizeof(uint16_t));
     localtypes[localtypelen] = LIBMTP_FILETYPE_OGG;
     localtypelen++;
   }
   // The forgotten FLAC support on Cowon iAudio S9 and others...
   if (FLAG_FLAC_IS_UNKNOWN(ptp_usb)) {
-    localtypes = (uint16_t *) realloc(localtypes, (params->deviceinfo.ImageFormats_len+1) * sizeof(uint16_t));
+    localtypes = (uint16_t *) realloc(localtypes,
+		(params->deviceinfo.ImageFormats_len+1) * sizeof(uint16_t));
     localtypes[localtypelen] = LIBMTP_FILETYPE_FLAC;
     localtypelen++;
   }
@@ -3688,11 +4033,50 @@
 }
 
 /**
+ * This function checks if the device has some specific capabilities, in
+ * order to avoid calling APIs that may disturb the device.
+ *
+ * @param device a pointer to the device to check the capability on.
+ * @param cap the capability to check.
+ * @return 0 if not supported, any other value means the device has the
+ * requested capability.
+ */
+int LIBMTP_Check_Capability(LIBMTP_mtpdevice_t *device, LIBMTP_devicecap_t cap)
+{
+  switch (cap) {
+  case LIBMTP_DEVICECAP_GetPartialObject:
+    return (ptp_operation_issupported(device->params,
+				      PTP_OC_GetPartialObject) ||
+	    ptp_operation_issupported(device->params,
+				      PTP_OC_ANDROID_GetPartialObject64));
+  case LIBMTP_DEVICECAP_SendPartialObject:
+    return ptp_operation_issupported(device->params,
+				     PTP_OC_ANDROID_SendPartialObject);
+  case LIBMTP_DEVICECAP_EditObjects:
+    return (ptp_operation_issupported(device->params,
+				      PTP_OC_ANDROID_TruncateObject) &&
+	    ptp_operation_issupported(device->params,
+				      PTP_OC_ANDROID_BeginEditObject) &&
+	    ptp_operation_issupported(device->params,
+				      PTP_OC_ANDROID_EndEditObject));
+  /*
+   * Handle other capabilities here, this is also a good place to
+   * blacklist some advanced operations on specific devices if need
+   * be.
+   */
+
+  default:
+    break;
+  }
+  return 0;
+}
+
+/**
  * This function updates all the storage id's of a device and their
- * properties, then creates a linked list and puts the list head into 
+ * properties, then creates a linked list and puts the list head into
  * the device struct. It also optionally sorts this list. If you want
  * to display storage information in your application you should call
- * this function, then dereference the device struct  
+ * this function, then dereference the device struct
  * (<code>device-&gt;storage</code>) to get out information on the storage.
  *
  * You need to call this everytime you want to update the
@@ -3705,11 +4089,11 @@
  * <code>strncpy()</code> it!
  *
  * @param device a pointer to the device to get the storage for.
- * @param sortby an integer that determines the sorting of the storage list. 
+ * @param sortby an integer that determines the sorting of the storage list.
  *        Valid sort methods are defined in libmtp.h with beginning with
- *        LIBMTP_STORAGE_SORTBY_. 0 or LIBMTP_STORAGE_SORTBY_NOTSORTED to not 
+ *        LIBMTP_STORAGE_SORTBY_. 0 or LIBMTP_STORAGE_SORTBY_NOTSORTED to not
  *        sort.
- * @return 0 on success, 1 success but only with storage id's, storage 
+ * @return 0 on success, 1 success but only with storage id's, storage
  *        properities could not be retrieved and -1 means failure.
  */
 int LIBMTP_Get_Storage(LIBMTP_mtpdevice_t *device, int const sortby)
@@ -3724,21 +4108,22 @@
   if (device->storage != NULL)
     free_storage_list(device);
 
-  // if (!ptp_operation_issupported(params,PTP_OC_GetStorageIDs)) 
+  // if (!ptp_operation_issupported(params,PTP_OC_GetStorageIDs))
   //   return -1;
-  if (ptp_getstorageids (params, &storageIDs) != PTP_RC_OK) 
+  if (ptp_getstorageids (params, &storageIDs) != PTP_RC_OK)
     return -1;
-  if (storageIDs.n < 1) 
+  if (storageIDs.n < 1)
     return -1;
 
   if (!ptp_operation_issupported(params,PTP_OC_GetStorageInfo)) {
     for (i = 0; i < storageIDs.n; i++) {
 
-      storage = (LIBMTP_devicestorage_t *) malloc(sizeof(LIBMTP_devicestorage_t));
+      storage = (LIBMTP_devicestorage_t *)
+	malloc(sizeof(LIBMTP_devicestorage_t));
       storage->prev = storageprev;
       if (storageprev != NULL)
         storageprev->next = storage;
-      if (device->storage == NULL) 
+      if (device->storage == NULL)
         device->storage = storage;
 
       storage->id = storageIDs.Storage[i];
@@ -3761,14 +4146,16 @@
       uint16_t ret;
       ret = ptp_getstorageinfo(params, storageIDs.Storage[i], &storageInfo);
       if (ret != PTP_RC_OK) {
-	add_ptp_error_to_errorstack(device, ret, "LIBMTP_Get_Storage(): Could not get storage info.");
+	add_ptp_error_to_errorstack(device, ret, "LIBMTP_Get_Storage(): "
+				    "Could not get storage info.");
 	if (device->storage != NULL) {
           free_storage_list(device);
 	}
 	return -1;
       }
 
-      storage = (LIBMTP_devicestorage_t *) malloc(sizeof(LIBMTP_devicestorage_t));
+      storage = (LIBMTP_devicestorage_t *)
+	malloc(sizeof(LIBMTP_devicestorage_t));
       storage->prev = storageprev;
       if (storageprev != NULL)
         storageprev->next = storage;
@@ -3851,14 +4238,154 @@
 }
 
 /**
+ * Helper function that takes one PTP object and creates a
+ * LIBMTP_file_t metadata entry.
+ */
+static LIBMTP_file_t *obj2file(LIBMTP_mtpdevice_t *device, PTPObject *ob)
+{
+  PTPParams *params = (PTPParams *) device->params;
+  PTP_USB *ptp_usb = (PTP_USB*) device->usbinfo;
+  LIBMTP_file_t *file;
+  int i;
+
+  // Allocate a new file type
+  file = LIBMTP_new_file_t();
+
+  file->parent_id = ob->oi.ParentObject;
+  file->storage_id = ob->oi.StorageID;
+
+  // Set the filetype
+  file->filetype = map_ptp_type_to_libmtp_type(ob->oi.ObjectFormat);
+
+  /*
+   * A special quirk for devices that doesn't quite
+   * remember that some files marked as "unknown" type are
+   * actually OGG or FLAC files. We look at the filename extension
+   * and see if it happens that this was atleast named "ogg" or "flac"
+   * and fall back on this heuristic approach in that case,
+   * for these bugged devices only.
+   */
+  if (file->filetype == LIBMTP_FILETYPE_UNKNOWN) {
+    if ((FLAG_IRIVER_OGG_ALZHEIMER(ptp_usb) ||
+	 FLAG_OGG_IS_UNKNOWN(ptp_usb)) &&
+        has_ogg_extension(file->filename)) {
+      file->filetype = LIBMTP_FILETYPE_OGG;
+    }
+
+    if (FLAG_FLAC_IS_UNKNOWN(ptp_usb) && has_flac_extension(file->filename)) {
+        file->filetype = LIBMTP_FILETYPE_FLAC;
+    }
+  }
+
+  // Set the modification date
+  file->modificationdate = ob->oi.ModificationDate;
+
+  // We only have 32-bit file size here; later we use the PTP_OPC_ObjectSize property
+  file->filesize = ob->oi.ObjectCompressedSize;
+  if (ob->oi.Filename != NULL) {
+    file->filename = strdup(ob->oi.Filename);
+  }
+
+  // This is a unique ID so we can keep track of the file.
+  file->item_id = ob->oid;
+
+  /*
+   * If we have a cached, large set of metadata, then use it!
+   */
+  if (ob->mtpprops) {
+    MTPProperties *prop = ob->mtpprops;
+
+    for (i=0; i < ob->nrofmtpprops; i++, prop++) {
+      // Pick ObjectSize here...
+      if (prop->property == PTP_OPC_ObjectSize) {
+	// This may already be set, but this 64bit precision value
+	// is better than the PTP 32bit value, so let it override.
+	if (device->object_bitsize == 64) {
+	  file->filesize = prop->propval.u64;
+	} else {
+	  file->filesize = prop->propval.u32;
+	}
+	break;
+      }
+    }
+  } else if (ptp_operation_issupported(params,PTP_OC_MTP_GetObjectPropsSupported)) {
+    uint16_t *props = NULL;
+    uint32_t propcnt = 0;
+    int ret;
+
+    // First see which properties can be retrieved for this object format
+    ret = ptp_mtp_getobjectpropssupported(params, map_libmtp_type_to_ptp_type(file->filetype), &propcnt, &props);
+    if (ret != PTP_RC_OK) {
+      add_ptp_error_to_errorstack(device, ret, "obj2file: call to ptp_mtp_getobjectpropssupported() failed.");
+      // Silently fall through.
+    } else {
+      for (i = 0; i < propcnt; i++) {
+	switch (props[i]) {
+	case PTP_OPC_ObjectSize:
+	  if (device->object_bitsize == 64) {
+	    file->filesize = get_u64_from_object(device, file->item_id, PTP_OPC_ObjectSize, 0);
+	  } else {
+	    file->filesize = get_u32_from_object(device, file->item_id, PTP_OPC_ObjectSize, 0);
+	  }
+	  break;
+	default:
+	  break;
+	}
+      }
+      free(props);
+    }
+  }
+
+  return file;
+}
+
+
+/**
+ * This function retrieves the metadata for a single file off
+ * the device.
+ *
+ * Do not call this function repeatedly! The file handles are linearly
+ * searched O(n) and the call may involve (slow) USB traffic, so use
+ * <code>LIBMTP_Get_Filelisting()</code> and cache the file, preferably
+ * as an efficient data structure such as a hash list.
+ *
+ * Incidentally this function will return metadata for
+ * a folder (association) as well, but this is not a proper use
+ * of it, it is intended for file manipulation, not folder manipulation.
+ *
+ * @param device a pointer to the device to get the file metadata from.
+ * @param fileid the object ID of the file that you want the metadata for.
+ * @return a metadata entry on success or NULL on failure.
+ * @see LIBMTP_Get_Filelisting()
+ */
+LIBMTP_file_t *LIBMTP_Get_Filemetadata(LIBMTP_mtpdevice_t *device, uint32_t const fileid)
+{
+  PTPParams *params = (PTPParams *) device->params;
+  uint16_t ret;
+  PTPObject *ob;
+
+  // Get all the handles if we haven't already done that
+  // (Only on cached devices.)
+  if (device->cached && params->nrofobjects == 0) {
+    flush_handles(device);
+  }
+
+  ret = ptp_object_want(params, fileid, PTPOBJECT_OBJECTINFO_LOADED|PTPOBJECT_MTPPROPLIST_LOADED, &ob);
+  if (ret != PTP_RC_OK)
+    return NULL;
+
+  return obj2file(device, ob);
+}
+
+/**
 * THIS FUNCTION IS DEPRECATED. PLEASE UPDATE YOUR CODE IN ORDER
  * NOT TO USE IT.
  * @see LIBMTP_Get_Filelisting_With_Callback()
  */
 LIBMTP_file_t *LIBMTP_Get_Filelisting(LIBMTP_mtpdevice_t *device)
 {
-  printf("WARNING: LIBMTP_Get_Filelisting() is deprecated.\n");
-  printf("WARNING: please update your code to use LIBMTP_Get_Filelisting_With_Callback()\n");
+  LIBMTP_INFO("WARNING: LIBMTP_Get_Filelisting() is deprecated.\n");
+  LIBMTP_INFO("WARNING: please update your code to use LIBMTP_Get_Filelisting_With_Callback()\n");
   return LIBMTP_Get_Filelisting_With_Callback(device, NULL, NULL);
 }
 
@@ -3885,7 +4412,7 @@
  * arrange files into folders, you must dereference the <code>storage_id</code>
  * and/or <code>parent_id</code> field of the returned <code>LIBMTP_file_t</code>
  * struct. To arrange by folders or files you typically have to create the proper
- * trees by calls to <code>LIBMTP_Get_Storage()</code> and/or 
+ * trees by calls to <code>LIBMTP_Get_Storage()</code> and/or
  * <code>LIBMTP_Get_Folder_List()</code> first.
  *
  * @param device a pointer to the device to get the file listing for.
@@ -3911,8 +4438,6 @@
   LIBMTP_file_t *retfiles = NULL;
   LIBMTP_file_t *curfile = NULL;
   PTPParams *params = (PTPParams *) device->params;
-  PTP_USB *ptp_usb = (PTP_USB*) device->usbinfo;
-  uint16_t ret;
 
   // Get all the handles if we haven't already done that
   if (params->nrofobjects == 0) {
@@ -3921,7 +4446,7 @@
 
   for (i = 0; i < params->nrofobjects; i++) {
     LIBMTP_file_t *file;
-    PTPObject *ob, *xob;
+    PTPObject *ob;
 
     if (callback != NULL)
       callback(i, params->nrofobjects, data);
@@ -3934,95 +4459,12 @@
       continue;
     }
 
-    // Allocate a new file type
-    file = LIBMTP_new_file_t();
-
-    file->parent_id = ob->oi.ParentObject;
-    file->storage_id = ob->oi.StorageID;
-
-    // This is some sort of unique ID so we can keep track of the track.
-    file->item_id = ob->oid;
-
-    // Set the filetype
-    file->filetype = map_ptp_type_to_libmtp_type(ob->oi.ObjectFormat);
-    
-    // Set the modification date
-    file->modificationdate = ob->oi.ModificationDate;
-
-    // Original file-specific properties
-    // We only have 32-bit file size here; if we find it, we use the 
-    // PTP_OPC_ObjectSize property which has 64bit precision.
-    file->filesize = ob->oi.ObjectCompressedSize;
-    if (ob->oi.Filename != NULL) {
-      file->filename = strdup(ob->oi.Filename);
+    // Look up metadata
+    file = obj2file(device, ob);
+    if (file == NULL) {
+      continue;
     }
 
-    /*
-     * A special quirk for devices that doesn't quite
-     * remember that some files marked as "unknown" type are
-     * actually OGG or FLAC files. We look at the filename extension
-     * and see if it happens that this was atleast named "ogg" or "flac"
-     * and fall back on this heuristic approach in that case, 
-     * for these bugged devices only.
-     */
-    if (file->filetype == LIBMTP_FILETYPE_UNKNOWN) {
-      if ((FLAG_IRIVER_OGG_ALZHEIMER(ptp_usb) ||
-	   FLAG_OGG_IS_UNKNOWN(ptp_usb)) &&
-	  has_ogg_extension(file->filename))
-	file->filetype = LIBMTP_FILETYPE_OGG;
-      if (FLAG_FLAC_IS_UNKNOWN(ptp_usb) &&
-	  has_flac_extension(file->filename))
-	file->filetype = LIBMTP_FILETYPE_FLAC;
-    }
-
-    /*
-     * If we have a cached, large set of metadata, then use it!
-     */
-    ret = ptp_object_want (params, ob->oid, PTPOBJECT_MTPPROPLIST_LOADED, &xob);
-    if (ob->mtpprops) {
-      MTPProperties *prop = ob->mtpprops;
-      int i;
-
-      for (i=0;i<ob->nrofmtpprops;i++) {
-	// Pick ObjectSize here...
-	if (prop->property == PTP_OPC_ObjectSize) {
-	  if (device->object_bitsize == 64) {
-	    file->filesize = prop->propval.u64;
-	  } else {
-	    file->filesize = prop->propval.u32;
-	  }
-	  break;
-	}
-	prop++;
-      }
-    } else {
-      uint16_t *props = NULL;
-      uint32_t propcnt = 0;
-      
-      // First see which properties can be retrieved for this object format
-      ret = ptp_mtp_getobjectpropssupported(params, ob->oi.ObjectFormat, &propcnt, &props);
-      if (ret != PTP_RC_OK) {
-	add_ptp_error_to_errorstack(device, ret, "LIBMTP_Get_Filelisting_With_Callback(): call to ptp_mtp_getobjectpropssupported() failed.");
-	// Silently fall through.
-      } else {
-        int i;
-	for (i=0;i<propcnt;i++) {
-	  switch (props[i]) {
-	  case PTP_OPC_ObjectSize:
-	    if (device->object_bitsize == 64) {
-	      file->filesize = get_u64_from_object(device, file->item_id, PTP_OPC_ObjectSize, 0);
-	    } else {
-	      file->filesize = get_u32_from_object(device, file->item_id, PTP_OPC_ObjectSize, 0);
-	    }
-	    break;
-	  default:
-	    break;
-	  }
-	}
-	free(props);
-      }
-    }
-    
     // Add track to a list that will be returned afterwards.
     if (retfiles == NULL) {
       retfiles = file;
@@ -4034,113 +4476,105 @@
 
     // Call listing callback
     // double progressPercent = (double)i*(double)100.0 / (double)params->handles.n;
-    
+
   } // Handle counting loop
   return retfiles;
 }
 
 /**
- * This function retrieves the metadata for a single file off
- * the device.
+ * This function retrieves the contents of a certain folder
+ * with id parent on a certain storage on a certain device.
+ * The result contains both files and folders.
+ * The device used with this operations must have been opened with
+ * LIBMTP_Open_Raw_Device_Uncached() or it will fail.
  *
- * Do not call this function repeatedly! The file handles are linearly
- * searched O(n) and the call may involve (slow) USB traffic, so use
- * <code>LIBMTP_Get_Filelisting()</code> and cache the file, preferably
- * as an efficient data structure such as a hash list.
- *
- * Incidentally this function will return metadata for
- * a folder (association) as well, but this is not a proper use
- * of it, it is intended for file manipulation, not folder manipulation.
- *
- * @param device a pointer to the device to get the file metadata from.
- * @param fileid the object ID of the file that you want the metadata for.
- * @return a metadata entry on success or NULL on failure.
- * @see LIBMTP_Get_Filelisting()
+ * NOTE: the request will always perform I/O with the device.
+ * @param device a pointer to the MTP device to report info from.
+ * @param storage a storage on the device to report info from. If
+ *        0 is passed in, the files for the given parent will be
+ *        searched across all available storages.
+ * @param parent the parent folder id.
  */
-LIBMTP_file_t *LIBMTP_Get_Filemetadata(LIBMTP_mtpdevice_t *device, uint32_t const fileid)
+LIBMTP_file_t * LIBMTP_Get_Files_And_Folders(LIBMTP_mtpdevice_t *device,
+			     uint32_t const storage,
+			     uint32_t const parent)
 {
-  uint32_t i = 0;
   PTPParams *params = (PTPParams *) device->params;
+  PTP_USB *ptp_usb = (PTP_USB*) device->usbinfo;
+  LIBMTP_file_t *retfiles = NULL;
+  LIBMTP_file_t *curfile = NULL;
+  PTPObjectHandles currentHandles;
+  uint32_t storageid;
   uint16_t ret;
-  PTPObject *ob;
-  LIBMTP_file_t *file;
+  int i = 0;
 
-  // Get all the handles if we haven't already done that
-  if (params->nrofobjects == 0) {
-    flush_handles(device);
+  if (device->cached) {
+    // This function is only supposed to be used by devices
+    // opened as uncached!
+    LIBMTP_ERROR("tried to use %s on a cached device!\n",
+		 __func__);
+    return NULL;
   }
 
-  ret = ptp_object_want (params, fileid, PTPOBJECT_OBJECTINFO_LOADED|PTPOBJECT_MTPPROPLIST_LOADED, &ob);
-  if (ret != PTP_RC_OK)
+  if (FLAG_BROKEN_GET_OBJECT_PROPVAL(ptp_usb)) {
+    // These devices cannot handle the commands needed for
+    // Uncached access!
+    LIBMTP_ERROR("tried to use %s on an unsupported device, "
+		 "this command does not work on all devices "
+		 "due to missing low-level support to read "
+		 "information on individual tracks\n",
+		 __func__);
+    return NULL;
+  }
+
+  if (storage == 0)
+    storageid = PTP_GOH_ALL_STORAGE;
+  else
+    storageid = storage;
+
+  ret = ptp_getobjecthandles(params,
+			     storageid,
+			     PTP_GOH_ALL_FORMATS,
+			     parent,
+			     &currentHandles);
+
+  if (ret != PTP_RC_OK) {
+    add_ptp_error_to_errorstack(device, ret,
+		"LIBMTP_Get_Files_And_Folders(): could not get object handles.");
+    return NULL;
+  }
+
+  if (currentHandles.Handler == NULL || currentHandles.n == 0)
     return NULL;
 
-  // Allocate a new file type
-  file = LIBMTP_new_file_t();
-  
-  file->parent_id = ob->oi.ParentObject;
-  file->storage_id = ob->oi.StorageID;
+  for (i = 0; i < currentHandles.n; i++) {
+    LIBMTP_file_t *file;
 
-  // Set the filetype
-  file->filetype = map_ptp_type_to_libmtp_type(ob->oi.ObjectFormat);
+    // Get metadata for one file, if it fails, try next file
+    file = LIBMTP_Get_Filemetadata(device, currentHandles.Handler[i]);
+    if (file == NULL)
+      continue;
 
-  // Original file-specific properties
-  
-  // We only have 32-bit file size here; later we use the PTP_OPC_ObjectSize property
-  file->filesize = ob->oi.ObjectCompressedSize;
-  if (ob->oi.Filename != NULL) {
-    file->filename = strdup(ob->oi.Filename);
-  }
-
-  // This is some sort of unique ID so we can keep track of the file.
-  file->item_id = fileid;
-
-  /*
-   * If we have a cached, large set of metadata, then use it!
-   */
-  if (ob->mtpprops) {
-    MTPProperties *prop = ob->mtpprops;
-    
-    for (i=0;i<ob->nrofmtpprops;i++,prop++) {
-      // Pick ObjectSize here...
-      if (prop->property == PTP_OPC_ObjectSize) {
-	// This may already be set, but this 64bit precision value 
-	// is better than the PTP 32bit value, so let it override.
-	if (device->object_bitsize == 64) {
-	  file->filesize = prop->propval.u64;
-	} else {
-	  file->filesize = prop->propval.u32;
-	}
-	break;
-      }
-    }
-  } else {
-    uint16_t *props = NULL;
-    uint32_t propcnt = 0;
-    
-    // First see which properties can be retrieved for this object format
-    ret = ptp_mtp_getobjectpropssupported(params, map_libmtp_type_to_ptp_type(file->filetype), &propcnt, &props);
-    if (ret != PTP_RC_OK) {
-      add_ptp_error_to_errorstack(device, ret, "LIBMTP_Get_Filemetadata(): call to ptp_mtp_getobjectpropssupported() failed.");
-      // Silently fall through.
+    // Add track to a list that will be returned afterwards.
+    if (curfile == NULL) {
+      curfile = file;
+      retfiles = file;
     } else {
-      for (i=0;i<propcnt;i++) {
-	switch (props[i]) {
-	case PTP_OPC_ObjectSize:
-	  if (device->object_bitsize == 64) {
-	    file->filesize = get_u64_from_object(device, file->item_id, PTP_OPC_ObjectSize, 0);
-	  } else {
-	    file->filesize = get_u32_from_object(device, file->item_id, PTP_OPC_ObjectSize, 0);
-	  }
-	  break;
-	default:
-	  break;
-	}
-      }
-      free(props);
+      curfile->next = file;
+      curfile = file;
     }
   }
-  
-  return file;
+
+  free(currentHandles.Handler);
+
+  // Return a pointer to the original first file
+  // in the big list.
+  return retfiles;
+}
+
+void LIBMTP_Set_Load_Cache_On_Demand(int flag)
+{
+  load_cache_on_demand = flag;
 }
 
 /**
@@ -4409,8 +4843,8 @@
  */
 LIBMTP_track_t *LIBMTP_Get_Tracklisting(LIBMTP_mtpdevice_t *device)
 {
-  printf("WARNING: LIBMTP_Get_Tracklisting() is deprecated.\n");
-  printf("WARNING: please update your code to use LIBMTP_Get_Tracklisting_With_Callback()\n");
+  LIBMTP_INFO("WARNING: LIBMTP_Get_Tracklisting() is deprecated.\n");
+  LIBMTP_INFO("WARNING: please update your code to use LIBMTP_Get_Tracklisting_With_Callback()\n");
   return LIBMTP_Get_Tracklisting_With_Callback(device, NULL, NULL);
 }
 
@@ -4437,7 +4871,7 @@
  * arrange tracks into folders, you must dereference the <code>storage_id</code>
  * and/or <code>parent_id</code> field of the returned <code>LIBMTP_track_t</code>
  * struct. To arrange by folders or files you typically have to create the proper
- * trees by calls to <code>LIBMTP_Get_Storage()</code> and/or 
+ * trees by calls to <code>LIBMTP_Get_Storage()</code> and/or
  * <code>LIBMTP_Get_Folder_List()</code> first.
  *
  * @param device a pointer to the device to get the track listing for.
@@ -4459,6 +4893,56 @@
                                                       LIBMTP_progressfunc_t const callback,
                                                       void const * const data)
 {
+	return LIBMTP_Get_Tracklisting_With_Callback_For_Storage(device, 0, callback, data);
+}
+
+
+/**
+ * This returns a long list of all tracks available on the current MTP device.
+ * Tracks include multimedia objects, both music tracks and video tracks.
+ * Typical usage:
+ *
+ * <pre>
+ * LIBMTP_track_t *tracklist;
+ *
+ * tracklist = LIBMTP_Get_Tracklisting_With_Callback_For_Storage(device, storage_id, callback, data);
+ * while (tracklist != NULL) {
+ *   LIBMTP_track_t *tmp;
+ *
+ *   // Do something on each element in the list here...
+ *   tmp = tracklist;
+ *   tracklist = tracklist->next;
+ *   LIBMTP_destroy_track_t(tmp);
+ * }
+ * </pre>
+ *
+ * If you want to group your track listing by storage (per storage unit) or
+ * arrange tracks into folders, you must dereference the <code>storage_id</code>
+ * and/or <code>parent_id</code> field of the returned <code>LIBMTP_track_t</code>
+ * struct. To arrange by folders or files you typically have to create the proper
+ * trees by calls to <code>LIBMTP_Get_Storage()</code> and/or 
+ * <code>LIBMTP_Get_Folder_List()</code> first.
+ *
+ * @param device a pointer to the device to get the track listing for.
+ * @param storage_id ID of device storage (if null, no filter)
+ * @param callback a function to be called during the tracklisting retrieveal
+ *        for displaying progress bars etc, or NULL if you don't want
+ *        any callbacks.
+ * @param data a user-defined pointer that is passed along to
+ *        the <code>progress</code> function in order to
+ *        pass along some user defined data to the progress
+ *        updates. If not used, set this to NULL.
+ * @return a list of tracks that can be followed using the <code>next</code>
+ *        field of the <code>LIBMTP_track_t</code> data structure.
+ *        Each of the metadata tags must be freed after use, and may
+ *        contain only partial metadata information, i.e. one or several
+ *        fields may be NULL or 0.
+ * @see LIBMTP_Get_Trackmetadata()
+ */
+LIBMTP_track_t *LIBMTP_Get_Tracklisting_With_Callback_For_Storage(LIBMTP_mtpdevice_t *device, uint32_t const storage_id,
+                                                      LIBMTP_progressfunc_t const callback,
+                                                      void const * const data)
+{
   uint32_t i = 0;
   LIBMTP_track_t *retracks = NULL;
   LIBMTP_track_t *curtrack = NULL;
@@ -4487,7 +4971,7 @@
     // all known track files?
     if (!LIBMTP_FILETYPE_IS_TRACK(mtptype) &&
 	// This row lets through undefined files for examination since they may be forgotten OGG files.
-	(ob->oi.ObjectFormat != PTP_OFC_Undefined || 
+	(ob->oi.ObjectFormat != PTP_OFC_Undefined ||
 	 (!FLAG_IRIVER_OGG_ALZHEIMER(ptp_usb) &&
 	  !FLAG_OGG_IS_UNKNOWN(ptp_usb) &&
 	  !FLAG_FLAC_IS_UNKNOWN(ptp_usb)))
@@ -4496,9 +4980,13 @@
       continue;
     }
 
+	// Ignore stuff that isn't into the storage device
+	if ((storage_id != 0) && (ob->oi.StorageID != storage_id ))
+		continue;
+
     // Allocate a new track type
     track = LIBMTP_new_track_t();
-      
+
     // This is some sort of unique ID so we can keep track of the track.
     track->item_id = ob->oid;
     track->parent_id = ob->oi.ParentObject;
@@ -4538,7 +5026,7 @@
 	continue;
       }
     }
-    
+
     // Add track to a list that will be returned afterwards.
     if (retracks == NULL) {
       retracks = track;
@@ -4547,11 +5035,10 @@
       curtrack->next = track;
       curtrack = track;
     }
-    
+
     // Call listing callback
     // double progressPercent = (double)i*(double)100.0 / (double)params->handles.n;
-    
-    
+
   } // Handle counting loop
   return retracks;
 }
@@ -4595,7 +5082,7 @@
        * This row lets through undefined files for examination
        * since they may be forgotten OGG or FLAC files.
        */
-      (ob->oi.ObjectFormat != PTP_OFC_Undefined || 
+      (ob->oi.ObjectFormat != PTP_OFC_Undefined ||
        (!FLAG_IRIVER_OGG_ALZHEIMER(ptp_usb) &&
 	!FLAG_OGG_IS_UNKNOWN(ptp_usb) &&
 	!FLAG_FLAC_IS_UNKNOWN(ptp_usb)))
@@ -4606,7 +5093,7 @@
 
   // Allocate a new track type
   track = LIBMTP_new_track_t();
-  
+
   // This is some sort of unique ID so we can keep track of the track.
   track->item_id = ob->oid;
   track->parent_id = ob->oi.ParentObject;
@@ -4626,7 +5113,7 @@
    * remember that some files marked as "unknown" type are
    * actually OGG or FLAC files. We look at the filename extension
    * and see if it happens that this was atleast named "ogg"
-   * and fall back on this heuristic approach in that case, 
+   * and fall back on this heuristic approach in that case,
    * for these bugged devices only.
    */
   if (track->filetype == LIBMTP_FILETYPE_UNKNOWN &&
@@ -4676,16 +5163,19 @@
  * This is a manual conversion from MTPDataPutFunc to PTPDataPutFunc
  * to isolate the internal type.
  */
-static uint16_t put_func_wrapper(PTPParams* params, void* priv, unsigned long sendlen, unsigned char *data, unsigned long *putlen)
+static uint16_t put_func_wrapper(PTPParams* params, void* priv, unsigned long sendlen, unsigned char *data)
 {
   MTPDataHandler *handler = (MTPDataHandler *)priv;
   uint16_t ret;
   uint32_t local_putlen = 0;
+
   ret = handler->putfunc(params, handler->priv, sendlen, data, &local_putlen);
-  *putlen = local_putlen;
+
   switch (ret)
   {
     case LIBMTP_HANDLER_RETURN_OK:
+      if (local_putlen != sendlen)
+	return PTP_ERROR_IO;
       return PTP_RC_OK;
     case LIBMTP_HANDLER_RETURN_ERROR:
       return PTP_ERROR_IO;
@@ -4716,7 +5206,6 @@
 			 void const * const data)
 {
   int fd = -1;
-  struct utimbuf mtime;
   int ret;
 
   // Sanity check
@@ -4739,7 +5228,7 @@
     return -1;
   }
 
-  ret = LIBMTP_Get_File_To_File_Descriptor(device, id, fd, callback, data, &mtime);
+  ret = LIBMTP_Get_File_To_File_Descriptor(device, id, fd, callback, data);
 
   // Close file
   close(fd);
@@ -4747,9 +5236,8 @@
   // Delete partial file.
   if (ret == -1) {
     unlink(path);
-  } else {
-      utime(path, &mtime);
   }
+
   return ret;
 }
 
@@ -4769,18 +5257,15 @@
  *             the <code>progress</code> function in order to
  *             pass along some user defined data to the progress
  *             updates. If not used, set this to NULL.
- * @param mtime out parameter to return the timestamp for file on
- *             the device.
  * @return 0 if the transfer was successful, any other value means
- *             failure.
+ *           failure.
  * @see LIBMTP_Get_File_To_File()
  */
 int LIBMTP_Get_File_To_File_Descriptor(LIBMTP_mtpdevice_t *device,
 					uint32_t const id,
 					int const fd,
 					LIBMTP_progressfunc_t const callback,
-					void const * const data,
-                    struct utimbuf * mtime)
+					void const * const data)
 {
   uint16_t ret;
   PTPParams *params = (PTPParams *) device->params;
@@ -4797,11 +5282,6 @@
     return -1;
   }
 
-  if (mtime != NULL) {
-    mtime->actime = ob->oi.CaptureDate;
-    mtime->modtime = ob->oi.ModificationDate;
-  }
-
   // Callbacks
   ptp_usb->callback_active = 1;
   ptp_usb->current_transfer_total = ob->oi.ObjectCompressedSize+
@@ -4940,8 +5420,6 @@
  *             the <code>progress</code> function in order to
  *             pass along some user defined data to the progress
  *             updates. If not used, set this to NULL.
- * @param mtime out parameter to return the timestamp for file on
- *             the device.
  * @return 0 if the transfer was successful, any other value means
  *           failure.
  * @see LIBMTP_Get_Track_To_File()
@@ -4950,11 +5428,10 @@
 					uint32_t const id,
 					int const fd,
 					LIBMTP_progressfunc_t const callback,
-					void const * const data,
-                    struct utimbuf * mtime)
+					void const * const data)
 {
   // This is just a wrapper
-  return LIBMTP_Get_File_To_File_Descriptor(device, id, fd, callback, data, mtime);
+  return LIBMTP_Get_File_To_File_Descriptor(device, id, fd, callback, data);
 }
 
 /**
@@ -4995,12 +5472,12 @@
  *        After this call the field <code>metadata-&gt;item_id</code>
  *        will contain the new track ID. Other fields such
  *        as the <code>metadata-&gt;filename</code>, <code>metadata-&gt;parent_id</code>
- *        or <code>metadata-&gt;storage_id</code> may also change during this 
+ *        or <code>metadata-&gt;storage_id</code> may also change during this
  *        operation due to device restrictions, so do not rely on the
  *        contents of this struct to be preserved in any way.
  *        <ul>
- *        <li><code>metadata-&gt;parent_id</code> should be set to the parent 
- *        (e.g. folder) to store this track in. Since some 
+ *        <li><code>metadata-&gt;parent_id</code> should be set to the parent
+ *        (e.g. folder) to store this track in. Since some
  *        devices are a bit picky about where files
  *        are placed, a default folder will be chosen if libmtp
  *        has detected one for the current filetype and this
@@ -5039,14 +5516,14 @@
   // Open file
 #ifdef __WIN32__
 #ifdef USE_WINDOWS_IO_H
-  if ( (fd = _open(path, O_RDONLY|O_BINARY) == -1) ) {
+  if ( (fd = _open(path, O_RDONLY|O_BINARY)) == -1 ) {
 #else
-  if ( (fd = open(path, O_RDONLY|O_BINARY) == -1) ) {
+  if ( (fd = open(path, O_RDONLY|O_BINARY)) == -1 ) {
 #endif
 #else
   if ( (fd = open(path, O_RDONLY)) == -1) {
 #endif
-    printf("LIBMTP_Send_Track_From_File(): Could not open source file \"%s\"\n", path);
+    LIBMTP_ERROR("LIBMTP_Send_Track_From_File(): Could not open source file \"%s\"\n", path);
     return -1;
   }
 
@@ -5062,6 +5539,62 @@
   return ret;
 }
 
+
+
+/**
+ * This helper function checks if a filename already exists on the device
+ * @param PTPParams*
+ * @param string representing the filename
+ * @return 0 if the filename doesn't exist, -1 if it does
+ */
+static int check_filename_exists(PTPParams* params, char const * const filename)
+{
+  int i;
+
+  for (i = 0; i < params->nrofobjects; i++) {
+    char *fname = params->objects[i].oi.Filename;
+    if ((fname != NULL) && (strcmp(filename, fname) == 0))
+    {
+      return -1;
+    }
+  }
+
+  return 0;
+}
+
+/**
+ * This helper function returns a unique filename, with a random string before the extension
+ * @param string representing the original filename
+ * @return a string representing the unique filename
+ */
+static char *generate_unique_filename(PTPParams* params, char const * const filename)
+{
+  int suffix;
+  char * extension_position;
+
+  if (check_filename_exists(params, filename))
+  {
+    extension_position = strrchr(filename,'.');
+
+    char basename[extension_position - filename + 1];
+    strncpy(basename, filename, extension_position - filename);
+    basename[extension_position - filename] = '\0';
+
+    suffix = 1;
+    char newname[ strlen(basename) + 6 + strlen(extension_position)];
+    sprintf(newname, "%s_%d%s", basename, suffix, extension_position);
+    while ((check_filename_exists(params, newname)) && (suffix < 1000000)) {
+      suffix++;
+      sprintf(newname, "%s_%d%s", basename, suffix, extension_position);
+    }
+  return strdup(newname);
+  }
+  else
+  {
+    return strdup(filename);
+  }
+}
+
 /**
  * This function sends a track from a file descriptor to an
  * MTP device. A filename and a set of metadata must be
@@ -5072,12 +5605,12 @@
  *        After this call the field <code>metadata-&gt;item_id</code>
  *        will contain the new track ID. Other fields such
  *        as the <code>metadata-&gt;filename</code>, <code>metadata-&gt;parent_id</code>
- *        or <code>metadata-&gt;storage_id</code> may also change during this 
+ *        or <code>metadata-&gt;storage_id</code> may also change during this
  *        operation due to device restrictions, so do not rely on the
  *        contents of this struct to be preserved in any way.
  *        <ul>
- *        <li><code>metadata-&gt;parent_id</code> should be set to the parent 
- *        (e.g. folder) to store this track in. Since some 
+ *        <li><code>metadata-&gt;parent_id</code> should be set to the parent
+ *        (e.g. folder) to store this track in. Since some
  *        devices are a bit picky about where files
  *        are placed, a default folder will be chosen if libmtp
  *        has detected one for the current filetype and this
@@ -5105,10 +5638,12 @@
 {
   int subcall_ret;
   LIBMTP_file_t filedata;
+  PTP_USB *ptp_usb = (PTP_USB*) device->usbinfo;
+  PTPParams *params = (PTPParams *) device->params;
 
   // Sanity check, is this really a track?
   if (!LIBMTP_FILETYPE_IS_TRACK(metadata->filetype)) {
-    add_error_to_errorstack(device, LIBMTP_ERROR_GENERAL, 
+    add_error_to_errorstack(device, LIBMTP_ERROR_GENERAL,
 			    "LIBMTP_Send_Track_From_File_Descriptor(): "
 			    "I don't think this is actually a track, strange filetype...");
   }
@@ -5117,26 +5652,31 @@
   filedata.item_id = metadata->item_id;
   filedata.parent_id = metadata->parent_id;
   filedata.storage_id = metadata->storage_id;
-  filedata.filename = metadata->filename;
+  if FLAG_UNIQUE_FILENAMES(ptp_usb) {
+    filedata.filename = generate_unique_filename(params, metadata->filename);
+  }
+  else {
+    filedata.filename = metadata->filename;
+  }
   filedata.filesize = metadata->filesize;
   filedata.filetype = metadata->filetype;
   filedata.next = NULL;
 
   subcall_ret = LIBMTP_Send_File_From_File_Descriptor(device,
-						      fd, 
+						      fd,
 						      &filedata,
 						      callback,
 						      data);
 
   if (subcall_ret != 0) {
-    add_error_to_errorstack(device, LIBMTP_ERROR_GENERAL, 
+    add_error_to_errorstack(device, LIBMTP_ERROR_GENERAL,
 			    "LIBMTP_Send_Track_From_File_Descriptor(): "
 			    "subcall to LIBMTP_Send_File_From_File_Descriptor failed.");
     // We used to delete the file here, but don't... It might be OK after all.
     // (void) LIBMTP_Delete_Object(device, metadata->item_id);
     return -1;
   }
-  
+
   // Pick up new item (and parent, storage) ID
   metadata->item_id = filedata.item_id;
   metadata->parent_id = filedata.parent_id;
@@ -5169,12 +5709,12 @@
  *        After this call the field <code>metadata-&gt;item_id</code>
  *        will contain the new track ID. Other fields such
  *        as the <code>metadata-&gt;filename</code>, <code>metadata-&gt;parent_id</code>
- *        or <code>metadata-&gt;storage_id</code> may also change during this 
+ *        or <code>metadata-&gt;storage_id</code> may also change during this
  *        operation due to device restrictions, so do not rely on the
  *        contents of this struct to be preserved in any way.
  *        <ul>
- *        <li><code>metadata-&gt;parent_id</code> should be set to the parent 
- *        (e.g. folder) to store this track in. Since some 
+ *        <li><code>metadata-&gt;parent_id</code> should be set to the parent
+ *        (e.g. folder) to store this track in. Since some
  *        devices are a bit picky about where files
  *        are placed, a default folder will be chosen if libmtp
  *        has detected one for the current filetype and this
@@ -5202,10 +5742,12 @@
 {
   int subcall_ret;
   LIBMTP_file_t filedata;
+  PTP_USB *ptp_usb = (PTP_USB*) device->usbinfo;
+  PTPParams *params = (PTPParams *) device->params;
 
   // Sanity check, is this really a track?
   if (!LIBMTP_FILETYPE_IS_TRACK(metadata->filetype)) {
-    add_error_to_errorstack(device, LIBMTP_ERROR_GENERAL, 
+    add_error_to_errorstack(device, LIBMTP_ERROR_GENERAL,
 			    "LIBMTP_Send_Track_From_Handler(): "
 			    "I don't think this is actually a track, strange filetype...");
   }
@@ -5214,20 +5756,25 @@
   filedata.item_id = metadata->item_id;
   filedata.parent_id = metadata->parent_id;
   filedata.storage_id = metadata->storage_id;
-  filedata.filename = metadata->filename;
+  if FLAG_UNIQUE_FILENAMES(ptp_usb) {
+    filedata.filename = generate_unique_filename(params, metadata->filename);
+  }
+  else {
+    filedata.filename = metadata->filename;
+  }
   filedata.filesize = metadata->filesize;
   filedata.filetype = metadata->filetype;
   filedata.next = NULL;
 
   subcall_ret = LIBMTP_Send_File_From_Handler(device,
-						      get_func,
-                  priv, 
-						      &filedata,
-						      callback,
-						      data);
+					      get_func,
+					      priv,
+					      &filedata,
+					      callback,
+					      data);
 
   if (subcall_ret != 0) {
-    add_error_to_errorstack(device, LIBMTP_ERROR_GENERAL, 
+    add_error_to_errorstack(device, LIBMTP_ERROR_GENERAL,
 			    "LIBMTP_Send_Track_From_Handler(): "
 			    "subcall to LIBMTP_Send_File_From_Handler failed.");
     // We used to delete the file here, but don't... It might be OK after all.
@@ -5304,9 +5851,9 @@
   // Open file
 #ifdef __WIN32__
 #ifdef USE_WINDOWS_IO_H
-  if ( (fd = _open(path, O_RDONLY|O_BINARY) == -1) ) {
+  if ( (fd = _open(path, O_RDONLY|O_BINARY)) == -1 ) {
 #else
-  if ( (fd = open(path, O_RDONLY|O_BINARY) == -1) ) {
+  if ( (fd = open(path, O_RDONLY|O_BINARY)) == -1 ) {
 #endif
 #else
   if ( (fd = open(path, O_RDONLY)) == -1) {
@@ -5374,6 +5921,8 @@
   PTPParams *params = (PTPParams *) device->params;
   PTP_USB *ptp_usb = (PTP_USB*) device->usbinfo;
   LIBMTP_file_t *newfilemeta;
+  int oldtimeout;
+  int timeout;
 
   if (send_file_object_info(device, filedata))
   {
@@ -5390,11 +5939,22 @@
   ptp_usb->current_transfer_callback = callback;
   ptp_usb->current_transfer_callback_data = data;
 
+  /*
+   * We might need to increase the timeout here, files can be pretty
+   * large. Take the default timeout and add the calculated time for
+   * this transfer
+   */
+  get_usb_device_timeout(ptp_usb, &oldtimeout);
+  timeout = oldtimeout +
+    (ptp_usb->current_transfer_total / guess_usb_speed(ptp_usb)) * 1000;
+  set_usb_device_timeout(ptp_usb, timeout);
+
   ret = ptp_sendobject_fromfd(params, fd, filedata->filesize);
 
   ptp_usb->callback_active = 0;
   ptp_usb->current_transfer_callback = NULL;
   ptp_usb->current_transfer_callback_data = NULL;
+  set_usb_device_timeout(ptp_usb, oldtimeout);
 
   if (ret == PTP_ERROR_CANCEL) {
     add_error_to_errorstack(device, LIBMTP_ERROR_CANCELLED, "LIBMTP_Send_File_From_File_Descriptor(): Cancelled transfer.");
@@ -5409,7 +5969,7 @@
   add_object_to_cache(device, filedata->item_id);
 
   /*
-   * Get the device-assined parent_id from the cache.
+   * Get the device-assigned parent_id from the cache.
    * The operation that adds it to the cache will
    * look it up from the device, so we get the new
    * parent_id from the cache.
@@ -5554,24 +6114,29 @@
   PTPParams *params = (PTPParams *) device->params;
   PTP_USB *ptp_usb = (PTP_USB*) device->usbinfo;
   uint32_t store;
-
-#ifdef _AFT_BUILD
-  int use_primary_storage = 0;
-#else
   int use_primary_storage = 1;
-#endif
-
   uint16_t of = map_libmtp_type_to_ptp_type(filedata->filetype);
   LIBMTP_devicestorage_t *storage;
   uint32_t localph = filedata->parent_id;
   uint16_t ret;
   int i;
 
+#if 0
+  // Sanity check: no zerolength files on some devices?
+  // If the zerolength files cause problems on some devices,
+  // then add a bug flag for this.
+  if (filedata->filesize == 0) {
+    add_error_to_errorstack(device, LIBMTP_ERROR_GENERAL, "send_file_object_info(): "
+			    "File of zero size.");
+    return -1;
+  }
+#endif
   if (filedata->storage_id != 0) {
     store = filedata->storage_id;
   } else {
-    store = get_writeable_storageid(device, filedata->filesize);
+    store = get_suggested_storage_id(device, filedata->filesize, localph);
   }
+
   // Detect if something non-primary is in use.
   storage = device->storage;
   if (storage != NULL && store != storage->id) {
@@ -5618,11 +6183,6 @@
     }
   }
 
-  // default parent handle
-  if (localph == 0) {
-    localph = 0xFFFFFFFFU; // Set to -1
-  }
-
   // Here we wire the type to unknown on bugged, but
   // Ogg or FLAC-supportive devices.
   if (FLAG_OGG_IS_UNKNOWN(ptp_usb) && of == PTP_OFC_MTP_OGG) {
@@ -5699,6 +6259,10 @@
     uint16_t *properties = NULL;
     uint32_t propcnt = 0;
 
+    // default parent handle
+    if (localph == 0)
+      localph = 0xFFFFFFFFU; // Set to -1
+
     // Must be 0x00000000U for new objects
     filedata->item_id = 0x00000000U;
 
@@ -5797,8 +6361,8 @@
     new_file.StorageID = store;
     new_file.ParentObject = localph;
     new_file.ModificationDate = time(NULL);
-    // Create the object
 
+    // Create the object
     ret = ptp_sendobjectinfo(params, &store, &localph, &filedata->item_id, &new_file);
 
     if (ret != PTP_RC_OK) {
@@ -6065,11 +6629,13 @@
 	  }
 	  break;
 	case PTP_OPC_Genre:
-	  // Update genre
-	  ret = set_object_string(device, metadata->item_id, PTP_OPC_Genre, metadata->genre);
-	  if (ret != 0) {
-	    add_error_to_errorstack(device, LIBMTP_ERROR_GENERAL, "LIBMTP_Update_Track_Metadata(): "
-				    "could not set track genre name.");
+	  // Update genre (but only if valid)
+	  if (metadata->genre) {
+	    ret = set_object_string(device, metadata->item_id, PTP_OPC_Genre, metadata->genre);
+	    if (ret != 0) {
+	      add_error_to_errorstack(device, LIBMTP_ERROR_GENERAL, "update_abstract_list(): "
+				      "could not set genre.");
+	    }
 	  }
 	  break;
 	case PTP_OPC_Duration:
@@ -6094,10 +6660,14 @@
 	  break;
 	case PTP_OPC_OriginalReleaseDate:
 	  // Update creation datetime
-	  ret = set_object_string(device, metadata->item_id, PTP_OPC_OriginalReleaseDate, metadata->date);
-	  if (ret != 0) {
-	    add_error_to_errorstack(device, LIBMTP_ERROR_GENERAL, "LIBMTP_Update_Track_Metadata(): "
-				    "could not set track release date.");
+	  // The date can be zero, but some devices do not support setting zero
+	  // dates (and it seems that a zero date should never be set anyway)
+	  if (metadata->date) {
+	    ret = set_object_string(device, metadata->item_id, PTP_OPC_OriginalReleaseDate, metadata->date);
+	    if (ret != 0) {
+	      add_error_to_errorstack(device, LIBMTP_ERROR_GENERAL, "LIBMTP_Update_Track_Metadata(): "
+				      "could not set track release date.");
+	    }
 	  }
 	  break;
 	  // These are, well not so important.
@@ -6624,7 +7194,8 @@
  */
 static LIBMTP_folder_t *get_subfolders_for_folder(LIBMTP_folder_t *list, uint32_t parent)
 {
-  LIBMTP_folder_t *retfolders = NULL, *children, *iter, *curr;
+  LIBMTP_folder_t *retfolders = NULL;
+  LIBMTP_folder_t *children, *iter, *curr;
 
   iter = list->sibling;
   while(iter != list) {
@@ -6661,9 +7232,11 @@
  * on the current MTP device.
  *
  * @param device a pointer to the device to get the folder listing for.
+ * @param storage a storage ID to get the folder list from
  * @return a list of folders
  */
-LIBMTP_folder_t *LIBMTP_Get_Folder_List(LIBMTP_mtpdevice_t *device)
+ LIBMTP_folder_t *LIBMTP_Get_Folder_List_For_Storage(LIBMTP_mtpdevice_t *device,
+						    uint32_t const storage)
 {
   PTPParams *params = (PTPParams *) device->params;
   LIBMTP_folder_t head, *rv;
@@ -6696,6 +7269,11 @@
     if (ob->oi.ObjectFormat != PTP_OFC_Association) {
       continue;
     }
+
+    if (storage != PTP_GOH_ALL_STORAGE && storage != ob->oi.StorageID) {
+      continue;
+    }
+
     /*
      * Do we know how to handle these? They are part
      * of the MTP 1.0 specification paragraph 3.6.4.
@@ -6705,7 +7283,7 @@
      * children, because we rely on that instead.
      */
     if (ob->oi.AssociationDesc != 0x00000000U) {
-      printf("MTP extended association type 0x%08x encountered\n", ob->oi.AssociationDesc);
+      LIBMTP_INFO("MTP extended association type 0x%08x encountered\n", ob->oi.AssociationDesc);
     }
 
     // Create a folder struct...
@@ -6726,14 +7304,24 @@
     head.sibling = folder;
   }
 
-  // We begin at the root folder and get them all recursively
-  rv = get_subfolders_for_folder(&head, 0x00000000);
+  // We begin at the given root folder and get them all recursively
+  rv = get_subfolders_for_folder(&head, 0x00000000U);
+
+  // Some buggy devices may have some files in the "root folder"
+  // 0xffffffff so if 0x00000000 didn't return any folders,
+  // look for children of the root 0xffffffffU
+  if (rv == NULL) {
+    rv = get_subfolders_for_folder(&head, 0xffffffffU);
+    if (rv != NULL)
+      LIBMTP_ERROR("Device have files in \"root folder\" 0xffffffffU - "
+		   "this is a firmware bug (but continuing)\n");
+  }
 
   // The temp list should be empty. Clean up any orphans just in case.
   while(head.sibling != &head) {
     LIBMTP_folder_t *curr = head.sibling;
 
-    printf("Orphan folder with ID: 0x%08x name: \"%s\" encountered.\n",
+    LIBMTP_INFO("Orphan folder with ID: 0x%08x name: \"%s\" encountered.\n",
 	   curr->folder_id,
 	   curr->name);
     curr->sibling->child = curr->child;
@@ -6747,6 +7335,18 @@
 }
 
 /**
+ * This returns a list of all folders available
+ * on the current MTP device.
+ *
+ * @param device a pointer to the device to get the folder listing for.
+ * @return a list of folders
+ */
+LIBMTP_folder_t *LIBMTP_Get_Folder_List(LIBMTP_mtpdevice_t *device)
+{
+  return LIBMTP_Get_Folder_List_For_Storage(device, PTP_GOH_ALL_STORAGE);
+}
+
+/**
  * This create a folder on the current MTP device. The PTP name
  * for a folder is "association". The PTP/MTP devices does not
  * have an internal "folder" concept really, it contains a flat
@@ -6758,7 +7358,7 @@
  *        if the device does not support all the characters in the
  *        name.
  * @param parent_id id of parent folder to add the new folder to,
- *        or 0 to put it in the root directory.
+ *        or 0xFFFFFFFF to put it in the root directory.
  * @param storage_id id of the storage to add this new folder to.
  *        notice that you cannot mismatch storage id and parent id:
  *        they must both be on the same storage! Pass in 0 if you
@@ -6778,15 +7378,10 @@
 
   if (storage_id == 0) {
     // I'm just guessing that a folder may require 512 bytes
-    store = get_writeable_storageid(device, 512);
+    store = get_suggested_storage_id(device, 512, parent_id);
   } else {
     store = storage_id;
   }
-
-  if (parent_id == 0) {
-    parent_id = 0xFFFFFFFFU; // Set to -1
-  }
-
   parenthandle = parent_id;
 
   memset(&new_folder, 0, sizeof(new_folder));
@@ -6794,7 +7389,7 @@
   if (FLAG_ONLY_7BIT_FILENAMES(ptp_usb)) {
     strip_7bit_from_utf8(new_folder.Filename);
   }
-  new_folder.ObjectCompressedSize = 1;
+  new_folder.ObjectCompressedSize = 0;
   new_folder.ObjectFormat = PTP_OFC_Association;
   new_folder.ProtectionStatus = PTP_PS_NoProtection;
   new_folder.AssociationType = PTP_AT_GenericFolder;
@@ -6802,8 +7397,25 @@
   new_folder.StorageID = store;
 
   // Create the object
-  // FIXME: use send list here if available.
-  ret = ptp_sendobjectinfo(params, &store, &parenthandle, &new_id, &new_folder);
+  if (!(params->device_flags & DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST) &&
+	ptp_operation_issupported(params,PTP_OC_MTP_SendObjectPropList)) {
+	MTPProperties *props = (MTPProperties*)calloc(2,sizeof(MTPProperties));
+
+	props[0].property = PTP_OPC_ObjectFileName;
+	props[0].datatype = PTP_DTC_STR;
+	props[0].propval.str = name;
+
+	props[1].property = PTP_OPC_Name;
+	props[1].datatype = PTP_DTC_STR;
+	props[1].propval.str = name;
+
+	ret = ptp_mtp_sendobjectproplist(params, &store, &parenthandle, &new_id, PTP_OFC_Association,
+			0, props, 1);
+	free(props);
+  } else {
+	ret = ptp_sendobjectinfo(params, &store, &parenthandle, &new_id, &new_folder);
+  }
+
   if (ret != PTP_RC_OK) {
     add_ptp_error_to_errorstack(device, ret, "LIBMTP_Create_Folder: Could not send object info.");
     if (ret == PTP_RC_AccessDenied) {
@@ -7061,11 +7673,17 @@
   PTPParams *params = (PTPParams *) device->params;
   PTP_USB *ptp_usb = (PTP_USB*) device->usbinfo;
   char fname[256];
-  uint8_t data[2];
+  //uint8_t data[2];
+
+  // NULL check
+  if (!name) {
+    add_error_to_errorstack(device, LIBMTP_ERROR_GENERAL, "create_new_abstract_list(): list name was NULL, using default name \"Unknown\"");
+    return -1;
+  }
 
   if (storageid == 0) {
     // I'm just guessing that an abstract list may require 512 bytes
-    store = get_writeable_storageid(device, 512);
+    store = get_suggested_storage_id(device, 512, localph);
   } else {
     store = storageid;
   }
@@ -7078,8 +7696,8 @@
     }
   }
   if (!supported) {
-    add_error_to_errorstack(device, LIBMTP_ERROR_GENERAL, "create_new_abstract_list(): player does not support this abstract type.");
-    printf("Unsupported abstract list type: %04x\n", objectformat);
+    add_error_to_errorstack(device, LIBMTP_ERROR_GENERAL, "create_new_abstract_list(): player does not support this abstract type");
+    LIBMTP_ERROR("Unsupported abstract list type: %04x\n", objectformat);
     return -1;
   }
 
@@ -7231,7 +7849,8 @@
     if (FLAG_ONLY_7BIT_FILENAMES(ptp_usb)) {
       strip_7bit_from_utf8(new_object.Filename);
     }
-    new_object.ObjectCompressedSize = 1;
+    // At one point this had to be one
+    new_object.ObjectCompressedSize = 0;
     new_object.ObjectFormat = objectformat;
 
     // Create the object
@@ -7245,9 +7864,13 @@
     }
     // NOTE: don't destroy new_object objectinfo afterwards - the strings it contains are
     // not copies.
+
+#if 0
     /*
-     * We have to send this one blank data byte.
-     * If we don't, the handle will not be created and thus there is no playlist.
+     * At one time we had to send this one blank data byte.
+     * If we didn't, the handle will not be created and thus there is
+     * no playlist. Possibly this was masking some bug, so removing it
+     * now.
      */
     data[0] = '\0';
     data[1] = '\0';
@@ -7256,6 +7879,7 @@
       add_ptp_error_to_errorstack(device, ret, "create_new_abstract_list(): Could not send blank object data.");
       return -1;
     }
+#endif
 
     // set the properties one by one
     ret = ptp_mtp_getobjectpropssupported(params, objectformat, &propcnt, &properties);
@@ -7501,6 +8125,7 @@
 	  add_error_to_errorstack(device, LIBMTP_ERROR_GENERAL, "update_abstract_list(): "
 				  "could not set artist name.");
 	}
+	break;
       case PTP_OPC_Composer:
 	// Update composer
 	ret = set_object_string(device, objecthandle, PTP_OPC_Composer, composer);
@@ -7510,12 +8135,14 @@
 	}
 	break;
       case PTP_OPC_Genre:
-	// Update genre
-	ret = set_object_string(device, objecthandle, PTP_OPC_Genre, genre);
-	if (ret != 0) {
-	  add_error_to_errorstack(device, LIBMTP_ERROR_GENERAL, "update_abstract_list(): "
-				  "could not set genre.");
-	}
+	// Update genre (but only if valid)
+	if(genre) {
+	  ret = set_object_string(device, objecthandle, PTP_OPC_Genre, genre);
+	  if (ret != 0) {
+	    add_error_to_errorstack(device, LIBMTP_ERROR_GENERAL, "update_abstract_list(): "
+				    "could not set genre.");
+	  }
+        }
 	break;
       case PTP_OPC_DateModified:
 	// Update date modified
@@ -7528,6 +8155,7 @@
 	  }
 	  free(tmpdate);
 	}
+	break;
       default:
 	break;
       }
@@ -7816,6 +8444,7 @@
   }
 }
 
+
 /**
  * This function returns a list of the albums available on the
  * device.
@@ -7827,6 +8456,24 @@
  */
 LIBMTP_album_t *LIBMTP_Get_Album_List(LIBMTP_mtpdevice_t *device)
 {
+	// Read all storage devices
+	return LIBMTP_Get_Album_List_For_Storage(device, 0);
+}
+
+
+/**
+ * This function returns a list of the albums available on the
+ * device. You can filter on the storage ID.
+ *
+ * @param device a pointer to the device to get the album listing from.
+ * @param storage_id ID of device storage (if null, all storages)
+ *
+ * @return an album list on success, else NULL. If there are no albums
+ *         on the device, NULL will be returned as well.
+ * @see LIBMTP_Get_Album()
+ */
+LIBMTP_album_t *LIBMTP_Get_Album_List_For_Storage(LIBMTP_mtpdevice_t *device, uint32_t const storage_id)
+{
   PTPParams *params = (PTPParams *) device->params;
   LIBMTP_album_t *retalbums = NULL;
   LIBMTP_album_t *curalbum = NULL;
@@ -7847,6 +8494,10 @@
     if ( ob->oi.ObjectFormat != PTP_OFC_MTP_AbstractAudioAlbum )
       continue;
 
+	// Ignore stuff that isn't into the storage device
+	if ((storage_id != 0) && (ob->oi.StorageID != storage_id ))
+		continue;
+
     // Allocate a new album type
     alb = LIBMTP_new_album_t();
     alb->album_id = ob->oid;
@@ -8031,7 +8682,7 @@
  *        supported sample type will be set, the supported height and
  *        width will be set to max values if it is an image sample,
  *        and duration will also be given some suitable default value
- *        which should not be exceeded on audio samples. If the 
+ *        which should not be exceeded on audio samples. If the
  *        device does not support samples for this filetype, this
  *        pointer will be NULL. If it is not NULL, the user must
  *        destroy this struct with <code>LIBMTP_destroy_filesampledata_t()</code>
@@ -8062,10 +8713,10 @@
   PTPObjectPropDesc opd_format;
   PTPObjectPropDesc opd_duration;
   PTPObjectPropDesc opd_size;
-  
+
   // Default to no type supported.
   *sample = NULL;
-  
+
   ret = ptp_mtp_getobjectpropssupported(params, map_libmtp_type_to_ptp_type(filetype), &propcnt, &props);
   if (ret != PTP_RC_OK) {
     add_ptp_error_to_errorstack(device, ret, "LIBMTP_Get_Representative_Sample_Format(): could not get object properties.");
@@ -8073,7 +8724,7 @@
   }
   /*
    * TODO: when walking through these object properties, make calls to
-   * a new function in ptp.h/ptp.c that can send the command 
+   * a new function in ptp.h/ptp.c that can send the command
    * PTP_OC_MTP_GetObjectPropDesc to get max/min values of the properties
    * supported.
    */
@@ -8102,25 +8753,25 @@
     }
   }
   free(props);
-    
+
   if (support_data && support_format && support_height && support_width && !support_duration) {
     // Something that supports height and width and not duration is likely to be JPEG
     LIBMTP_filesampledata_t *retsam = LIBMTP_new_filesampledata_t();
-    /* 
-     * Populate the sample format with the first supported format 
-     * 
+    /*
+     * Populate the sample format with the first supported format
+     *
      * TODO: figure out how to pass back more than one format if more are
      * supported by the device.
      */
-    ptp_mtp_getobjectpropdesc (params, PTP_OPC_RepresentativeSampleFormat, map_libmtp_type_to_ptp_type(filetype), &opd_format);    
+    ptp_mtp_getobjectpropdesc (params, PTP_OPC_RepresentativeSampleFormat, map_libmtp_type_to_ptp_type(filetype), &opd_format);
     retsam->filetype = map_ptp_type_to_libmtp_type(opd_format.FORM.Enum.SupportedValue[0].u16);
     ptp_free_objectpropdesc(&opd_format);
     /* Populate the maximum image height */
-    ptp_mtp_getobjectpropdesc (params, PTP_OPC_RepresentativeSampleWidth, map_libmtp_type_to_ptp_type(filetype), &opd_width);        
+    ptp_mtp_getobjectpropdesc (params, PTP_OPC_RepresentativeSampleWidth, map_libmtp_type_to_ptp_type(filetype), &opd_width);
     retsam->width = opd_width.FORM.Range.MaximumValue.u32;
     ptp_free_objectpropdesc(&opd_width);
     /* Populate the maximum image width */
-    ptp_mtp_getobjectpropdesc (params, PTP_OPC_RepresentativeSampleHeight, map_libmtp_type_to_ptp_type(filetype), &opd_height);    						
+    ptp_mtp_getobjectpropdesc (params, PTP_OPC_RepresentativeSampleHeight, map_libmtp_type_to_ptp_type(filetype), &opd_height);
     retsam->height = opd_height.FORM.Range.MaximumValue.u32;
     ptp_free_objectpropdesc(&opd_height);
     /* Populate the maximum size */
@@ -8133,17 +8784,17 @@
   } else if (support_data && support_format && !support_height && !support_width && support_duration) {
     // Another qualified guess
     LIBMTP_filesampledata_t *retsam = LIBMTP_new_filesampledata_t();
-    /* 
-     * Populate the sample format with the first supported format 
-     * 
+    /*
+     * Populate the sample format with the first supported format
+     *
      * TODO: figure out how to pass back more than one format if more are
      * supported by the device.
      */
-    ptp_mtp_getobjectpropdesc (params, PTP_OPC_RepresentativeSampleFormat, map_libmtp_type_to_ptp_type(filetype), &opd_format);    
+    ptp_mtp_getobjectpropdesc (params, PTP_OPC_RepresentativeSampleFormat, map_libmtp_type_to_ptp_type(filetype), &opd_format);
     retsam->filetype = map_ptp_type_to_libmtp_type(opd_format.FORM.Enum.SupportedValue[0].u16);
     ptp_free_objectpropdesc(&opd_format);
     /* Populate the maximum duration */
-    ptp_mtp_getobjectpropdesc (params, PTP_OPC_RepresentativeSampleDuration, map_libmtp_type_to_ptp_type(filetype), &opd_duration);    
+    ptp_mtp_getobjectpropdesc (params, PTP_OPC_RepresentativeSampleDuration, map_libmtp_type_to_ptp_type(filetype), &opd_duration);
     retsam->duration = opd_duration.FORM.Range.MaximumValue.u32;
     ptp_free_objectpropdesc(&opd_duration);
     /* Populate the maximum size */
@@ -8213,14 +8864,14 @@
     return -1;
   }
   free(props);
-  
+
   // Go ahead and send the data
   propval.a.count = sampledata->size;
   propval.a.v = malloc(sizeof(PTPPropertyValue) * sampledata->size);
   for (i = 0; i < sampledata->size; i++) {
     propval.a.v[i].u8 = sampledata->data[i];
   }
-  
+
   ret = ptp_mtp_setobjectpropvalue(params,id,PTP_OPC_RepresentativeSampleData,
 				   &propval,PTP_DTC_AUINT8);
   if (ret != PTP_RC_OK) {
@@ -8229,7 +8880,7 @@
     return -1;
   }
   free(propval.a.v);
-  
+
   /* Set the height and width if the sample is an image, otherwise just
    * set the duration and size */
   switch(sampledata->filetype) {
@@ -8243,16 +8894,16 @@
     if (!FLAG_BROKEN_SET_SAMPLE_DIMENSIONS(ptp_usb)) {
       // For images, set the height and width
       set_object_u32(device, id, PTP_OPC_RepresentativeSampleHeight, sampledata->height);
-      set_object_u32(device, id, PTP_OPC_RepresentativeSampleWidth, sampledata->width);		
+      set_object_u32(device, id, PTP_OPC_RepresentativeSampleWidth, sampledata->width);
     }
     break;
   default:
     // For anything not an image, set the duration and size
     set_object_u32(device, id, PTP_OPC_RepresentativeSampleDuration, sampledata->duration);
     set_object_u32(device, id, PTP_OPC_RepresentativeSampleSize, sampledata->size);
-    break;  		
+    break;
   }
-    
+
   return 0;
 }
 
@@ -8307,7 +8958,7 @@
     return -1;
   }
   free(props);
-  
+
   // Get the data
   ret = ptp_mtp_getobjectpropvalue(params,id,PTP_OPC_RepresentativeSampleData,
 				   &propval,PTP_DTC_AUINT8);
@@ -8315,7 +8966,7 @@
     add_ptp_error_to_errorstack(device, ret, "LIBMTP_Get_Representative_Sample(): could not get sample data.");
     return -1;
   }
-  
+
   // Store it
   sampledata->size = propval.a.count;
   sampledata->data = malloc(sizeof(PTPPropertyValue) * propval.a.count);
@@ -8324,17 +8975,143 @@
   }
   free(propval.a.v);
 
-  // Get the other properties  
+  // Get the other properties
   sampledata->width = get_u32_from_object(device, id, PTP_OPC_RepresentativeSampleWidth, 0);
   sampledata->height = get_u32_from_object(device, id, PTP_OPC_RepresentativeSampleHeight, 0);
   sampledata->duration = get_u32_from_object(device, id, PTP_OPC_RepresentativeSampleDuration, 0);
   sampledata->filetype = map_ptp_type_to_libmtp_type(
         get_u16_from_object(device, id, PTP_OPC_RepresentativeSampleFormat, LIBMTP_FILETYPE_UNKNOWN));
-    
+
   return 0;
 }
 
 /**
+ * Retrieve the thumbnail for a file.
+ * @param device a pointer to the device to get the thumbnail from.
+ * @param id the object ID of the file to retrieve the thumbnail for.
+ * @return 0 on success, any other value means failure.
+ */
+int LIBMTP_Get_Thumbnail(LIBMTP_mtpdevice_t *device, uint32_t const id,
+                         unsigned char **data, unsigned int *size)
+{
+  PTPParams *params = (PTPParams *) device->params;
+  uint16_t ret;
+
+  ret = ptp_getthumb(params, id, data, size);
+  if (ret == PTP_RC_OK)
+      return 0;
+  return -1;
+}
+
+
+int LIBMTP_GetPartialObject(LIBMTP_mtpdevice_t *device, uint32_t const id,
+                            uint64_t offset, uint32_t maxbytes,
+                            unsigned char **data, unsigned int *size)
+{
+  PTPParams *params = (PTPParams *) device->params;
+  uint16_t ret;
+
+  if (!ptp_operation_issupported(params, PTP_OC_ANDROID_GetPartialObject64)) {
+    if  (!ptp_operation_issupported(params, PTP_OC_GetPartialObject)) {
+      add_error_to_errorstack(device, LIBMTP_ERROR_GENERAL,
+        "LIBMTP_GetPartialObject: PTP_OC_GetPartialObject not supported");
+      return -1;
+    }
+
+    if (offset >> 32 != 0) {
+      add_error_to_errorstack(device, LIBMTP_ERROR_GENERAL,
+        "LIBMTP_GetPartialObject: PTP_OC_GetPartialObject only supports 32bit offsets");
+      return -1;
+    }
+
+    ret = ptp_getpartialobject(params, id, (uint32_t)offset, maxbytes, data, size);
+  } else {
+    ret = ptp_android_getpartialobject64(params, id, offset, maxbytes, data, size);
+  }
+  if (ret == PTP_RC_OK)
+      return 0;
+  return -1;
+}
+
+
+int LIBMTP_SendPartialObject(LIBMTP_mtpdevice_t *device, uint32_t const id,
+                             uint64_t offset, unsigned char *data, unsigned int size)
+{
+  PTPParams *params = (PTPParams *) device->params;
+  uint16_t ret;
+
+  if (!ptp_operation_issupported(params, PTP_OC_ANDROID_SendPartialObject)) {
+    add_error_to_errorstack(device, LIBMTP_ERROR_GENERAL,
+      "LIBMTP_SendPartialObject: PTP_OC_ANDROID_SendPartialObject not supported");
+    return -1;
+  }
+
+  ret = ptp_android_sendpartialobject(params, id, offset, data, size);
+  if (ret == PTP_RC_OK)
+      return 0;
+  return -1;
+}
+
+
+int LIBMTP_BeginEditObject(LIBMTP_mtpdevice_t *device, uint32_t const id)
+{
+  PTPParams *params = (PTPParams *) device->params;
+  uint16_t ret;
+
+  if (!ptp_operation_issupported(params, PTP_OC_ANDROID_BeginEditObject)) {
+    add_error_to_errorstack(device, LIBMTP_ERROR_GENERAL,
+      "LIBMTP_BeginEditObject: PTP_OC_ANDROID_BeginEditObject not supported");
+    return -1;
+  }
+
+  ret = ptp_android_begineditobject(params, id);
+  if (ret == PTP_RC_OK)
+      return 0;
+  return -1;
+}
+
+
+int LIBMTP_EndEditObject(LIBMTP_mtpdevice_t *device, uint32_t const id)
+{
+  PTPParams *params = (PTPParams *) device->params;
+  uint16_t ret;
+
+  if (!ptp_operation_issupported(params, PTP_OC_ANDROID_EndEditObject)) {
+    add_error_to_errorstack(device, LIBMTP_ERROR_GENERAL,
+      "LIBMTP_EndEditObject: PTP_OC_ANDROID_EndEditObject not supported");
+    return -1;
+  }
+
+  ret = ptp_android_endeditobject(params, id);
+  if (ret == PTP_RC_OK) {
+      // update cached object properties if metadata cache exists
+      update_metadata_cache(device, id);
+      return 0;
+  }
+  return -1;
+}
+
+
+int LIBMTP_TruncateObject(LIBMTP_mtpdevice_t *device, uint32_t const id,
+                          uint64_t offset)
+{
+  PTPParams *params = (PTPParams *) device->params;
+  uint16_t ret;
+
+  if (!ptp_operation_issupported(params, PTP_OC_ANDROID_TruncateObject)) {
+    add_error_to_errorstack(device, LIBMTP_ERROR_GENERAL,
+      "LIBMTP_TruncateObject: PTP_OC_ANDROID_TruncateObject not supported");
+    return -1;
+  }
+
+  ret = ptp_android_truncate(params, id, offset);
+  if (ret == PTP_RC_OK)
+      return 0;
+  return -1;
+}
+
+
+/**
  * This routine updates an album based on the metadata
  * supplied. If the <code>tracks</code> field of the metadata
  * contains a track listing, these tracks will be added to the
@@ -8374,7 +9151,7 @@
  * Add an object to cache.
  * @param device the device which may have a cache to which the object should be added.
  * @param object_id the object to add to the cache.
- */ 
+ */
 static void add_object_to_cache(LIBMTP_mtpdevice_t *device, uint32_t object_id)
 {
   PTPParams *params = (PTPParams *)device->params;
@@ -8399,3 +9176,36 @@
   ptp_remove_object_from_cache(params, object_id);
   add_object_to_cache(device, object_id);
 }
+
+
+/**
+ * Issue custom (e.g. vendor specific) operation (without data phase)
+ * @param device a pointer to the device to send custom operation to.
+ * @param code operation code to send.
+ * @param n_param number of parameters passed.
+ * @param ... uint32_t operation specific parameters.
+ */
+int LIBMTP_Custom_Operation(LIBMTP_mtpdevice_t *device, uint16_t code, int n_param, ...)
+{
+  PTPParams *params = (PTPParams *) device->params;
+  PTPContainer ptp;
+  va_list args;
+  uint16_t ret;
+  int i;
+
+  ptp.Code = code;
+  ptp.Nparam = n_param;
+  va_start(args, n_param);
+  for (i = 0; i < n_param; i++)
+    (&ptp.Param1)[i] = va_arg(args, uint32_t);
+  va_end(args);
+
+  ret = ptp_transaction_new(params, &ptp, PTP_DP_NODATA, 0, NULL);
+
+  if (ret != PTP_RC_OK) {
+    add_ptp_error_to_errorstack(device, ret, "LIBMTP_Custom_Operation(): failed to execute operation.");
+    return -1;
+  }
+
+  return 0;
+}
diff --git a/src/libmtp.h b/src/libmtp.h
deleted file mode 100644
index aebf0ae..0000000
--- a/src/libmtp.h
+++ /dev/null
@@ -1,941 +0,0 @@
-/**
- * \file libmtp.h
- * Interface to the Media Transfer Protocol library.
- *
- * Copyright (C) 2005-2008 Linus Walleij <triad@df.lth.se>
- * Copyright (C) 2005-2008 Richard A. Low <richard@wentnet.com>
- * Copyright (C) 2007 Ted Bullock <tbullock@canada.com>
- * Copyright (C) 2008 Florent Mertens <flomertens@gmail.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * <code>
- * #include <libmtp.h>
- * </code>
- */
-#ifndef LIBMTP_H_INCLUSION_GUARD
-#define LIBMTP_H_INCLUSION_GUARD
-
-#define LIBMTP_VERSION 1.0.1
-#define LIBMTP_VERSION_STRING "1.0.1"
-
-/* This handles MSVC pecularities */
-#ifdef _MSC_VER
-#include <windows.h>
-#define __WIN32__
-#define snprintf _snprintf
-#define ssize_t SSIZE_T
-/*
- * Types that do not exist in Windows
- * sys/types.h, but they exist in mingw32
- * sys/types.h.
- */
-typedef char int8_t;
-typedef unsigned char uint8_t;
-typedef __int16 int16_t;
-typedef unsigned __int16 uint16_t;
-typedef __int32 int32_t;
-typedef unsigned __int32 uint32_t;
-typedef unsigned __int64 uint64_t;
-#endif
-
-#include <stdio.h>
-#include <usb.h>
-#include <stdint.h>
-#include <utime.h>
-
-/**
- * @defgroup types libmtp global type definitions
- * @{
- * The filetypes defined here are the external types used
- * by the libmtp library interface. The types used internally
- * as PTP-defined enumerator types is something different.
- */
-typedef enum {
-  LIBMTP_FILETYPE_FOLDER,
-  LIBMTP_FILETYPE_WAV,
-  LIBMTP_FILETYPE_MP3,
-  LIBMTP_FILETYPE_WMA,
-  LIBMTP_FILETYPE_OGG,
-  LIBMTP_FILETYPE_AUDIBLE,
-  LIBMTP_FILETYPE_MP4,
-  LIBMTP_FILETYPE_UNDEF_AUDIO,
-  LIBMTP_FILETYPE_WMV,
-  LIBMTP_FILETYPE_AVI,
-  LIBMTP_FILETYPE_MPEG,
-  LIBMTP_FILETYPE_ASF,
-  LIBMTP_FILETYPE_QT,
-  LIBMTP_FILETYPE_UNDEF_VIDEO,
-  LIBMTP_FILETYPE_JPEG,
-  LIBMTP_FILETYPE_JFIF,
-  LIBMTP_FILETYPE_TIFF,
-  LIBMTP_FILETYPE_BMP,
-  LIBMTP_FILETYPE_GIF,
-  LIBMTP_FILETYPE_PICT,
-  LIBMTP_FILETYPE_PNG,
-  LIBMTP_FILETYPE_VCALENDAR1,
-  LIBMTP_FILETYPE_VCALENDAR2,
-  LIBMTP_FILETYPE_VCARD2,
-  LIBMTP_FILETYPE_VCARD3,
-  LIBMTP_FILETYPE_WINDOWSIMAGEFORMAT,
-  LIBMTP_FILETYPE_WINEXEC,
-  LIBMTP_FILETYPE_TEXT,
-  LIBMTP_FILETYPE_HTML,
-  LIBMTP_FILETYPE_FIRMWARE,
-  LIBMTP_FILETYPE_AAC,
-  LIBMTP_FILETYPE_MEDIACARD,
-  LIBMTP_FILETYPE_FLAC,
-  LIBMTP_FILETYPE_MP2,
-  LIBMTP_FILETYPE_M4A,
-  LIBMTP_FILETYPE_DOC,
-  LIBMTP_FILETYPE_XML,
-  LIBMTP_FILETYPE_XLS,
-  LIBMTP_FILETYPE_PPT,
-  LIBMTP_FILETYPE_MHT,
-  LIBMTP_FILETYPE_JP2,
-  LIBMTP_FILETYPE_JPX,
-  LIBMTP_FILETYPE_ALBUM,
-  LIBMTP_FILETYPE_PLAYLIST,
-  LIBMTP_FILETYPE_UNKNOWN
-} LIBMTP_filetype_t;
-
-/**
- * \def LIBMTP_FILETYPE_IS_AUDIO
- * Audio filetype test.
- *
- * For filetypes that can be either audio
- * or video, use LIBMTP_FILETYPE_IS_AUDIOVIDEO
- */
-#define LIBMTP_FILETYPE_IS_AUDIO(a)\
-(a == LIBMTP_FILETYPE_WAV ||\
- a == LIBMTP_FILETYPE_MP3 ||\
- a == LIBMTP_FILETYPE_MP2 ||\
- a == LIBMTP_FILETYPE_WMA ||\
- a == LIBMTP_FILETYPE_OGG ||\
- a == LIBMTP_FILETYPE_FLAC ||\
- a == LIBMTP_FILETYPE_AAC ||\
- a == LIBMTP_FILETYPE_M4A ||\
- a == LIBMTP_FILETYPE_AUDIBLE ||\
- a == LIBMTP_FILETYPE_UNDEF_AUDIO)
-
-/**
- *  \def LIBMTP_FILETYPE_IS_VIDEO
- *  Video filetype test.
- *
- * For filetypes that can be either audio
- * or video, use LIBMTP_FILETYPE_IS_AUDIOVIDEO
- */
-#define LIBMTP_FILETYPE_IS_VIDEO(a)\
-(a == LIBMTP_FILETYPE_WMV ||\
- a == LIBMTP_FILETYPE_AVI ||\
- a == LIBMTP_FILETYPE_MPEG ||\
- a == LIBMTP_FILETYPE_UNDEF_VIDEO)
-
-/**
- *  \def LIBMTP_FILETYPE_IS_AUDIOVIDEO
- *  Audio and&slash;or video filetype test.
- */
-#define LIBMTP_FILETYPE_IS_AUDIOVIDEO(a)\
-(a == LIBMTP_FILETYPE_MP4 ||\
- a == LIBMTP_FILETYPE_ASF ||\
- a == LIBMTP_FILETYPE_QT)
-
-/**
- *  \def LIBMTP_FILETYPE_IS_TRACK
- *  Test if filetype is a track.
- *  Use this to determine if the File API or Track API
- *  should be used to upload or download an object.
- */
-#define LIBMTP_FILETYPE_IS_TRACK(a)\
-(LIBMTP_FILETYPE_IS_AUDIO(a) ||\
- LIBMTP_FILETYPE_IS_VIDEO(a) ||\
- LIBMTP_FILETYPE_IS_AUDIOVIDEO(a))
-
-/**
- *  \def LIBMTP_FILETYPE_IS_IMAGE
- *  Image filetype test
- */
-#define LIBMTP_FILETYPE_IS_IMAGE(a)\
-(a == LIBMTP_FILETYPE_JPEG ||\
-a == LIBMTP_FILETYPE_JFIF ||\
-a == LIBMTP_FILETYPE_TIFF ||\
-a == LIBMTP_FILETYPE_BMP ||\
-a == LIBMTP_FILETYPE_GIF ||\
-a == LIBMTP_FILETYPE_PICT ||\
-a == LIBMTP_FILETYPE_PNG ||\
-a == LIBMTP_FILETYPE_JP2 ||\
-a == LIBMTP_FILETYPE_JPX ||\
-a == LIBMTP_FILETYPE_WINDOWSIMAGEFORMAT)
-
-/**
- *  \def LIBMTP_FILETYPE_IS_ADDRESSBOOK
- *  Addressbook and Business card filetype test
- */
-#define LIBMTP_FILETYPE_IS_ADDRESSBOOK(a)\
-(a == LIBMTP_FILETYPE_VCARD2 ||\
-a == LIBMTP_FILETYPE_VCARD2)
-
-/**
- *  \def LIBMTP_FILETYPE_IS_CALENDAR
- *  Calendar and Appointment filetype test
- */
-#define LIBMTP_FILETYPE_IS_CALENDAR(a)\
-(a == LIBMTP_FILETYPE_VCALENDAR1 ||\
-a == LIBMTP_FILETYPE_VCALENDAR2)
-
-/**
- * The properties defined here are the external types used
- * by the libmtp library interface.
- */
-typedef enum {
-  LIBMTP_PROPERTY_StorageID,
-  LIBMTP_PROPERTY_ObjectFormat,
-  LIBMTP_PROPERTY_ProtectionStatus,
-  LIBMTP_PROPERTY_ObjectSize,
-  LIBMTP_PROPERTY_AssociationType,
-  LIBMTP_PROPERTY_AssociationDesc,
-  LIBMTP_PROPERTY_ObjectFileName,
-  LIBMTP_PROPERTY_DateCreated,
-  LIBMTP_PROPERTY_DateModified,
-  LIBMTP_PROPERTY_Keywords,
-  LIBMTP_PROPERTY_ParentObject,
-  LIBMTP_PROPERTY_AllowedFolderContents,
-  LIBMTP_PROPERTY_Hidden,
-  LIBMTP_PROPERTY_SystemObject,
-  LIBMTP_PROPERTY_PersistantUniqueObjectIdentifier,
-  LIBMTP_PROPERTY_SyncID,
-  LIBMTP_PROPERTY_PropertyBag,
-  LIBMTP_PROPERTY_Name,
-  LIBMTP_PROPERTY_CreatedBy,
-  LIBMTP_PROPERTY_Artist,
-  LIBMTP_PROPERTY_DateAuthored,
-  LIBMTP_PROPERTY_Description,
-  LIBMTP_PROPERTY_URLReference,
-  LIBMTP_PROPERTY_LanguageLocale,
-  LIBMTP_PROPERTY_CopyrightInformation,
-  LIBMTP_PROPERTY_Source,
-  LIBMTP_PROPERTY_OriginLocation,
-  LIBMTP_PROPERTY_DateAdded,
-  LIBMTP_PROPERTY_NonConsumable,
-  LIBMTP_PROPERTY_CorruptOrUnplayable,
-  LIBMTP_PROPERTY_ProducerSerialNumber,
-  LIBMTP_PROPERTY_RepresentativeSampleFormat,
-  LIBMTP_PROPERTY_RepresentativeSampleSize,
-  LIBMTP_PROPERTY_RepresentativeSampleHeight,
-  LIBMTP_PROPERTY_RepresentativeSampleWidth,
-  LIBMTP_PROPERTY_RepresentativeSampleDuration,
-  LIBMTP_PROPERTY_RepresentativeSampleData,
-  LIBMTP_PROPERTY_Width,
-  LIBMTP_PROPERTY_Height,
-  LIBMTP_PROPERTY_Duration,
-  LIBMTP_PROPERTY_Rating,
-  LIBMTP_PROPERTY_Track,
-  LIBMTP_PROPERTY_Genre,
-  LIBMTP_PROPERTY_Credits,
-  LIBMTP_PROPERTY_Lyrics,
-  LIBMTP_PROPERTY_SubscriptionContentID,
-  LIBMTP_PROPERTY_ProducedBy,
-  LIBMTP_PROPERTY_UseCount,
-  LIBMTP_PROPERTY_SkipCount,
-  LIBMTP_PROPERTY_LastAccessed,
-  LIBMTP_PROPERTY_ParentalRating,
-  LIBMTP_PROPERTY_MetaGenre,
-  LIBMTP_PROPERTY_Composer,
-  LIBMTP_PROPERTY_EffectiveRating,
-  LIBMTP_PROPERTY_Subtitle,
-  LIBMTP_PROPERTY_OriginalReleaseDate,
-  LIBMTP_PROPERTY_AlbumName,
-  LIBMTP_PROPERTY_AlbumArtist,
-  LIBMTP_PROPERTY_Mood,
-  LIBMTP_PROPERTY_DRMStatus,
-  LIBMTP_PROPERTY_SubDescription,
-  LIBMTP_PROPERTY_IsCropped,
-  LIBMTP_PROPERTY_IsColorCorrected,
-  LIBMTP_PROPERTY_ImageBitDepth,
-  LIBMTP_PROPERTY_Fnumber,
-  LIBMTP_PROPERTY_ExposureTime,
-  LIBMTP_PROPERTY_ExposureIndex,
-  LIBMTP_PROPERTY_DisplayName,
-  LIBMTP_PROPERTY_BodyText,
-  LIBMTP_PROPERTY_Subject,
-  LIBMTP_PROPERTY_Priority,
-  LIBMTP_PROPERTY_GivenName,
-  LIBMTP_PROPERTY_MiddleNames,
-  LIBMTP_PROPERTY_FamilyName,
-  LIBMTP_PROPERTY_Prefix,
-  LIBMTP_PROPERTY_Suffix,
-  LIBMTP_PROPERTY_PhoneticGivenName,
-  LIBMTP_PROPERTY_PhoneticFamilyName,
-  LIBMTP_PROPERTY_EmailPrimary,
-  LIBMTP_PROPERTY_EmailPersonal1,
-  LIBMTP_PROPERTY_EmailPersonal2,
-  LIBMTP_PROPERTY_EmailBusiness1,
-  LIBMTP_PROPERTY_EmailBusiness2,
-  LIBMTP_PROPERTY_EmailOthers,
-  LIBMTP_PROPERTY_PhoneNumberPrimary,
-  LIBMTP_PROPERTY_PhoneNumberPersonal,
-  LIBMTP_PROPERTY_PhoneNumberPersonal2,
-  LIBMTP_PROPERTY_PhoneNumberBusiness,
-  LIBMTP_PROPERTY_PhoneNumberBusiness2,
-  LIBMTP_PROPERTY_PhoneNumberMobile,
-  LIBMTP_PROPERTY_PhoneNumberMobile2,
-  LIBMTP_PROPERTY_FaxNumberPrimary,
-  LIBMTP_PROPERTY_FaxNumberPersonal,
-  LIBMTP_PROPERTY_FaxNumberBusiness,
-  LIBMTP_PROPERTY_PagerNumber,
-  LIBMTP_PROPERTY_PhoneNumberOthers,
-  LIBMTP_PROPERTY_PrimaryWebAddress,
-  LIBMTP_PROPERTY_PersonalWebAddress,
-  LIBMTP_PROPERTY_BusinessWebAddress,
-  LIBMTP_PROPERTY_InstantMessengerAddress,
-  LIBMTP_PROPERTY_InstantMessengerAddress2,
-  LIBMTP_PROPERTY_InstantMessengerAddress3,
-  LIBMTP_PROPERTY_PostalAddressPersonalFull,
-  LIBMTP_PROPERTY_PostalAddressPersonalFullLine1,
-  LIBMTP_PROPERTY_PostalAddressPersonalFullLine2,
-  LIBMTP_PROPERTY_PostalAddressPersonalFullCity,
-  LIBMTP_PROPERTY_PostalAddressPersonalFullRegion,
-  LIBMTP_PROPERTY_PostalAddressPersonalFullPostalCode,
-  LIBMTP_PROPERTY_PostalAddressPersonalFullCountry,
-  LIBMTP_PROPERTY_PostalAddressBusinessFull,
-  LIBMTP_PROPERTY_PostalAddressBusinessLine1,
-  LIBMTP_PROPERTY_PostalAddressBusinessLine2,
-  LIBMTP_PROPERTY_PostalAddressBusinessCity,
-  LIBMTP_PROPERTY_PostalAddressBusinessRegion,
-  LIBMTP_PROPERTY_PostalAddressBusinessPostalCode,
-  LIBMTP_PROPERTY_PostalAddressBusinessCountry,
-  LIBMTP_PROPERTY_PostalAddressOtherFull,
-  LIBMTP_PROPERTY_PostalAddressOtherLine1,
-  LIBMTP_PROPERTY_PostalAddressOtherLine2,
-  LIBMTP_PROPERTY_PostalAddressOtherCity,
-  LIBMTP_PROPERTY_PostalAddressOtherRegion,
-  LIBMTP_PROPERTY_PostalAddressOtherPostalCode,
-  LIBMTP_PROPERTY_PostalAddressOtherCountry,
-  LIBMTP_PROPERTY_OrganizationName,
-  LIBMTP_PROPERTY_PhoneticOrganizationName,
-  LIBMTP_PROPERTY_Role,
-  LIBMTP_PROPERTY_Birthdate,
-  LIBMTP_PROPERTY_MessageTo,
-  LIBMTP_PROPERTY_MessageCC,
-  LIBMTP_PROPERTY_MessageBCC,
-  LIBMTP_PROPERTY_MessageRead,
-  LIBMTP_PROPERTY_MessageReceivedTime,
-  LIBMTP_PROPERTY_MessageSender,
-  LIBMTP_PROPERTY_ActivityBeginTime,
-  LIBMTP_PROPERTY_ActivityEndTime,
-  LIBMTP_PROPERTY_ActivityLocation,
-  LIBMTP_PROPERTY_ActivityRequiredAttendees,
-  LIBMTP_PROPERTY_ActivityOptionalAttendees,
-  LIBMTP_PROPERTY_ActivityResources,
-  LIBMTP_PROPERTY_ActivityAccepted,
-  LIBMTP_PROPERTY_Owner,
-  LIBMTP_PROPERTY_Editor,
-  LIBMTP_PROPERTY_Webmaster,
-  LIBMTP_PROPERTY_URLSource,
-  LIBMTP_PROPERTY_URLDestination,
-  LIBMTP_PROPERTY_TimeBookmark,
-  LIBMTP_PROPERTY_ObjectBookmark,
-  LIBMTP_PROPERTY_ByteBookmark,
-  LIBMTP_PROPERTY_LastBuildDate,
-  LIBMTP_PROPERTY_TimetoLive,
-  LIBMTP_PROPERTY_MediaGUID,
-  LIBMTP_PROPERTY_TotalBitRate,
-  LIBMTP_PROPERTY_BitRateType,
-  LIBMTP_PROPERTY_SampleRate,
-  LIBMTP_PROPERTY_NumberOfChannels,
-  LIBMTP_PROPERTY_AudioBitDepth,
-  LIBMTP_PROPERTY_ScanDepth,
-  LIBMTP_PROPERTY_AudioWAVECodec,
-  LIBMTP_PROPERTY_AudioBitRate,
-  LIBMTP_PROPERTY_VideoFourCCCodec,
-  LIBMTP_PROPERTY_VideoBitRate,
-  LIBMTP_PROPERTY_FramesPerThousandSeconds,
-  LIBMTP_PROPERTY_KeyFrameDistance,
-  LIBMTP_PROPERTY_BufferSize,
-  LIBMTP_PROPERTY_EncodingQuality,
-  LIBMTP_PROPERTY_EncodingProfile,
-  LIBMTP_PROPERTY_BuyFlag,
-  LIBMTP_PROPERTY_UNKNOWN
-} LIBMTP_property_t;
-
-/**
- * These are the data types
- */
-typedef enum {
-  LIBMTP_DATATYPE_INT8,
-  LIBMTP_DATATYPE_UINT8,
-  LIBMTP_DATATYPE_INT16,
-  LIBMTP_DATATYPE_UINT16,
-  LIBMTP_DATATYPE_INT32,
-  LIBMTP_DATATYPE_UINT32,
-  LIBMTP_DATATYPE_INT64,
-  LIBMTP_DATATYPE_UINT64,
-} LIBMTP_datatype_t;
-
-/**
- * These are the numbered error codes. You can also
- * get string representations for errors.
- */
-typedef enum {
-  LIBMTP_ERROR_NONE,
-  LIBMTP_ERROR_GENERAL,
-  LIBMTP_ERROR_PTP_LAYER,
-  LIBMTP_ERROR_USB_LAYER,
-  LIBMTP_ERROR_MEMORY_ALLOCATION,
-  LIBMTP_ERROR_NO_DEVICE_ATTACHED,
-  LIBMTP_ERROR_STORAGE_FULL,
-  LIBMTP_ERROR_CONNECTING,
-  LIBMTP_ERROR_CANCELLED
-} LIBMTP_error_number_t;
-typedef struct LIBMTP_device_entry_struct LIBMTP_device_entry_t; /**< @see LIBMTP_device_entry_struct */
-typedef struct LIBMTP_raw_device_struct LIBMTP_raw_device_t; /**< @see LIBMTP_raw_device_struct */
-typedef struct LIBMTP_error_struct LIBMTP_error_t; /**< @see LIBMTP_error_struct */
-typedef struct LIBMTP_allowed_values_struct LIBMTP_allowed_values_t; /**< @see LIBMTP_allowed_values_struct */
-typedef struct LIBMTP_mtpdevice_struct LIBMTP_mtpdevice_t; /**< @see LIBMTP_mtpdevice_struct */
-typedef struct LIBMTP_file_struct LIBMTP_file_t; /**< @see LIBMTP_file_struct */
-typedef struct LIBMTP_track_struct LIBMTP_track_t; /**< @see LIBMTP_track_struct */
-typedef struct LIBMTP_playlist_struct LIBMTP_playlist_t; /**< @see LIBMTP_playlist_struct */
-typedef struct LIBMTP_album_struct LIBMTP_album_t; /**< @see LIBMTP_album_struct */
-typedef struct LIBMTP_folder_struct LIBMTP_folder_t; /**< @see LIBMTP_folder_t */
-typedef struct LIBMTP_object_struct LIBMTP_object_t; /**< @see LIBMTP_object_t */
-typedef struct LIBMTP_filesampledata_struct LIBMTP_filesampledata_t; /**< @see LIBMTP_filesample_t */
-typedef struct LIBMTP_devicestorage_struct LIBMTP_devicestorage_t; /**< @see LIBMTP_devicestorage_t */
-
-/**
- * The callback type definition. Notice that a progress percentage ratio
- * is easy to calculate by dividing <code>sent</code> by
- * <code>total</code>.
- * @param sent the number of bytes sent so far
- * @param total the total number of bytes to send
- * @param data a user-defined dereferencable pointer
- * @return if anything else than 0 is returned, the current transfer will be
- *         interrupted / cancelled.
- */
-typedef int (* LIBMTP_progressfunc_t) (uint64_t const sent, uint64_t const total,
-                		void const * const data);
-
-/**
- * Callback function for get by handler function
- * @param params the device parameters
- * @param priv a user-defined dereferencable pointer
- * @param wantlen the number of bytes wanted
- * @param data a buffer to write the data to
- * @param gotlen pointer to the number of bytes actually written
- *        to data
- * @return LIBMTP_HANDLER_RETURN_OK if successful,
- *         LIBMTP_HANDLER_RETURN_ERROR on error or
- *         LIBMTP_HANDLER_RETURN_CANCEL to cancel the transfer
- */
-typedef uint16_t (* MTPDataGetFunc)	(void* params, void* priv,
-					uint32_t wantlen, unsigned char *data, uint32_t *gotlen);
-
-/**
- * Callback function for put by handler function
- * @param params the device parameters
- * @param priv a user-defined dereferencable pointer
- * @param sendlen the number of bytes available
- * @param data a buffer to read the data from
- * @param putlen pointer to the number of bytes actually read
- *        from data
- * @return LIBMTP_HANDLER_RETURN_OK if successful,
- *         LIBMTP_HANDLER_RETURN_ERROR on error or
- *         LIBMTP_HANDLER_RETURN_CANCEL to cancel the transfer
- */
-typedef uint16_t (* MTPDataPutFunc)	(void* params, void* priv,
-					uint32_t sendlen, unsigned char *data, uint32_t *putlen);
-
-/**
- * The return codes for the get/put functions
- */
-#define LIBMTP_HANDLER_RETURN_OK 0
-#define LIBMTP_HANDLER_RETURN_ERROR 1
-#define LIBMTP_HANDLER_RETURN_CANCEL 2
-
-/**
- * @}
- * @defgroup structar libmtp data structures
- * @{
- */
-
-/**
- * A data structure to hold MTP device entries.
- */
-struct LIBMTP_device_entry_struct {
-  char *vendor; /**< The vendor of this device */
-  uint16_t vendor_id; /**< Vendor ID for this device */
-  char *product; /**< The product name of this device */
-  uint16_t product_id; /**< Product ID for this device */
-  uint32_t device_flags; /**< Bugs, device specifics etc */
-};
-
-/**
- * A data structure to hold a raw MTP device connected
- * to the bus.
- */
-struct LIBMTP_raw_device_struct {
-  LIBMTP_device_entry_t device_entry; /**< The device entry for this raw device */
-  uint32_t bus_location; /**< Location of the bus, if device available */
-  uint8_t devnum; /**< Device number on the bus, if device available */
-};
-
-/**
- * A data structure to hold errors from the library.
- */
-struct LIBMTP_error_struct {
-  LIBMTP_error_number_t errornumber;
-  char *error_text;
-  LIBMTP_error_t *next;
-};
-
-/**
- * A data structure to hold allowed ranges of values
- */
-struct LIBMTP_allowed_values_struct {
-  uint8_t   u8max;
-  uint8_t   u8min;
-  uint8_t   u8step;
-  uint8_t*  u8vals;
-  int8_t    i8max;
-  int8_t    i8min;
-  int8_t    i8step;
-  int8_t*   i8vals;
-  uint16_t  u16max;
-  uint16_t  u16min;
-  uint16_t  u16step;
-  uint16_t* u16vals;
-  int16_t   i16max;
-  int16_t   i16min;
-  int16_t   i16step;
-  int16_t*  i16vals;
-  uint32_t  u32max;
-  uint32_t  u32min;
-  uint32_t  u32step;
-  uint32_t* u32vals;
-  int32_t   i32max;
-  int32_t   i32min;
-  int32_t   i32step;
-  int32_t*  i32vals;
-  uint64_t  u64max;
-  uint64_t  u64min;
-  uint64_t  u64step;
-  uint64_t* u64vals;
-  int64_t   i64max;
-  int64_t   i64min;
-  int64_t   i64step;
-  int64_t*  i64vals;
-  /**
-   * Number of entries in the vals array
-   */
-  uint16_t  num_entries;
-  /**
-   * The datatype specifying which of the above is used
-  */
-  LIBMTP_datatype_t datatype;
-  /**
-   * Non zero for range, 0 for enum
-  */
-  int is_range;
-};
-
-/**
- * Main MTP device object struct
- */
-struct LIBMTP_mtpdevice_struct {
-  /**
-   * Object bitsize, typically 32 or 64.
-   */
-  uint8_t object_bitsize;
-  /**
-   * Parameters for this device, must be cast into
-   * \c (PTPParams*) before internal use.
-   */
-  void *params;
-  /**
-   * USB device for this device, must be cast into
-   * \c (PTP_USB*) before internal use.
-   */
-  void *usbinfo;
-  /** 
-   * The storage for this device, do not use strings in here without 
-   * copying them first, and beware that this list may be rebuilt at
-   * any time.
-   * @see LIBMTP_Get_Storage()
-   */
-  LIBMTP_devicestorage_t *storage;
-  /**
-   * The error stack. This shall be handled using the error getting
-   * and clearing functions, not by dereferencing this list.
-   */
-  LIBMTP_error_t *errorstack;
-  /** The maximum battery level for this device */
-  uint8_t maximum_battery_level;
-  /** Default music folder */
-  uint32_t default_music_folder;
-  /** Default playlist folder */
-  uint32_t default_playlist_folder;
-  /** Default picture folder */
-  uint32_t default_picture_folder;
-  /** Default video folder */
-  uint32_t default_video_folder;
-  /** Default organizer folder */
-  uint32_t default_organizer_folder;
-  /** Default ZENcast folder (only Creative devices...) */
-  uint32_t default_zencast_folder;
-  /** Default Album folder */
-  uint32_t default_album_folder;
-  /** Default Text folder */
-  uint32_t default_text_folder;
-  /** Per device iconv() converters, only used internally */
-  void *cd;
-  
-  /** Pointer to next device in linked list; NULL if this is the last device */
-  LIBMTP_mtpdevice_t *next;
-};
-
-/**
- * MTP file struct
- */
-struct LIBMTP_file_struct {
-  uint32_t item_id; /**< Unique item ID */
-  uint32_t parent_id; /**< ID of parent folder */
-  uint32_t storage_id; /**< ID of storage holding this file */
-  char *filename; /**< Filename of this file */
-  uint64_t filesize; /**< Size of file in bytes */
-  time_t modificationdate; /**< Date of last alteration of the file */
-  LIBMTP_filetype_t filetype; /**< Filetype used for the current file */
-  LIBMTP_file_t *next; /**< Next file in list or NULL if last file */
-};
-
-/**
- * MTP track struct
- */
-struct LIBMTP_track_struct {
-  uint32_t item_id; /**< Unique item ID */
-  uint32_t parent_id; /**< ID of parent folder */
-  uint32_t storage_id; /**< ID of storage holding this track */
-  char *title; /**< Track title */
-  char *artist; /**< Name of recording artist */
-  char *composer; /**< Name of recording composer */
-  char *genre; /**< Genre name for track */
-  char *album; /**< Album name for track */
-  char *date; /**< Date of original recording as a string */
-  char *filename; /**< Original filename of this track */
-  uint16_t tracknumber; /**< Track number (in sequence on recording) */
-  uint32_t duration; /**< Duration in milliseconds */
-  uint32_t samplerate; /**< Sample rate of original file, min 0x1f80 max 0xbb80 */
-  uint16_t nochannels; /**< Number of channels in this recording 0 = unknown, 1 or 2 */
-  uint32_t wavecodec; /**< FourCC wave codec name */
-  uint32_t bitrate; /**< (Average) bitrate for this file min=1 max=0x16e360 */
-  uint16_t bitratetype; /**< 0 = unused, 1 = constant, 2 = VBR, 3 = free */
-  uint16_t rating; /**< User rating 0-100 (0x00-0x64) */
-  uint32_t usecount; /**< Number of times used/played */
-  uint64_t filesize; /**< Size of track file in bytes */
-  time_t modificationdate; /**< Date of last alteration of the track */
-  LIBMTP_filetype_t filetype; /**< Filetype used for the current track */
-  LIBMTP_track_t *next; /**< Next track in list or NULL if last track */
-};
-
-/**
- * MTP Playlist structure
- */
-struct LIBMTP_playlist_struct {
-  uint32_t playlist_id; /**< Unique playlist ID */
-  uint32_t parent_id; /**< ID of parent folder */
-  uint32_t storage_id; /**< ID of storage holding this playlist */
-  char *name; /**< Name of playlist */
-  uint32_t *tracks; /**< The tracks in this playlist */
-  uint32_t no_tracks; /**< The number of tracks in this playlist */
-  LIBMTP_playlist_t *next; /**< Next playlist or NULL if last playlist */
-};
-
-/**
- * MTP Album structure
- */
-struct LIBMTP_album_struct {
-  uint32_t album_id; /**< Unique playlist ID */
-  uint32_t parent_id; /**< ID of parent folder */
-  uint32_t storage_id; /**< ID of storage holding this album */
-  char *name; /**< Name of album */
-  char *artist; /**< Name of album artist */
-  char *composer; /**< Name of recording composer */
-  char *genre; /**< Genre of album */
-  uint32_t *tracks; /**< The tracks in this album */
-  uint32_t no_tracks; /**< The number of tracks in this album */
-  LIBMTP_album_t *next; /**< Next album or NULL if last album */
-};
-
-/**
- * MTP Folder structure
- */
-struct LIBMTP_folder_struct {
-  uint32_t folder_id; /**< Unique folder ID */
-  uint32_t parent_id; /**< ID of parent folder */
-  uint32_t storage_id; /**< ID of storage holding this folder */
-  char *name; /**< Name of folder */
-  LIBMTP_folder_t *sibling; /**< Next folder at same level or NULL if no more */
-  LIBMTP_folder_t *child; /**< Child folder or NULL if no children */
-};
-
-/**
- * LIBMTP Object RepresentativeSampleData Structure
- */
-struct LIBMTP_filesampledata_struct {
-  uint32_t width; /**< Width of sample if it is an image */
-  uint32_t height; /**< Height of sample if it is an image */
-  uint32_t duration; /**< Duration in milliseconds if it is audio */
-  LIBMTP_filetype_t filetype; /**< Filetype used for the sample */
-  uint64_t size; /**< Size of sample data in bytes */
-  char *data; /**< Sample data */
-};
-
-/**
- * LIBMTP Device Storage structure
- */
-struct LIBMTP_devicestorage_struct {
-  uint32_t id; /**< Unique ID for this storage */
-  uint16_t StorageType; /**< Storage type */
-  uint16_t FilesystemType; /**< Filesystem type */
-  uint16_t AccessCapability; /**< Access capability */
-  uint64_t MaxCapacity; /**< Maximum capability */
-  uint64_t FreeSpaceInBytes; /**< Free space in bytes */
-  uint64_t FreeSpaceInObjects; /**< Free space in objects */
-  char *StorageDescription; /**< A brief description of this storage */
-  char *VolumeIdentifier; /**< A volume identifier */
-  LIBMTP_devicestorage_t *next; /**< Next storage, follow this link until NULL */
-  LIBMTP_devicestorage_t *prev; /**< Previous storage */
-};
-  
-
-/** @} */
-
-/* Make functions available for C++ */
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @defgroup internals The libmtp internals API.
- * @{
- */
-void LIBMTP_Init(void);
-int LIBMTP_Get_Supported_Devices_List(LIBMTP_device_entry_t ** const, int * const);
-/**
- * @}
- * @defgroup basic The basic device management API.
- * @{
- */
-LIBMTP_error_number_t LIBMTP_Detect_Raw_Devices(LIBMTP_raw_device_t **, int *);
-LIBMTP_mtpdevice_t *LIBMTP_Open_Raw_Device(LIBMTP_raw_device_t *);
-/* Begin old, legacy interface */
-LIBMTP_mtpdevice_t *LIBMTP_Get_First_Device(void);
-LIBMTP_error_number_t LIBMTP_Get_Connected_Devices(LIBMTP_mtpdevice_t **);
-uint32_t LIBMTP_Number_Devices_In_List(LIBMTP_mtpdevice_t *);
-void LIBMTP_Release_Device_List(LIBMTP_mtpdevice_t*);
-/* End old, legacy interface */
-void LIBMTP_Release_Device(LIBMTP_mtpdevice_t*);
-void LIBMTP_Dump_Device_Info(LIBMTP_mtpdevice_t*);
-int LIBMTP_Reset_Device(LIBMTP_mtpdevice_t*);
-char *LIBMTP_Get_Manufacturername(LIBMTP_mtpdevice_t*);
-char *LIBMTP_Get_Modelname(LIBMTP_mtpdevice_t*);
-char *LIBMTP_Get_Serialnumber(LIBMTP_mtpdevice_t*);
-char *LIBMTP_Get_Deviceversion(LIBMTP_mtpdevice_t*);
-char *LIBMTP_Get_Friendlyname(LIBMTP_mtpdevice_t*);
-int LIBMTP_Set_Friendlyname(LIBMTP_mtpdevice_t*, char const * const);
-char *LIBMTP_Get_Syncpartner(LIBMTP_mtpdevice_t*);
-int LIBMTP_Set_Syncpartner(LIBMTP_mtpdevice_t*, char const * const);
-int LIBMTP_Get_Batterylevel(LIBMTP_mtpdevice_t *,
-			    uint8_t * const,
-			    uint8_t * const);
-int LIBMTP_Get_Secure_Time(LIBMTP_mtpdevice_t *, char ** const);
-int LIBMTP_Get_Device_Certificate(LIBMTP_mtpdevice_t *, char ** const);
-int LIBMTP_Get_Supported_Filetypes(LIBMTP_mtpdevice_t *, uint16_t ** const, uint16_t * const);
-LIBMTP_error_t *LIBMTP_Get_Errorstack(LIBMTP_mtpdevice_t*);
-void LIBMTP_Clear_Errorstack(LIBMTP_mtpdevice_t*);
-void LIBMTP_Dump_Errorstack(LIBMTP_mtpdevice_t*);
-
-void LIBMTP_Set_Device_Timeout(LIBMTP_mtpdevice_t *device, int milliseconds);
-void LIBMTP_Get_Device_Timeout(LIBMTP_mtpdevice_t *device, int * milliseconds);
-
-#define LIBMTP_STORAGE_SORTBY_NOTSORTED 0
-#define LIBMTP_STORAGE_SORTBY_FREESPACE 1
-#define LIBMTP_STORAGE_SORTBY_MAXSPACE  2
-
-int LIBMTP_Get_Storage(LIBMTP_mtpdevice_t *, int const);
-int LIBMTP_Format_Storage(LIBMTP_mtpdevice_t *, LIBMTP_devicestorage_t *);
-
-/**
- * Get/set arbitrary properties.  These do not update the cache; should only be used on
- * properties not stored in structs
- */
-char *LIBMTP_Get_String_From_Object(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_property_t const);
-uint64_t LIBMTP_Get_u64_From_Object(LIBMTP_mtpdevice_t *, uint32_t const,
-      LIBMTP_property_t const, uint64_t const);
-uint32_t LIBMTP_Get_u32_From_Object(LIBMTP_mtpdevice_t *, uint32_t const,
-      LIBMTP_property_t const, uint32_t const);
-uint16_t LIBMTP_Get_u16_From_Object(LIBMTP_mtpdevice_t *, uint32_t const,
-      LIBMTP_property_t const, uint16_t const);
-uint8_t LIBMTP_Get_u8_From_Object(LIBMTP_mtpdevice_t *, uint32_t const,
-      LIBMTP_property_t const, uint8_t const);
-int LIBMTP_Set_Object_String(LIBMTP_mtpdevice_t *, uint32_t const,
-      LIBMTP_property_t const, char const * const);
-int LIBMTP_Set_Object_u32(LIBMTP_mtpdevice_t *, uint32_t const,
-      LIBMTP_property_t const, uint32_t const);
-int LIBMTP_Set_Object_u16(LIBMTP_mtpdevice_t *, uint32_t const,
-      LIBMTP_property_t const, uint16_t const);
-int LIBMTP_Set_Object_u8(LIBMTP_mtpdevice_t *, uint32_t const,
-      LIBMTP_property_t const, uint8_t const);
-char const * LIBMTP_Get_Property_Description(LIBMTP_property_t inproperty);
-int LIBMTP_Is_Property_Supported(LIBMTP_mtpdevice_t*, LIBMTP_property_t const,
-            LIBMTP_filetype_t const);
-int LIBMTP_Get_Allowed_Property_Values(LIBMTP_mtpdevice_t*, LIBMTP_property_t const,
-            LIBMTP_filetype_t const, LIBMTP_allowed_values_t*);
-void LIBMTP_destroy_allowed_values_t(LIBMTP_allowed_values_t*);
-
-/**
- * @}
- * @defgroup files The file management API.
- * @{
- */
-LIBMTP_file_t *LIBMTP_new_file_t(void);
-void LIBMTP_destroy_file_t(LIBMTP_file_t*);
-char const * LIBMTP_Get_Filetype_Description(LIBMTP_filetype_t);
-LIBMTP_file_t *LIBMTP_Get_Filelisting(LIBMTP_mtpdevice_t *);
-LIBMTP_file_t *LIBMTP_Get_Filelisting_With_Callback(LIBMTP_mtpdevice_t *,
-      LIBMTP_progressfunc_t const, void const * const);
-LIBMTP_file_t *LIBMTP_Get_Filemetadata(LIBMTP_mtpdevice_t *, uint32_t const);
-int LIBMTP_Get_File_To_File(LIBMTP_mtpdevice_t*, uint32_t, char const * const,
-			LIBMTP_progressfunc_t const, void const * const);
-int LIBMTP_Get_File_To_File_Descriptor(LIBMTP_mtpdevice_t*, uint32_t const, int const,
-			LIBMTP_progressfunc_t const, void const * const, struct utimbuf * mtime);
-int LIBMTP_Get_File_To_Handler(LIBMTP_mtpdevice_t *, uint32_t const, MTPDataPutFunc, void *,
-                   LIBMTP_progressfunc_t const, void const * const);
-int LIBMTP_Send_File_From_File(LIBMTP_mtpdevice_t *, char const * const,
-	                 LIBMTP_file_t * const, LIBMTP_progressfunc_t const,
-			 void const * const);
-int LIBMTP_Send_File_From_File_Descriptor(LIBMTP_mtpdevice_t *, int const,
-	                LIBMTP_file_t * const, LIBMTP_progressfunc_t const,
-			void const * const);
-int LIBMTP_Send_File_From_Handler(LIBMTP_mtpdevice_t *, MTPDataGetFunc, void *,
-      LIBMTP_file_t * const, LIBMTP_progressfunc_t const, void const * const);
-int LIBMTP_Set_File_Name(LIBMTP_mtpdevice_t *, LIBMTP_file_t *, const char *);
-LIBMTP_filesampledata_t *LIBMTP_new_filesampledata_t(void);
-void LIBMTP_destroy_filesampledata_t(LIBMTP_filesampledata_t *);
-int LIBMTP_Get_Representative_Sample_Format(LIBMTP_mtpdevice_t *,
-                        LIBMTP_filetype_t const,
-                        LIBMTP_filesampledata_t **);
-int LIBMTP_Send_Representative_Sample(LIBMTP_mtpdevice_t *, uint32_t const,
-                          LIBMTP_filesampledata_t *);
-int LIBMTP_Get_Representative_Sample(LIBMTP_mtpdevice_t *, uint32_t const,
-                          LIBMTP_filesampledata_t *);
-
-
-void LIBMTP_Set_Load_Cache_On_Demand(int flag);
-
-LIBMTP_file_t * LIBMTP_Get_Files_And_Folders(LIBMTP_mtpdevice_t *device,
-      uint32_t storageId, uint32_t parentId);
-
-/**
- * @}
- * @defgroup tracks The track management API.
- * @{
- */
-LIBMTP_track_t *LIBMTP_new_track_t(void);
-void LIBMTP_destroy_track_t(LIBMTP_track_t*);
-LIBMTP_track_t *LIBMTP_Get_Tracklisting(LIBMTP_mtpdevice_t*);
-LIBMTP_track_t *LIBMTP_Get_Tracklisting_With_Callback(LIBMTP_mtpdevice_t*,
-      LIBMTP_progressfunc_t const, void const * const);
-LIBMTP_track_t *LIBMTP_Get_Trackmetadata(LIBMTP_mtpdevice_t*, uint32_t const);
-int LIBMTP_Get_Track_To_File(LIBMTP_mtpdevice_t*, uint32_t, char const * const,
-			LIBMTP_progressfunc_t const, void const * const);
-int LIBMTP_Get_Track_To_File_Descriptor(LIBMTP_mtpdevice_t*, uint32_t const, int const,
-			LIBMTP_progressfunc_t const, void const * const, struct utimbuf * mtime);
-int LIBMTP_Get_Track_To_Handler(LIBMTP_mtpdevice_t *, uint32_t const, MTPDataPutFunc,
-      void *, LIBMTP_progressfunc_t const, void const * const);
-int LIBMTP_Send_Track_From_File(LIBMTP_mtpdevice_t *,
-			 char const * const, LIBMTP_track_t * const,
-                         LIBMTP_progressfunc_t const,
-			 void const * const);
-int LIBMTP_Send_Track_From_File_Descriptor(LIBMTP_mtpdevice_t *,
-			 int const, LIBMTP_track_t * const,
-                         LIBMTP_progressfunc_t const,
-			 void const * const);
-int LIBMTP_Send_Track_From_Handler(LIBMTP_mtpdevice_t *,
-			 MTPDataGetFunc, void *, LIBMTP_track_t * const,
-                         LIBMTP_progressfunc_t const,
-			 void const * const);
-int LIBMTP_Update_Track_Metadata(LIBMTP_mtpdevice_t *,
-			LIBMTP_track_t const * const);
-int LIBMTP_Track_Exists(LIBMTP_mtpdevice_t *, uint32_t);
-int LIBMTP_Set_Track_Name(LIBMTP_mtpdevice_t *, LIBMTP_track_t *, const char *);
-/** @} */
-
-/**
- * @}
- * @defgroup folders The folder management API.
- * @{
- */
-LIBMTP_folder_t *LIBMTP_new_folder_t(void);
-void LIBMTP_destroy_folder_t(LIBMTP_folder_t*);
-LIBMTP_folder_t *LIBMTP_Get_Folder_List(LIBMTP_mtpdevice_t*);
-LIBMTP_folder_t *LIBMTP_Find_Folder(LIBMTP_folder_t*, uint32_t const);
-uint32_t LIBMTP_Create_Folder(LIBMTP_mtpdevice_t*, char *, uint32_t, uint32_t);
-int LIBMTP_Set_Folder_Name(LIBMTP_mtpdevice_t *, LIBMTP_folder_t *, const char *);
-/** @} */
-
-
-/**
- * @}
- * @defgroup playlists The audio/video playlist management API.
- * @{
- */
-LIBMTP_playlist_t *LIBMTP_new_playlist_t(void);
-void LIBMTP_destroy_playlist_t(LIBMTP_playlist_t *);
-LIBMTP_playlist_t *LIBMTP_Get_Playlist_List(LIBMTP_mtpdevice_t *);
-LIBMTP_playlist_t *LIBMTP_Get_Playlist(LIBMTP_mtpdevice_t *, uint32_t const);
-int LIBMTP_Create_New_Playlist(LIBMTP_mtpdevice_t *, LIBMTP_playlist_t * const);
-int LIBMTP_Update_Playlist(LIBMTP_mtpdevice_t *, LIBMTP_playlist_t * const);
-int LIBMTP_Set_Playlist_Name(LIBMTP_mtpdevice_t *, LIBMTP_playlist_t *, const char *);
-
-/**
- * @}
- * @defgroup albums The audio/video album management API.
- * @{
- */
-LIBMTP_album_t *LIBMTP_new_album_t(void);
-void LIBMTP_destroy_album_t(LIBMTP_album_t *);
-LIBMTP_album_t *LIBMTP_Get_Album_List(LIBMTP_mtpdevice_t *);
-LIBMTP_album_t *LIBMTP_Get_Album(LIBMTP_mtpdevice_t *, uint32_t const);
-int LIBMTP_Create_New_Album(LIBMTP_mtpdevice_t *, LIBMTP_album_t * const);
-int LIBMTP_Update_Album(LIBMTP_mtpdevice_t *, LIBMTP_album_t const * const);
-int LIBMTP_Set_Album_Name(LIBMTP_mtpdevice_t *, LIBMTP_album_t *, const char *);
-
-/**
- * @}
- * @defgroup objects The object management API.
- * @{
- */
-int LIBMTP_Delete_Object(LIBMTP_mtpdevice_t *, uint32_t);
-int LIBMTP_Set_Object_Filename(LIBMTP_mtpdevice_t *, uint32_t , char *);
-
-/** @} */
-
-/* End of C++ exports */
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* LIBMTP_H_INCLUSION_GUARD */
-
diff --git a/src/libmtp.h.in b/src/libmtp.h.in
index 12f657d..5ba6cc7 100644
--- a/src/libmtp.h.in
+++ b/src/libmtp.h.in
@@ -2,7 +2,7 @@
  * \file libmtp.h
  * Interface to the Media Transfer Protocol library.
  *
- * Copyright (C) 2005-2008 Linus Walleij <triad@df.lth.se>
+ * Copyright (C) 2005-2013 Linus Walleij <triad@df.lth.se>
  * Copyright (C) 2005-2008 Richard A. Low <richard@wentnet.com>
  * Copyright (C) 2007 Ted Bullock <tbullock@canada.com>
  * Copyright (C) 2008 Florent Mertens <flomertens@gmail.com>
@@ -50,20 +50,42 @@
 typedef __int32 int32_t;
 typedef unsigned __int32 uint32_t;
 typedef unsigned __int64 uint64_t;
+#else
+#include <sys/time.h>
 #endif
 
 #include <stdio.h>
-#include <usb.h>
 #include <stdint.h>
+/* We use time_t */
+#include <time.h>
+#include <utime.h>
 
 /**
  * @defgroup types libmtp global type definitions
  * @{
+ */
+
+/**
+ * The debug flags defined here are the external flags used
+ * by the libmtp library interface.
+ *
+ * Please keep this list in sync with libmtp.c.
+ */
+#define LIBMTP_DEBUG_NONE		0x00
+#define LIBMTP_DEBUG_PTP		0x01
+#define LIBMTP_DEBUG_PLST		0x02
+#define LIBMTP_DEBUG_USB		0x04
+#define LIBMTP_DEBUG_DATA		0x08
+#define LIBMTP_DEBUG_ALL		0xFF
+
+
+/**
  * The filetypes defined here are the external types used
  * by the libmtp library interface. The types used internally
  * as PTP-defined enumerator types is something different.
  */
 typedef enum {
+  LIBMTP_FILETYPE_FOLDER,
   LIBMTP_FILETYPE_WAV,
   LIBMTP_FILETYPE_MP3,
   LIBMTP_FILETYPE_WMA,
@@ -184,7 +206,7 @@
  */
 #define LIBMTP_FILETYPE_IS_ADDRESSBOOK(a)\
 (a == LIBMTP_FILETYPE_VCARD2 ||\
-a == LIBMTP_FILETYPE_VCARD2)
+a == LIBMTP_FILETYPE_VCARD3)
 
 /**
  *  \def LIBMTP_FILETYPE_IS_CALENDAR
@@ -384,6 +406,30 @@
 } LIBMTP_datatype_t;
 
 /**
+ * These are device capabilities
+ */
+typedef enum {
+  /**
+   * This capability tells whether you can call the funcion getting
+   * partial objects, @see LIBMTP_GetPartialObject()
+   */
+  LIBMTP_DEVICECAP_GetPartialObject,
+  /**
+   * This capability tells whether you can call the function sending
+   * partial objects. @see LIBMTP_SendPartialObject()
+   */
+  LIBMTP_DEVICECAP_SendPartialObject,
+  /**
+   * This capability tells whether you can call the functions editing
+   * objects in-place on a device.
+   * @see LIBMTP_BeginEditObject()
+   * @see LIBMTP_EndEditObject()
+   * @see LIBMTP_TruncateObject()
+   */
+  LIBMTP_DEVICECAP_EditObjects,
+} LIBMTP_devicecap_t;
+
+/**
  * These are the numbered error codes. You can also
  * get string representations for errors.
  */
@@ -398,10 +444,12 @@
   LIBMTP_ERROR_CONNECTING,
   LIBMTP_ERROR_CANCELLED
 } LIBMTP_error_number_t;
+
 typedef struct LIBMTP_device_entry_struct LIBMTP_device_entry_t; /**< @see LIBMTP_device_entry_struct */
 typedef struct LIBMTP_raw_device_struct LIBMTP_raw_device_t; /**< @see LIBMTP_raw_device_struct */
 typedef struct LIBMTP_error_struct LIBMTP_error_t; /**< @see LIBMTP_error_struct */
 typedef struct LIBMTP_allowed_values_struct LIBMTP_allowed_values_t; /**< @see LIBMTP_allowed_values_struct */
+typedef struct LIBMTP_device_extension_struct LIBMTP_device_extension_t; /** < @see LIBMTP_device_extension_struct */
 typedef struct LIBMTP_mtpdevice_struct LIBMTP_mtpdevice_t; /**< @see LIBMTP_mtpdevice_struct */
 typedef struct LIBMTP_file_struct LIBMTP_file_t; /**< @see LIBMTP_file_struct */
 typedef struct LIBMTP_track_struct LIBMTP_track_t; /**< @see LIBMTP_track_struct */
@@ -549,6 +597,29 @@
 };
 
 /**
+ * MTP device extension holder struct
+ */
+struct LIBMTP_device_extension_struct {
+  /**
+   * Name of extension e.g. "foo.com"
+   */
+  char *name;
+  /**
+   * Major revision of extension
+   */
+  int major;
+  /**
+   * Minor revision of extension
+   */
+  int minor;
+  /**
+   * Pointer to the next extension or NULL if this is the
+   * last extension.
+   */
+  LIBMTP_device_extension_t *next;
+};
+
+/**
  * Main MTP device object struct
  */
 struct LIBMTP_mtpdevice_struct {
@@ -566,8 +637,8 @@
    * \c (PTP_USB*) before internal use.
    */
   void *usbinfo;
-  /** 
-   * The storage for this device, do not use strings in here without 
+  /**
+   * The storage for this device, do not use strings in here without
    * copying them first, and beware that this list may be rebuilt at
    * any time.
    * @see LIBMTP_Get_Storage()
@@ -598,7 +669,11 @@
   uint32_t default_text_folder;
   /** Per device iconv() converters, only used internally */
   void *cd;
-  
+  /** Extension list */
+  LIBMTP_device_extension_t *extensions;
+  /** Whether the device uses caching, only used internally */
+  int cached;
+
   /** Pointer to next device in linked list; NULL if this is the last device */
   LIBMTP_mtpdevice_t *next;
 };
@@ -715,7 +790,19 @@
   LIBMTP_devicestorage_t *next; /**< Next storage, follow this link until NULL */
   LIBMTP_devicestorage_t *prev; /**< Previous storage */
 };
-  
+
+/**
+ * LIBMTP Event structure
+ * TODO: add all externally visible events here
+ */
+enum LIBMTP_event_enum {
+  LIBMTP_EVENT_NONE,
+  LIBMTP_EVENT_STORE_ADDED,
+  LIBMTP_EVENT_STORE_REMOVED,
+  LIBMTP_EVENT_OBJECT_ADDED,
+  LIBMTP_EVENT_OBJECT_REMOVED,
+};
+typedef enum LIBMTP_event_enum LIBMTP_event_t;
 
 /** @} */
 
@@ -724,10 +811,13 @@
 extern "C" {
 #endif
 
+extern int LIBMTP_debug;
+
 /**
  * @defgroup internals The libmtp internals API.
  * @{
  */
+void LIBMTP_Set_Debug(int);
 void LIBMTP_Init(void);
 int LIBMTP_Get_Supported_Devices_List(LIBMTP_device_entry_t ** const, int * const);
 /**
@@ -736,7 +826,9 @@
  * @{
  */
 LIBMTP_error_number_t LIBMTP_Detect_Raw_Devices(LIBMTP_raw_device_t **, int *);
+int LIBMTP_Check_Specific_Device(int busno, int devno);
 LIBMTP_mtpdevice_t *LIBMTP_Open_Raw_Device(LIBMTP_raw_device_t *);
+LIBMTP_mtpdevice_t *LIBMTP_Open_Raw_Device_Uncached(LIBMTP_raw_device_t *);
 /* Begin old, legacy interface */
 LIBMTP_mtpdevice_t *LIBMTP_Get_First_Device(void);
 LIBMTP_error_number_t LIBMTP_Get_Connected_Devices(LIBMTP_mtpdevice_t **);
@@ -760,10 +852,14 @@
 int LIBMTP_Get_Secure_Time(LIBMTP_mtpdevice_t *, char ** const);
 int LIBMTP_Get_Device_Certificate(LIBMTP_mtpdevice_t *, char ** const);
 int LIBMTP_Get_Supported_Filetypes(LIBMTP_mtpdevice_t *, uint16_t ** const, uint16_t * const);
+int LIBMTP_Check_Capability(LIBMTP_mtpdevice_t *, LIBMTP_devicecap_t);
 LIBMTP_error_t *LIBMTP_Get_Errorstack(LIBMTP_mtpdevice_t*);
 void LIBMTP_Clear_Errorstack(LIBMTP_mtpdevice_t*);
 void LIBMTP_Dump_Errorstack(LIBMTP_mtpdevice_t*);
 
+void LIBMTP_Set_Device_Timeout(LIBMTP_mtpdevice_t *device, int milliseconds);
+void LIBMTP_Get_Device_Timeout(LIBMTP_mtpdevice_t *device, int *milliseconds);
+
 #define LIBMTP_STORAGE_SORTBY_NOTSORTED 0
 #define LIBMTP_STORAGE_SORTBY_FREESPACE 1
 #define LIBMTP_STORAGE_SORTBY_MAXSPACE  2
@@ -810,22 +906,44 @@
 LIBMTP_file_t *LIBMTP_Get_Filelisting(LIBMTP_mtpdevice_t *);
 LIBMTP_file_t *LIBMTP_Get_Filelisting_With_Callback(LIBMTP_mtpdevice_t *,
       LIBMTP_progressfunc_t const, void const * const);
+
+#define LIBMTP_FILES_AND_FOLDERS_ROOT 0xffffffff
+
+LIBMTP_file_t * LIBMTP_Get_Files_And_Folders(LIBMTP_mtpdevice_t *,
+					     uint32_t const,
+					     uint32_t const);
 LIBMTP_file_t *LIBMTP_Get_Filemetadata(LIBMTP_mtpdevice_t *, uint32_t const);
 int LIBMTP_Get_File_To_File(LIBMTP_mtpdevice_t*, uint32_t, char const * const,
 			LIBMTP_progressfunc_t const, void const * const);
-int LIBMTP_Get_File_To_File_Descriptor(LIBMTP_mtpdevice_t*, uint32_t const, int const,
-			LIBMTP_progressfunc_t const, void const * const);
-int LIBMTP_Get_File_To_Handler(LIBMTP_mtpdevice_t *, uint32_t const, MTPDataPutFunc, void *,
-                   LIBMTP_progressfunc_t const, void const * const);
-int LIBMTP_Send_File_From_File(LIBMTP_mtpdevice_t *, char const * const,
-	                 LIBMTP_file_t * const, LIBMTP_progressfunc_t const,
-			 void const * const);
-int LIBMTP_Send_File_From_File_Descriptor(LIBMTP_mtpdevice_t *, int const,
-	                LIBMTP_file_t * const, LIBMTP_progressfunc_t const,
-			void const * const);
-int LIBMTP_Send_File_From_Handler(LIBMTP_mtpdevice_t *, MTPDataGetFunc, void *,
-      LIBMTP_file_t * const, LIBMTP_progressfunc_t const, void const * const);
-int LIBMTP_Set_File_Name(LIBMTP_mtpdevice_t *, LIBMTP_file_t *, const char *);
+int LIBMTP_Get_File_To_File_Descriptor(LIBMTP_mtpdevice_t*,
+				       uint32_t const,
+				       int const,
+				       LIBMTP_progressfunc_t const,
+				       void const * const);
+int LIBMTP_Get_File_To_Handler(LIBMTP_mtpdevice_t *,
+			       uint32_t const,
+			       MTPDataPutFunc,
+			       void *,
+			       LIBMTP_progressfunc_t const,
+			       void const * const);
+int LIBMTP_Send_File_From_File(LIBMTP_mtpdevice_t *,
+			       char const * const,
+			       LIBMTP_file_t * const,
+			       LIBMTP_progressfunc_t const,
+			       void const * const);
+int LIBMTP_Send_File_From_File_Descriptor(LIBMTP_mtpdevice_t *,
+					  int const,
+					  LIBMTP_file_t * const,
+					  LIBMTP_progressfunc_t const,
+					  void const * const);
+int LIBMTP_Send_File_From_Handler(LIBMTP_mtpdevice_t *,
+				  MTPDataGetFunc, void *,
+				  LIBMTP_file_t * const,
+				  LIBMTP_progressfunc_t const,
+				  void const * const);
+int LIBMTP_Set_File_Name(LIBMTP_mtpdevice_t *,
+			 LIBMTP_file_t *,
+			 const char *);
 LIBMTP_filesampledata_t *LIBMTP_new_filesampledata_t(void);
 void LIBMTP_destroy_filesampledata_t(LIBMTP_filesampledata_t *);
 int LIBMTP_Get_Representative_Sample_Format(LIBMTP_mtpdevice_t *,
@@ -835,6 +953,10 @@
                           LIBMTP_filesampledata_t *);
 int LIBMTP_Get_Representative_Sample(LIBMTP_mtpdevice_t *, uint32_t const,
                           LIBMTP_filesampledata_t *);
+int LIBMTP_Get_Thumbnail(LIBMTP_mtpdevice_t *, uint32_t const,
+                         unsigned char **data, unsigned int *size);
+
+void LIBMTP_Set_Load_Cache_On_Demand(int flag);
 
 /**
  * @}
@@ -846,6 +968,8 @@
 LIBMTP_track_t *LIBMTP_Get_Tracklisting(LIBMTP_mtpdevice_t*);
 LIBMTP_track_t *LIBMTP_Get_Tracklisting_With_Callback(LIBMTP_mtpdevice_t*,
       LIBMTP_progressfunc_t const, void const * const);
+LIBMTP_track_t *LIBMTP_Get_Tracklisting_With_Callback_For_Storage(LIBMTP_mtpdevice_t*, uint32_t const,
+      LIBMTP_progressfunc_t const, void const * const);
 LIBMTP_track_t *LIBMTP_Get_Trackmetadata(LIBMTP_mtpdevice_t*, uint32_t const);
 int LIBMTP_Get_Track_To_File(LIBMTP_mtpdevice_t*, uint32_t, char const * const,
 			LIBMTP_progressfunc_t const, void const * const);
@@ -867,7 +991,7 @@
 			 void const * const);
 int LIBMTP_Update_Track_Metadata(LIBMTP_mtpdevice_t *,
 			LIBMTP_track_t const * const);
-int LIBMTP_Track_Exists(LIBMTP_mtpdevice_t *, uint32_t);
+int LIBMTP_Track_Exists(LIBMTP_mtpdevice_t *, uint32_t const);
 int LIBMTP_Set_Track_Name(LIBMTP_mtpdevice_t *, LIBMTP_track_t *, const char *);
 /** @} */
 
@@ -879,6 +1003,8 @@
 LIBMTP_folder_t *LIBMTP_new_folder_t(void);
 void LIBMTP_destroy_folder_t(LIBMTP_folder_t*);
 LIBMTP_folder_t *LIBMTP_Get_Folder_List(LIBMTP_mtpdevice_t*);
+LIBMTP_folder_t *LIBMTP_Get_Folder_List_For_Storage(LIBMTP_mtpdevice_t*,
+						    uint32_t const);
 LIBMTP_folder_t *LIBMTP_Find_Folder(LIBMTP_folder_t*, uint32_t const);
 uint32_t LIBMTP_Create_Folder(LIBMTP_mtpdevice_t*, char *, uint32_t, uint32_t);
 int LIBMTP_Set_Folder_Name(LIBMTP_mtpdevice_t *, LIBMTP_folder_t *, const char *);
@@ -906,6 +1032,7 @@
 LIBMTP_album_t *LIBMTP_new_album_t(void);
 void LIBMTP_destroy_album_t(LIBMTP_album_t *);
 LIBMTP_album_t *LIBMTP_Get_Album_List(LIBMTP_mtpdevice_t *);
+LIBMTP_album_t *LIBMTP_Get_Album_List_For_Storage(LIBMTP_mtpdevice_t *, uint32_t const);
 LIBMTP_album_t *LIBMTP_Get_Album(LIBMTP_mtpdevice_t *, uint32_t const);
 int LIBMTP_Create_New_Album(LIBMTP_mtpdevice_t *, LIBMTP_album_t * const);
 int LIBMTP_Update_Album(LIBMTP_mtpdevice_t *, LIBMTP_album_t const * const);
@@ -918,6 +1045,31 @@
  */
 int LIBMTP_Delete_Object(LIBMTP_mtpdevice_t *, uint32_t);
 int LIBMTP_Set_Object_Filename(LIBMTP_mtpdevice_t *, uint32_t , char *);
+int LIBMTP_GetPartialObject(LIBMTP_mtpdevice_t *, uint32_t const,
+                            uint64_t, uint32_t,
+                            unsigned char **, unsigned int *);
+int LIBMTP_SendPartialObject(LIBMTP_mtpdevice_t *, uint32_t const,
+                             uint64_t, unsigned char *, unsigned int);
+int LIBMTP_BeginEditObject(LIBMTP_mtpdevice_t *, uint32_t const);
+int LIBMTP_EndEditObject(LIBMTP_mtpdevice_t *, uint32_t const);
+int LIBMTP_TruncateObject(LIBMTP_mtpdevice_t *, uint32_t const, uint64_t);
+
+/**
+ * @}
+ * @defgroup files The events API.
+ * @{
+ */
+typedef void(* LIBMTP_event_cb_fn) (int, LIBMTP_event_t, uint32_t, void *);
+int LIBMTP_Read_Event(LIBMTP_mtpdevice_t *, LIBMTP_event_t *, uint32_t *);
+int LIBMTP_Read_Event_Async(LIBMTP_mtpdevice_t *, LIBMTP_event_cb_fn, void *);
+int LIBMTP_Handle_Events_Timeout_Completed(struct timeval *, int *);
+
+/**
+ * @}
+ * @defgroup custom Custom operations API.
+ * @{
+ */
+int LIBMTP_Custom_Operation(LIBMTP_mtpdevice_t *, uint16_t, int, ...);
 
 /** @} */
 
diff --git a/src/libmtp.sym b/src/libmtp.sym
index 8a649a8..01d54ff 100644
--- a/src/libmtp.sym
+++ b/src/libmtp.sym
@@ -1,7 +1,13 @@
+LIBMTP_Set_Debug
+LIBMTP_Set_Device_Timeout
+LIBMTP_Get_Device_Timeout
+LIBMTP_Set_Load_Cache_On_Demand
 LIBMTP_Init
 LIBMTP_Get_Supported_Devices_List
 LIBMTP_Detect_Raw_Devices
+LIBMTP_Check_Specific_Device
 LIBMTP_Open_Raw_Device
+LIBMTP_Open_Raw_Device_Uncached
 LIBMTP_Get_First_Device
 LIBMTP_Get_Connected_Devices
 LIBMTP_Number_Devices_In_List
@@ -26,16 +32,32 @@
 LIBMTP_Dump_Errorstack
 LIBMTP_Get_Storage
 LIBMTP_Format_Storage
+LIBMTP_Get_String_From_Object
+LIBMTP_Get_u64_From_Object
+LIBMTP_Get_u32_From_Object
+LIBMTP_Get_u16_From_Object
+LIBMTP_Get_u8_From_Object
+LIBMTP_Set_Object_String
+LIBMTP_Set_Object_u32
+LIBMTP_Set_Object_u16
+LIBMTP_Set_Object_u8
+LIBMTP_Get_Property_Description
+LIBMTP_Is_Property_Supported
+LIBMTP_Get_Allowed_Property_Values
+LIBMTP_destroy_allowed_values_t
 LIBMTP_new_file_t
 LIBMTP_destroy_file_t
 LIBMTP_Get_Filetype_Description
 LIBMTP_Get_Filelisting
 LIBMTP_Get_Filelisting_With_Callback
+LIBMTP_Get_Files_And_Folders
 LIBMTP_Get_Filemetadata
 LIBMTP_Get_File_To_File
 LIBMTP_Get_File_To_File_Descriptor
+LIBMTP_Get_File_To_Handler
 LIBMTP_Send_File_From_File
 LIBMTP_Send_File_From_File_Descriptor
+LIBMTP_Send_File_From_Handler
 LIBMTP_new_filesampledata_t
 LIBMTP_destroy_filesampledata_t
 LIBMTP_Get_Representative_Sample_Format
@@ -45,16 +67,20 @@
 LIBMTP_destroy_track_t
 LIBMTP_Get_Tracklisting
 LIBMTP_Get_Tracklisting_With_Callback
+LIBMTP_Get_Tracklisting_With_Callback_For_Storage
 LIBMTP_Get_Trackmetadata
 LIBMTP_Get_Track_To_File
 LIBMTP_Get_Track_To_File_Descriptor
+LIBMTP_Get_Track_To_Handler
 LIBMTP_Send_Track_From_File
 LIBMTP_Send_Track_From_File_Descriptor
+LIBMTP_Send_Track_From_Handler
 LIBMTP_Update_Track_Metadata
 LIBMTP_Track_Exists
 LIBMTP_new_folder_t
 LIBMTP_destroy_folder_t
 LIBMTP_Get_Folder_List
+LIBMTP_Get_Folder_List_For_Storage
 LIBMTP_Find_Folder
 LIBMTP_Create_Folder
 LIBMTP_new_playlist_t
@@ -66,6 +92,7 @@
 LIBMTP_new_album_t
 LIBMTP_destroy_album_t
 LIBMTP_Get_Album_List
+LIBMTP_Get_Album_List_For_Storage
 LIBMTP_Get_Album
 LIBMTP_Create_New_Album
 LIBMTP_Update_Album
@@ -76,3 +103,14 @@
 LIBMTP_Set_Playlist_Name
 LIBMTP_Set_Album_Name
 LIBMTP_Set_Object_Filename
+LIBMTP_Get_Thumbnail
+LIBMTP_Read_Event
+LIBMTP_Read_Event_Async
+LIBMTP_Handle_Events_Timeout_Completed
+LIBMTP_GetPartialObject
+LIBMTP_SendPartialObject
+LIBMTP_BeginEditObject
+LIBMTP_EndEditObject
+LIBMTP_TruncateObject
+LIBMTP_Check_Capability
+LIBMTP_Custom_Operation
diff --git a/src/libopenusb1-glue.c b/src/libopenusb1-glue.c
new file mode 100644
index 0000000..a4cfbad
--- /dev/null
+++ b/src/libopenusb1-glue.c
@@ -0,0 +1,2254 @@
+/*
+ * \file libusb1-glue.c
+ * Low-level USB interface glue towards libusb.
+ *
+ * Copyright (C) 2005-2007 Richard A. Low <richard@wentnet.com>
+ * Copyright (C) 2005-2012 Linus Walleij <triad@df.lth.se>
+ * Copyright (C) 2006-2011 Marcus Meissner
+ * Copyright (C) 2007 Ted Bullock
+ * Copyright (C) 2008 Chris Bagwell <chris@cnpbagwell.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Created by Richard Low on 24/12/2005. (as mtp-utils.c)
+ * Modified by Linus Walleij 2006-03-06
+ *  (Notice that Anglo-Saxons use little-endian dates and Swedes
+ *   use big-endian dates.)
+ *
+ */
+#include "../config.h"
+#include "libmtp.h"
+#include "libusb-glue.h"
+#include "device-flags.h"
+#include "util.h"
+#include "ptp.h"
+
+#include <errno.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <usb.h>
+
+#include "ptp-pack.c"
+
+/* Aha, older libusb does not have USB_CLASS_PTP */
+#ifndef USB_CLASS_PTP
+#define USB_CLASS_PTP 6
+#endif
+
+/*
+ * Default USB timeout length.  This can be overridden as needed
+ * but should start with a reasonable value so most common
+ * requests can be completed.  The original value of 4000 was
+ * not long enough for large file transfer.  Also, players can
+ * spend a bit of time collecting data.  Higher values also
+ * make connecting/disconnecting more reliable.
+ */
+#define USB_TIMEOUT_DEFAULT     20000
+#define USB_TIMEOUT_LONG        60000
+
+static inline int get_timeout(PTP_USB* ptp_usb) {
+    if (FLAG_LONG_TIMEOUT(ptp_usb)) {
+        return USB_TIMEOUT_LONG;
+    }
+    return USB_TIMEOUT_DEFAULT;
+}
+
+/* USB Feature selector HALT */
+#ifndef USB_FEATURE_HALT
+#define USB_FEATURE_HALT	0x00
+#endif
+
+/* Internal data types */
+struct mtpdevice_list_struct {
+    openusb_dev_handle_t device;
+    PTPParams *params;
+    PTP_USB *ptp_usb;
+    uint32_t bus_location;
+    struct mtpdevice_list_struct *next;
+};
+typedef struct mtpdevice_list_struct mtpdevice_list_t;
+
+static const LIBMTP_device_entry_t mtp_device_table[] = {
+    /* We include an .h file which is shared between us and libgphoto2 */
+#include "music-players.h"
+};
+static const int mtp_device_table_size = sizeof (mtp_device_table) / sizeof (LIBMTP_device_entry_t);
+
+// Local functions
+static void init_usb();
+static void close_usb(PTP_USB* ptp_usb);
+static int find_interface_and_endpoints(openusb_dev_handle_t *dev,
+        uint8_t *conf,
+        uint8_t *interface,
+        uint8_t *altsetting,
+        int* inep,
+        int* inep_maxpacket,
+        int* outep,
+        int* outep_maxpacket,
+        int* intep);
+static void clear_stall(PTP_USB* ptp_usb);
+static int init_ptp_usb(PTPParams* params, PTP_USB* ptp_usb, openusb_dev_handle_t * dev);
+static short ptp_write_func(unsigned long, PTPDataHandler*, void *data, unsigned long*);
+static short ptp_read_func(unsigned long, PTPDataHandler*, void *data, unsigned long*, int);
+static int usb_get_endpoint_status(PTP_USB* ptp_usb, int ep, uint16_t* status);
+
+// Local USB handles.
+static openusb_handle_t libmtp_openusb_handle;
+
+/**
+ * Get a list of the supported USB devices.
+ *
+ * The developers depend on users of this library to constantly
+ * add in to the list of supported devices. What we need is the
+ * device name, USB Vendor ID (VID) and USB Product ID (PID).
+ * put this into a bug ticket at the project homepage, please.
+ * The VID/PID is used to let e.g. udev lift the device to
+ * console userspace access when it's plugged in.
+ *
+ * @param devices a pointer to a pointer that will hold a device
+ *        list after the call to this function, if it was
+ *        successful.
+ * @param numdevs a pointer to an integer that will hold the number
+ *        of devices in the device list if the call was successful.
+ * @return 0 if the list was successfull retrieved, any other
+ *        value means failure.
+ */
+int LIBMTP_Get_Supported_Devices_List(LIBMTP_device_entry_t * * const devices, int * const numdevs) {
+    *devices = (LIBMTP_device_entry_t *) & mtp_device_table;
+    *numdevs = mtp_device_table_size;
+    return 0;
+}
+
+static void init_usb() {
+    openusb_init(NULL, &libmtp_openusb_handle);
+}
+
+/**
+ * Small recursive function to append a new usb_device to the linked list of
+ * USB MTP devices
+ * @param devlist dynamic linked list of pointers to usb devices with MTP
+ *        properties, to be extended with new device.
+ * @param newdevice the new device to add.
+ * @param bus_location bus for this device.
+ * @return an extended array or NULL on failure.
+ */
+static mtpdevice_list_t *append_to_mtpdevice_list(mtpdevice_list_t *devlist,
+        openusb_dev_handle_t *newdevice,
+
+        uint32_t bus_location) {
+    mtpdevice_list_t *new_list_entry;
+
+    new_list_entry = (mtpdevice_list_t *) malloc(sizeof (mtpdevice_list_t));
+    if (new_list_entry == NULL) {
+        return NULL;
+    }
+    // Fill in USB device, if we *HAVE* to make a copy of the device do it here.
+    new_list_entry->device = *newdevice;
+    new_list_entry->bus_location = bus_location;
+    new_list_entry->next = NULL;
+
+    if (devlist == NULL) {
+        return new_list_entry;
+    } else {
+        mtpdevice_list_t *tmp = devlist;
+        while (tmp->next != NULL) {
+            tmp = tmp->next;
+        }
+        tmp->next = new_list_entry;
+    }
+    return devlist;
+}
+
+/**
+ * Small recursive function to free dynamic memory allocated to the linked list
+ * of USB MTP devices
+ * @param devlist dynamic linked list of pointers to usb devices with MTP
+ * properties.
+ * @return nothing
+ */
+static void free_mtpdevice_list(mtpdevice_list_t *devlist) {
+    mtpdevice_list_t *tmplist = devlist;
+
+    if (devlist == NULL)
+        return;
+    while (tmplist != NULL) {
+        mtpdevice_list_t *tmp = tmplist;
+        tmplist = tmplist->next;
+        // Do not free() the fields (ptp_usb, params)! These are used elsewhere.
+        free(tmp);
+    }
+    return;
+}
+
+/**
+ * This checks if a device has an MTP descriptor. The descriptor was
+ * elaborated about in gPhoto bug 1482084, and some official documentation
+ * with no strings attached was published by Microsoft at
+ * http://www.microsoft.com/whdc/system/bus/USB/USBFAQ_intermed.mspx#E3HAC
+ *
+ * @param dev a device struct from libopenusb.
+ * @param dumpfile set to non-NULL to make the descriptors dump out
+ *        to this file in human-readable hex so we can scruitinze them.
+ * @return 1 if the device is MTP compliant, 0 if not.
+ */
+static int probe_device_descriptor(openusb_dev_handle_t *dev, FILE *dumpfile) {
+    openusb_dev_handle_t *devh = NULL;
+    unsigned char buf[1024], cmd;
+    uint8_t *bufptr = (uint8_t *) &buf;
+    unsigned int buffersize = sizeof(buf);
+    int i;
+    int ret;
+    /* This is to indicate if we find some vendor interface */
+    int found_vendor_spec_interface = 0;
+    struct usb_device_desc desc;
+    struct usb_interface_desc ifcdesc;
+
+    ret = openusb_parse_device_desc(libmtp_openusb_handle, *dev, NULL, 0, &desc);
+    if (ret != OPENUSB_SUCCESS) return 0;
+    /*
+     * Don't examine devices that are not likely to
+     * contain any MTP interface, update this the day
+     * you find some weird combination...
+     */
+    if (!(desc.bDeviceClass == USB_CLASS_PER_INTERFACE ||
+            desc.bDeviceClass == USB_CLASS_COMM ||
+            desc.bDeviceClass == USB_CLASS_PTP ||
+            desc.bDeviceClass == 0xEF || /* Intf. Association Desc.*/
+            desc.bDeviceClass == USB_CLASS_VENDOR_SPEC)) {
+        return 0;
+    }
+
+    /* Attempt to open Device on this port */
+    ret = openusb_open_device(libmtp_openusb_handle, NULL, USB_INIT_DEFAULT, devh);
+    if (ret != OPENUSB_SUCCESS) {
+        /* Could not open this device */
+        return 0;
+    }
+
+    /*
+     * This sometimes crashes on the j for loop below
+     * I think it is because config is NULL yet
+     * dev->descriptor.bNumConfigurations > 0
+     * this check should stop this
+     */
+    /*
+     * Loop over the device configurations and interfaces. Nokia MTP-capable
+     * handsets (possibly others) typically have the string "MTP" in their
+     * MTP interface descriptions, that's how they can be detected, before
+     * we try the more esoteric "OS descriptors" (below).
+     */
+    for (i = 0; i < desc.bNumConfigurations; i++) {
+        uint8_t j;
+        struct usb_config_desc config;
+
+        ret = openusb_parse_config_desc(libmtp_openusb_handle, *dev, NULL, 0, 0, &config);
+        if (ret != OPENUSB_SUCCESS) {
+            LIBMTP_INFO("configdescriptor %d get failed with ret %d in probe_device_descriptor yet dev->descriptor.bNumConfigurations > 0\n", i, ret);
+            continue;
+        }
+
+        for (j = 0; j < config.bNumInterfaces; j++) {
+            int k = 0;
+
+            while (openusb_parse_interface_desc(libmtp_openusb_handle, *dev, NULL, 0, 0, j, k++, &ifcdesc) == 0) {
+                /* Current interface descriptor */
+
+                /*
+                 * MTP interfaces have three endpoints, two bulk and one
+                 * interrupt. Don't probe anything else.
+                 */
+                if (ifcdesc.bNumEndpoints != 3)
+                    continue;
+
+                /*
+                 * We only want to probe for the OS descriptor if the
+                 * device is LIBUSB_CLASS_VENDOR_SPEC or one of the interfaces
+                 * in it is, so flag if we find an interface like this.
+                 */
+                if (ifcdesc.bInterfaceClass == USB_CLASS_VENDOR_SPEC) {
+                    found_vendor_spec_interface = 1;
+                }
+
+                /*
+                 * Check for Still Image Capture class with PIMA 15740 protocol,
+                 * also known as PTP
+                 */
+
+                /*
+                 * Next we search for the MTP substring in the interface name.
+                 * For example : "RIM MS/MTP" should work.
+                 */
+                buf[0] = '\0';
+                // FIXME: DK: Find out how to get the string descriptor for an interface?
+                /*
+                                ret = libusb_get_string_descriptor_ascii(devh,
+                                        config->interface[j].altsetting[k].iInterface,
+                                        buf,
+                                        1024);
+                 */
+                if (ret < 3)
+                    continue;
+                if (strstr((char *) buf, "MTP") != NULL) {
+                    if (dumpfile != NULL) {
+                        fprintf(dumpfile, "Configuration %d, interface %d, altsetting %d:\n", i, j, k);
+                        fprintf(dumpfile, "   Interface description contains the string \"MTP\"\n");
+                        fprintf(dumpfile, "   Device recognized as MTP, no further probing.\n");
+                    }
+                    //libusb_free_config_descriptor(config);
+                    openusb_close_device(*devh);
+                    return 1;
+                }
+            }
+        }
+    }
+
+    /*
+     * Only probe for OS descriptor if the device is vendor specific
+     * or one of the interfaces found is.
+     */
+    if (desc.bDeviceClass == USB_CLASS_VENDOR_SPEC ||
+            found_vendor_spec_interface) {
+
+        /* Read the special descriptor */
+        //ret = libusb_get_descriptor(devh, 0x03, 0xee, buf, sizeof (buf));
+        ret = openusb_get_raw_desc(libmtp_openusb_handle, *dev, USB_DESC_TYPE_STRING, 0xee, 0, &bufptr, (unsigned short *)&buffersize);
+        /*
+         * If something failed we're probably stalled to we need
+         * to clear the stall off the endpoint and say this is not
+         * MTP.
+         */
+        if (ret < 0) {
+            /* EP0 is the default control endpoint */
+            //libusb_clear_halt (devh, 0);
+            openusb_close_device(*devh);
+            openusb_free_raw_desc(buf);
+            return 0;
+        }
+
+        // Dump it, if requested
+        if (dumpfile != NULL && ret > 0) {
+            fprintf(dumpfile, "Microsoft device descriptor 0xee:\n");
+            data_dump_ascii(dumpfile, buf, ret, 16);
+        }
+
+        /* Check if descriptor length is at least 10 bytes */
+        if (ret < 10) {
+            openusb_close_device(*devh);
+            openusb_free_raw_desc(buf);
+            return 0;
+        }
+
+        /* Check if this device has a Microsoft Descriptor */
+        if (!((buf[2] == 'M') && (buf[4] == 'S') &&
+                (buf[6] == 'F') && (buf[8] == 'T'))) {
+            openusb_close_device(*devh);
+            openusb_free_raw_desc(buf);
+            return 0;
+        }
+
+        /* Check if device responds to control message 1 or if there is an error */
+        cmd = buf[16];
+
+        /*
+           ret = libusb_control_transfer (devh,
+                                  LIBUSB_ENDPOINT_IN | LIBUSB_RECIPIENT_DEVICE | LIBUSB_REQUEST_TYPE_VENDOR,
+                                  cmd,
+                                  0,
+                                  4,
+                                  buf,
+                                  sizeof(buf),
+                                  USB_TIMEOUT_DEFAULT);
+         */
+        struct openusb_ctrl_request ctrl;
+        ctrl.setup.bmRequestType = USB_ENDPOINT_IN | USB_RECIP_DEVICE | USB_REQ_TYPE_VENDOR;
+        ctrl.setup.bRequest = cmd;
+        ctrl.setup.wValue = 0;
+        ctrl.setup.wIndex = 4;
+        ctrl.payload = bufptr; // Out
+        ctrl.length = sizeof (buf);
+        ctrl.timeout = USB_TIMEOUT_DEFAULT;
+        ctrl.next = NULL;
+        ctrl.flags = 0;
+
+        ret = openusb_ctrl_xfer(*devh, 0, USB_ENDPOINT_IN, &ctrl);
+
+
+        // Dump it, if requested
+        if (dumpfile != NULL && ctrl.result.transferred_bytes > 0) {
+            fprintf(dumpfile, "Microsoft device response to control message 1, CMD 0x%02x:\n", cmd);
+            data_dump_ascii(dumpfile, buf, ctrl.result.transferred_bytes, 16);
+        }
+
+        /* If this is true, the device either isn't MTP or there was an error */
+        if (ctrl.result.transferred_bytes <= 0x15) {
+            /* TODO: If there was an error, flag it and let the user know somehow */
+            /* if(ret == -1) {} */
+            openusb_close_device(*devh);
+            return 0;
+        }
+
+        /* Check if device is MTP or if it is something like a USB Mass Storage
+           device with Janus DRM support */
+        if ((buf[0x12] != 'M') || (buf[0x13] != 'T') || (buf[0x14] != 'P')) {
+            openusb_close_device(*devh);
+            return 0;
+        }
+
+        /* After this point we are probably dealing with an MTP device */
+
+        /*
+         * Check if device responds to control message 2, which is
+         * the extended device parameters. Most devices will just
+         * respond with a copy of the same message as for the first
+         * message, some respond with zero-length (which is OK)
+         * and some with pure garbage. We're not parsing the result
+         * so this is not very important.
+         */
+        /*
+            ret = libusb_control_transfer (devh,
+                                   LIBUSB_ENDPOINT_IN | LIBUSB_RECIPIENT_DEVICE | LIBUSB_REQUEST_TYPE_VENDOR,
+                                   cmd,
+                                   0,
+                                   5,
+                                   buf,
+                                   sizeof(buf),
+                                   USB_TIMEOUT_DEFAULT);
+         */
+        //struct openusb_ctrl_request ctrl;
+        ctrl.setup.bmRequestType = USB_ENDPOINT_IN | USB_RECIP_DEVICE | USB_REQ_TYPE_VENDOR;
+        ctrl.setup.bRequest = cmd;
+        ctrl.setup.wValue = 0;
+        ctrl.setup.wIndex = 5;
+        ctrl.payload = bufptr; // Out
+        ctrl.length = sizeof (buf);
+        ctrl.timeout = USB_TIMEOUT_DEFAULT;
+        ctrl.next = NULL;
+        ctrl.flags = 0;
+
+        ret = openusb_ctrl_xfer(*devh, 0, USB_ENDPOINT_IN, &ctrl);
+
+        // Dump it, if requested
+        if (dumpfile != NULL && ctrl.result.transferred_bytes > 0) {
+            fprintf(dumpfile, "Microsoft device response to control message 2, CMD 0x%02x:\n", cmd);
+            data_dump_ascii(dumpfile, buf, ret, 16);
+        }
+
+        /* If this is true, the device errored against control message 2 */
+        if (ctrl.result.transferred_bytes < 0) {
+            /* TODO: Implement callback function to let managing program know there
+               was a problem, along with description of the problem */
+            LIBMTP_ERROR("Potential MTP Device with VendorID:%04x and "
+                    "ProductID:%04x encountered an error responding to "
+                    "control message 2.\n"
+                    "Problems may arrise but continuing\n",
+                    desc.idVendor, desc.idProduct);
+        } else if (dumpfile != NULL && ctrl.result.transferred_bytes == 0) {
+            fprintf(dumpfile, "Zero-length response to control message 2 (OK)\n");
+        } else if (dumpfile != NULL) {
+            fprintf(dumpfile, "Device responds to control message 2 with some data.\n");
+        }
+        /* Close the USB device handle */
+        openusb_close_device(*devh);
+        return 1;
+    }
+
+    /* Close the USB device handle */
+    openusb_close_device(*devh);
+    return 0;
+}
+
+/**
+ * This function scans through the connected usb devices on a machine and
+ * if they match known Vendor and Product identifiers appends them to the
+ * dynamic array mtp_device_list. Be sure to call
+ * <code>free_mtpdevice_list(mtp_device_list)</code> when you are done
+ * with it, assuming it is not NULL.
+ * @param mtp_device_list dynamic array of pointers to usb devices with MTP
+ *        properties (if this list is not empty, new entries will be appended
+ *        to the list).
+ * @return LIBMTP_ERROR_NONE implies that devices have been found, scan the list
+ *        appropriately. LIBMTP_ERROR_NO_DEVICE_ATTACHED implies that no
+ *        devices have been found.
+ */
+static LIBMTP_error_number_t get_mtp_usb_device_list(mtpdevice_list_t ** mtp_device_list) {
+    int nrofdevs = 0;
+    openusb_devid_t *devs = NULL;
+    struct usb_device_desc desc;
+    int ret, i;
+
+    init_usb();
+    ret = openusb_get_devids_by_bus(libmtp_openusb_handle, 0, &devs, &nrofdevs);
+
+
+    for (i = 0; i < nrofdevs; i++) {
+        openusb_devid_t dev = devs[i];
+
+        ret = openusb_parse_device_desc(libmtp_openusb_handle, dev, NULL, 0, &desc);
+        if (ret != OPENUSB_SUCCESS) continue;
+        
+        if (desc.bDeviceClass != USB_CLASS_HUB) {
+            int i;
+            int found = 0;
+            // First check if we know about the device already.
+            // Devices well known to us will not have their descriptors
+            // probed, it caused problems with some devices.
+            for (i = 0; i < mtp_device_table_size; i++) {
+                if (desc.idVendor == mtp_device_table[i].vendor_id &&
+                        desc.idProduct == mtp_device_table[i].product_id) {
+                    /* Append this usb device to the MTP device list */
+                    *mtp_device_list = append_to_mtpdevice_list(*mtp_device_list, &dev, 0);
+                    found = 1;
+                    break;
+                }
+            }
+            // If we didn't know it, try probing the "OS Descriptor".
+            //if (!found) {
+            //   if (probe_device_descriptor(&dev, NULL)) {
+                    /* Append this usb device to the MTP USB Device List */
+            //        *mtp_device_list = append_to_mtpdevice_list(*mtp_device_list, &dev, 0);
+            //    }
+                /*
+                 * By thomas_-_s: Also append devices that are no MTP but PTP devices
+                 * if this is commented out.
+                 */
+                /*
+                else {
+                  // Check whether the device is no USB hub but a PTP.
+                  if ( dev->config != NULL &&dev->config->interface->altsetting->bInterfaceClass == LIBUSB_CLASS_PTP && dev->descriptor.bDeviceClass != LIBUSB_CLASS_HUB ) {
+                 *mtp_device_list = append_to_mtpdevice_list(*mtp_device_list, dev, bus->location);
+                  }
+                }
+                 */
+            //}
+        }
+    }
+
+    /* If nothing was found we end up here. */
+    if (*mtp_device_list == NULL) {
+        return LIBMTP_ERROR_NO_DEVICE_ATTACHED;
+    }
+    return LIBMTP_ERROR_NONE;
+}
+
+/**
+ * Checks if a specific device with a certain bus and device
+ * number has an MTP type device descriptor.
+ *
+ * @param busno the bus number of the device to check
+ * @param deviceno the device number of the device to check
+ * @return 1 if the device is MTP else 0
+ */
+int LIBMTP_Check_Specific_Device(int busno, int devno) {
+    unsigned int nrofdevs;
+    openusb_devid_t **devs = NULL;
+    int i;
+
+    init_usb();
+
+    openusb_get_devids_by_bus(libmtp_openusb_handle, 0, devs, &nrofdevs);
+    for (i = 0; i < nrofdevs; i++) {
+        /*
+            if (bus->location != busno)
+              continue;
+            if (dev->devnum != devno)
+              continue;
+         */
+        if (probe_device_descriptor(devs[i], NULL))
+            return 1;
+    }
+    return 0;
+}
+
+/**
+ * Detect the raw MTP device descriptors and return a list of
+ * of the devices found.
+ *
+ * @param devices a pointer to a variable that will hold
+ *        the list of raw devices found. This may be NULL
+ *        on return if the number of detected devices is zero.
+ *        The user shall simply <code>free()</code> this
+ *        variable when finished with the raw devices,
+ *        in order to release memory.
+ * @param numdevs a pointer to an integer that will hold
+ *        the number of devices in the list. This may
+ *        be 0.
+ * @return 0 if successful, any other value means failure.
+ */
+LIBMTP_error_number_t LIBMTP_Detect_Raw_Devices(LIBMTP_raw_device_t ** devices,
+        int * numdevs) {
+    mtpdevice_list_t *devlist = NULL;
+    mtpdevice_list_t *dev;
+    LIBMTP_error_number_t ret;
+    LIBMTP_raw_device_t *retdevs;
+    int devs = 0;
+    int i, j;
+
+    ret = get_mtp_usb_device_list(&devlist);
+    if (ret == LIBMTP_ERROR_NO_DEVICE_ATTACHED) {
+        *devices = NULL;
+        *numdevs = 0;
+        return ret;
+    } else if (ret != LIBMTP_ERROR_NONE) {
+        LIBMTP_ERROR("LIBMTP PANIC: get_mtp_usb_device_list() "
+                "error code: %d on line %d\n", ret, __LINE__);
+        return ret;
+    }
+
+    // Get list size
+    dev = devlist;
+    while (dev != NULL) {
+        devs++;
+        dev = dev->next;
+    }
+    if (devs == 0) {
+        *devices = NULL;
+        *numdevs = 0;
+        return LIBMTP_ERROR_NONE;
+    }
+    // Conjure a device list
+    retdevs = (LIBMTP_raw_device_t *) malloc(sizeof (LIBMTP_raw_device_t) * devs);
+    if (retdevs == NULL) {
+        // Out of memory
+        *devices = NULL;
+        *numdevs = 0;
+        return LIBMTP_ERROR_MEMORY_ALLOCATION;
+    }
+    dev = devlist;
+    i = 0;
+    while (dev != NULL) {
+        int device_known = 0;
+        struct usb_device_desc desc;
+
+        openusb_parse_device_desc(libmtp_openusb_handle, dev->device, NULL, 0, &desc);
+        // Assign default device info
+        retdevs[i].device_entry.vendor = NULL;
+        retdevs[i].device_entry.vendor_id = desc.idVendor;
+        retdevs[i].device_entry.product = NULL;
+        retdevs[i].device_entry.product_id = desc.idProduct;
+        retdevs[i].device_entry.device_flags = 0x00000000U;
+        // See if we can locate some additional vendor info and device flags
+        for (j = 0; j < mtp_device_table_size; j++) {
+            if (desc.idVendor == mtp_device_table[j].vendor_id &&
+                    desc.idProduct == mtp_device_table[j].product_id) {
+                device_known = 1;
+                retdevs[i].device_entry.vendor = mtp_device_table[j].vendor;
+                retdevs[i].device_entry.product = mtp_device_table[j].product;
+                retdevs[i].device_entry.device_flags = mtp_device_table[j].device_flags;
+
+                // This device is known to the developers
+                LIBMTP_ERROR("Device %d (VID=%04x and PID=%04x) is a %s %s.\n",
+                        i,
+                        desc.idVendor,
+                        desc.idProduct,
+                        mtp_device_table[j].vendor,
+                        mtp_device_table[j].product);
+                break;
+            }
+        }
+        if (!device_known) {
+            device_unknown(i, desc.idVendor, desc.idProduct);
+        }
+        // Save the location on the bus
+        retdevs[i].bus_location = 0;
+        retdevs[i].devnum = openusb_get_devid(libmtp_openusb_handle, &dev->device);
+        i++;
+        dev = dev->next;
+    }
+    *devices = retdevs;
+    *numdevs = i;
+    free_mtpdevice_list(devlist);
+    return LIBMTP_ERROR_NONE;
+}
+
+/**
+ * This routine just dumps out low-level
+ * USB information about the current device.
+ * @param ptp_usb the USB device to get information from.
+ */
+void dump_usbinfo(PTP_USB *ptp_usb) {
+    struct usb_device_desc desc;
+
+    openusb_parse_device_desc(libmtp_openusb_handle, *ptp_usb->handle, NULL, 0, &desc);
+
+    LIBMTP_INFO("   bcdUSB: %d\n", desc.bcdUSB);
+    LIBMTP_INFO("   bDeviceClass: %d\n", desc.bDeviceClass);
+    LIBMTP_INFO("   bDeviceSubClass: %d\n", desc.bDeviceSubClass);
+    LIBMTP_INFO("   bDeviceProtocol: %d\n", desc.bDeviceProtocol);
+    LIBMTP_INFO("   idVendor: %04x\n", desc.idVendor);
+    LIBMTP_INFO("   idProduct: %04x\n", desc.idProduct);
+    LIBMTP_INFO("   IN endpoint maxpacket: %d bytes\n", ptp_usb->inep_maxpacket);
+    LIBMTP_INFO("   OUT endpoint maxpacket: %d bytes\n", ptp_usb->outep_maxpacket);
+    LIBMTP_INFO("   Raw device info:\n");
+    LIBMTP_INFO("      Bus location: %d\n", ptp_usb->rawdevice.bus_location);
+    LIBMTP_INFO("      Device number: %d\n", ptp_usb->rawdevice.devnum);
+    LIBMTP_INFO("      Device entry info:\n");
+    LIBMTP_INFO("         Vendor: %s\n", ptp_usb->rawdevice.device_entry.vendor);
+    LIBMTP_INFO("         Vendor id: 0x%04x\n", ptp_usb->rawdevice.device_entry.vendor_id);
+    LIBMTP_INFO("         Product: %s\n", ptp_usb->rawdevice.device_entry.product);
+    LIBMTP_INFO("         Vendor id: 0x%04x\n", ptp_usb->rawdevice.device_entry.product_id);
+    LIBMTP_INFO("         Device flags: 0x%08x\n", ptp_usb->rawdevice.device_entry.device_flags);
+    // TODO: (void) probe_device_descriptor(dev, stdout);
+}
+
+/**
+ * Retrieve the apropriate playlist extension for this
+ * device. Rather hacky at the moment. This is probably
+ * desired by the managing software, but when creating
+ * lists on the device itself you notice certain preferences.
+ * @param ptp_usb the USB device to get suggestion for.
+ * @return the suggested playlist extension.
+ */
+const char *get_playlist_extension(PTP_USB *ptp_usb) {
+    static char creative_pl_extension[] = ".zpl";
+    static char default_pl_extension[] = ".pla";
+    struct usb_device_desc desc;
+    openusb_parse_device_desc(libmtp_openusb_handle, *ptp_usb->handle, NULL, 0, &desc);
+    if (desc.idVendor == 0x041e)
+        return creative_pl_extension;
+    return default_pl_extension;
+}
+
+static void
+libusb_glue_debug(PTPParams *params, const char *format, ...) {
+    va_list args;
+
+    va_start(args, format);
+    if (params->debug_func != NULL)
+        params->debug_func(params->data, format, args);
+    else {
+        vfprintf(stderr, format, args);
+        fprintf(stderr, "\n");
+        fflush(stderr);
+    }
+    va_end(args);
+}
+
+static void
+libusb_glue_error(PTPParams *params, const char *format, ...) {
+    va_list args;
+
+    va_start(args, format);
+    if (params->error_func != NULL)
+        params->error_func(params->data, format, args);
+    else {
+        vfprintf(stderr, format, args);
+        fprintf(stderr, "\n");
+        fflush(stderr);
+    }
+    va_end(args);
+}
+
+
+/*
+ * ptp_read_func() and ptp_write_func() are
+ * based on same functions usb.c in libgphoto2.
+ * Much reading packet logs and having fun with trials and errors
+ * reveals that WMP / Windows is probably using an algorithm like this
+ * for large transfers:
+ *
+ * 1. Send the command (0x0c bytes) if headers are split, else, send
+ *    command plus sizeof(endpoint) - 0x0c bytes.
+ * 2. Send first packet, max size to be sizeof(endpoint) but only when using
+ *    split headers. Else goto 3.
+ * 3. REPEAT send 0x10000 byte chunks UNTIL remaining bytes < 0x10000
+ *    We call 0x10000 CONTEXT_BLOCK_SIZE.
+ * 4. Send remaining bytes MOD sizeof(endpoint)
+ * 5. Send remaining bytes. If this happens to be exactly sizeof(endpoint)
+ *    then also send a zero-length package.
+ *
+ * Further there is some special quirks to handle zero reads from the
+ * device, since some devices can't do them at all due to shortcomings
+ * of the USB slave controller in the device.
+ */
+#define CONTEXT_BLOCK_SIZE_1	0x3e00
+#define CONTEXT_BLOCK_SIZE_2  0x200
+#define CONTEXT_BLOCK_SIZE    CONTEXT_BLOCK_SIZE_1+CONTEXT_BLOCK_SIZE_2
+
+static short
+ptp_read_func(
+        unsigned long size, PTPDataHandler *handler, void *data,
+        unsigned long *readbytes,
+        int readzero
+        ) {
+    PTP_USB *ptp_usb = (PTP_USB *) data;
+    unsigned long toread = 0;
+    int ret = 0;
+    int xread;
+    unsigned long curread = 0;
+    unsigned long written;
+    unsigned char *bytes;
+    int expect_terminator_byte = 0;
+    unsigned long usb_inep_maxpacket_size;
+    unsigned long context_block_size_1;
+    unsigned long context_block_size_2;
+    uint16_t ptp_dev_vendor_id = ptp_usb->rawdevice.device_entry.vendor_id;
+
+    //"iRiver" device special handling
+    if (ptp_dev_vendor_id == 0x4102 || ptp_dev_vendor_id == 0x1006) {
+	    usb_inep_maxpacket_size = ptp_usb->inep_maxpacket;
+	    if (usb_inep_maxpacket_size == 0x400) {
+		    context_block_size_1 = CONTEXT_BLOCK_SIZE_1 - 0x200;
+		    context_block_size_2 = CONTEXT_BLOCK_SIZE_2 + 0x200;
+	    }
+	    else {
+		    context_block_size_1 = CONTEXT_BLOCK_SIZE_1;
+		    context_block_size_2 = CONTEXT_BLOCK_SIZE_2;
+	    }
+    }
+    struct openusb_bulk_request bulk;
+    // This is the largest block we'll need to read in.
+    bytes = malloc(CONTEXT_BLOCK_SIZE);
+    while (curread < size) {
+
+        LIBMTP_USB_DEBUG("Remaining size to read: 0x%04lx bytes\n", size - curread);
+
+        // check equal to condition here
+        if (size - curread < CONTEXT_BLOCK_SIZE) {
+            // this is the last packet
+            toread = size - curread;
+            // this is equivalent to zero read for these devices
+            if (readzero && FLAG_NO_ZERO_READS(ptp_usb) && toread % 64 == 0) {
+                toread += 1;
+                expect_terminator_byte = 1;
+            }
+        } else if (ptp_dev_vendor_id == 0x4102 || ptp_dev_vendor_id == 0x1006) {
+		//"iRiver" device special handling
+		if (curread == 0)
+			// we are first packet, but not last packet
+			toread = context_block_size_1;
+		else if (toread == context_block_size_1)
+			toread = context_block_size_2;
+		else if (toread == context_block_size_2)
+			toread = context_block_size_1;
+		else
+			LIBMTP_INFO("unexpected toread size 0x%04x, 0x%04x remaining bytes\n",
+				    (unsigned int) toread, (unsigned int) (size - curread));
+	}
+	else
+		toread = CONTEXT_BLOCK_SIZE;
+
+        LIBMTP_USB_DEBUG("Reading in 0x%04lx bytes\n", toread);
+
+        /*
+                ret = USB_BULK_READ(ptp_usb->handle,
+                        ptp_usb->inep,
+                        bytes,
+                        toread,
+                        &xread,
+                        ptp_usb->timeout);
+         */
+        bulk.payload = bytes;
+        bulk.length = toread;
+        bulk.timeout = ptp_usb->timeout;
+        bulk.flags = 0;
+        bulk.next = NULL;
+        ret = openusb_bulk_xfer(*ptp_usb->handle, ptp_usb->interface, ptp_usb->inep, &bulk);
+        xread = bulk.result.transferred_bytes;
+        LIBMTP_USB_DEBUG("Result of read: 0x%04x (%d bytes)\n", ret, xread);
+
+        if (ret != OPENUSB_SUCCESS)
+            return PTP_ERROR_IO;
+
+        LIBMTP_USB_DEBUG("<==USB IN\n");
+        if (xread == 0)
+            LIBMTP_USB_DEBUG("Zero Read\n");
+        else
+            LIBMTP_USB_DATA(bytes, xread, 16);
+
+        // want to discard extra byte
+        if (expect_terminator_byte && xread == toread) {
+            LIBMTP_USB_DEBUG("<==USB IN\nDiscarding extra byte\n");
+
+            xread--;
+        }
+
+        int putfunc_ret = handler->putfunc(NULL, handler->priv, xread, bytes);
+        LIBMTP_USB_DEBUG("handler->putfunc ret = 0x%x\n", putfunc_ret);
+        if (putfunc_ret != PTP_RC_OK)
+            return putfunc_ret;
+
+        ptp_usb->current_transfer_complete += xread;
+        curread += xread;
+
+        // Increase counters, call callback
+        if (ptp_usb->callback_active) {
+            if (ptp_usb->current_transfer_complete >= ptp_usb->current_transfer_total) {
+                // send last update and disable callback.
+                ptp_usb->current_transfer_complete = ptp_usb->current_transfer_total;
+                ptp_usb->callback_active = 0;
+            }
+            if (ptp_usb->current_transfer_callback != NULL) {
+                int ret;
+                ret = ptp_usb->current_transfer_callback(ptp_usb->current_transfer_complete,
+                        ptp_usb->current_transfer_total,
+                        ptp_usb->current_transfer_callback_data);
+                if (ret != 0) {
+                    return PTP_ERROR_CANCEL;
+                }
+            }
+        }
+
+        if (xread < toread) /* short reads are common */
+            break;
+    }
+    if (readbytes) *readbytes = curread;
+    free(bytes);
+    LIBMTP_USB_DEBUG("Pointer Updated\n");
+    // there might be a zero packet waiting for us...
+    if (readzero &&
+            !FLAG_NO_ZERO_READS(ptp_usb) &&
+            curread % ptp_usb->outep_maxpacket == 0) {
+        unsigned char temp;
+        int zeroresult = 0, xread;
+
+        LIBMTP_USB_DEBUG("<==USB IN\n");
+        LIBMTP_USB_DEBUG("Zero Read\n");
+
+        /*
+                zeroresult = USB_BULK_READ(ptp_usb->handle,
+                        ptp_usb->inep,
+                        &temp,
+                        0,
+                        &xread,
+                        ptp_usb->timeout);
+         */
+        bulk.payload = &temp;
+        bulk.length = 0;
+        bulk.timeout = ptp_usb->timeout;
+        bulk.flags = 0;
+        bulk.next = NULL;
+        ret = openusb_bulk_xfer(*ptp_usb->handle, ptp_usb->interface, ptp_usb->inep, &bulk);
+        xread = bulk.result.transferred_bytes;
+        if (zeroresult != OPENUSB_SUCCESS)
+            LIBMTP_INFO("LIBMTP panic: unable to read in zero packet, response 0x%04x", zeroresult);
+    }
+    return PTP_RC_OK;
+}
+
+static short
+ptp_write_func(
+        unsigned long size,
+        PTPDataHandler *handler,
+        void *data,
+        unsigned long *written
+        ) {
+    PTP_USB *ptp_usb = (PTP_USB *) data;
+    unsigned long towrite = 0;
+    int ret = 0;
+    unsigned long curwrite = 0;
+    unsigned char *bytes;
+
+    struct openusb_bulk_request bulk;
+
+    // This is the largest block we'll need to read in.
+    bytes = malloc(CONTEXT_BLOCK_SIZE);
+    if (!bytes) {
+        return PTP_ERROR_IO;
+    }
+    while (curwrite < size) {
+        unsigned long usbwritten = 0;
+        int xwritten;
+
+        towrite = size - curwrite;
+        if (towrite > CONTEXT_BLOCK_SIZE) {
+            towrite = CONTEXT_BLOCK_SIZE;
+        } else {
+            // This magic makes packets the same size that WMP send them.
+            if (towrite > ptp_usb->outep_maxpacket && towrite % ptp_usb->outep_maxpacket != 0) {
+                towrite -= towrite % ptp_usb->outep_maxpacket;
+            }
+        }
+        int getfunc_ret = handler->getfunc(NULL, handler->priv, towrite, bytes, &towrite);
+        if (getfunc_ret != PTP_RC_OK)
+            return getfunc_ret;
+        while (usbwritten < towrite) {
+            /*
+                        ret = USB_BULK_WRITE(ptp_usb->handle,
+                                ptp_usb->outep,
+                                bytes + usbwritten,
+                                towrite - usbwritten,
+                                &xwritten,
+                                ptp_usb->timeout);
+             */
+            bulk.payload = bytes + usbwritten;
+            bulk.length = towrite - usbwritten;
+            bulk.timeout = ptp_usb->timeout;
+            bulk.flags = 0;
+            bulk.next = NULL;
+            ret = openusb_bulk_xfer(*ptp_usb->handle, ptp_usb->interface, ptp_usb->outep, &bulk);
+            xwritten = bulk.result.transferred_bytes;
+
+            LIBMTP_USB_DEBUG("USB OUT==>\n");
+
+            if (ret != OPENUSB_SUCCESS) {
+                return PTP_ERROR_IO;
+            }
+            LIBMTP_USB_DATA(bytes + usbwritten, xwritten, 16);
+            // check for result == 0 perhaps too.
+            // Increase counters
+            ptp_usb->current_transfer_complete += xwritten;
+            curwrite += xwritten;
+            usbwritten += xwritten;
+        }
+        // call callback
+        if (ptp_usb->callback_active) {
+            if (ptp_usb->current_transfer_complete >= ptp_usb->current_transfer_total) {
+                // send last update and disable callback.
+                ptp_usb->current_transfer_complete = ptp_usb->current_transfer_total;
+                ptp_usb->callback_active = 0;
+            }
+            if (ptp_usb->current_transfer_callback != NULL) {
+                int ret;
+                ret = ptp_usb->current_transfer_callback(ptp_usb->current_transfer_complete,
+                        ptp_usb->current_transfer_total,
+                        ptp_usb->current_transfer_callback_data);
+                if (ret != 0) {
+                    return PTP_ERROR_CANCEL;
+                }
+            }
+        }
+        if (xwritten < towrite) /* short writes happen */
+            break;
+    }
+    free(bytes);
+    if (written) {
+        *written = curwrite;
+    }
+
+    // If this is the last transfer send a zero write if required
+    if (ptp_usb->current_transfer_complete >= ptp_usb->current_transfer_total) {
+        if ((towrite % ptp_usb->outep_maxpacket) == 0) {
+            int xwritten;
+
+            LIBMTP_USB_DEBUG("USB OUT==>\n");
+            LIBMTP_USB_DEBUG("Zero Write\n");
+
+            /*
+                        ret = USB_BULK_WRITE(ptp_usb->handle,
+                                ptp_usb->outep,
+                                (unsigned char *) "x",
+                                0,
+                                &xwritten,
+                                ptp_usb->timeout);
+             */
+            bulk.payload = (unsigned char *) "x";
+            bulk.length = 0;
+            bulk.timeout = ptp_usb->timeout;
+            bulk.flags = 0;
+            bulk.next = NULL;
+            ret = openusb_bulk_xfer(*ptp_usb->handle, ptp_usb->interface, ptp_usb->outep, &bulk);
+            xwritten = bulk.result.transferred_bytes;
+        }
+    }
+
+    if (ret != OPENUSB_SUCCESS)
+        return PTP_ERROR_IO;
+    return PTP_RC_OK;
+}
+
+/* memory data get/put handler */
+typedef struct {
+    unsigned char *data;
+    unsigned long size, curoff;
+} PTPMemHandlerPrivate;
+
+static uint16_t
+memory_getfunc(PTPParams* params, void* private,
+        unsigned long wantlen, unsigned char *data,
+        unsigned long *gotlen
+        ) {
+    PTPMemHandlerPrivate* priv = (PTPMemHandlerPrivate*) private;
+    unsigned long tocopy = wantlen;
+
+    if (priv->curoff + tocopy > priv->size)
+        tocopy = priv->size - priv->curoff;
+    memcpy(data, priv->data + priv->curoff, tocopy);
+    priv->curoff += tocopy;
+    *gotlen = tocopy;
+    return PTP_RC_OK;
+}
+
+static uint16_t
+memory_putfunc(PTPParams* params, void* private,
+        unsigned long sendlen, unsigned char *data
+        ) {
+    PTPMemHandlerPrivate* priv = (PTPMemHandlerPrivate*) private;
+
+    if (priv->curoff + sendlen > priv->size) {
+        priv->data = realloc(priv->data, priv->curoff + sendlen);
+        priv->size = priv->curoff + sendlen;
+    }
+    memcpy(priv->data + priv->curoff, data, sendlen);
+    priv->curoff += sendlen;
+    return PTP_RC_OK;
+}
+
+/* init private struct for receiving data. */
+static uint16_t
+ptp_init_recv_memory_handler(PTPDataHandler *handler) {
+    PTPMemHandlerPrivate* priv;
+    priv = malloc(sizeof (PTPMemHandlerPrivate));
+    handler->priv = priv;
+    handler->getfunc = memory_getfunc;
+    handler->putfunc = memory_putfunc;
+    priv->data = NULL;
+    priv->size = 0;
+    priv->curoff = 0;
+    return PTP_RC_OK;
+}
+
+/* init private struct and put data in for sending data.
+ * data is still owned by caller.
+ */
+static uint16_t
+ptp_init_send_memory_handler(PTPDataHandler *handler,
+        unsigned char *data, unsigned long len
+        ) {
+    PTPMemHandlerPrivate* priv;
+    priv = malloc(sizeof (PTPMemHandlerPrivate));
+    if (!priv){
+        return PTP_RC_GeneralError;
+    }
+    handler->priv = priv;
+    handler->getfunc = memory_getfunc;
+    handler->putfunc = memory_putfunc;
+    priv->data = data;
+    priv->size = len;
+    priv->curoff = 0;
+    return PTP_RC_OK;
+}
+
+/* free private struct + data */
+static uint16_t
+ptp_exit_send_memory_handler(PTPDataHandler *handler) {
+    PTPMemHandlerPrivate* priv = (PTPMemHandlerPrivate*) handler->priv;
+    /* data is owned by caller */
+    free(priv);
+    return PTP_RC_OK;
+}
+
+/* hand over our internal data to caller */
+static uint16_t
+ptp_exit_recv_memory_handler(PTPDataHandler *handler,
+        unsigned char **data, unsigned long *size
+        ) {
+    PTPMemHandlerPrivate* priv = (PTPMemHandlerPrivate*) handler->priv;
+    *data = priv->data;
+    *size = priv->size;
+    free(priv);
+    return PTP_RC_OK;
+}
+
+/* send / receive functions */
+
+uint16_t
+ptp_usb_sendreq(PTPParams* params, PTPContainer* req, int dataphase) {
+    uint16_t ret;
+    PTPUSBBulkContainer usbreq;
+    PTPDataHandler memhandler;
+    unsigned long written = 0;
+    unsigned long towrite;
+
+    LIBMTP_USB_DEBUG("REQUEST: 0x%04x, %s\n", req->Code, ptp_get_opcode_name(params, req->Code));
+
+    /* build appropriate USB container */
+    usbreq.length = htod32(PTP_USB_BULK_REQ_LEN -
+            (sizeof (uint32_t)*(5 - req->Nparam)));
+    usbreq.type = htod16(PTP_USB_CONTAINER_COMMAND);
+    usbreq.code = htod16(req->Code);
+    usbreq.trans_id = htod32(req->Transaction_ID);
+    usbreq.payload.params.param1 = htod32(req->Param1);
+    usbreq.payload.params.param2 = htod32(req->Param2);
+    usbreq.payload.params.param3 = htod32(req->Param3);
+    usbreq.payload.params.param4 = htod32(req->Param4);
+    usbreq.payload.params.param5 = htod32(req->Param5);
+    /* send it to responder */
+    towrite = PTP_USB_BULK_REQ_LEN - (sizeof (uint32_t)*(5 - req->Nparam));
+    ptp_init_send_memory_handler(&memhandler, (unsigned char*) &usbreq, towrite);
+    ret = ptp_write_func(
+            towrite,
+            &memhandler,
+            params->data,
+            &written
+            );
+    ptp_exit_send_memory_handler(&memhandler);
+    if (ret != PTP_RC_OK && ret != PTP_ERROR_CANCEL) {
+        ret = PTP_ERROR_IO;
+    }
+    if (written != towrite && ret != PTP_ERROR_CANCEL && ret != PTP_ERROR_IO) {
+        libusb_glue_error(params,
+                "PTP: request code 0x%04x sending req wrote only %ld bytes instead of %d",
+                req->Code, written, towrite
+                );
+        ret = PTP_ERROR_IO;
+    }
+    return ret;
+}
+
+uint16_t
+ptp_usb_senddata(PTPParams* params, PTPContainer* ptp,
+        uint64_t size, PTPDataHandler *handler
+        ) {
+    uint16_t ret;
+    int wlen, datawlen;
+    unsigned long written;
+    PTPUSBBulkContainer usbdata;
+    uint64_t bytes_left_to_transfer;
+    PTPDataHandler memhandler;
+    unsigned long packet_size;
+    PTP_USB *ptp_usb = (PTP_USB *) params->data;
+
+    packet_size = ptp_usb->inep_maxpacket;
+
+    LIBMTP_USB_DEBUG("SEND DATA PHASE\n");
+
+    /* build appropriate USB container */
+    usbdata.length = htod32(PTP_USB_BULK_HDR_LEN + size);
+    usbdata.type = htod16(PTP_USB_CONTAINER_DATA);
+    usbdata.code = htod16(ptp->Code);
+    usbdata.trans_id = htod32(ptp->Transaction_ID);
+
+    ((PTP_USB*) params->data)->current_transfer_complete = 0;
+    ((PTP_USB*) params->data)->current_transfer_total = size + PTP_USB_BULK_HDR_LEN;
+
+    if (params->split_header_data) {
+        datawlen = 0;
+        wlen = PTP_USB_BULK_HDR_LEN;
+    } else {
+        unsigned long gotlen;
+        /* For all camera devices. */
+        datawlen = (size < PTP_USB_BULK_PAYLOAD_LEN_WRITE) ? size : PTP_USB_BULK_PAYLOAD_LEN_WRITE;
+        wlen = PTP_USB_BULK_HDR_LEN + datawlen;
+
+        ret = handler->getfunc(params, handler->priv, datawlen, usbdata.payload.data, &gotlen);
+        if (ret != PTP_RC_OK){
+            return ret;
+        }
+            
+        if (gotlen != datawlen){
+            return PTP_RC_GeneralError;
+        }
+    }
+    ptp_init_send_memory_handler(&memhandler, (unsigned char *) &usbdata, wlen);
+    /* send first part of data */
+    ret = ptp_write_func(wlen, &memhandler, params->data, &written);
+    ptp_exit_send_memory_handler(&memhandler);
+    if (ret != PTP_RC_OK) {
+        return ret;
+    }
+    if (size <= datawlen) return ret;
+    /* if everything OK send the rest */
+    bytes_left_to_transfer = size - datawlen;
+    ret = PTP_RC_OK;
+    while (bytes_left_to_transfer > 0) {
+	int max_long_transfer = ULONG_MAX + 1 - packet_size;
+	ret = ptp_write_func (bytes_left_to_transfer > max_long_transfer ? max_long_transfer : bytes_left_to_transfer,
+		handler, params->data, &written);
+        if (ret != PTP_RC_OK){
+            break;
+        }
+        if (written == 0) {
+            ret = PTP_ERROR_IO;
+            break;
+        }
+        bytes_left_to_transfer -= written;
+    }
+    if (ret != PTP_RC_OK && ret != PTP_ERROR_CANCEL)
+        ret = PTP_ERROR_IO;
+    return ret;
+}
+
+static uint16_t ptp_usb_getpacket(PTPParams *params,
+        PTPUSBBulkContainer *packet, unsigned long *rlen) {
+    PTPDataHandler memhandler;
+    uint16_t ret;
+    unsigned char *x = NULL;
+    unsigned long packet_size;
+    PTP_USB *ptp_usb = (PTP_USB *) params->data;
+
+    packet_size = ptp_usb->inep_maxpacket;
+
+    /* read the header and potentially the first data */
+    if (params->response_packet_size > 0) {
+        /* If there is a buffered packet, just use it. */
+        memcpy(packet, params->response_packet, params->response_packet_size);
+        *rlen = params->response_packet_size;
+        free(params->response_packet);
+        params->response_packet = NULL;
+        params->response_packet_size = 0;
+        /* Here this signifies a "virtual read" */
+        return PTP_RC_OK;
+    }
+    ptp_init_recv_memory_handler(&memhandler);
+    ret = ptp_read_func(packet_size, &memhandler, params->data, rlen, 0);
+    ptp_exit_recv_memory_handler(&memhandler, &x, rlen);
+    if (x) {
+        memcpy(packet, x, *rlen);
+        free(x);
+    }
+    return ret;
+}
+
+uint16_t
+ptp_usb_getdata(PTPParams* params, PTPContainer* ptp, PTPDataHandler *handler) {
+    uint16_t ret;
+    PTPUSBBulkContainer usbdata;
+    unsigned long written;
+    PTP_USB *ptp_usb = (PTP_USB *) params->data;
+    int putfunc_ret;
+
+    LIBMTP_USB_DEBUG("GET DATA PHASE\n");
+
+    struct openusb_bulk_request bulk;
+
+    memset(&usbdata, 0, sizeof (usbdata));
+    do {
+        unsigned long len, rlen;
+
+        ret = ptp_usb_getpacket(params, &usbdata, &rlen);
+        if (ret != PTP_RC_OK) {
+            ret = PTP_ERROR_IO;
+            break;
+        }
+        if (dtoh16(usbdata.type) != PTP_USB_CONTAINER_DATA) {
+            ret = PTP_ERROR_DATA_EXPECTED;
+            break;
+        }
+        if (dtoh16(usbdata.code) != ptp->Code) {
+            if (FLAG_IGNORE_HEADER_ERRORS(ptp_usb)) {
+                libusb_glue_debug(params, "ptp2/ptp_usb_getdata: detected a broken "
+                        "PTP header, code field insane, expect problems! (But continuing)");
+                // Repair the header, so it won't wreak more havoc, don't just ignore it.
+                // Typically these two fields will be broken.
+                usbdata.code = htod16(ptp->Code);
+                usbdata.trans_id = htod32(ptp->Transaction_ID);
+                ret = PTP_RC_OK;
+            } else {
+                ret = dtoh16(usbdata.code);
+                // This filters entirely insane garbage return codes, but still
+                // makes it possible to return error codes in the code field when
+                // getting data. It appears Windows ignores the contents of this
+                // field entirely.
+                if (ret < PTP_RC_Undefined || ret > PTP_RC_SpecificationOfDestinationUnsupported) {
+                    libusb_glue_debug(params, "ptp2/ptp_usb_getdata: detected a broken "
+                            "PTP header, code field insane.");
+                    ret = PTP_ERROR_IO;
+                }
+                break;
+            }
+        }
+        if (rlen == ptp_usb->inep_maxpacket) {
+            /* Copy first part of data to 'data' */
+            putfunc_ret =
+                    handler->putfunc(
+                    params, handler->priv, rlen - PTP_USB_BULK_HDR_LEN, usbdata.payload.data
+                    );
+            if (putfunc_ret != PTP_RC_OK)
+                return putfunc_ret;
+
+            /* stuff data directly to passed data handler */
+            while (1) {
+                unsigned long readdata;
+                uint16_t xret;
+
+                xret = ptp_read_func(
+                        0x20000000,
+                        handler,
+                        params->data,
+                        &readdata,
+                        0
+                        );
+                if (xret != PTP_RC_OK)
+                    return xret;
+                if (readdata < 0x20000000)
+                    break;
+            }
+            return PTP_RC_OK;
+        }
+        if (rlen > dtoh32(usbdata.length)) {
+            /*
+             * Buffer the surplus response packet if it is >=
+             * PTP_USB_BULK_HDR_LEN
+             * (i.e. it is probably an entire package)
+             * else discard it as erroneous surplus data.
+             * This will even work if more than 2 packets appear
+             * in the same transaction, they will just be handled
+             * iteratively.
+             *
+             * Marcus observed stray bytes on iRiver devices;
+             * these are still discarded.
+             */
+            unsigned int packlen = dtoh32(usbdata.length);
+            unsigned int surplen = rlen - packlen;
+
+            if (surplen >= PTP_USB_BULK_HDR_LEN) {
+                params->response_packet = malloc(surplen);
+                memcpy(params->response_packet,
+                        (uint8_t *) & usbdata + packlen, surplen);
+                params->response_packet_size = surplen;
+                /* Ignore reading one extra byte if device flags have been set */
+            } else if (!FLAG_NO_ZERO_READS(ptp_usb) &&
+                    (rlen - dtoh32(usbdata.length) == 1)) {
+                libusb_glue_debug(params, "ptp2/ptp_usb_getdata: read %d bytes "
+                        "too much, expect problems!",
+                        rlen - dtoh32(usbdata.length));
+            }
+            rlen = packlen;
+        }
+
+        /* For most PTP devices rlen is 512 == sizeof(usbdata)
+         * here. For MTP devices splitting header and data it might
+         * be 12.
+         */
+        /* Evaluate full data length. */
+        len = dtoh32(usbdata.length) - PTP_USB_BULK_HDR_LEN;
+
+        /* autodetect split header/data MTP devices */
+        if (dtoh32(usbdata.length) > 12 && (rlen == 12))
+            params->split_header_data = 1;
+
+        /* Copy first part of data to 'data' */
+        putfunc_ret =
+                handler->putfunc(
+                params, handler->priv, rlen - PTP_USB_BULK_HDR_LEN,
+                usbdata.payload.data
+                );
+        if (putfunc_ret != PTP_RC_OK)
+            return putfunc_ret;
+
+        if (FLAG_NO_ZERO_READS(ptp_usb) &&
+                len + PTP_USB_BULK_HDR_LEN == ptp_usb->inep_maxpacket) {
+
+            LIBMTP_USB_DEBUG("Reading in extra terminating byte\n");
+
+            // need to read in extra byte and discard it
+            int result = 0, xread;
+            unsigned char byte = 0;
+
+            /*
+                        result = USB_BULK_READ(ptp_usb->handle,
+                                ptp_usb->inep,
+                                &byte,
+                                1,
+                                &xread,
+                                ptp_usb->timeout);
+             */
+
+            bulk.payload = &byte;
+            bulk.length = 1;
+            bulk.timeout = ptp_usb->timeout;
+            bulk.flags = 0;
+            bulk.next = NULL;
+            result = openusb_bulk_xfer(*ptp_usb->handle, ptp_usb->interface, ptp_usb->inep, &bulk);
+            xread = bulk.result.transferred_bytes;
+
+            if (result != 1)
+                LIBMTP_INFO("Could not read in extra byte for %d bytes long file, return value 0x%04x\n", ptp_usb->inep_maxpacket, result);
+        } else if (len + PTP_USB_BULK_HDR_LEN == ptp_usb->inep_maxpacket && params->split_header_data == 0) {
+            int zeroresult = 0, xread;
+            unsigned char zerobyte = 0;
+
+            LIBMTP_INFO("Reading in zero packet after header\n");
+            /*
+                        zeroresult = USB_BULK_READ(ptp_usb->handle,
+                                ptp_usb->inep,
+                                &zerobyte,
+                                0,
+                                &xread,
+                                ptp_usb->timeout);
+             */
+
+            bulk.payload = &zerobyte;
+            bulk.length = 0;
+            bulk.timeout = ptp_usb->timeout;
+            bulk.flags = 0;
+            bulk.next = NULL;
+            zeroresult = openusb_bulk_xfer(*ptp_usb->handle, ptp_usb->interface, ptp_usb->inep, &bulk);
+            xread = bulk.result.transferred_bytes;
+
+            if (zeroresult != 0)
+                LIBMTP_INFO("LIBMTP panic: unable to read in zero packet, response 0x%04x", zeroresult);
+        }
+
+        /* Is that all of data? */
+        if (len + PTP_USB_BULK_HDR_LEN <= rlen) {
+            break;
+        }
+
+        ret = ptp_read_func(len - (rlen - PTP_USB_BULK_HDR_LEN),
+                handler,
+                params->data, &rlen, 1);
+
+        if (ret != PTP_RC_OK) {
+            break;
+        }
+    } while (0);
+    return ret;
+}
+
+uint16_t
+ptp_usb_getresp(PTPParams* params, PTPContainer* resp) {
+    uint16_t ret;
+    unsigned long rlen;
+    PTPUSBBulkContainer usbresp;
+    PTP_USB *ptp_usb = (PTP_USB *) (params->data);
+
+
+    LIBMTP_USB_DEBUG("RESPONSE: ");
+    memset(&usbresp, 0, sizeof (usbresp));
+    /* read response, it should never be longer than sizeof(usbresp) */
+    ret = ptp_usb_getpacket(params, &usbresp, &rlen);
+    // Fix for bevahiour reported by Scott Snyder on Samsung YP-U3. The player
+    // sends a packet containing just zeroes of length 2 (up to 4 has been seen too)
+    // after a NULL packet when it should send the response. This code ignores
+    // such illegal packets.
+    while (ret == PTP_RC_OK && rlen < PTP_USB_BULK_HDR_LEN && usbresp.length == 0) {
+        libusb_glue_debug(params, "ptp_usb_getresp: detected short response "
+                "of %d bytes, expect problems! (re-reading "
+                "response), rlen");
+        ret = ptp_usb_getpacket(params, &usbresp, &rlen);
+    }
+    if (ret != PTP_RC_OK) {
+        ret = PTP_ERROR_IO;
+    } else
+        if (dtoh16(usbresp.type) != PTP_USB_CONTAINER_RESPONSE) {
+        ret = PTP_ERROR_RESP_EXPECTED;
+    } else
+        if (dtoh16(usbresp.code) != resp->Code) {
+        ret = dtoh16(usbresp.code);
+    }
+
+    LIBMTP_USB_DEBUG("%04x\n", ret);
+    if (ret != PTP_RC_OK) {
+        /*		libusb_glue_error (params,
+                        "PTP: request code 0x%04x getting resp error 0x%04x",
+                                resp->Code, ret);*/
+        return ret;
+    }
+    /* build an appropriate PTPContainer */
+    resp->Code = dtoh16(usbresp.code);
+    resp->SessionID = params->session_id;
+    resp->Transaction_ID = dtoh32(usbresp.trans_id);
+    if (FLAG_IGNORE_HEADER_ERRORS(ptp_usb)) {
+        if (resp->Transaction_ID != params->transaction_id - 1) {
+            libusb_glue_debug(params, "ptp_usb_getresp: detected a broken "
+                    "PTP header, transaction ID insane, expect "
+                    "problems! (But continuing)");
+            // Repair the header, so it won't wreak more havoc.
+            resp->Transaction_ID = params->transaction_id - 1;
+        }
+    }
+    resp->Param1 = dtoh32(usbresp.payload.params.param1);
+    resp->Param2 = dtoh32(usbresp.payload.params.param2);
+    resp->Param3 = dtoh32(usbresp.payload.params.param3);
+    resp->Param4 = dtoh32(usbresp.payload.params.param4);
+    resp->Param5 = dtoh32(usbresp.payload.params.param5);
+    return ret;
+}
+
+/* Event handling functions */
+
+/* PTP Events wait for or check mode */
+#define PTP_EVENT_CHECK			0x0000	/* waits for */
+#define PTP_EVENT_CHECK_FAST		0x0001	/* checks */
+
+static inline uint16_t
+ptp_usb_event(PTPParams* params, PTPContainer* event, int wait) {
+    uint16_t ret;
+    int result, xread;
+    unsigned long rlen;
+    PTPUSBEventContainer usbevent;
+    PTP_USB *ptp_usb = (PTP_USB *) (params->data);
+
+    struct openusb_bulk_request bulk;
+
+    memset(&usbevent, 0, sizeof (usbevent));
+
+    if ((params == NULL) || (event == NULL))
+        return PTP_ERROR_BADPARAM;
+    ret = PTP_RC_OK;
+    switch (wait) {
+        case PTP_EVENT_CHECK:
+
+            /*
+                        result = USB_BULK_READ(ptp_usb->handle,
+                                ptp_usb->intep,
+                                (unsigned char *) &usbevent,
+                                sizeof (usbevent),
+                                &xread,
+                                0);
+             */
+            bulk.payload = (unsigned char *) &usbevent;
+            bulk.length = sizeof (usbevent);
+            bulk.timeout = ptp_usb->timeout;
+            bulk.flags = 0;
+            bulk.next = NULL;
+            result = openusb_bulk_xfer(*ptp_usb->handle, ptp_usb->interface, ptp_usb->intep, &bulk);
+            xread = bulk.result.transferred_bytes;
+
+            if (result == 0) {
+                /*
+                                result = USB_BULK_READ(ptp_usb->handle,
+                                    ptp_usb->intep,
+                                    (unsigned char *) &usbevent,
+                                    sizeof (usbevent),
+                                    &xread,
+                                    0);
+                 */
+                bulk.payload = (unsigned char *) &usbevent;
+                bulk.length = sizeof (usbevent);
+                bulk.timeout = ptp_usb->timeout;
+                bulk.flags = 0;
+                bulk.next = NULL;
+                result = openusb_bulk_xfer(*ptp_usb->handle, ptp_usb->interface, ptp_usb->intep, &bulk);
+                xread = bulk.result.transferred_bytes;
+            }
+            if (result < 0) ret = PTP_ERROR_IO;
+            break;
+        case PTP_EVENT_CHECK_FAST:
+            /*
+                        result = USB_BULK_READ(ptp_usb->handle,
+                                ptp_usb->intep,
+                                (unsigned char *) &usbevent,
+                                sizeof (usbevent),
+                                &xread,
+                                ptp_usb->timeout);
+             */
+            bulk.payload = (unsigned char *) &usbevent;
+            bulk.length = sizeof (usbevent);
+            bulk.timeout = ptp_usb->timeout;
+            bulk.flags = 0;
+            bulk.next = NULL;
+            result = openusb_bulk_xfer(*ptp_usb->handle, ptp_usb->interface, ptp_usb->intep, &bulk);
+            xread = bulk.result.transferred_bytes;
+
+            if (result == 0) {
+                /*
+                                result = USB_BULK_READ(ptp_usb->handle,
+                                        ptp_usb->intep,
+                                        (unsigned char *) &usbevent,
+                                        sizeof (usbevent),
+                                        &xread,
+                                        ptp_usb->timeout);
+                 */
+                bulk.payload = (unsigned char *) &usbevent;
+                bulk.length = sizeof (usbevent);
+                bulk.timeout = ptp_usb->timeout;
+                bulk.flags = 0;
+                bulk.next = NULL;
+                result = openusb_bulk_xfer(*ptp_usb->handle, ptp_usb->interface, ptp_usb->intep, &bulk);
+                xread = bulk.result.transferred_bytes;
+            }
+            if (result < 0) ret = PTP_ERROR_IO;
+            break;
+        default:
+            ret = PTP_ERROR_BADPARAM;
+            break;
+    }
+    if (ret != PTP_RC_OK) {
+        libusb_glue_error(params,
+                "PTP: reading event an error 0x%04x occurred", ret);
+        return PTP_ERROR_IO;
+    }
+    rlen = result;
+    if (rlen < 8) {
+        libusb_glue_error(params,
+                "PTP: reading event an short read of %ld bytes occurred", rlen);
+        return PTP_ERROR_IO;
+    }
+    /* if we read anything over interrupt endpoint it must be an event */
+    /* build an appropriate PTPContainer */
+    event->Code = dtoh16(usbevent.code);
+    event->SessionID = params->session_id;
+    event->Transaction_ID = dtoh32(usbevent.trans_id);
+    event->Param1 = dtoh32(usbevent.param1);
+    event->Param2 = dtoh32(usbevent.param2);
+    event->Param3 = dtoh32(usbevent.param3);
+    return ret;
+}
+
+uint16_t
+ptp_usb_event_check(PTPParams* params, PTPContainer* event) {
+
+    return ptp_usb_event(params, event, PTP_EVENT_CHECK_FAST);
+}
+
+uint16_t
+ptp_usb_event_wait(PTPParams* params, PTPContainer* event) {
+
+    return ptp_usb_event(params, event, PTP_EVENT_CHECK);
+}
+
+uint16_t
+ptp_usb_event_async (PTPParams* params, PTPEventCbFn cb, void *user_data) {
+	/* Unsupported */
+	return PTP_ERROR_CANCEL;
+}
+
+int LIBMTP_Handle_Events_Timeout_Completed(struct timeval *tv, int *completed) {
+	/* Unsupported */
+	return -12;
+}
+
+uint16_t
+ptp_usb_control_cancel_request(PTPParams *params, uint32_t transactionid) {
+    PTP_USB *ptp_usb = (PTP_USB *) (params->data);
+    int ret;
+    unsigned char buffer[6];
+
+    htod16a(&buffer[0], PTP_EC_CancelTransaction);
+    htod32a(&buffer[2], transactionid);
+    /*
+            ret = libusb_control_transfer(ptp_usb->handle,
+                                  LIBUSB_REQUEST_TYPE_CLASS | LIBUSB_RECIPIENT_INTERFACE,
+                                  0x64, 0x0000, 0x0000,
+                                  buffer,
+                                  sizeof(buffer),
+                                  ptp_usb->timeout);
+     */
+    struct openusb_ctrl_request ctrl;
+    ctrl.setup.bmRequestType = USB_REQ_TYPE_CLASS | USB_RECIP_INTERFACE;
+    ctrl.setup.bRequest = 0x64;
+    ctrl.setup.wValue = 0;
+    ctrl.setup.wIndex = 0;
+    ctrl.payload = (unsigned char *)&buffer; // Out
+    ctrl.length = sizeof (buffer);
+    ctrl.timeout = ptp_usb->timeout;
+    ctrl.next = NULL;
+    ctrl.flags = 0;
+
+    ret = openusb_ctrl_xfer(*ptp_usb->handle, ptp_usb->interface, ptp_usb->outep, &ctrl);
+    if (ctrl.result.transferred_bytes < sizeof (buffer))
+        return PTP_ERROR_IO;
+    return PTP_RC_OK;
+}
+
+static int init_ptp_usb(PTPParams* params, PTP_USB* ptp_usb, openusb_dev_handle_t* dev) {
+    openusb_dev_handle_t device_handle;
+    unsigned char buf[255];
+    int ret, usbresult;
+
+    params->sendreq_func = ptp_usb_sendreq;
+    params->senddata_func = ptp_usb_senddata;
+    params->getresp_func = ptp_usb_getresp;
+    params->getdata_func = ptp_usb_getdata;
+    params->cancelreq_func = ptp_usb_control_cancel_request;
+    params->data = ptp_usb;
+    params->transaction_id = 0;
+    /*
+     * This is hardcoded here since we have no devices whatsoever that are BE.
+     * Change this the day we run into our first BE device (if ever).
+     */
+    params->byteorder = PTP_DL_LE;
+
+    ptp_usb->timeout = get_timeout(ptp_usb);
+
+    ret = openusb_open_device(libmtp_openusb_handle, *dev, USB_INIT_DEFAULT, &device_handle);
+    if (ret != OPENUSB_SUCCESS) {
+        perror("usb_open()");
+        return -1;
+    }
+    ptp_usb->handle = malloc(sizeof(openusb_dev_handle_t));
+    *ptp_usb->handle = device_handle;
+    /*
+     * If this device is known to be wrongfully claimed by other kernel
+     * drivers (such as mass storage), then try to unload it to make it
+     * accessible from user space.
+     * Note: OpenUSB doesn't support this type of operation?
+     */
+    /*
+      if (FLAG_UNLOAD_DRIVER(ptp_usb) &&
+          libusb_kernel_driver_active (device_handle, ptp_usb->interface)
+      ) {
+          if (OPENUSB_SUCCESS != libusb_detach_kernel_driver (device_handle, ptp_usb->interface)) {
+            return -1;
+          }
+      }
+     */
+    // It seems like on kernel 2.6.31 if we already have it open on another
+    // pthread in our app, we'll get an error if we try to claim it again,
+    // but that error is harmless because our process already claimed the interface
+    usbresult = openusb_claim_interface(device_handle, ptp_usb->interface, USB_INIT_DEFAULT);
+
+    if (usbresult != 0)
+        fprintf(stderr, "ignoring usb_claim_interface = %d", usbresult);
+
+    if (FLAG_SWITCH_MODE_BLACKBERRY(ptp_usb)) {
+        int ret;
+
+        // FIXME : Only for BlackBerry Storm
+        // What does it mean? Maybe switch mode...
+        // This first control message is absolutely necessary
+        usleep(1000);
+        /*
+                ret = libusb_control_transfer(device_handle,
+                        LIBUSB_REQUEST_TYPE_VENDOR | LIBUSB_RECIPIENT_DEVICE | LIBUSB_ENDPOINT_IN,
+                        0xaa, 0x00, 0x04, buf, 0x40, 1000);
+         */
+        struct openusb_ctrl_request ctrl;
+        ctrl.setup.bmRequestType = USB_REQ_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_IN;
+        ctrl.setup.bRequest = 0xaa;
+        ctrl.setup.wValue = 0;
+        ctrl.setup.wIndex = 4;
+        ctrl.payload = (unsigned char *)&buf; // Out
+        ctrl.length = 0x40;
+        ctrl.timeout = 1000;
+        ctrl.next = NULL;
+        ctrl.flags = 0;
+
+        ret = openusb_ctrl_xfer(device_handle, ptp_usb->interface, ptp_usb->outep, &ctrl);
+        LIBMTP_USB_DEBUG("BlackBerry magic part 1:\n");
+        LIBMTP_USB_DATA(buf, ctrl.result.transferred_bytes, 16);
+
+        usleep(1000);
+        // This control message is unnecessary
+        /*
+                ret = libusb_control_transfer(device_handle,
+                        LIBUSB_REQUEST_TYPE_VENDOR | LIBUSB_RECIPIENT_DEVICE | LIBUSB_ENDPOINT_IN,
+                        0xa5, 0x00, 0x01, buf, 0x02, 1000);
+         */
+        ctrl.setup.bmRequestType = USB_REQ_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_IN;
+        ctrl.setup.bRequest = 0xa5;
+        ctrl.setup.wValue = 0;
+        ctrl.setup.wIndex = 1;
+        ctrl.payload = (unsigned char *)&buf; // Out
+        ctrl.length = 0x02;
+        ctrl.timeout = 1000;
+        ctrl.next = NULL;
+        ctrl.flags = 0;
+
+        ret = openusb_ctrl_xfer(device_handle, ptp_usb->interface, ptp_usb->outep, &ctrl);
+        LIBMTP_USB_DEBUG("BlackBerry magic part 2:\n");
+        LIBMTP_USB_DATA(buf, ctrl.result.transferred_bytes, 16);
+
+        usleep(1000);
+        // This control message is unnecessary
+        /*
+                ret = libusb_control_transfer(device_handle,
+                        LIBUSB_REQUEST_TYPE_VENDOR | LIBUSB_RECIPIENT_DEVICE | LIBUSB_ENDPOINT_IN,
+                        0xa8, 0x00, 0x01, buf, 0x05, 1000);
+         */
+        ctrl.setup.bmRequestType = USB_REQ_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_IN;
+        ctrl.setup.bRequest = 0xa8;
+        ctrl.setup.wValue = 0;
+        ctrl.setup.wIndex = 1;
+        ctrl.payload = (unsigned char *)&buf; // Out
+        ctrl.length = 0x05;
+        ctrl.timeout = 1000;
+        ctrl.next = NULL;
+        ctrl.flags = 0;
+
+        ret = openusb_ctrl_xfer(device_handle, ptp_usb->interface, ptp_usb->outep, &ctrl);
+        LIBMTP_USB_DEBUG("BlackBerry magic part 3:\n");
+        LIBMTP_USB_DATA(buf, ctrl.result.transferred_bytes, 16);
+
+        usleep(1000);
+        // This control message is unnecessary
+        /*
+                ret = libusb_control_transfer(device_handle,
+                        LIBUSB_REQUEST_TYPE_VENDOR | LIBUSB_RECIPIENT_DEVICE | LIBUSB_ENDPOINT_IN,
+                        0xa8, 0x00, 0x01, buf, 0x11, 1000);
+         */
+        ctrl.setup.bmRequestType = USB_REQ_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_IN;
+        ctrl.setup.bRequest = 0xa8;
+        ctrl.setup.wValue = 0;
+        ctrl.setup.wIndex = 1;
+        ctrl.payload = (unsigned char *)&buf; // Out
+        ctrl.length = 0x11;
+        ctrl.timeout = 1000;
+        ctrl.next = NULL;
+        ctrl.flags = 0;
+
+        ret = openusb_ctrl_xfer(device_handle, ptp_usb->interface, ptp_usb->outep, &ctrl);
+        LIBMTP_USB_DEBUG("BlackBerry magic part 4:\n");
+        LIBMTP_USB_DATA(buf, ctrl.result.transferred_bytes, 16);
+
+        usleep(1000);
+    }
+    return 0;
+}
+
+static void clear_stall(PTP_USB* ptp_usb) {
+    uint16_t status;
+    int ret;
+
+    /* check the inep status */
+    /*
+        status = 0;
+        ret = usb_get_endpoint_status(ptp_usb, ptp_usb->inep, &status);
+        if (ret < 0) {
+            perror("inep: usb_get_endpoint_status()");
+        } else if (status) {
+            LIBMTP_INFO("Clearing stall on IN endpoint\n");
+            ret = libusb_clear_halt(ptp_usb->handle, ptp_usb->inep);
+            if (ret != OPENUSB_SUCCESS) {
+                perror("usb_clear_stall_feature()");
+            }
+        }
+
+        /* check the outep status */
+    /*status = 0;
+    ret = usb_get_endpoint_status(ptp_usb, ptp_usb->outep, &status);
+    if (ret < 0) {
+        perror("outep: usb_get_endpoint_status()");
+    } else if (status) {
+        LIBMTP_INFO("Clearing stall on OUT endpoint\n");
+        ret = libusb_clear_halt(ptp_usb->handle, ptp_usb->outep);
+        if (ret != OPENUSB_SUCCESS) {
+            perror("usb_clear_stall_feature()");
+        }
+    }
+     */
+
+    /* TODO: do we need this for INTERRUPT (ptp_usb->intep) too? */
+}
+
+static void clear_halt(PTP_USB* ptp_usb) {
+    int ret;
+
+    /*
+        ret = libusb_clear_halt(ptp_usb->handle, ptp_usb->inep);
+        if (ret < 0) {
+            perror("usb_clear_halt() on IN endpoint");
+        }
+        ret = libusb_clear_halt(ptp_usb->handle, ptp_usb->outep);
+        if (ret < 0) {
+            perror("usb_clear_halt() on OUT endpoint");
+        }
+        ret = libusb_clear_halt(ptp_usb->handle, ptp_usb->intep);
+        if (ret < 0) {
+            perror("usb_clear_halt() on INTERRUPT endpoint");
+        }
+     */
+}
+
+static void close_usb(PTP_USB* ptp_usb) {
+    if (!FLAG_NO_RELEASE_INTERFACE(ptp_usb)) {
+        /*
+         * Clear any stalled endpoints
+         * On misbehaving devices designed for Windows/Mac, quote from:
+         * http://www2.one-eyed-alien.net/~mdharm/linux-usb/target_offenses.txt
+         * Device does Bad Things(tm) when it gets a GET_STATUS after CLEAR_HALT
+         * (...) Windows, when clearing a stall, only sends the CLEAR_HALT command,
+         * and presumes that the stall has cleared.  Some devices actually choke
+         * if the CLEAR_HALT is followed by a GET_STATUS (used to determine if the
+         * STALL is persistant or not).
+         */
+        clear_stall(ptp_usb);
+        // Clear halts on any endpoints
+        clear_halt(ptp_usb);
+        // Added to clear some stuff on the OUT endpoint
+        // TODO: is this good on the Mac too?
+        // HINT: some devices may need that you comment these two out too.
+        //libusb_clear_halt(ptp_usb->handle, ptp_usb->outep);
+        //libusb_release_interface(ptp_usb->handle, (int) ptp_usb->interface);
+    }
+    if (FLAG_FORCE_RESET_ON_CLOSE(ptp_usb)) {
+        /*
+         * Some devices really love to get reset after being
+         * disconnected. Again, since Windows never disconnects
+         * a device closing behaviour is seldom or never exercised
+         * on devices when engineered and often error prone.
+         * Reset may help some.
+         */
+        openusb_reset(*ptp_usb->handle);
+    }
+    openusb_close_device(*ptp_usb->handle);
+}
+
+/**
+ * Self-explanatory?
+ */
+static int find_interface_and_endpoints(openusb_dev_handle_t *dev,
+	uint8_t *conf,
+        uint8_t *interface,
+        uint8_t *altsetting,
+        int* inep,
+        int* inep_maxpacket,
+        int* outep,
+        int *outep_maxpacket,
+        int* intep) {
+    uint8_t i;
+    int ret;
+    struct usb_device_desc desc;
+
+    ret = openusb_parse_device_desc(libmtp_openusb_handle, *dev, NULL, 0, &desc);
+    if (ret != OPENUSB_SUCCESS) return -1;
+
+    // Loop over the device configurations
+    for (i = 0; i < desc.bNumConfigurations; i++) {
+        uint8_t j;
+        struct usb_config_desc config;
+
+        ret = openusb_parse_config_desc(libmtp_openusb_handle, *dev, NULL, 0, i, &config);
+        if (ret != OPENUSB_SUCCESS) continue;
+	*conf = desc.bConfigurationValue;
+        // Loop over each configurations interfaces
+        for (j = 0; j < config.bNumInterfaces; j++) {
+            uint8_t k;
+            uint8_t no_ep;
+            int found_inep = 0;
+            int found_outep = 0;
+            int found_intep = 0;
+            struct usb_endpoint_desc ep;
+            struct usb_interface_desc ifcdesc;
+            openusb_parse_interface_desc(libmtp_openusb_handle, *dev, NULL, 0, i, j, 0, &ifcdesc);
+            // MTP devices shall have 3 endpoints, ignore those interfaces
+            // that haven't.
+            no_ep = ifcdesc.bNumEndpoints;
+            if (no_ep != 3)
+                continue;
+            *interface = ifcdesc.bInterfaceNumber;
+	    *altsetting = ifcdesc.bAlternateSetting;
+            // Loop over the three endpoints to locate two bulk and
+            // one interrupt endpoint and FAIL if we cannot, and continue.
+            for (k = 0; k < no_ep; k++) {
+                openusb_parse_endpoint_desc(libmtp_openusb_handle, *dev, NULL, 0, i, j, 0, k, &ep);
+                if (ep.bmAttributes == USB_ENDPOINT_TYPE_BULK) {
+                    if ((ep.bEndpointAddress & USB_ENDPOINT_DIR_MASK) ==
+                            USB_ENDPOINT_DIR_MASK) {
+                        *inep = ep.bEndpointAddress;
+                        *inep_maxpacket = ep.wMaxPacketSize;
+                        found_inep = 1;
+                    }
+                    if ((ep.bEndpointAddress & USB_ENDPOINT_DIR_MASK) == 0) {
+                        *outep = ep.bEndpointAddress;
+                        *outep_maxpacket = ep.wMaxPacketSize;
+                        found_outep = 1;
+                    }
+                } else if (ep.bmAttributes == USB_ENDPOINT_TYPE_INTERRUPT) {
+                    if ((ep.bEndpointAddress & USB_ENDPOINT_DIR_MASK) ==
+                            USB_ENDPOINT_DIR_MASK) {
+                        *intep = ep.bEndpointAddress;
+                        found_intep = 1;
+                    }
+                }
+            }
+            if (found_inep && found_outep && found_intep) {
+                // We assigned the endpoints so return here.
+                return 0;
+            }
+            // Else loop to next interface/config
+        }
+    }
+    return -1;
+}
+
+/**
+ * This function assigns params and usbinfo given a raw device
+ * as input.
+ * @param device the device to be assigned.
+ * @param usbinfo a pointer to the new usbinfo.
+ * @return an error code.
+ */
+LIBMTP_error_number_t configure_usb_device(LIBMTP_raw_device_t *device,
+        PTPParams *params,
+        void **usbinfo) {
+    PTP_USB *ptp_usb;
+    openusb_devid_t *ldevice;
+    uint16_t ret = 0;
+    int err, found = 0, i;
+    unsigned int nrofdevs;
+    openusb_devid_t *devs = NULL;
+    struct usb_device_desc desc;
+
+    /* See if we can find this raw device again... */
+    init_usb();
+
+    openusb_get_devids_by_bus(libmtp_openusb_handle, 0, &devs, &nrofdevs);
+    for (i = 0; i < nrofdevs; i++) {
+        /*
+                if (libusb_get_bus_number(devs[i]) != device->bus_location)
+                    continue;
+                if (libusb_get_device_address(devs[i]) != device->devnum)
+                    continue;
+         */
+
+        ret = openusb_parse_device_desc(libmtp_openusb_handle, devs[i], NULL, 0, &desc);
+        if (ret != OPENUSB_SUCCESS) continue;
+
+        if (desc.idVendor == device->device_entry.vendor_id &&
+                desc.idProduct == device->device_entry.product_id) {
+            ldevice = &devs[i];
+            found = 1;
+            break;
+        }
+    }
+    /* Device has gone since detecting raw devices! */
+    if (!found) {
+        openusb_free_devid_list(devs);
+        return LIBMTP_ERROR_NO_DEVICE_ATTACHED;
+    }
+
+    /* Allocate structs */
+    ptp_usb = (PTP_USB *) malloc(sizeof (PTP_USB));
+    if (ptp_usb == NULL) {
+        openusb_free_devid_list(devs);
+        return LIBMTP_ERROR_MEMORY_ALLOCATION;
+    }
+    /* Start with a blank slate (includes setting device_flags to 0) */
+    memset(ptp_usb, 0, sizeof (PTP_USB));
+
+    /* Copy the raw device */
+    memcpy(&ptp_usb->rawdevice, device, sizeof (LIBMTP_raw_device_t));
+
+    /*
+     * Some devices must have their "OS Descriptor" massaged in order
+     * to work.
+     */
+    if (FLAG_ALWAYS_PROBE_DESCRIPTOR(ptp_usb)) {
+        // Massage the device descriptor
+        (void) probe_device_descriptor(ldevice, NULL);
+    }
+
+
+    /* Assign interface and endpoints to usbinfo... */
+    err = find_interface_and_endpoints(ldevice,
+            &ptp_usb->conf,
+            &ptp_usb->interface,
+            &ptp_usb->altsetting,
+            &ptp_usb->inep,
+            &ptp_usb->inep_maxpacket,
+            &ptp_usb->outep,
+            &ptp_usb->outep_maxpacket,
+            &ptp_usb->intep);
+
+    if (err) {
+        openusb_free_devid_list(devs);
+        LIBMTP_ERROR("LIBMTP PANIC: Unable to find interface & endpoints of device\n");
+        return LIBMTP_ERROR_CONNECTING;
+    }
+
+    /* Copy USB version number */
+    ptp_usb->bcdusb = desc.bcdUSB;
+
+    /* Attempt to initialize this device */
+    if (init_ptp_usb(params, ptp_usb, ldevice) < 0) {
+        LIBMTP_ERROR("LIBMTP PANIC: Unable to initialize device\n");
+        return LIBMTP_ERROR_CONNECTING;
+    }
+
+    /*
+     * This works in situations where previous bad applications
+     * have not used LIBMTP_Release_Device on exit
+     */
+    if ((ret = ptp_opensession(params, 1)) == PTP_ERROR_IO) {
+        LIBMTP_ERROR("PTP_ERROR_IO: failed to open session, trying again after resetting USB interface\n");
+        LIBMTP_ERROR("LIBMTP libusb: Attempt to reset device\n");
+        openusb_reset(*ptp_usb->handle);
+        close_usb(ptp_usb);
+
+        if (init_ptp_usb(params, ptp_usb, ldevice) < 0) {
+            LIBMTP_ERROR("LIBMTP PANIC: Could not init USB on second attempt\n");
+            return LIBMTP_ERROR_CONNECTING;
+        }
+
+        /* Device has been reset, try again */
+        if ((ret = ptp_opensession(params, 1)) == PTP_ERROR_IO) {
+            LIBMTP_ERROR("LIBMTP PANIC: failed to open session on second attempt\n");
+            return LIBMTP_ERROR_CONNECTING;
+        }
+    }
+
+    /* Was the transaction id invalid? Try again */
+    if (ret == PTP_RC_InvalidTransactionID) {
+        LIBMTP_ERROR("LIBMTP WARNING: Transaction ID was invalid, increment and try again\n");
+        params->transaction_id += 10;
+        ret = ptp_opensession(params, 1);
+    }
+
+    if (ret != PTP_RC_SessionAlreadyOpened && ret != PTP_RC_OK) {
+        LIBMTP_ERROR("LIBMTP PANIC: Could not open session! "
+                "(Return code %d)\n  Try to reset the device.\n",
+                ret);
+        openusb_release_interface(*ptp_usb->handle, ptp_usb->interface);
+        return LIBMTP_ERROR_CONNECTING;
+    }
+
+    /* OK configured properly */
+    *usbinfo = (void *) ptp_usb;
+    return LIBMTP_ERROR_NONE;
+}
+
+void close_device(PTP_USB *ptp_usb, PTPParams *params) {
+    if (ptp_closesession(params) != PTP_RC_OK)
+        LIBMTP_ERROR("ERROR: Could not close session!\n");
+    close_usb(ptp_usb);
+}
+
+void set_usb_device_timeout(PTP_USB *ptp_usb, int timeout) {
+    ptp_usb->timeout = timeout;
+}
+
+void get_usb_device_timeout(PTP_USB *ptp_usb, int *timeout) {
+    *timeout = ptp_usb->timeout;
+}
+
+int guess_usb_speed(PTP_USB *ptp_usb) {
+    int bytes_per_second;
+
+    /*
+     * We don't know the actual speeds so these are rough guesses
+     * from the info you can find here:
+     * http://en.wikipedia.org/wiki/USB#Transfer_rates
+     * http://www.barefeats.com/usb2.html
+     */
+    switch (ptp_usb->bcdusb & 0xFF00) {
+        case 0x0100:
+            /* 1.x USB versions let's say 1MiB/s */
+            bytes_per_second = 1 * 1024 * 1024;
+            break;
+        case 0x0200:
+        case 0x0300:
+            /* USB 2.0 nominal speed 18MiB/s */
+            /* USB 3.0 won't be worse? */
+            bytes_per_second = 18 * 1024 * 1024;
+            break;
+        default:
+            /* Half-guess something? */
+            bytes_per_second = 1 * 1024 * 1024;
+            break;
+    }
+    return bytes_per_second;
+}
+
+static int usb_get_endpoint_status(PTP_USB* ptp_usb, int ep, uint16_t* status) {
+    /*
+      return libusb_control_transfer(ptp_usb->handle,
+                              LIBUSB_ENDPOINT_IN|LIBUSB_RECIPIENT_ENDPOINT,
+                              LIBUSB_REQUEST_GET_STATUS,
+                              USB_FEATURE_HALT,
+                              ep,
+                              (unsigned char *) status,
+                              2,
+                              ptp_usb->timeout);
+     */
+    struct openusb_ctrl_request ctrl;
+    ctrl.flags = 0;
+    ctrl.length = 2;
+    ctrl.payload = (unsigned char *)status;
+    ctrl.timeout = ptp_usb->timeout;
+    ctrl.next = NULL;
+    ctrl.setup.bRequest = USB_REQ_GET_STATUS;
+    ctrl.setup.bmRequestType = USB_ENDPOINT_IN | USB_RECIP_ENDPOINT;
+    ctrl.setup.wIndex = ep;
+    ctrl.setup.wValue = USB_FEATURE_HALT;
+    openusb_ctrl_xfer(*ptp_usb->handle, ptp_usb->interface, ep, &ctrl);
+    return ctrl.result.status;
+
+}
diff --git a/src/libptp-stdint.h b/src/libptp-stdint.h
deleted file mode 100644
index 80ecf41..0000000
--- a/src/libptp-stdint.h
+++ /dev/null
@@ -1,2 +0,0 @@
-/* This file is generated automatically by configure */
-#include <stdint.h>
diff --git a/src/libusb-glue.c b/src/libusb-glue.c
index e46cfc5..0079b08 100644
--- a/src/libusb-glue.c
+++ b/src/libusb-glue.c
@@ -3,7 +3,7 @@
  * Low-level USB interface glue towards libusb.
  *
  * Copyright (C) 2005-2007 Richard A. Low <richard@wentnet.com>
- * Copyright (C) 2005-2008 Linus Walleij <triad@df.lth.se>
+ * Copyright (C) 2005-2012 Linus Walleij <triad@df.lth.se>
  * Copyright (C) 2006-2007 Marcus Meissner
  * Copyright (C) 2007 Ted Bullock
  * Copyright (C) 2008 Chris Bagwell <chris@cnpbagwell.com>
@@ -40,7 +40,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
-#include <usb.h>
+#include <unistd.h>
 
 #include "ptp-pack.c"
 
@@ -49,24 +49,23 @@
 #define USB_CLASS_PTP 6
 #endif
 
-/* libusb dosn't have misc class defined */
-#ifndef USB_CLASS_MISC
-#define USB_CLASS_MISC 0xEF
-#endif
-
-#define APPLE_VID 0x05ac
-
-/* To enable debug prints for USB stuff, switch on this */
-//#define ENABLE_USB_BULK_DEBUG
-
-/* Default USB timeout length.  This can be overridden as needed
- * but should start with a reasonable value so most common 
+/*
+ * Default USB timeout length.  This can be overridden as needed
+ * but should start with a reasonable value so most common
  * requests can be completed.  The original value of 4000 was
  * not long enough for large file transfer.  Also, players can
  * spend a bit of time collecting data.  Higher values also
  * make connecting/disconnecting more reliable.
  */
-#define USB_TIMEOUT_DEFAULT     10000
+#define USB_TIMEOUT_DEFAULT     20000
+#define USB_TIMEOUT_LONG        60000
+static inline int get_timeout(PTP_USB* ptp_usb)
+{
+  if (FLAG_LONG_TIMEOUT(ptp_usb)) {
+    return USB_TIMEOUT_LONG;
+  }
+  return USB_TIMEOUT_DEFAULT;
+}
 
 /* USB control message data phase direction */
 #ifndef USB_DP_HTD
@@ -100,17 +99,19 @@
 // Local functions
 static struct usb_bus* init_usb();
 static void close_usb(PTP_USB* ptp_usb);
-static void find_interface_and_endpoints(struct usb_device *dev,
-					 uint8_t *interface,
-					 int* inep, 
-					 int* inep_maxpacket, 
-					 int* outep, 
-					 int* outep_maxpacket, 
-					 int* intep);
+static int find_interface_and_endpoints(struct usb_device *dev,
+					uint8_t *conf,
+					uint8_t *interface,
+					uint8_t *altsetting,
+					int* inep,
+					int* inep_maxpacket,
+					int* outep,
+					int* outep_maxpacket,
+					int* intep);
 static void clear_stall(PTP_USB* ptp_usb);
-static int init_ptp_usb (PTPParams* params, PTP_USB* ptp_usb, struct usb_device* dev);
-static short ptp_write_func (unsigned long,PTPDataHandler*,void *data,unsigned long*);
-static short ptp_read_func (unsigned long,PTPDataHandler*,void *data,unsigned long*,int);
+static int init_ptp_usb(PTPParams* params, PTP_USB* ptp_usb, struct usb_device* dev);
+static short ptp_write_func(unsigned long,PTPDataHandler*,void *data,unsigned long*);
+static short ptp_read_func(unsigned long,PTPDataHandler*,void *data,unsigned long*,int);
 static int usb_clear_stall_feature(PTP_USB* ptp_usb, int ep);
 static int usb_get_endpoint_status(PTP_USB* ptp_usb, int ep, uint16_t* status);
 
@@ -142,16 +143,32 @@
 
 static struct usb_bus* init_usb()
 {
+  struct usb_bus* busses;
+  struct usb_bus* bus;
+
+  /*
+   * Some additional libusb debugging please.
+   * We use the same level debug between MTP and USB.
+   */
+  if ((LIBMTP_debug & LIBMTP_DEBUG_USB) != 0)
+    usb_set_debug(9);
+
   usb_init();
   usb_find_busses();
   usb_find_devices();
-  return (usb_get_busses());
+  /* Workaround a libusb 0.1 bug : bus location is not initialised */
+  busses = usb_get_busses();
+  for (bus = busses; bus != NULL; bus = bus->next) {
+    if (!bus->location)
+      bus->location = strtoul(bus->dirname, NULL, 10);
+  }
+  return (busses);
 }
 
 /**
  * Small recursive function to append a new usb_device to the linked list of
  * USB MTP devices
- * @param devlist dynamic linked list of pointers to usb devices with MTP 
+ * @param devlist dynamic linked list of pointers to usb devices with MTP
  *        properties, to be extended with new device.
  * @param newdevice the new device to add.
  * @param bus_location bus for this device.
@@ -162,7 +179,7 @@
 						  uint32_t bus_location)
 {
   mtpdevice_list_t *new_list_entry;
-  
+
   new_list_entry = (mtpdevice_list_t *) malloc(sizeof(mtpdevice_list_t));
   if (new_list_entry == NULL) {
     return NULL;
@@ -171,7 +188,7 @@
   new_list_entry->libusb_device = newdevice;
   new_list_entry->bus_location = bus_location;
   new_list_entry->next = NULL;
-  
+
   if (devlist == NULL) {
     return new_list_entry;
   } else {
@@ -187,7 +204,7 @@
 /**
  * Small recursive function to free dynamic memory allocated to the linked list
  * of USB MTP devices
- * @param devlist dynamic linked list of pointers to usb devices with MTP 
+ * @param devlist dynamic linked list of pointers to usb devices with MTP
  * properties.
  * @return nothing
  */
@@ -206,94 +223,6 @@
   return;
 }
 
-/* Comment out this define to enable the original, more aggressive probing. */
-#define MILD_MTP_PROBING
-
-#ifdef MILD_MTP_PROBING
-/**
- * This checks if a device has an interface with MTP description.
- *
- * @param dev a device struct from libusb.
- * @param dumpfile set to non-NULL to make the descriptors dump out
- *        to this file in human-readable hex so we can scruitinze them.
- * @return 1 if the device is MTP compliant, 0 if not.
- */
-static int probe_device_descriptor(struct usb_device *dev, FILE *dumpfile)
-{
-  usb_dev_handle *devh;
-  unsigned char buf[1024];
-  int i;
-  int ret;
-
-  /*
-   * Don't examine devices that are not likely to
-   * contain any MTP interface, update this the day
-   * you find some weird combination...
-   */
-  if (!(dev->descriptor.bDeviceClass == USB_CLASS_PER_INTERFACE ||
-	    dev->descriptor.bDeviceClass == USB_CLASS_PTP ||
-	    dev->descriptor.bDeviceClass == USB_CLASS_VENDOR_SPEC) ||
-      /* Apple devices sometimes freeze when probed by libusb */
-      dev->descriptor.idVendor == APPLE_VID) {
-    return 0;
-  }
-
-  /* Attempt to open Device on this port */
-  devh = usb_open(dev);
-  if (devh == NULL) {
-    /* Could not open this device */
-    return 0;
-  }
-
-  /*
-   * This sometimes crashes on the j for loop below
-   * I think it is because config is NULL yet
-   * dev->descriptor.bNumConfigurations > 0
-   * this check should stop this
-   */
-  if (dev->config) {
-    /*
-     * Loop over the interfaces, and check for string "MTP"
-     * in the descriptions.
-     */
-
-    for (i = 0; i < dev->descriptor.bNumConfigurations; i++) {
-      uint8_t j;
-
-      for (j = 0; j < dev->config[i].bNumInterfaces; j++) {
-        int k;
-        for (k = 0; k < dev->config[i].interface[j].num_altsetting; k++) {
-	  /* Current interface descriptor */
-	  struct usb_interface_descriptor *intf =
-	    &dev->config[i].interface[j].altsetting[k];
-
-          buf[0] = '\0';
-          ret = usb_get_string_simple(devh,
-				      dev->config[i].interface[j].altsetting[k].iInterface,
-				      (char *) buf,
-				      1024);
-
-	  if (ret < 3)
-	    continue;
-          if (strcmp((char *) buf, "MTP") == 0) {
-	    if (dumpfile != NULL) {
-              fprintf(dumpfile, "Configuration %d, interface %d, altsetting %d:\n", i, j, k);
-	      fprintf(dumpfile, "   Interface description contains the string \"MTP\"\n");
-	      fprintf(dumpfile, "   Device recognized as MTP, no further probing.\n");
-	    }
-            usb_close(devh);
-            return 1;
-          }
-       }
-      }
-    }
-  }
-
-  usb_close(devh);
-  return 0;
-}
-
-#else /* MILD_MTP_PROBING */
 /**
  * This checks if a device has an MTP descriptor. The descriptor was
  * elaborated about in gPhoto bug 1482084, and some official documentation
@@ -311,12 +240,22 @@
   unsigned char buf[1024], cmd;
   int i;
   int ret;
-  
-  /* Don't examine hubs (no point in that) */
-  if (dev->descriptor.bDeviceClass == USB_CLASS_HUB) {
+  /* This is to indicate if we find some vendor interface */
+  int found_vendor_spec_interface = 0;
+
+  /*
+   * Don't examine devices that are not likely to
+   * contain any MTP interface, update this the day
+   * you find some weird combination...
+   */
+  if (!(dev->descriptor.bDeviceClass == USB_CLASS_PER_INTERFACE ||
+	dev->descriptor.bDeviceClass == USB_CLASS_COMM ||
+	dev->descriptor.bDeviceClass == USB_CLASS_PTP ||
+	dev->descriptor.bDeviceClass == 0xEF ||	/* Intf. Association Desc.*/
+	dev->descriptor.bDeviceClass == USB_CLASS_VENDOR_SPEC)) {
     return 0;
   }
-  
+
   /* Attempt to open Device on this port */
   devh = usb_open(dev);
   if (devh == NULL) {
@@ -347,7 +286,48 @@
 	  struct usb_interface_descriptor *intf =
 	    &dev->config[i].interface[j].altsetting[k];
 
+	  /*
+	   * MTP interfaces have three endpoints, two bulk and one
+	   * interrupt. Don't probe anything else.
+	   */
+	  if (intf->bNumEndpoints != 3)
+	    continue;
 
+	  /*
+	   * We only want to probe for the OS descriptor if the
+	   * device is USB_CLASS_VENDOR_SPEC or one of the interfaces
+	   * in it is, so flag if we find an interface like this.
+	   */
+	  if (intf->bInterfaceClass == USB_CLASS_VENDOR_SPEC) {
+	    found_vendor_spec_interface = 1;
+	  }
+
+	  /*
+	   * Check for Still Image Capture class with PIMA 15740 protocol,
+	   * also known as PTP
+	   */
+#if 0
+	  if (intf->bInterfaceClass == USB_CLASS_PTP
+	      && intf->bInterfaceSubClass == 0x01
+	      && intf->bInterfaceProtocol == 0x01) {
+	    if (dumpfile != NULL) {
+	      fprintf(dumpfile, "   Found PTP device, check vendor "
+		      "extension...\n");
+	    }
+	    // This is where we may insert code to open a PTP
+	    // session and query the vendor extension ID to see
+	    // if it is 0xffffffff, i.e. MTP according to the spec.
+	    if (was_mtp_extension) {
+	      usb_close(devh);
+	      return 1;
+	    }
+	  }
+#endif
+
+	  /*
+	   * Next we search for the MTP substring in the interface name.
+	   * For example : "RIM MS/MTP" should work.
+	   */
           buf[0] = '\0';
           ret = usb_get_string_simple(devh,
 				      dev->config[i].interface[j].altsetting[k].iInterface,
@@ -355,7 +335,7 @@
 				      1024);
 	  if (ret < 3)
 	    continue;
-          if (strcmp((char *) buf, "MTP") == 0) {
+          if (strstr((char *) buf, "MTP") != NULL) {
 	    if (dumpfile != NULL) {
               fprintf(dumpfile, "Configuration %d, interface %d, altsetting %d:\n", i, j, k);
 	      fprintf(dumpfile, "   Interface description contains the string \"MTP\"\n");
@@ -364,7 +344,7 @@
             usb_close(devh);
             return 1;
           }
-  #ifdef LIBUSB_HAS_GET_DRIVER_NP
+#ifdef LIBUSB_HAS_GET_DRIVER_NP
 	  {
 	    /*
 	     * Specifically avoid probing anything else than USB mass storage devices
@@ -378,135 +358,152 @@
 				    devname,
 				    sizeof(devname));
 	    if (devname[0] != '\0' && strcmp(devname, "usb-storage")) {
-	      printf("avoid probing device using kernel interface \"%s\"\n", devname);
+	      LIBMTP_INFO("avoid probing device using kernel interface \"%s\"\n", devname);
 	      return 0;
 	    }
 	  }
-  #endif
+#endif
         }
       }
     }
   } else {
     if (dev->descriptor.bNumConfigurations)
-      printf("dev->config is NULL in probe_device_descriptor yet dev->descriptor.bNumConfigurations > 0\n");
+      LIBMTP_INFO("dev->config is NULL in probe_device_descriptor yet dev->descriptor.bNumConfigurations > 0\n");
   }
-  
-  /* Read the special descriptor */
-  ret = usb_get_descriptor(devh, 0x03, 0xee, buf, sizeof(buf));
 
-  // Dump it, if requested
-  if (dumpfile != NULL && ret > 0) {
-    fprintf(dumpfile, "Microsoft device descriptor 0xee:\n");
-    data_dump_ascii(dumpfile, buf, ret, 16);
-  }
-  
-  /* Check if descriptor length is at least 10 bytes */
-  if (ret < 10) {
-    usb_close(devh);
-    return 0;
-  }
-      
-  /* Check if this device has a Microsoft Descriptor */
-  if (!((buf[2] == 'M') && (buf[4] == 'S') &&
-	(buf[6] == 'F') && (buf[8] == 'T'))) {
-    usb_close(devh);
-    return 0;
-  }
-      
-  /* Check if device responds to control message 1 or if there is an error */
-  cmd = buf[16];
-  ret = usb_control_msg (devh,
-			 USB_ENDPOINT_IN|USB_RECIP_DEVICE|USB_TYPE_VENDOR,
-			 cmd,
-			 0,
-			 4,
-			 (char *) buf,
-			 sizeof(buf),
-                         USB_TIMEOUT_DEFAULT);
+  /*
+   * Only probe for OS descriptor if the device is vendor specific
+   * or one of the interfaces found is.
+   */
+  if (dev->descriptor.bDeviceClass == USB_CLASS_VENDOR_SPEC ||
+      found_vendor_spec_interface) {
 
-  // Dump it, if requested
-  if (dumpfile != NULL && ret > 0) {
-    fprintf(dumpfile, "Microsoft device response to control message 1, CMD 0x%02x:\n", cmd);
-    data_dump_ascii(dumpfile, buf, ret, 16);
-  }
-  
-  /* If this is true, the device either isn't MTP or there was an error */
-  if (ret <= 0x15) {
-    /* TODO: If there was an error, flag it and let the user know somehow */
-    /* if(ret == -1) {} */
-    usb_close(devh);
-    return 0;
-  }
-  
-  /* Check if device is MTP or if it is something like a USB Mass Storage 
-     device with Janus DRM support */
-  if ((buf[0x12] != 'M') || (buf[0x13] != 'T') || (buf[0x14] != 'P')) {
-    usb_close(devh);
-    return 0;
-  }
-      
-  /* After this point we are probably dealing with an MTP device */
+    /* Read the special descriptor */
+    ret = usb_get_descriptor(devh, 0x03, 0xee, buf, sizeof(buf));
 
-  /* Check if device responds to control message 2 or if there is an error*/
-  ret = usb_control_msg (devh,
-			 USB_ENDPOINT_IN|USB_RECIP_DEVICE|USB_TYPE_VENDOR,
-			 cmd,
-			 0,
-			 5,
-			 (char *) buf,
-			 sizeof(buf),
-                         USB_TIMEOUT_DEFAULT);
+    /*
+     * If something failed we're probably stalled to we need
+     * to clear the stall off the endpoint and say this is not
+     * MTP.
+     */
+    if (ret < 0) {
+      /* EP0 is the default control endpoint */
+      usb_clear_halt(devh, 0);
+      usb_close(devh);
+      return 0;
+    }
 
-  // Dump it, if requested
-  if (dumpfile != NULL && ret > 0) {
-    fprintf(dumpfile, "Microsoft device response to control message 2, CMD 0x%02x:\n", cmd);
-    data_dump_ascii(dumpfile, buf, ret, 16);
+    // Dump it, if requested
+    if (dumpfile != NULL && ret > 0) {
+      fprintf(dumpfile, "Microsoft device descriptor 0xee:\n");
+      data_dump_ascii(dumpfile, buf, ret, 16);
+    }
+
+    /* Check if descriptor length is at least 10 bytes */
+    if (ret < 10) {
+      usb_close(devh);
+      return 0;
+    }
+
+    /* Check if this device has a Microsoft Descriptor */
+    if (!((buf[2] == 'M') && (buf[4] == 'S') &&
+	  (buf[6] == 'F') && (buf[8] == 'T'))) {
+      usb_close(devh);
+      return 0;
+    }
+
+    /* Check if device responds to control message 1 or if there is an error */
+    cmd = buf[16];
+    ret = usb_control_msg (devh,
+			   USB_ENDPOINT_IN | USB_RECIP_DEVICE | USB_TYPE_VENDOR,
+			   cmd,
+			   0,
+			   4,
+			   (char *) buf,
+			   sizeof(buf),
+			   USB_TIMEOUT_DEFAULT);
+
+    // Dump it, if requested
+    if (dumpfile != NULL && ret > 0) {
+      fprintf(dumpfile, "Microsoft device response to control message 1, CMD 0x%02x:\n", cmd);
+      data_dump_ascii(dumpfile, buf, ret, 16);
+    }
+
+    /* If this is true, the device either isn't MTP or there was an error */
+    if (ret <= 0x15) {
+      /* TODO: If there was an error, flag it and let the user know somehow */
+      /* if(ret == -1) {} */
+      usb_close(devh);
+      return 0;
+    }
+
+    /* Check if device is MTP or if it is something like a USB Mass Storage
+       device with Janus DRM support */
+    if ((buf[0x12] != 'M') || (buf[0x13] != 'T') || (buf[0x14] != 'P')) {
+      usb_close(devh);
+      return 0;
+    }
+
+    /* After this point we are probably dealing with an MTP device */
+
+    /*
+     * Check if device responds to control message 2, which is
+     * the extended device parameters. Most devices will just
+     * respond with a copy of the same message as for the first
+     * message, some respond with zero-length (which is OK)
+     * and some with pure garbage. We're not parsing the result
+     * so this is not very important.
+     */
+    ret = usb_control_msg (devh,
+			   USB_ENDPOINT_IN | USB_RECIP_DEVICE | USB_TYPE_VENDOR,
+			   cmd,
+			   0,
+			   5,
+			   (char *) buf,
+			   sizeof(buf),
+			   USB_TIMEOUT_DEFAULT);
+
+    // Dump it, if requested
+    if (dumpfile != NULL && ret > 0) {
+      fprintf(dumpfile, "Microsoft device response to control message 2, CMD 0x%02x:\n", cmd);
+      data_dump_ascii(dumpfile, buf, ret, 16);
+    }
+
+    /* If this is true, the device errored against control message 2 */
+    if (ret == -1) {
+      /* TODO: Implement callback function to let managing program know there
+	 was a problem, along with description of the problem */
+      LIBMTP_ERROR("Potential MTP Device with VendorID:%04x and "
+		   "ProductID:%04x encountered an error responding to "
+		   "control message 2.\n"
+		   "Problems may arrise but continuing\n",
+		   dev->descriptor.idVendor, dev->descriptor.idProduct);
+    } else if (dumpfile != NULL && ret == 0) {
+      fprintf(dumpfile, "Zero-length response to control message 2 (OK)\n");
+    } else if (dumpfile != NULL) {
+      fprintf(dumpfile, "Device responds to control message 2 with some data.\n");
+    }
+    /* Close the USB device handle */
+    usb_close(devh);
+    return 1;
   }
-  
-  /* If this is true, the device errored against control message 2 */
-  if (ret == -1) {
-    /* TODO: Implement callback function to let managing program know there
-       was a problem, along with description of the problem */
-    fprintf(stderr, "Potential MTP Device with VendorID:%04x and "
-	    "ProductID:%04x encountered an error responding to "
-	    "control message 2.\n"
-	    "Problems may arrise but continuing\n",
-	    dev->descriptor.idVendor, dev->descriptor.idProduct);
-  } else if (ret <= 0x15) {
-    /* TODO: Implement callback function to let managing program know there
-       was a problem, along with description of the problem */
-    fprintf(stderr, "Potential MTP Device with VendorID:%04x and "
-	    "ProductID:%04x responded to control message 2 with a "
-	    "response that was too short. Problems may arrise but "
-	    "continuing\n",
-	    dev->descriptor.idVendor, dev->descriptor.idProduct);
-  } else if ((buf[0x12] != 'M') || (buf[0x13] != 'T') || (buf[0x14] != 'P')) {
-    /* TODO: Implement callback function to let managing program know there
-       was a problem, along with description of the problem */
-    fprintf(stderr, "Potential MTP Device with VendorID:%04x and "
-	    "ProductID:%04x encountered an error responding to "
-	    "control message 2\n"
-	    "Problems may arrise but continuing\n",
-	    dev->descriptor.idVendor, dev->descriptor.idProduct);
-  }
-  
+
   /* Close the USB device handle */
   usb_close(devh);
-  return 1;
+  return 0;
 }
-#endif /* MILD_MTP_PROBING */
 
 /**
  * This function scans through the connected usb devices on a machine and
  * if they match known Vendor and Product identifiers appends them to the
- * dynamic array mtp_device_list. Be sure to call 
- * <code>free_mtpdevice_list(mtp_device_list)</code> when you are done 
+ * dynamic array mtp_device_list. Be sure to call
+ * <code>free_mtpdevice_list(mtp_device_list)</code> when you are done
  * with it, assuming it is not NULL.
- * @param mtp_device_list dynamic array of pointers to usb devices with MTP 
+ * @param mtp_device_list dynamic array of pointers to usb devices with MTP
  *        properties (if this list is not empty, new entries will be appended
  *        to the list).
  * @return LIBMTP_ERROR_NONE implies that devices have been found, scan the list
- *        appropriately. LIBMTP_ERROR_NO_DEVICE_ATTACHED implies that no 
+ *        appropriately. LIBMTP_ERROR_NO_DEVICE_ATTACHED implies that no
  *        devices have been found.
  */
 static LIBMTP_error_number_t get_mtp_usb_device_list(mtpdevice_list_t ** mtp_device_list)
@@ -526,8 +523,8 @@
           if(dev->descriptor.idVendor == mtp_device_table[i].vendor_id &&
             dev->descriptor.idProduct == mtp_device_table[i].product_id) {
             /* Append this usb device to the MTP device list */
-            *mtp_device_list = append_to_mtpdevice_list(*mtp_device_list, 
-							dev, 
+            *mtp_device_list = append_to_mtpdevice_list(*mtp_device_list,
+							dev,
 							bus->location);
             found = 1;
             break;
@@ -537,7 +534,7 @@
         if (!found) {
           if (probe_device_descriptor(dev, NULL)) {
             /* Append this usb device to the MTP USB Device List */
-            *mtp_device_list = append_to_mtpdevice_list(*mtp_device_list, 
+            *mtp_device_list = append_to_mtpdevice_list(*mtp_device_list,
 							dev,
 							bus->location);
           }
@@ -557,7 +554,7 @@
       }
     }
   }
-  
+
   /* If nothing was found we end up here. */
   if(*mtp_device_list == NULL) {
     return LIBMTP_ERROR_NO_DEVICE_ATTACHED;
@@ -566,21 +563,49 @@
 }
 
 /**
+ * Checks if a specific device with a certain bus and device
+ * number has an MTP type device descriptor.
+ *
+ * @param busno the bus number of the device to check
+ * @param deviceno the device number of the device to check
+ * @return 1 if the device is MTP else 0
+ */
+int LIBMTP_Check_Specific_Device(int busno, int devno)
+{
+  struct usb_bus *bus = init_usb();
+  for (; bus != NULL; bus = bus->next) {
+    struct usb_device *dev = bus->devices;
+    if (bus->location != busno)
+      continue;
+
+    for (; dev != NULL; dev = dev->next) {
+
+      if (dev->devnum != devno)
+	continue;
+
+      if (probe_device_descriptor(dev, NULL))
+	return 1;
+    }
+  }
+  return 0;
+}
+
+/**
  * Detect the raw MTP device descriptors and return a list of
  * of the devices found.
- * 
+ *
  * @param devices a pointer to a variable that will hold
  *        the list of raw devices found. This may be NULL
  *        on return if the number of detected devices is zero.
  *        The user shall simply <code>free()</code> this
  *        variable when finished with the raw devices,
  *        in order to release memory.
- * @param numdevs a pointer to an integer that will hold 
+ * @param numdevs a pointer to an integer that will hold
  *        the number of devices in the list. This may
  *        be 0.
  * @return 0 if successful, any other value means failure.
  */
-LIBMTP_error_number_t LIBMTP_Detect_Raw_Devices(LIBMTP_raw_device_t ** devices, 
+LIBMTP_error_number_t LIBMTP_Detect_Raw_Devices(LIBMTP_raw_device_t ** devices,
 			      int * numdevs)
 {
   mtpdevice_list_t *devlist = NULL;
@@ -596,7 +621,7 @@
     *numdevs = 0;
     return ret;
   } else if (ret != LIBMTP_ERROR_NONE) {
-    fprintf(stderr, "LIBMTP PANIC: get_mtp_usb_device_list() "
+    LIBMTP_ERROR("LIBMTP PANIC: get_mtp_usb_device_list() "
 	    "error code: %d on line %d\n", ret, __LINE__);
     return ret;
   }
@@ -640,45 +665,27 @@
 	retdevs[i].device_entry.product = mtp_device_table[j].product;
 	retdevs[i].device_entry.device_flags = mtp_device_table[j].device_flags;
 
-#ifdef _AFT_BUILD
-    // Disable the following features for all devices.
-	retdevs[i].device_entry.device_flags |= DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST|
-                                            DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST|
-                                            DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST;
-#endif
-
-#ifdef ENABLE_USB_BULK_DEBUG
 	// This device is known to the developers
-	fprintf(stderr, "Device %d (VID=%04x and PID=%04x) is a %s %s.\n", 
+	LIBMTP_ERROR("Device %d (VID=%04x and PID=%04x) is a %s %s.\n",
 		i,
 		dev->libusb_device->descriptor.idVendor,
 		dev->libusb_device->descriptor.idProduct,
 		mtp_device_table[j].vendor,
 		mtp_device_table[j].product);
-#endif
 	break;
       }
     }
     if (!device_known) {
-      // This device is unknown to the developers
-      fprintf(stderr, "Device %d (VID=%04x and PID=%04x) is UNKNOWN.\n", 
-	      i,
-	      dev->libusb_device->descriptor.idVendor,
-	      dev->libusb_device->descriptor.idProduct);
-      fprintf(stderr, "Please report this VID/PID and the device model to the "
-	      "libmtp development team\n");
-      /*
-       * Trying to get iManufacturer or iProduct from the device at this
-       * point would require opening a device handle, that we don't want
-       * to do right now. (Takes time for no good enough reason.)
-       */
+      device_unknown(i,
+                     dev->libusb_device->descriptor.idVendor,
+                     dev->libusb_device->descriptor.idProduct);
     }
     // Save the location on the bus
     retdevs[i].bus_location = dev->bus_location;
     retdevs[i].devnum = dev->libusb_device->devnum;
     i++;
     dev = dev->next;
-  }  
+  }
   *devices = retdevs;
   *numdevs = i;
   free_mtpdevice_list(devlist);
@@ -697,31 +704,31 @@
 #ifdef LIBUSB_HAS_GET_DRIVER_NP
   char devname[0x10];
   int res;
-  
+
   devname[0] = '\0';
   res = usb_get_driver_np(ptp_usb->handle, (int) ptp_usb->interface, devname, sizeof(devname));
   if (devname[0] != '\0') {
-    printf("   Using kernel interface \"%s\"\n", devname);
+    LIBMTP_INFO("   Using kernel interface \"%s\"\n", devname);
   }
 #endif
   dev = usb_device(ptp_usb->handle);
-  printf("   bcdUSB: %d\n", dev->descriptor.bcdUSB);
-  printf("   bDeviceClass: %d\n", dev->descriptor.bDeviceClass);
-  printf("   bDeviceSubClass: %d\n", dev->descriptor.bDeviceSubClass);
-  printf("   bDeviceProtocol: %d\n", dev->descriptor.bDeviceProtocol);
-  printf("   idVendor: %04x\n", dev->descriptor.idVendor);
-  printf("   idProduct: %04x\n", dev->descriptor.idProduct);
-  printf("   IN endpoint maxpacket: %d bytes\n", ptp_usb->inep_maxpacket);
-  printf("   OUT endpoint maxpacket: %d bytes\n", ptp_usb->outep_maxpacket);
-  printf("   Raw device info:\n");
-  printf("      Bus location: %d\n", ptp_usb->rawdevice.bus_location);
-  printf("      Device number: %d\n", ptp_usb->rawdevice.devnum);
-  printf("      Device entry info:\n");
-  printf("         Vendor: %s\n", ptp_usb->rawdevice.device_entry.vendor);
-  printf("         Vendor id: 0x%04x\n", ptp_usb->rawdevice.device_entry.vendor_id);
-  printf("         Product: %s\n", ptp_usb->rawdevice.device_entry.product);
-  printf("         Vendor id: 0x%04x\n", ptp_usb->rawdevice.device_entry.product_id);
-  printf("         Device flags: 0x%08x\n", ptp_usb->rawdevice.device_entry.device_flags);
+  LIBMTP_INFO("   bcdUSB: %d\n", dev->descriptor.bcdUSB);
+  LIBMTP_INFO("   bDeviceClass: %d\n", dev->descriptor.bDeviceClass);
+  LIBMTP_INFO("   bDeviceSubClass: %d\n", dev->descriptor.bDeviceSubClass);
+  LIBMTP_INFO("   bDeviceProtocol: %d\n", dev->descriptor.bDeviceProtocol);
+  LIBMTP_INFO("   idVendor: %04x\n", dev->descriptor.idVendor);
+  LIBMTP_INFO("   idProduct: %04x\n", dev->descriptor.idProduct);
+  LIBMTP_INFO("   IN endpoint maxpacket: %d bytes\n", ptp_usb->inep_maxpacket);
+  LIBMTP_INFO("   OUT endpoint maxpacket: %d bytes\n", ptp_usb->outep_maxpacket);
+  LIBMTP_INFO("   Raw device info:\n");
+  LIBMTP_INFO("      Bus location: %d\n", ptp_usb->rawdevice.bus_location);
+  LIBMTP_INFO("      Device number: %d\n", ptp_usb->rawdevice.devnum);
+  LIBMTP_INFO("      Device entry info:\n");
+  LIBMTP_INFO("         Vendor: %s\n", ptp_usb->rawdevice.device_entry.vendor);
+  LIBMTP_INFO("         Vendor id: 0x%04x\n", ptp_usb->rawdevice.device_entry.vendor_id);
+  LIBMTP_INFO("         Product: %s\n", ptp_usb->rawdevice.device_entry.product);
+  LIBMTP_INFO("         Vendor id: 0x%04x\n", ptp_usb->rawdevice.device_entry.product_id);
+  LIBMTP_INFO("         Device flags: 0x%08x\n", ptp_usb->rawdevice.device_entry.device_flags);
   (void) probe_device_descriptor(dev, stdout);
 }
 
@@ -748,7 +755,7 @@
 
 static void
 libusb_glue_debug (PTPParams *params, const char *format, ...)
-{  
+{
         va_list args;
 
         va_start (args, format);
@@ -761,11 +768,11 @@
 		fflush (stderr);
 	}
         va_end (args);
-}  
+}
 
 static void
 libusb_glue_error (PTPParams *params, const char *format, ...)
-{  
+{
         va_list args;
 
         va_start (args, format);
@@ -788,7 +795,7 @@
  * reveals that WMP / Windows is probably using an algorithm like this
  * for large transfers:
  *
- * 1. Send the command (0x0c bytes) if headers are split, else, send 
+ * 1. Send the command (0x0c bytes) if headers are split, else, send
  *    command plus sizeof(endpoint) - 0x0c bytes.
  * 2. Send first packet, max size to be sizeof(endpoint) but only when using
  *    split headers. Else goto 3.
@@ -816,7 +823,6 @@
   unsigned long toread = 0;
   int result = 0;
   unsigned long curread = 0;
-  unsigned long written;
   unsigned char *bytes;
   int expect_terminator_byte = 0;
   unsigned long usb_inep_maxpacket_size;
@@ -840,10 +846,9 @@
   // This is the largest block we'll need to read in.
   bytes = malloc(CONTEXT_BLOCK_SIZE);
   while (curread < size) {
-    
-#ifdef ENABLE_USB_BULK_DEBUG
-    printf("Remaining size to read: 0x%04lx bytes\n", size - curread);
-#endif
+
+    LIBMTP_USB_DEBUG("Remaining size to read: 0x%04lx bytes\n", size - curread);
+
     // check equal to condition here
     if (size - curread < CONTEXT_BLOCK_SIZE)
     {
@@ -855,51 +860,54 @@
         expect_terminator_byte = 1;
       }
     }
-    else if (curread == 0)
-      // we are first packet, but not last packet
-      toread = CONTEXT_BLOCK_SIZE_1;
-    else if (toread == CONTEXT_BLOCK_SIZE_1)
-      toread = CONTEXT_BLOCK_SIZE_2;
-    else if (toread == CONTEXT_BLOCK_SIZE_2)
-      toread = CONTEXT_BLOCK_SIZE_1;
-    else
-      printf("unexpected toread size 0x%04x, 0x%04x remaining bytes\n", 
-	     (unsigned int) toread, (unsigned int) (size-curread));
+    else if (ptp_dev_vendor_id == 0x4102 || ptp_dev_vendor_id == 0x1006) {
+	    //"iRiver" device special handling
+	    if (curread == 0)
+		    // we are first packet, but not last packet
+		    toread = context_block_size_1;
+	    else if (toread == context_block_size_1)
+		    toread = context_block_size_2;
+	    else if (toread == context_block_size_2)
+		    toread = context_block_size_1;
+	    else
+		    LIBMTP_INFO("unexpected toread size 0x%04x, 0x%04x remaining bytes\n",
+				(unsigned int) toread, (unsigned int) (size-curread));
 
-#ifdef ENABLE_USB_BULK_DEBUG
-    printf("Reading in 0x%04lx bytes\n", toread);
-#endif
-    result = USB_BULK_READ(ptp_usb->handle, ptp_usb->inep, (char*)bytes, toread, ptp_usb->timeout);
-#ifdef ENABLE_USB_BULK_DEBUG
-    printf("Result of read: 0x%04x\n", result);
-#endif
-        
+    } else
+	    toread = CONTEXT_BLOCK_SIZE;
+
+    LIBMTP_USB_DEBUG("Reading in 0x%04lx bytes\n", toread);
+
+    result = USB_BULK_READ(ptp_usb->handle,
+			   ptp_usb->inep,
+			   (char*) bytes,
+			   toread,
+			   ptp_usb->timeout);
+
+    LIBMTP_USB_DEBUG("Result of read: 0x%04x\n", result);
+
     if (result < 0) {
       return PTP_ERROR_IO;
     }
-#ifdef ENABLE_USB_BULK_DEBUG
-    printf("<==USB IN\n");
+
+    LIBMTP_USB_DEBUG("<==USB IN\n");
     if (result == 0)
-      printf("Zero Read\n");
-    else if (result < 0) 
-      fprintf(stderr, "USB_BULK_READ result=%#x\n", result);
-    else 
-      data_dump_ascii (stdout,bytes,result,16);
-#endif
-    
+      LIBMTP_USB_DEBUG("Zero Read\n");
+    else
+      LIBMTP_USB_DATA(bytes, result, 16);
+
     // want to discard extra byte
     if (expect_terminator_byte && result == toread)
     {
-#ifdef ENABLE_USB_BULK_DEBUG
-      printf("<==USB IN\nDiscarding extra byte\n");
-#endif
+      LIBMTP_USB_DEBUG("<==USB IN\nDiscarding extra byte\n");
+
       result--;
     }
-    
-    int putfunc_ret = handler->putfunc(NULL, handler->priv, result, bytes, &written);
+
+    int putfunc_ret = handler->putfunc(NULL, handler->priv, result, bytes);
     if (putfunc_ret != PTP_RC_OK)
       return putfunc_ret;
-    
+
     ptp_usb->current_transfer_complete += result;
     curread += result;
 
@@ -919,30 +927,33 @@
 	  return PTP_ERROR_CANCEL;
 	}
       }
-    }  
+    }
 
     if (result < toread) /* short reads are common */
       break;
   }
   if (readbytes) *readbytes = curread;
   free (bytes);
-  
+
   // there might be a zero packet waiting for us...
-  if (readzero && 
-      !FLAG_NO_ZERO_READS(ptp_usb) && 
+  if (readzero &&
+      !FLAG_NO_ZERO_READS(ptp_usb) &&
       curread % ptp_usb->outep_maxpacket == 0) {
     char temp;
     int zeroresult = 0;
 
-#ifdef ENABLE_USB_BULK_DEBUG
-    printf("<==USB IN\n");
-    printf("Zero Read\n");
-#endif
-    zeroresult = USB_BULK_READ(ptp_usb->handle, ptp_usb->inep, &temp, 0, ptp_usb->timeout);
+    LIBMTP_USB_DEBUG("<==USB IN\n");
+    LIBMTP_USB_DEBUG("Zero Read\n");
+
+    zeroresult = USB_BULK_READ(ptp_usb->handle,
+			       ptp_usb->inep,
+			       &temp,
+			       0,
+			       ptp_usb->timeout);
     if (zeroresult != 0)
-      printf("LIBMTP panic: unable to read in zero packet, response 0x%04x", zeroresult);
+      LIBMTP_INFO("LIBMTP panic: unable to read in zero packet, response 0x%04x", zeroresult);
   }
-  
+
   return PTP_RC_OK;
 }
 
@@ -959,7 +970,7 @@
   unsigned long curwrite = 0;
   unsigned char *bytes;
 
-  // This is the largest block we'll need to read in.  
+  // This is the largest block we'll need to read in.
   bytes = malloc(CONTEXT_BLOCK_SIZE);
   if (!bytes) {
     return PTP_ERROR_IO;
@@ -979,15 +990,15 @@
     if (getfunc_ret != PTP_RC_OK)
       return getfunc_ret;
     while (usbwritten < towrite) {
-	    result = USB_BULK_WRITE(ptp_usb->handle,ptp_usb->outep,((char*)bytes+usbwritten),towrite-usbwritten,ptp_usb->timeout);
-#ifdef ENABLE_USB_BULK_DEBUG
-	    printf("USB OUT==>\n");
-        if (result > 0) { 
-            data_dump_ascii (stdout,bytes+usbwritten,result,16);
-        } else {
-            fprintf(stderr, "USB_BULK_WRITE: result=%#x\n", result);
-        }
-#endif
+	    result = USB_BULK_WRITE(ptp_usb->handle,
+				    ptp_usb->outep,
+				    ((char*) bytes+usbwritten),
+				    towrite-usbwritten,
+				    ptp_usb->timeout);
+
+	    LIBMTP_USB_DEBUG("USB OUT==>\n");
+	    LIBMTP_USB_DATA(bytes+usbwritten, result, 16);
+
 	    if (result < 0) {
 	      return PTP_ERROR_IO;
 	    }
@@ -1021,19 +1032,22 @@
   if (written) {
     *written = curwrite;
   }
-  
 
   // If this is the last transfer send a zero write if required
   if (ptp_usb->current_transfer_complete >= ptp_usb->current_transfer_total) {
     if ((towrite % ptp_usb->outep_maxpacket) == 0) {
-#ifdef ENABLE_USB_BULK_DEBUG
-      printf("USB OUT==>\n");
-      printf("Zero Write\n");
-#endif
-      result=USB_BULK_WRITE(ptp_usb->handle,ptp_usb->outep,(char *)"x",0,ptp_usb->timeout);
+
+      LIBMTP_USB_DEBUG("USB OUT==>\n");
+      LIBMTP_USB_DEBUG("Zero Write\n");
+
+      result=USB_BULK_WRITE(ptp_usb->handle,
+			    ptp_usb->outep,
+			    (char *) "x",
+			    0,
+			    ptp_usb->timeout);
     }
   }
-    
+
   if (result < 0)
     return PTP_ERROR_IO;
   return PTP_RC_OK;
@@ -1063,8 +1077,7 @@
 
 static uint16_t
 memory_putfunc(PTPParams* params, void* private,
-	       unsigned long sendlen, unsigned char *data,
-	       unsigned long *putlen
+	       unsigned long sendlen, unsigned char *data
 ) {
 	PTPMemHandlerPrivate* priv = (PTPMemHandlerPrivate*)private;
 
@@ -1074,7 +1087,6 @@
 	}
 	memcpy (priv->data + priv->curoff, data, sendlen);
 	priv->curoff += sendlen;
-	*putlen = sendlen;
 	return PTP_RC_OK;
 }
 
@@ -1136,19 +1148,16 @@
 /* send / receive functions */
 
 uint16_t
-ptp_usb_sendreq (PTPParams* params, PTPContainer* req)
+ptp_usb_sendreq (PTPParams* params, PTPContainer* req, int dataphase)
 {
 	uint16_t ret;
 	PTPUSBBulkContainer usbreq;
 	PTPDataHandler	memhandler;
 	unsigned long written = 0;
 	unsigned long towrite;
-#ifdef ENABLE_USB_BULK_DEBUG
-	char txt[256];
 
-	(void) ptp_render_opcode (params, req->Code, sizeof(txt), txt);
-	printf("REQUEST: 0x%04x, %s\n", req->Code, txt);
-#endif
+        LIBMTP_USB_DEBUG("REQUEST: 0x%04x, %s\n", req->Code, ptp_get_opcode_name(params, req->Code));
+
 	/* build appropriate USB container */
 	usbreq.length=htod32(PTP_USB_BULK_REQ_LEN-
 		(sizeof(uint32_t)*(5-req->Nparam)));
@@ -1174,7 +1183,7 @@
 		ret = PTP_ERROR_IO;
 	}
 	if (written != towrite && ret != PTP_ERROR_CANCEL && ret != PTP_ERROR_IO) {
-		libusb_glue_error (params, 
+		libusb_glue_error (params,
 			"PTP: request code 0x%04x sending req wrote only %ld bytes instead of %d",
 			req->Code, written, towrite
 		);
@@ -1185,24 +1194,28 @@
 
 uint16_t
 ptp_usb_senddata (PTPParams* params, PTPContainer* ptp,
-		  unsigned long size, PTPDataHandler *handler
+		  uint64_t size, PTPDataHandler *handler
 ) {
 	uint16_t ret;
 	int wlen, datawlen;
 	unsigned long written;
 	PTPUSBBulkContainer usbdata;
-	uint32_t bytes_left_to_transfer;
+	uint64_t bytes_left_to_transfer;
 	PTPDataHandler memhandler;
+	unsigned long packet_size;
+	PTP_USB *ptp_usb = (PTP_USB *) params->data;
 
-#ifdef ENABLE_USB_BULK_DEBUG
-	printf("SEND DATA PHASE\n");
-#endif
+	packet_size = ptp_usb->inep_maxpacket;
+
+
+	LIBMTP_USB_DEBUG("SEND DATA PHASE\n");
+
 	/* build appropriate USB container */
 	usbdata.length	= htod32(PTP_USB_BULK_HDR_LEN+size);
 	usbdata.type	= htod16(PTP_USB_CONTAINER_DATA);
 	usbdata.code	= htod16(ptp->Code);
 	usbdata.trans_id= htod32(ptp->Transaction_ID);
-  
+
 	((PTP_USB*)params->data)->current_transfer_complete = 0;
 	((PTP_USB*)params->data)->current_transfer_total = size+PTP_USB_BULK_HDR_LEN;
 
@@ -1214,7 +1227,7 @@
 		/* For all camera devices. */
 		datawlen = (size<PTP_USB_BULK_PAYLOAD_LEN_WRITE)?size:PTP_USB_BULK_PAYLOAD_LEN_WRITE;
 		wlen = PTP_USB_BULK_HDR_LEN + datawlen;
-    
+
 		ret = handler->getfunc(params, handler->priv, datawlen, usbdata.payload.data, &gotlen);
 		if (ret != PTP_RC_OK)
 			return ret;
@@ -1233,7 +1246,9 @@
 	bytes_left_to_transfer = size-datawlen;
 	ret = PTP_RC_OK;
 	while(bytes_left_to_transfer > 0) {
-		ret = ptp_write_func (bytes_left_to_transfer, handler, params->data, &written);
+		int max_long_transfer = ULONG_MAX + 1 - packet_size;
+		ret = ptp_write_func (bytes_left_to_transfer > max_long_transfer ? max_long_transfer : bytes_left_to_transfer,
+			handler, params->data, &written);
 		if (ret != PTP_RC_OK)
 			break;
 		if (written == 0) {
@@ -1284,12 +1299,11 @@
 {
 	uint16_t ret;
 	PTPUSBBulkContainer usbdata;
-	unsigned long	written;
 	PTP_USB *ptp_usb = (PTP_USB *) params->data;
+	int putfunc_ret;
 
-#ifdef ENABLE_USB_BULK_DEBUG
-	printf("GET DATA PHASE\n");
-#endif
+	LIBMTP_USB_DEBUG("GET DATA PHASE\n");
+
 	memset(&usbdata,0,sizeof(usbdata));
 	do {
 		unsigned long len, rlen;
@@ -1316,7 +1330,7 @@
 				ret = dtoh16(usbdata.code);
 				// This filters entirely insane garbage return codes, but still
 				// makes it possible to return error codes in the code field when
-				// getting data. It appears Windows ignores the contents of this 
+				// getting data. It appears Windows ignores the contents of this
 				// field entirely.
 				if (ret < PTP_RC_Undefined || ret > PTP_RC_SpecificationOfDestinationUnsupported) {
 					libusb_glue_debug (params, "ptp2/ptp_usb_getdata: detected a broken "
@@ -1326,33 +1340,33 @@
 				break;
 			}
 		}
-		if (usbdata.length == 0xffffffffU) {
-			/* Copy first part of data to 'data' */
-      int putfunc_ret = 
-			handler->putfunc(
-				params, handler->priv, rlen - PTP_USB_BULK_HDR_LEN, usbdata.payload.data,
-				&written
-			);
-      if (putfunc_ret != PTP_RC_OK)
-        return putfunc_ret;
-			/* stuff data directly to passed data handler */
-			while (1) {
-				unsigned long readdata;
-				uint16_t xret;
+		if (rlen == ptp_usb->inep_maxpacket) {
+		  /* Copy first part of data to 'data' */
+		  putfunc_ret =
+		    handler->putfunc(
+				     params, handler->priv, rlen - PTP_USB_BULK_HDR_LEN, usbdata.payload.data
+				     );
+		  if (putfunc_ret != PTP_RC_OK)
+		    return putfunc_ret;
 
-				xret = ptp_read_func(
-					PTP_USB_BULK_HS_MAX_PACKET_LEN_READ,
-					handler,
-					params->data,
-					&readdata,
-					0
-				);
-				if (xret != PTP_RC_OK)
-					return xret;
-				if (readdata < PTP_USB_BULK_HS_MAX_PACKET_LEN_READ)
-					break;
-			}
-			return PTP_RC_OK;
+		  /* stuff data directly to passed data handler */
+		  while (1) {
+		    unsigned long readdata;
+		    uint16_t xret;
+
+		    xret = ptp_read_func(
+					 0x20000000,
+					 handler,
+					 params->data,
+					 &readdata,
+					 0
+					 );
+		    if (xret != PTP_RC_OK)
+		      return xret;
+		    if (readdata < 0x20000000)
+		      break;
+		  }
+		  return PTP_RC_OK;
 		}
 		if (rlen > dtoh32(usbdata.length)) {
 			/*
@@ -1379,7 +1393,7 @@
 			} else if(!FLAG_NO_ZERO_READS(ptp_usb) &&
 				  (rlen - dtoh32(usbdata.length) == 1)) {
 			  libusb_glue_debug (params, "ptp2/ptp_usb_getdata: read %d bytes "
-				     "too much, expect problems!", 
+				     "too much, expect problems!",
 				     rlen - dtoh32(usbdata.length));
 			}
 			rlen = packlen;
@@ -1397,48 +1411,56 @@
 			params->split_header_data = 1;
 
 		/* Copy first part of data to 'data' */
-    int putfunc_ret = 
-		handler->putfunc(
-			params, handler->priv, rlen - PTP_USB_BULK_HDR_LEN, usbdata.payload.data,
-			&written
-		);
-    if (putfunc_ret != PTP_RC_OK)
-      return putfunc_ret;
+		putfunc_ret =
+		  handler->putfunc(
+				   params, handler->priv, rlen - PTP_USB_BULK_HDR_LEN,
+				   usbdata.payload.data
+				   );
+		if (putfunc_ret != PTP_RC_OK)
+		  return putfunc_ret;
 
 		if (FLAG_NO_ZERO_READS(ptp_usb) &&
-		    len+PTP_USB_BULK_HDR_LEN == PTP_USB_BULK_HS_MAX_PACKET_LEN_READ) {
-#ifdef ENABLE_USB_BULK_DEBUG
-		  printf("Reading in extra terminating byte\n");
-#endif
+		    len+PTP_USB_BULK_HDR_LEN == ptp_usb->inep_maxpacket) {
+
+		  LIBMTP_USB_DEBUG("Reading in extra terminating byte\n");
+
 		  // need to read in extra byte and discard it
 		  int result = 0;
 		  char byte = 0;
-                  result = USB_BULK_READ(ptp_usb->handle, ptp_usb->inep, &byte, 1, ptp_usb->timeout);
+                  result = USB_BULK_READ(ptp_usb->handle,
+					 ptp_usb->inep,
+					 &byte,
+					 1,
+					 ptp_usb->timeout);
 
 		  if (result != 1)
-		    printf("Could not read in extra byte for PTP_USB_BULK_HS_MAX_PACKET_LEN_READ long file, return value 0x%04x\n", result);
-		} else if (len+PTP_USB_BULK_HDR_LEN == PTP_USB_BULK_HS_MAX_PACKET_LEN_READ && params->split_header_data == 0) {
+		    LIBMTP_INFO("Could not read in extra byte for %d bytes long file, return value 0x%04x\n", ptp_usb->inep_maxpacket, result);
+		} else if (len+PTP_USB_BULK_HDR_LEN == ptp_usb->inep_maxpacket && params->split_header_data == 0) {
 		  int zeroresult = 0;
 		  char zerobyte = 0;
 
-#ifdef ENABLE_USB_BULK_DEBUG
-		  printf("Reading in zero packet after header\n");
-#endif
-                  zeroresult = USB_BULK_READ(ptp_usb->handle, ptp_usb->inep, &zerobyte, 0, ptp_usb->timeout);
-		  
+
+		  LIBMTP_INFO("Reading in zero packet after header\n");
+
+		  zeroresult = USB_BULK_READ(ptp_usb->handle,
+					     ptp_usb->inep,
+					     &zerobyte,
+					     0,
+					     ptp_usb->timeout);
+
 		  if (zeroresult != 0)
-		    printf("LIBMTP panic: unable to read in zero packet, response 0x%04x", zeroresult);
+		    LIBMTP_INFO("LIBMTP panic: unable to read in zero packet, response 0x%04x", zeroresult);
 		}
-		
+
 		/* Is that all of data? */
 		if (len+PTP_USB_BULK_HDR_LEN<=rlen) {
 		  break;
 		}
-		
+
 		ret = ptp_read_func(len - (rlen - PTP_USB_BULK_HDR_LEN),
 				    handler,
 				    params->data, &rlen, 1);
-		
+
 		if (ret!=PTP_RC_OK) {
 		  break;
 		}
@@ -1454,9 +1476,9 @@
 	PTPUSBBulkContainer usbresp;
 	PTP_USB *ptp_usb = (PTP_USB *)(params->data);
 
-#ifdef ENABLE_USB_BULK_DEBUG
-	printf("RESPONSE: ");
-#endif
+
+	LIBMTP_USB_DEBUG("RESPONSE: ");
+
 	memset(&usbresp,0,sizeof(usbresp));
 	/* read response, it should never be longer than sizeof(usbresp) */
 	ret = ptp_usb_getpacket(params, &usbresp, &rlen);
@@ -1481,9 +1503,9 @@
 	if (dtoh16(usbresp.code)!=resp->Code) {
 		ret = dtoh16(usbresp.code);
 	}
-#ifdef ENABLE_USB_BULK_DEBUG
-	printf("%04x\n", ret);
-#endif
+
+	LIBMTP_USB_DEBUG("%04x\n", ret);
+
 	if (ret!=PTP_RC_OK) {
 /*		libusb_glue_error (params,
 		"PTP: request code 0x%04x getting resp error 0x%04x",
@@ -1528,20 +1550,36 @@
 
 	memset(&usbevent,0,sizeof(usbevent));
 
-	if ((params==NULL) || (event==NULL)) 
+	if ((params==NULL) || (event==NULL))
 		return PTP_ERROR_BADPARAM;
 	ret = PTP_RC_OK;
 	switch(wait) {
 	case PTP_EVENT_CHECK:
-                result=USB_BULK_READ(ptp_usb->handle, ptp_usb->intep,(char *)&usbevent,sizeof(usbevent),ptp_usb->timeout);
+                result = USB_BULK_READ(ptp_usb->handle,
+				     ptp_usb->intep,
+				     (char *) &usbevent,
+				     sizeof(usbevent),
+				     0);
 		if (result==0)
-                        result = USB_BULK_READ(ptp_usb->handle, ptp_usb->intep,(char *) &usbevent, sizeof(usbevent), ptp_usb->timeout);
+		  result = USB_BULK_READ(ptp_usb->handle,
+					 ptp_usb->intep,
+					 (char *) &usbevent,
+					 sizeof(usbevent),
+					 0);
 		if (result < 0) ret = PTP_ERROR_IO;
 		break;
 	case PTP_EVENT_CHECK_FAST:
-                result=USB_BULK_READ(ptp_usb->handle, ptp_usb->intep,(char *)&usbevent,sizeof(usbevent),ptp_usb->timeout);
+                result = USB_BULK_READ(ptp_usb->handle,
+				     ptp_usb->intep,
+				     (char *) &usbevent,
+				     sizeof(usbevent),
+				     ptp_usb->timeout);
 		if (result==0)
-                        result = USB_BULK_READ(ptp_usb->handle, ptp_usb->intep,(char *) &usbevent, sizeof(usbevent), ptp_usb->timeout);
+		  result = USB_BULK_READ(ptp_usb->handle,
+					 ptp_usb->intep,
+					 (char *) &usbevent,
+					 sizeof(usbevent),
+					 ptp_usb->timeout);
 		if (result < 0) ret = PTP_ERROR_IO;
 		break;
 	default:
@@ -1583,6 +1621,17 @@
 }
 
 uint16_t
+ptp_usb_event_async (PTPParams* params, PTPEventCbFn cb, void *user_data) {
+	/* Unsupported */
+	return PTP_ERROR_CANCEL;
+}
+
+int LIBMTP_Handle_Events_Timeout_Completed(struct timeval *tv, int *completed) {
+	/* Unsupported */
+	return -12;
+}
+
+uint16_t
 ptp_usb_control_cancel_request (PTPParams *params, uint32_t transactionid) {
 	PTP_USB *ptp_usb = (PTP_USB *)(params->data);
 	int ret;
@@ -1590,18 +1639,23 @@
 
 	htod16a(&buffer[0],PTP_EC_CancelTransaction);
 	htod32a(&buffer[2],transactionid);
-	ret = usb_control_msg(ptp_usb->handle, 
+	ret = usb_control_msg(ptp_usb->handle,
 			      USB_TYPE_CLASS | USB_RECIP_INTERFACE,
-                              0x64, 0x0000, 0x0000, (char *) buffer, sizeof(buffer), ptp_usb->timeout);
+                              0x64, 0x0000, 0x0000,
+			      (char *) buffer,
+			      sizeof(buffer),
+			      ptp_usb->timeout);
 	if (ret < sizeof(buffer))
 		return PTP_ERROR_IO;
 	return PTP_RC_OK;
 }
 
-static int init_ptp_usb (PTPParams* params, PTP_USB* ptp_usb, struct usb_device* dev)
+static int init_ptp_usb(PTPParams* params, PTP_USB* ptp_usb, struct usb_device* dev)
 {
   usb_dev_handle *device_handle;
-  
+  char buf[255];
+  int usbresult;
+
   params->sendreq_func=ptp_usb_sendreq;
   params->senddata_func=ptp_usb_senddata;
   params->getresp_func=ptp_usb_getresp;
@@ -1614,41 +1668,113 @@
    * Change this the day we run into our first BE device (if ever).
    */
   params->byteorder = PTP_DL_LE;
-  
-  ptp_usb->timeout = USB_TIMEOUT_DEFAULT;
-  
+
+  ptp_usb->timeout = get_timeout(ptp_usb);
+
   device_handle = usb_open(dev);
   if (!device_handle) {
     perror("usb_open()");
     return -1;
   }
-
   ptp_usb->handle = device_handle;
+
 #ifdef LIBUSB_HAS_DETACH_KERNEL_DRIVER_NP
   /*
-  * If this device is known to be wrongfully claimed by other kernel
-  * drivers (such as mass storage), then try to unload it to make it
-  * accessible from user space.
-  */
+   * If this device is known to be wrongfully claimed by other kernel
+   * drivers (such as mass storage), then try to unload it to make it
+   * accessible from user space.
+   */
   if (FLAG_UNLOAD_DRIVER(ptp_usb)) {
-    if (usb_detach_kernel_driver_np(device_handle, (int) ptp_usb->interface)) {
-	  // Totally ignore this error!
-	  // perror("usb_detach_kernel_driver_np()");
+    if (usb_get_driver_np(device_handle, (int) ptp_usb->interface,
+                          buf, sizeof(buf)) == 0) {
+      if (usb_detach_kernel_driver_np(device_handle,
+                                      (int) ptp_usb->interface)) {
+        perror("usb_detach_kernel_driver_np()");
+        return -1;
+      }
     }
   }
 #endif
-#ifdef __WIN32__
-  // Only needed on Windows, and cause problems on other platforms.
-  if (usb_set_configuration(device_handle, dev->config->bConfigurationValue)) {
-    perror("usb_set_configuration()");
-    return -1;
-  }
-#endif
-  if (usb_claim_interface(device_handle, (int) ptp_usb->interface)) {
-    perror("usb_claim_interface()");
-    return -1;
+
+  /*
+   * Check if the config is set to something else than what we want
+   * to use. Only set the configuration if we absolutely have to.
+   * Also do not bail out if we fail.
+   */
+  if (dev->config->bConfigurationValue != ptp_usb->config) {
+    if (usb_set_configuration(device_handle, dev->config->bConfigurationValue)) {
+      perror("error in usb_set_configuration()- continuing anyway");
+    }
   }
 
+  /*
+   * It seems like on kernel 2.6.31 if we already have it open on another
+   * pthread in our app, we'll get an error if we try to claim it again,
+   * but that error is harmless because our process already claimed the interface
+   */
+  usbresult = usb_claim_interface(device_handle, (int) ptp_usb->interface);
+
+  if (usbresult != 0)
+    fprintf(stderr, "ignoring usb_claim_interface = %d", usbresult);
+
+  /*
+   * If the altsetting is set to something different than we want, switch
+   * it.
+   *
+   * FIXME: this seems to cause trouble on the Mac:s so disable it. Retry
+   * this on the Mac now that it only sets this when the altsetting differs.
+   */
+#ifndef __APPLE__
+#if 0 /* Disable this always, no idea on how to handle it */
+  if (dev->config->interface[].altsetting[] !=
+      ptp_usb->altsetting) {
+    fprintf(stderr, "desired altsetting different from current, trying to set altsetting\n");
+    usbresult = usb_set_altinterface(device_handle, 0);
+    if (usbresult)
+      fprintf(stderr, "ignoring error from usb_claim_interface = %d\n", usbresult);
+  }
+#endif
+#endif
+
+  if (FLAG_SWITCH_MODE_BLACKBERRY(ptp_usb)) {
+    int ret;
+
+    // FIXME : Only for BlackBerry Storm
+    // What does it mean? Maybe switch mode...
+    // This first control message is absolutely necessary
+    usleep(1000);
+    ret = usb_control_msg(device_handle,
+                          USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_IN,
+                          0xaa, 0x00, 0x04, buf, 0x40, 1000);
+    LIBMTP_USB_DEBUG("BlackBerry magic part 1:\n");
+    LIBMTP_USB_DATA(buf, ret, 16);
+
+    usleep(1000);
+    // This control message is unnecessary
+    ret = usb_control_msg(device_handle,
+                          USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_IN,
+                          0xa5, 0x00, 0x01, buf, 0x02, 1000);
+    LIBMTP_USB_DEBUG("BlackBerry magic part 2:\n");
+    LIBMTP_USB_DATA(buf, ret, 16);
+
+    usleep(1000);
+    // This control message is unnecessary
+    ret = usb_control_msg(device_handle,
+                          USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_IN,
+                          0xa8, 0x00, 0x01, buf, 0x05, 1000);
+    LIBMTP_USB_DEBUG("BlackBerry magic part 3:\n");
+    LIBMTP_USB_DATA(buf, ret, 16);
+
+    usleep(1000);
+    // This control message is unnecessary
+    ret = usb_control_msg(device_handle,
+                          USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_ENDPOINT_IN,
+                          0xa8, 0x00, 0x01, buf, 0x11, 1000);
+    LIBMTP_USB_DEBUG("BlackBerry magic part 4:\n");
+    LIBMTP_USB_DATA(buf, ret, 16);
+
+    usleep(1000);
+  }
   return 0;
 }
 
@@ -1656,27 +1782,27 @@
 {
   uint16_t status;
   int ret;
-  
+
   /* check the inep status */
   status = 0;
   ret = usb_get_endpoint_status(ptp_usb,ptp_usb->inep,&status);
   if (ret<0) {
     perror ("inep: usb_get_endpoint_status()");
   } else if (status) {
-    printf("Clearing stall on IN endpoint\n");
+    LIBMTP_INFO("Clearing stall on IN endpoint\n");
     ret = usb_clear_stall_feature(ptp_usb,ptp_usb->inep);
     if (ret<0) {
       perror ("usb_clear_stall_feature()");
     }
   }
-  
+
   /* check the outep status */
   status=0;
   ret = usb_get_endpoint_status(ptp_usb,ptp_usb->outep,&status);
   if (ret<0) {
     perror("outep: usb_get_endpoint_status()");
   } else if (status) {
-    printf("Clearing stall on OUT endpoint\n");
+    LIBMTP_INFO("Clearing stall on OUT endpoint\n");
     ret = usb_clear_stall_feature(ptp_usb,ptp_usb->outep);
     if (ret<0) {
       perror("usb_clear_stall_feature()");
@@ -1706,91 +1832,116 @@
 
 static void close_usb(PTP_USB* ptp_usb)
 {
-  // Commented out since it was confusing some
-  // devices to do these things.
   if (!FLAG_NO_RELEASE_INTERFACE(ptp_usb)) {
-
     /*
      * Clear any stalled endpoints
      * On misbehaving devices designed for Windows/Mac, quote from:
      * http://www2.one-eyed-alien.net/~mdharm/linux-usb/target_offenses.txt
      * Device does Bad Things(tm) when it gets a GET_STATUS after CLEAR_HALT
-     * (...) Windows, when clearing a stall, only sends the CLEAR_HALT command, 
-     * and presumes that the stall has cleared.  Some devices actually choke 
-     * if the CLEAR_HALT is followed by a GET_STATUS (used to determine if the 
+     * (...) Windows, when clearing a stall, only sends the CLEAR_HALT command,
+     * and presumes that the stall has cleared.  Some devices actually choke
+     * if the CLEAR_HALT is followed by a GET_STATUS (used to determine if the
      * STALL is persistant or not).
      */
     clear_stall(ptp_usb);
+#if 0
+    // causes troubles due to a kernel bug in 3.x kernels before/around 3.8
     // Clear halts on any endpoints
     clear_halt(ptp_usb);
     // Added to clear some stuff on the OUT endpoint
     // TODO: is this good on the Mac too?
     // HINT: some devices may need that you comment these two out too.
+#endif
     usb_resetep(ptp_usb->handle, ptp_usb->outep);
     usb_release_interface(ptp_usb->handle, (int) ptp_usb->interface);
   }
-
+  if (FLAG_FORCE_RESET_ON_CLOSE(ptp_usb)) {
+    /*
+     * Some devices really love to get reset after being
+     * disconnected. Again, since Windows never disconnects
+     * a device closing behaviour is seldom or never exercised
+     * on devices when engineered and often error prone.
+     * Reset may help some.
+     */
+    usb_reset(ptp_usb->handle);
+  }
   usb_close(ptp_usb->handle);
 }
 
 /**
  * Self-explanatory?
  */
-static void find_interface_and_endpoints(struct usb_device *dev, 
-					 uint8_t *interface,
-					 int* inep, 
-					 int* inep_maxpacket, 
-					 int* outep, 
-					 int *outep_maxpacket, 
-					 int* intep)
+static int find_interface_and_endpoints(struct usb_device *dev,
+					uint8_t *conf,
+					uint8_t *interface,
+					uint8_t *altsetting,
+					int* inep,
+					int* inep_maxpacket,
+					int* outep,
+					int *outep_maxpacket,
+					int* intep)
 {
-  int i;
+  uint8_t i;
 
   // Loop over the device configurations
   for (i = 0; i < dev->descriptor.bNumConfigurations; i++) {
     uint8_t j;
 
-    for (j = 0; j < dev->config[i].bNumInterfaces; j++) {
-      uint8_t k;
-      uint8_t no_ep;
-      struct usb_endpoint_descriptor *ep;
-      
-      if (dev->descriptor.bNumConfigurations > 1 || dev->config[i].bNumInterfaces > 1) {
-	// OK This device has more than one interface, so we have to find out
-	// which one to use! 
-	// FIXME: Probe the interface.
-	// FIXME: Release modules attached to all other interfaces in Linux...?
-      }
+    *conf = dev->config->bConfigurationValue;;
 
-      *interface = dev->config[i].interface[j].altsetting->bInterfaceNumber;
-      ep = dev->config[i].interface[j].altsetting->endpoint;
-      no_ep = dev->config[i].interface[j].altsetting->bNumEndpoints;
-      
-      for (k = 0; k < no_ep; k++) {
-	if (ep[k].bmAttributes==USB_ENDPOINT_TYPE_BULK)	{
-	  if ((ep[k].bEndpointAddress&USB_ENDPOINT_DIR_MASK)==
-	      USB_ENDPOINT_DIR_MASK)
-	    {
-	      *inep=ep[k].bEndpointAddress;
-	      *inep_maxpacket=ep[k].wMaxPacketSize;
+    // Loop over each configurations interfaces
+    for (j = 0; j < dev->config[i].bNumInterfaces; j++) {
+      uint8_t k, l;
+      uint8_t no_ep;
+      int found_inep = 0;
+      int found_outep = 0;
+      int found_intep = 0;
+      struct usb_endpoint_descriptor *ep;
+
+      // Inspect the altsettings of this interface
+      for (k = 0; k < dev->config[i].interface[j].num_altsetting; k++) {
+
+	// MTP devices shall have 3 endpoints, ignore those interfaces
+	// that haven't.
+	no_ep = dev->config[i].interface[j].altsetting[k].bNumEndpoints;
+	if (no_ep != 3)
+	  continue;
+
+	*interface = dev->config[i].interface[j].altsetting[k].bInterfaceNumber;
+	*altsetting = dev->config[i].interface[j].altsetting[k].bAlternateSetting;
+	ep = dev->config[i].interface[j].altsetting[k].endpoint;
+
+	// Loop over the three endpoints to locate two bulk and
+	// one interrupt endpoint and FAIL if we cannot, and continue.
+	for (l = 0; l < no_ep; l++) {
+	  if (ep[l].bmAttributes == USB_ENDPOINT_TYPE_BULK) {
+	    if ((ep[l].bEndpointAddress & USB_ENDPOINT_DIR_MASK) ==
+		USB_ENDPOINT_DIR_MASK) {
+	      *inep = ep[l].bEndpointAddress;
+	      *inep_maxpacket = ep[l].wMaxPacketSize;
+	      found_inep = 1;
 	    }
-	  if ((ep[k].bEndpointAddress&USB_ENDPOINT_DIR_MASK)==0)
-	    {
-	      *outep=ep[k].bEndpointAddress;
-	      *outep_maxpacket=ep[k].wMaxPacketSize;
+	    if ((ep[l].bEndpointAddress & USB_ENDPOINT_DIR_MASK) == 0) {
+	      *outep = ep[l].bEndpointAddress;
+	      *outep_maxpacket = ep[l].wMaxPacketSize;
+	      found_outep = 1;
 	    }
-	} else if (ep[k].bmAttributes==USB_ENDPOINT_TYPE_INTERRUPT){
-	  if ((ep[k].bEndpointAddress&USB_ENDPOINT_DIR_MASK)==
-	      USB_ENDPOINT_DIR_MASK)
-	    {
-	      *intep=ep[k].bEndpointAddress;
+	  } else if (ep[l].bmAttributes == USB_ENDPOINT_TYPE_INTERRUPT) {
+	    if ((ep[l].bEndpointAddress & USB_ENDPOINT_DIR_MASK) ==
+		USB_ENDPOINT_DIR_MASK) {
+	      *intep = ep[l].bEndpointAddress;
+	      found_intep = 1;
 	    }
+	  }
 	}
-      }
-      // We assigned the endpoints so return here.
-      return;
-    }
-  }
+	if (found_inep && found_outep && found_intep)
+	  // We assigned the endpoints so return here.
+	  return 0;
+	// Else loop to next interface/config
+      } /* Next altsetting */
+    } /* Next interface */
+  } /* Next config */
+  return -1;
 }
 
 /**
@@ -1800,7 +1951,7 @@
  * @param usbinfo a pointer to the new usbinfo.
  * @return an error code.
  */
-LIBMTP_error_number_t configure_usb_device(LIBMTP_raw_device_t *device, 
+LIBMTP_error_number_t configure_usb_device(LIBMTP_raw_device_t *device,
 					   PTPParams *params,
 					   void **usbinfo)
 {
@@ -1809,6 +1960,7 @@
   uint16_t ret = 0;
   struct usb_bus *bus;
   int found = 0;
+  int err;
 
   /* See if we can find this raw device again... */
   bus = init_usb();
@@ -1853,49 +2005,63 @@
     // Massage the device descriptor
     (void) probe_device_descriptor(libusb_device, NULL);
   }
-  
 
-  /* Assign endpoints to usbinfo... */
-  find_interface_and_endpoints(libusb_device,
-		   &ptp_usb->interface,
-		   &ptp_usb->inep,
-		   &ptp_usb->inep_maxpacket,
-		   &ptp_usb->outep,
-		   &ptp_usb->outep_maxpacket,
-		   &ptp_usb->intep);
-    
-  /* Attempt to initialize this device */
-  if (init_ptp_usb(params, ptp_usb, libusb_device) < 0) {
-    fprintf(stderr, "LIBMTP PANIC: Unable to initialize device\n");
+  /* Assign interface and endpoints to usbinfo... */
+  err = find_interface_and_endpoints(libusb_device,
+				     &ptp_usb->config,
+				     &ptp_usb->interface,
+				     &ptp_usb->altsetting,
+				     &ptp_usb->inep,
+				     &ptp_usb->inep_maxpacket,
+				     &ptp_usb->outep,
+				     &ptp_usb->outep_maxpacket,
+				     &ptp_usb->intep);
+
+  if (err) {
+    LIBMTP_ERROR("LIBMTP PANIC: Unable to find interface & endpoints of device\n");
     return LIBMTP_ERROR_CONNECTING;
   }
-  
+
+  /* Copy USB version number */
+  ptp_usb->bcdusb = libusb_device->descriptor.bcdUSB;
+
+  /* Attempt to initialize this device */
+  if (init_ptp_usb(params, ptp_usb, libusb_device) < 0) {
+    LIBMTP_ERROR("LIBMTP PANIC: Unable to initialize device\n");
+    return LIBMTP_ERROR_CONNECTING;
+  }
+
   /*
    * This works in situations where previous bad applications
-   * have not used LIBMTP_Release_Device on exit 
+   * have not used LIBMTP_Release_Device on exit
    */
   if ((ret = ptp_opensession(params, 1)) == PTP_ERROR_IO) {
-    fprintf(stderr, "PTP_ERROR_IO: Trying again after re-initializing USB interface\n");
+    LIBMTP_ERROR("PTP_ERROR_IO: failed to open session, trying again after resetting USB interface\n");
+    LIBMTP_ERROR("LIBMTP libusb: Attempt to reset device\n");
+    usb_reset(ptp_usb->handle);
     close_usb(ptp_usb);
-      
+
     if(init_ptp_usb(params, ptp_usb, libusb_device) <0) {
-      fprintf(stderr, "LIBMTP PANIC: Could not open session on device\n");
+      LIBMTP_ERROR("LIBMTP PANIC: Could not init USB on second attempt\n");
       return LIBMTP_ERROR_CONNECTING;
     }
-    
+
     /* Device has been reset, try again */
-    ret = ptp_opensession(params, 1);
+    if ((ret = ptp_opensession(params, 1)) == PTP_ERROR_IO) {
+      LIBMTP_ERROR("LIBMTP PANIC: failed to open session on second attempt\n");
+      return LIBMTP_ERROR_CONNECTING;
+    }
   }
-  
+
   /* Was the transaction id invalid? Try again */
   if (ret == PTP_RC_InvalidTransactionID) {
-    fprintf(stderr, "LIBMTP WARNING: Transaction ID was invalid, increment and try again\n");
+    LIBMTP_ERROR("LIBMTP WARNING: Transaction ID was invalid, increment and try again\n");
     params->transaction_id += 10;
     ret = ptp_opensession(params, 1);
   }
 
   if (ret != PTP_RC_SessionAlreadyOpened && ret != PTP_RC_OK) {
-    fprintf(stderr, "LIBMTP PANIC: Could not open session! "
+    LIBMTP_ERROR("LIBMTP PANIC: Could not open session! "
 	    "(Return code %d)\n  Try to reset the device.\n",
 	    ret);
     usb_release_interface(ptp_usb->handle,
@@ -1912,31 +2078,69 @@
 void close_device (PTP_USB *ptp_usb, PTPParams *params)
 {
   if (ptp_closesession(params)!=PTP_RC_OK)
-    fprintf(stderr,"ERROR: Could not close session!\n");
+    LIBMTP_ERROR("ERROR: Could not close session!\n");
   close_usb(ptp_usb);
 }
 
 void set_usb_device_timeout(PTP_USB *ptp_usb, int timeout)
 {
-    ptp_usb->timeout = timeout;
+  ptp_usb->timeout = timeout;
 }
 
 void get_usb_device_timeout(PTP_USB *ptp_usb, int *timeout)
 {
-    *timeout = ptp_usb->timeout;
+  *timeout = ptp_usb->timeout;
+}
+
+int guess_usb_speed(PTP_USB *ptp_usb)
+{
+  int bytes_per_second;
+
+  /*
+   * We don't know the actual speeds so these are rough guesses
+   * from the info you can find here:
+   * http://en.wikipedia.org/wiki/USB#Transfer_rates
+   * http://www.barefeats.com/usb2.html
+   */
+  switch (ptp_usb->bcdusb & 0xFF00) {
+  case 0x0100:
+    /* 1.x USB versions let's say 1MiB/s */
+    bytes_per_second = 1*1024*1024;
+    break;
+  case 0x0200:
+  case 0x0300:
+    /* USB 2.0 nominal speed 18MiB/s */
+    /* USB 3.0 won't be worse? */
+    bytes_per_second = 18*1024*1024;
+    break;
+  default:
+    /* Half-guess something? */
+    bytes_per_second = 1*1024*1024;
+    break;
+  }
+  return bytes_per_second;
 }
 
 static int usb_clear_stall_feature(PTP_USB* ptp_usb, int ep)
 {
-  
   return (usb_control_msg(ptp_usb->handle,
-			  USB_RECIP_ENDPOINT, USB_REQ_CLEAR_FEATURE, USB_FEATURE_HALT,
-                          ep, NULL, 0, ptp_usb->timeout));
+			  USB_RECIP_ENDPOINT,
+			  USB_REQ_CLEAR_FEATURE,
+			  USB_FEATURE_HALT,
+                          ep,
+			  NULL,
+			  0,
+			  ptp_usb->timeout));
 }
 
 static int usb_get_endpoint_status(PTP_USB* ptp_usb, int ep, uint16_t* status)
 {
   return (usb_control_msg(ptp_usb->handle,
-			  USB_DP_DTH|USB_RECIP_ENDPOINT, USB_REQ_GET_STATUS,
-                          USB_FEATURE_HALT, ep, (char *)status, 2, ptp_usb->timeout));
+			  USB_DP_DTH|USB_RECIP_ENDPOINT,
+			  USB_REQ_GET_STATUS,
+                          USB_FEATURE_HALT,
+			  ep,
+			  (char *) status,
+			  2,
+			  ptp_usb->timeout));
 }
diff --git a/src/libusb-glue.h b/src/libusb-glue.h
index c68677e..0ea6b29 100644
--- a/src/libusb-glue.h
+++ b/src/libusb-glue.h
@@ -3,8 +3,8 @@
  * Low-level USB interface glue towards libusb.
  *
  * Copyright (C) 2005-2007 Richard A. Low <richard@wentnet.com>
- * Copyright (C) 2005-2007 Linus Walleij <triad@df.lth.se>
- * Copyright (C) 2006-2007 Marcus Meissner
+ * Copyright (C) 2005-2012 Linus Walleij <triad@df.lth.se>
+ * Copyright (C) 2006-2011 Marcus Meissner
  * Copyright (C) 2007 Ted Bullock
  * Copyright (C) 2008 Chris Bagwell <chris@cnpbagwell.com>
  *
@@ -31,7 +31,15 @@
 #define LIBUSB_GLUE_H
 
 #include "ptp.h"
+#ifdef HAVE_LIBUSB1
+#include <libusb.h>
+#endif
+#ifdef HAVE_LIBUSB0
 #include <usb.h>
+#endif
+#ifdef HAVE_LIBOPENUSB
+#include <openusb.h>
+#endif
 #include "libmtp.h"
 #include "device-flags.h"
 
@@ -40,8 +48,33 @@
 extern "C" {
 #endif /* __cplusplus */
 
+/**
+ * Debug macro
+ */
+#define LIBMTP_USB_DEBUG(format, args...) \
+  do { \
+    if ((LIBMTP_debug & LIBMTP_DEBUG_USB) != 0) \
+      fprintf(stdout, "LIBMTP %s[%d]: " format, __FUNCTION__, __LINE__, ##args); \
+  } while (0)
+
+#define LIBMTP_USB_DATA(buffer, length, base) \
+  do { \
+    if ((LIBMTP_debug & LIBMTP_DEBUG_DATA) != 0) \
+      data_dump_ascii (stdout, buffer, length, base); \
+  } while (0)
+
+#ifdef HAVE_LIBUSB1
+#define USB_BULK_READ libusb_bulk_transfer
+#define USB_BULK_WRITE libusb_bulk_transfer
+#endif
+#ifdef HAVE_LIBUSB0
 #define USB_BULK_READ usb_bulk_read
 #define USB_BULK_WRITE usb_bulk_write
+#endif
+#ifdef HAVE_LIBOPENUSB
+#define USB_BULK_READ openusb_bulk_xfer
+#define USB_BULK_WRITE openusb_bulk_xfer
+#endif
 
 /**
  * Internal USB struct.
@@ -49,16 +82,27 @@
 typedef struct _PTP_USB PTP_USB;
 struct _PTP_USB {
   PTPParams *params;
+#ifdef HAVE_LIBUSB1
+  libusb_device_handle* handle;
+#endif
+#ifdef HAVE_LIBUSB0
   usb_dev_handle* handle;
+#endif
+#ifdef HAVE_LIBOPENUSB
+  openusb_dev_handle_t* handle;
+#endif
+  uint8_t config;
   uint8_t interface;
+  uint8_t altsetting;
   int inep;
   int inep_maxpacket;
   int outep;
   int outep_maxpacket;
   int intep;
-  int timeout;
   /** File transfer callbacks and counters */
   int callback_active;
+  int timeout;
+  uint16_t bcdusb;
   uint64_t current_transfer_total;
   uint64_t current_transfer_complete;
   LIBMTP_progressfunc_t current_transfer_callback;
@@ -67,15 +111,15 @@
   LIBMTP_raw_device_t rawdevice;
 };
 
-int open_device (int busn, int devn, short force, PTP_USB *ptp_usb, PTPParams *params, struct usb_device **dev);
 void dump_usbinfo(PTP_USB *ptp_usb);
 const char *get_playlist_extension(PTP_USB *ptp_usb);
 void close_device(PTP_USB *ptp_usb, PTPParams *params);
-LIBMTP_error_number_t configure_usb_device(LIBMTP_raw_device_t *device, 
+LIBMTP_error_number_t configure_usb_device(LIBMTP_raw_device_t *device,
 					   PTPParams *params,
 					   void **usbinfo);
 void set_usb_device_timeout(PTP_USB *ptp_usb, int timeout);
 void get_usb_device_timeout(PTP_USB *ptp_usb, int *timeout);
+int guess_usb_speed(PTP_USB *ptp_usb);
 
 /* Flag check macros */
 #define FLAG_BROKEN_MTPGETOBJPROPLIST_ALL(a) \
@@ -116,6 +160,16 @@
   ((a)->rawdevice.device_entry.device_flags & DEVICE_FLAG_BROKEN_BATTERY_LEVEL)
 #define FLAG_FLAC_IS_UNKNOWN(a) \
   ((a)->rawdevice.device_entry.device_flags & DEVICE_FLAG_FLAC_IS_UNKNOWN)
+#define FLAG_UNIQUE_FILENAMES(a) \
+  ((a)->rawdevice.device_entry.device_flags & DEVICE_FLAG_UNIQUE_FILENAMES)
+#define FLAG_SWITCH_MODE_BLACKBERRY(a) \
+  ((a)->rawdevice.device_entry.device_flags & DEVICE_FLAG_SWITCH_MODE_BLACKBERRY)
+#define FLAG_LONG_TIMEOUT(a) \
+  ((a)->rawdevice.device_entry.device_flags & DEVICE_FLAG_LONG_TIMEOUT)
+#define FLAG_FORCE_RESET_ON_CLOSE(a) \
+  ((a)->rawdevice.device_entry.device_flags & DEVICE_FLAG_FORCE_RESET_ON_CLOSE)
+#define FLAG_BROKEN_GET_OBJECT_PROPVAL(a) \
+  ((a)->rawdevice.device_entry.device_flags & DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL)
 
 /* connect_first_device return codes */
 #define PTP_CD_RC_CONNECTED	0
diff --git a/src/libusb1-glue.c b/src/libusb1-glue.c
new file mode 100644
index 0000000..3098553
--- /dev/null
+++ b/src/libusb1-glue.c
@@ -0,0 +1,2284 @@
+/*
+ * \file libusb1-glue.c
+ * Low-level USB interface glue towards libusb.
+ *
+ * Copyright (C) 2005-2007 Richard A. Low <richard@wentnet.com>
+ * Copyright (C) 2005-2012 Linus Walleij <triad@df.lth.se>
+ * Copyright (C) 2006-2012 Marcus Meissner
+ * Copyright (C) 2007 Ted Bullock
+ * Copyright (C) 2008 Chris Bagwell <chris@cnpbagwell.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Created by Richard Low on 24/12/2005. (as mtp-utils.c)
+ * Modified by Linus Walleij 2006-03-06
+ *  (Notice that Anglo-Saxons use little-endian dates and Swedes
+ *   use big-endian dates.)
+ *
+ */
+#include "config.h"
+#include "libmtp.h"
+#include "libusb-glue.h"
+#include "device-flags.h"
+#include "util.h"
+#include "ptp.h"
+
+#include <errno.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#include "ptp-pack.c"
+
+/*
+ * Default USB timeout length.  This can be overridden as needed
+ * but should start with a reasonable value so most common
+ * requests can be completed.  The original value of 4000 was
+ * not long enough for large file transfer.  Also, players can
+ * spend a bit of time collecting data.  Higher values also
+ * make connecting/disconnecting more reliable.
+ */
+#define USB_TIMEOUT_DEFAULT     20000
+#define USB_TIMEOUT_LONG        60000
+static inline int get_timeout(PTP_USB* ptp_usb)
+{
+  if (FLAG_LONG_TIMEOUT(ptp_usb)) {
+    return USB_TIMEOUT_LONG;
+  }
+  return USB_TIMEOUT_DEFAULT;
+}
+
+/* USB Feature selector HALT */
+#ifndef USB_FEATURE_HALT
+#define USB_FEATURE_HALT	0x00
+#endif
+
+/* Internal data types */
+struct mtpdevice_list_struct {
+  libusb_device *device;
+  PTPParams *params;
+  PTP_USB *ptp_usb;
+  uint32_t bus_location;
+  struct mtpdevice_list_struct *next;
+};
+typedef struct mtpdevice_list_struct mtpdevice_list_t;
+
+struct ptp_event_cb_data {
+  PTPEventCbFn cb;
+  void *user_data;
+  PTPParams *params;
+};
+
+static const LIBMTP_device_entry_t mtp_device_table[] = {
+/* We include an .h file which is shared between us and libgphoto2 */
+#include "music-players.h"
+};
+static const int mtp_device_table_size =
+  sizeof(mtp_device_table) / sizeof(LIBMTP_device_entry_t);
+
+// Local functions
+static LIBMTP_error_number_t init_usb();
+static void close_usb(PTP_USB* ptp_usb);
+static int find_interface_and_endpoints(libusb_device *dev,
+					uint8_t *conf,
+					uint8_t *interface,
+					uint8_t *altsetting,
+					int* inep,
+					int* inep_maxpacket,
+					int* outep,
+					int* outep_maxpacket,
+					int* intep);
+static void clear_stall(PTP_USB* ptp_usb);
+static int init_ptp_usb(PTPParams* params,
+		PTP_USB* ptp_usb, libusb_device* dev);
+static short ptp_write_func(unsigned long,
+		PTPDataHandler*, void *data, unsigned long*);
+static short ptp_read_func (unsigned long,
+		PTPDataHandler*, void *data, unsigned long*, int);
+static int usb_get_endpoint_status(PTP_USB* ptp_usb,
+		int ep, uint16_t* status);
+
+/**
+ * Get a list of the supported USB devices.
+ *
+ * The developers depend on users of this library to constantly
+ * add in to the list of supported devices. What we need is the
+ * device name, USB Vendor ID (VID) and USB Product ID (PID).
+ * put this into a bug ticket at the project homepage, please.
+ * The VID/PID is used to let e.g. udev lift the device to
+ * console userspace access when it's plugged in.
+ *
+ * @param devices a pointer to a pointer that will hold a device
+ *        list after the call to this function, if it was
+ *        successful.
+ * @param numdevs a pointer to an integer that will hold the number
+ *        of devices in the device list if the call was successful.
+ * @return 0 if the list was successfull retrieved, any other
+ *        value means failure.
+ */
+int LIBMTP_Get_Supported_Devices_List(LIBMTP_device_entry_t ** const devices,
+				      int * const numdevs)
+{
+  *devices = (LIBMTP_device_entry_t *) &mtp_device_table;
+  *numdevs = mtp_device_table_size;
+  return 0;
+}
+
+
+static LIBMTP_error_number_t init_usb()
+{
+  static int libusb1_initialized = 0;
+
+  /*
+   * Some additional libusb debugging please.
+   * We use the same level debug between MTP and USB.
+   */
+  if (libusb1_initialized)
+     return LIBMTP_ERROR_NONE;
+
+  if (libusb_init(NULL) < 0) {
+    LIBMTP_ERROR("Libusb1 init failed\n");
+    return LIBMTP_ERROR_USB_LAYER;
+  }
+
+  libusb1_initialized = 1;
+
+  if ((LIBMTP_debug & LIBMTP_DEBUG_USB) != 0)
+    libusb_set_debug(NULL,9);
+  return LIBMTP_ERROR_NONE;
+}
+
+/**
+ * Small recursive function to append a new usb_device to the linked
+ * list of USB MTP devices
+ * @param devlist dynamic linked list of pointers to usb devices with
+ *        MTP properties, to be extended with new device.
+ * @param newdevice the new device to add.
+ * @param bus_location bus for this device.
+ * @return an extended array or NULL on failure.
+ */
+static mtpdevice_list_t *append_to_mtpdevice_list(mtpdevice_list_t *devlist,
+						  libusb_device *newdevice,
+						  uint32_t bus_location)
+{
+  mtpdevice_list_t *new_list_entry;
+
+  new_list_entry = (mtpdevice_list_t *) malloc(sizeof(mtpdevice_list_t));
+  if (new_list_entry == NULL) {
+    return NULL;
+  }
+  // Fill in USB device, if we *HAVE* to make a copy of the device do it here.
+  new_list_entry->device = newdevice;
+  new_list_entry->bus_location = bus_location;
+  new_list_entry->next = NULL;
+
+  if (devlist == NULL) {
+    return new_list_entry;
+  } else {
+    mtpdevice_list_t *tmp = devlist;
+    while (tmp->next != NULL) {
+      tmp = tmp->next;
+    }
+    tmp->next = new_list_entry;
+  }
+  return devlist;
+}
+
+/**
+ * Small recursive function to free dynamic memory allocated to the linked list
+ * of USB MTP devices
+ * @param devlist dynamic linked list of pointers to usb devices with MTP
+ * properties.
+ * @return nothing
+ */
+static void free_mtpdevice_list(mtpdevice_list_t *devlist)
+{
+  mtpdevice_list_t *tmplist = devlist;
+
+  if (devlist == NULL)
+    return;
+  while (tmplist != NULL) {
+    mtpdevice_list_t *tmp = tmplist;
+    tmplist = tmplist->next;
+    // Do not free() the fields (ptp_usb, params)! These are used elsewhere.
+    free(tmp);
+  }
+  return;
+}
+
+/**
+ * This checks if a device has an MTP descriptor. The descriptor was
+ * elaborated about in gPhoto bug 1482084, and some official documentation
+ * with no strings attached was published by Microsoft at
+ * http://www.microsoft.com/whdc/system/bus/USB/USBFAQ_intermed.mspx#E3HAC
+ *
+ * @param dev a device struct from libusb.
+ * @param dumpfile set to non-NULL to make the descriptors dump out
+ *        to this file in human-readable hex so we can scruitinze them.
+ * @return 1 if the device is MTP compliant, 0 if not.
+ */
+static int probe_device_descriptor(libusb_device *dev, FILE *dumpfile)
+{
+  libusb_device_handle *devh;
+  unsigned char buf[1024], cmd;
+  int i;
+  int ret;
+  /* This is to indicate if we find some vendor interface */
+  int found_vendor_spec_interface = 0;
+  struct libusb_device_descriptor desc;
+
+  ret = libusb_get_device_descriptor (dev, &desc);
+  if (ret != LIBUSB_SUCCESS) return 0;
+  /*
+   * Don't examine devices that are not likely to
+   * contain any MTP interface, update this the day
+   * you find some weird combination...
+   */
+  if (!(desc.bDeviceClass == LIBUSB_CLASS_PER_INTERFACE ||
+	desc.bDeviceClass == LIBUSB_CLASS_COMM ||
+	desc.bDeviceClass == LIBUSB_CLASS_PTP ||
+	desc.bDeviceClass == 0xEF ||	/* Intf. Association Desc.*/
+	desc.bDeviceClass == LIBUSB_CLASS_VENDOR_SPEC)) {
+    return 0;
+  }
+
+  /*
+   * Attempt to open Device on this port
+   *
+   * TODO: is there a way to check the number of endpoints etc WITHOUT
+   * opening the device? Some color calibration devices are REALLY
+   * sensitive to this, and I found a Canon custom scanner that doesn't
+   * like it at all either :-(
+   */
+  ret = libusb_open(dev, &devh);
+  if (ret != LIBUSB_SUCCESS) {
+    /* Could not open this device */
+    return 0;
+  }
+
+  /*
+   * Loop over the device configurations and interfaces. Nokia MTP-capable
+   * handsets (possibly others) typically have the string "MTP" in their
+   * MTP interface descriptions, that's how they can be detected, before
+   * we try the more esoteric "OS descriptors" (below).
+   */
+  for (i = 0; i < desc.bNumConfigurations; i++) {
+     uint8_t j;
+     struct libusb_config_descriptor *config;
+
+     ret = libusb_get_config_descriptor (dev, i, &config);
+     if (ret != LIBUSB_SUCCESS) {
+       LIBMTP_INFO("configdescriptor %d get failed with ret %d in probe_device_descriptor yet dev->descriptor.bNumConfigurations > 0\n", i, ret);
+       continue;
+     }
+
+     for (j = 0; j < config->bNumInterfaces; j++) {
+        int k;
+        for (k = 0; k < config->interface[j].num_altsetting; k++) {
+	  /* Current interface descriptor */
+	  const struct libusb_interface_descriptor *intf =
+	    &config->interface[j].altsetting[k];
+
+	  /*
+	   * MTP interfaces have three endpoints, two bulk and one
+	   * interrupt. Don't probe anything else.
+	   */
+	  if (intf->bNumEndpoints != 3)
+	    continue;
+
+	  /*
+	   * We only want to probe for the OS descriptor if the
+	   * device is LIBUSB_CLASS_VENDOR_SPEC or one of the interfaces
+	   * in it is, so flag if we find an interface like this.
+	   */
+	  if (intf->bInterfaceClass == LIBUSB_CLASS_VENDOR_SPEC) {
+	    found_vendor_spec_interface = 1;
+	  }
+
+	  /*
+	   * TODO: Check for Still Image Capture class with PIMA 15740
+	   * protocol, also known as PTP
+	   */
+#if 0
+	  if (intf->bInterfaceClass == LIBUSB_CLASS_PTP
+	      && intf->bInterfaceSubClass == 0x01
+	      && intf->bInterfaceProtocol == 0x01) {
+	    if (dumpfile != NULL) {
+              fprintf(dumpfile, "Configuration %d, interface %d, altsetting %d:\n", i, j, k);
+	      fprintf(dumpfile, "   Found PTP device, check vendor "
+		      "extension...\n");
+	    }
+	    /*
+	     * This is where we may insert code to open a PTP
+	     * session and query the vendor extension ID to see
+	     * if it is 0xffffffff, i.e. MTP according to the spec.
+	     */
+	    if (was_mtp_extension) {
+	      libusb_close(devh);
+	      return 1;
+	    }
+	  }
+#endif
+
+	  /*
+	   * Next we search for the MTP substring in the interface name.
+	   * For example : "RIM MS/MTP" should work.
+	   */
+          buf[0] = '\0';
+          ret = libusb_get_string_descriptor_ascii(devh,
+				      config->interface[j].altsetting[k].iInterface,
+				      buf,
+				      1024);
+	  if (ret < 3)
+	    continue;
+          if (strstr((char *) buf, "MTP") != NULL) {
+	    if (dumpfile != NULL) {
+              fprintf(dumpfile, "Configuration %d, interface %d, altsetting %d:\n", i, j, k);
+	      fprintf(dumpfile, "   Interface description contains the string \"MTP\"\n");
+	      fprintf(dumpfile, "   Device recognized as MTP, no further probing.\n");
+	    }
+            libusb_free_config_descriptor(config);
+            libusb_close(devh);
+            return 1;
+          }
+          if (libusb_kernel_driver_active(devh, config->interface[j].altsetting[k].iInterface))
+	  {
+	    /*
+	     * Specifically avoid probing anything else than USB mass storage devices
+	     * and non-associated drivers in Linux.
+	     */
+	    if (config->interface[j].altsetting[k].bInterfaceClass !=
+		LIBUSB_CLASS_MASS_STORAGE) {
+	      LIBMTP_INFO("avoid probing device using attached kernel interface\n");
+              libusb_free_config_descriptor(config);
+	      libusb_close(devh);
+	      return 0;
+	    }
+	  }
+        }
+     }
+     libusb_free_config_descriptor(config);
+  }
+
+  /*
+   * Only probe for OS descriptor if the device is vendor specific
+   * or one of the interfaces found is.
+   */
+  if (desc.bDeviceClass == LIBUSB_CLASS_VENDOR_SPEC ||
+      found_vendor_spec_interface) {
+
+    /* Read the special descriptor */
+    ret = libusb_get_descriptor(devh, 0x03, 0xee, buf, sizeof(buf));
+
+    /*
+     * If something failed we're probably stalled to we need
+     * to clear the stall off the endpoint and say this is not
+     * MTP.
+     */
+    if (ret < 0) {
+      /* EP0 is the default control endpoint */
+      libusb_clear_halt (devh, 0);
+      libusb_close(devh);
+      return 0;
+    }
+
+    // Dump it, if requested
+    if (dumpfile != NULL && ret > 0) {
+      fprintf(dumpfile, "Microsoft device descriptor 0xee:\n");
+      data_dump_ascii(dumpfile, buf, ret, 16);
+    }
+
+    /* Check if descriptor length is at least 10 bytes */
+    if (ret < 10) {
+      libusb_close(devh);
+      return 0;
+    }
+
+    /* Check if this device has a Microsoft Descriptor */
+    if (!((buf[2] == 'M') && (buf[4] == 'S') &&
+	  (buf[6] == 'F') && (buf[8] == 'T'))) {
+      libusb_close(devh);
+      return 0;
+    }
+
+    /* Check if device responds to control message 1 or if there is an error */
+    cmd = buf[16];
+    ret = libusb_control_transfer (devh,
+			   LIBUSB_ENDPOINT_IN | LIBUSB_RECIPIENT_DEVICE | LIBUSB_REQUEST_TYPE_VENDOR,
+			   cmd,
+			   0,
+			   4,
+			   buf,
+			   sizeof(buf),
+			   USB_TIMEOUT_DEFAULT);
+
+    // Dump it, if requested
+    if (dumpfile != NULL && ret > 0) {
+      fprintf(dumpfile, "Microsoft device response to control message 1, CMD 0x%02x:\n", cmd);
+      data_dump_ascii(dumpfile, buf, ret, 16);
+    }
+
+    /* If this is true, the device either isn't MTP or there was an error */
+    if (ret <= 0x15) {
+      /* TODO: If there was an error, flag it and let the user know somehow */
+      /* if(ret == -1) {} */
+      libusb_close(devh);
+      return 0;
+    }
+
+    /* Check if device is MTP or if it is something like a USB Mass Storage
+       device with Janus DRM support */
+    if ((buf[0x12] != 'M') || (buf[0x13] != 'T') || (buf[0x14] != 'P')) {
+      libusb_close(devh);
+      return 0;
+    }
+
+    /* After this point we are probably dealing with an MTP device */
+
+    /*
+     * Check if device responds to control message 2, which is
+     * the extended device parameters. Most devices will just
+     * respond with a copy of the same message as for the first
+     * message, some respond with zero-length (which is OK)
+     * and some with pure garbage. We're not parsing the result
+     * so this is not very important.
+     */
+    ret = libusb_control_transfer (devh,
+			   LIBUSB_ENDPOINT_IN | LIBUSB_RECIPIENT_DEVICE | LIBUSB_REQUEST_TYPE_VENDOR,
+			   cmd,
+			   0,
+			   5,
+			   buf,
+			   sizeof(buf),
+			   USB_TIMEOUT_DEFAULT);
+
+    // Dump it, if requested
+    if (dumpfile != NULL && ret > 0) {
+      fprintf(dumpfile, "Microsoft device response to control message 2, CMD 0x%02x:\n", cmd);
+      data_dump_ascii(dumpfile, buf, ret, 16);
+    }
+
+    /* If this is true, the device errored against control message 2 */
+    if (ret == -1) {
+      /* TODO: Implement callback function to let managing program know there
+	 was a problem, along with description of the problem */
+      LIBMTP_ERROR("Potential MTP Device with VendorID:%04x and "
+		   "ProductID:%04x encountered an error responding to "
+		   "control message 2.\n"
+		   "Problems may arrise but continuing\n",
+		   desc.idVendor, desc.idProduct);
+    } else if (dumpfile != NULL && ret == 0) {
+      fprintf(dumpfile, "Zero-length response to control message 2 (OK)\n");
+    } else if (dumpfile != NULL) {
+      fprintf(dumpfile, "Device responds to control message 2 with some data.\n");
+    }
+    /* Close the USB device handle */
+    libusb_close(devh);
+    return 1;
+  }
+
+  /* Close the USB device handle */
+  libusb_close(devh);
+  return 0;
+}
+
+/**
+ * This function scans through the connected usb devices on a machine and
+ * if they match known Vendor and Product identifiers appends them to the
+ * dynamic array mtp_device_list. Be sure to call
+ * <code>free_mtpdevice_list(mtp_device_list)</code> when you are done
+ * with it, assuming it is not NULL.
+ * @param mtp_device_list dynamic array of pointers to usb devices with MTP
+ *        properties (if this list is not empty, new entries will be appended
+ *        to the list).
+ * @return LIBMTP_ERROR_NONE implies that devices have been found, scan the list
+ *        appropriately. LIBMTP_ERROR_NO_DEVICE_ATTACHED implies that no
+ *        devices have been found.
+ */
+static LIBMTP_error_number_t get_mtp_usb_device_list(mtpdevice_list_t ** mtp_device_list)
+{
+  ssize_t nrofdevs;
+  libusb_device **devs = NULL;
+  int ret, i;
+  LIBMTP_error_number_t init_usb_ret;
+
+  init_usb_ret = init_usb();
+  if (init_usb_ret != LIBMTP_ERROR_NONE)
+    return init_usb_ret;
+
+  nrofdevs = libusb_get_device_list (NULL, &devs);
+  for (i = 0; i < nrofdevs ; i++) {
+      libusb_device *dev = devs[i];
+      struct libusb_device_descriptor desc;
+
+      ret = libusb_get_device_descriptor(dev, &desc);
+      if (ret != LIBUSB_SUCCESS) continue;
+
+      if (desc.bDeviceClass != LIBUSB_CLASS_HUB) {
+	int i;
+        int found = 0;
+
+	// First check if we know about the device already.
+	// Devices well known to us will not have their descriptors
+	// probed, it caused problems with some devices.
+        for(i = 0; i < mtp_device_table_size; i++) {
+          if(desc.idVendor == mtp_device_table[i].vendor_id &&
+            desc.idProduct == mtp_device_table[i].product_id) {
+            /* Append this usb device to the MTP device list */
+            *mtp_device_list = append_to_mtpdevice_list(*mtp_device_list,
+							dev,
+							libusb_get_bus_number(dev));
+            found = 1;
+            break;
+          }
+        }
+	// If we didn't know it, try probing the "OS Descriptor".
+        if (!found) {
+          if (probe_device_descriptor(dev, NULL)) {
+            /* Append this usb device to the MTP USB Device List */
+            *mtp_device_list = append_to_mtpdevice_list(*mtp_device_list,
+							dev,
+							libusb_get_bus_number(dev));
+          }
+          /*
+	   * By thomas_-_s: Also append devices that are no MTP but PTP devices
+	   * if this is commented out.
+	   */
+	  /*
+	  else {
+	    // Check whether the device is no USB hub but a PTP.
+	    if ( dev->config != NULL &&dev->config->interface->altsetting->bInterfaceClass == LIBUSB_CLASS_PTP && dev->descriptor.bDeviceClass != LIBUSB_CLASS_HUB ) {
+	      *mtp_device_list = append_to_mtpdevice_list(*mtp_device_list, dev, bus->location);
+	    }
+          }
+	  */
+        }
+      }
+    }
+    libusb_free_device_list (devs, 0);
+
+  /* If nothing was found we end up here. */
+  if(*mtp_device_list == NULL) {
+    return LIBMTP_ERROR_NO_DEVICE_ATTACHED;
+  }
+  return LIBMTP_ERROR_NONE;
+}
+
+/**
+ * Checks if a specific device with a certain bus and device
+ * number has an MTP type device descriptor.
+ *
+ * @param busno the bus number of the device to check
+ * @param deviceno the device number of the device to check
+ * @return 1 if the device is MTP else 0
+ */
+int LIBMTP_Check_Specific_Device(int busno, int devno)
+{
+  ssize_t nrofdevs;
+  libusb_device **devs = NULL;
+  int i;
+  LIBMTP_error_number_t init_usb_ret;
+
+  init_usb_ret = init_usb();
+  if (init_usb_ret != LIBMTP_ERROR_NONE)
+    return 0;
+
+  nrofdevs = libusb_get_device_list (NULL, &devs);
+  for (i = 0; i < nrofdevs ; i++ ) {
+    if (libusb_get_bus_number(devs[i]) != busno)
+	continue;
+    if (libusb_get_device_address(devs[i]) != devno)
+	continue;
+    if (probe_device_descriptor(devs[i], NULL))
+	return 1;
+  }
+  return 0;
+}
+
+/**
+ * Detect the raw MTP device descriptors and return a list of
+ * of the devices found.
+ *
+ * @param devices a pointer to a variable that will hold
+ *        the list of raw devices found. This may be NULL
+ *        on return if the number of detected devices is zero.
+ *        The user shall simply <code>free()</code> this
+ *        variable when finished with the raw devices,
+ *        in order to release memory.
+ * @param numdevs a pointer to an integer that will hold
+ *        the number of devices in the list. This may
+ *        be 0.
+ * @return 0 if successful, any other value means failure.
+ */
+LIBMTP_error_number_t LIBMTP_Detect_Raw_Devices(LIBMTP_raw_device_t ** devices,
+			      int * numdevs)
+{
+  mtpdevice_list_t *devlist = NULL;
+  mtpdevice_list_t *dev;
+  LIBMTP_error_number_t ret;
+  LIBMTP_raw_device_t *retdevs;
+  int devs = 0;
+  int i, j;
+
+  ret = get_mtp_usb_device_list(&devlist);
+  if (ret == LIBMTP_ERROR_NO_DEVICE_ATTACHED) {
+    *devices = NULL;
+    *numdevs = 0;
+    return ret;
+  } else if (ret != LIBMTP_ERROR_NONE) {
+    LIBMTP_ERROR("LIBMTP PANIC: get_mtp_usb_device_list() "
+	    "error code: %d on line %d\n", ret, __LINE__);
+    return ret;
+  }
+
+  // Get list size
+  dev = devlist;
+  while (dev != NULL) {
+    devs++;
+    dev = dev->next;
+  }
+  if (devs == 0) {
+    *devices = NULL;
+    *numdevs = 0;
+    return LIBMTP_ERROR_NONE;
+  }
+  // Conjure a device list
+  retdevs = (LIBMTP_raw_device_t *) malloc(sizeof(LIBMTP_raw_device_t) * devs);
+  if (retdevs == NULL) {
+    // Out of memory
+    *devices = NULL;
+    *numdevs = 0;
+    return LIBMTP_ERROR_MEMORY_ALLOCATION;
+  }
+  dev = devlist;
+  i = 0;
+  while (dev != NULL) {
+    int device_known = 0;
+    struct libusb_device_descriptor desc;
+
+    libusb_get_device_descriptor (dev->device, &desc);
+    // Assign default device info
+    retdevs[i].device_entry.vendor = NULL;
+    retdevs[i].device_entry.vendor_id = desc.idVendor;
+    retdevs[i].device_entry.product = NULL;
+    retdevs[i].device_entry.product_id = desc.idProduct;
+    retdevs[i].device_entry.device_flags = 0x00000000U;
+    // See if we can locate some additional vendor info and device flags
+    for(j = 0; j < mtp_device_table_size; j++) {
+      if(desc.idVendor == mtp_device_table[j].vendor_id &&
+	 desc.idProduct == mtp_device_table[j].product_id) {
+	device_known = 1;
+	retdevs[i].device_entry.vendor = mtp_device_table[j].vendor;
+	retdevs[i].device_entry.product = mtp_device_table[j].product;
+	retdevs[i].device_entry.device_flags = mtp_device_table[j].device_flags;
+
+	// This device is known to the developers
+	LIBMTP_ERROR("Device %d (VID=%04x and PID=%04x) is a %s %s.\n",
+		i,
+		desc.idVendor,
+		desc.idProduct,
+		mtp_device_table[j].vendor,
+		mtp_device_table[j].product);
+	break;
+      }
+    }
+    if (!device_known) {
+      device_unknown(i, desc.idVendor, desc.idProduct);
+    }
+    // Save the location on the bus
+    retdevs[i].bus_location = libusb_get_bus_number (dev->device);
+    retdevs[i].devnum = libusb_get_device_address (dev->device);
+    i++;
+    dev = dev->next;
+  }
+  *devices = retdevs;
+  *numdevs = i;
+  free_mtpdevice_list(devlist);
+  return LIBMTP_ERROR_NONE;
+}
+
+/**
+ * This routine just dumps out low-level
+ * USB information about the current device.
+ * @param ptp_usb the USB device to get information from.
+ */
+void dump_usbinfo(PTP_USB *ptp_usb)
+{
+  libusb_device *dev;
+  struct libusb_device_descriptor desc;
+
+  if (libusb_kernel_driver_active(ptp_usb->handle, ptp_usb->interface))
+    LIBMTP_INFO("   Interface has a kernel driver attached.\n");
+
+  dev = libusb_get_device (ptp_usb->handle);
+  libusb_get_device_descriptor (dev, &desc);
+
+  LIBMTP_INFO("   bcdUSB: %d\n", desc.bcdUSB);
+  LIBMTP_INFO("   bDeviceClass: %d\n", desc.bDeviceClass);
+  LIBMTP_INFO("   bDeviceSubClass: %d\n", desc.bDeviceSubClass);
+  LIBMTP_INFO("   bDeviceProtocol: %d\n", desc.bDeviceProtocol);
+  LIBMTP_INFO("   idVendor: %04x\n", desc.idVendor);
+  LIBMTP_INFO("   idProduct: %04x\n", desc.idProduct);
+  LIBMTP_INFO("   IN endpoint maxpacket: %d bytes\n", ptp_usb->inep_maxpacket);
+  LIBMTP_INFO("   OUT endpoint maxpacket: %d bytes\n", ptp_usb->outep_maxpacket);
+  LIBMTP_INFO("   Raw device info:\n");
+  LIBMTP_INFO("      Bus location: %d\n", ptp_usb->rawdevice.bus_location);
+  LIBMTP_INFO("      Device number: %d\n", ptp_usb->rawdevice.devnum);
+  LIBMTP_INFO("      Device entry info:\n");
+  LIBMTP_INFO("         Vendor: %s\n", ptp_usb->rawdevice.device_entry.vendor);
+  LIBMTP_INFO("         Vendor id: 0x%04x\n", ptp_usb->rawdevice.device_entry.vendor_id);
+  LIBMTP_INFO("         Product: %s\n", ptp_usb->rawdevice.device_entry.product);
+  LIBMTP_INFO("         Vendor id: 0x%04x\n", ptp_usb->rawdevice.device_entry.product_id);
+  LIBMTP_INFO("         Device flags: 0x%08x\n", ptp_usb->rawdevice.device_entry.device_flags);
+  (void) probe_device_descriptor(dev, stdout);
+}
+
+/**
+ * Retrieve the apropriate playlist extension for this
+ * device. Rather hacky at the moment. This is probably
+ * desired by the managing software, but when creating
+ * lists on the device itself you notice certain preferences.
+ * @param ptp_usb the USB device to get suggestion for.
+ * @return the suggested playlist extension.
+ */
+const char *get_playlist_extension(PTP_USB *ptp_usb)
+{
+  libusb_device *dev;
+  struct libusb_device_descriptor desc;
+  static char creative_pl_extension[] = ".zpl";
+  static char default_pl_extension[] = ".pla";
+
+  dev = libusb_get_device(ptp_usb->handle);
+  libusb_get_device_descriptor (dev, &desc);
+  if (desc.idVendor == 0x041e)
+    return creative_pl_extension;
+  return default_pl_extension;
+}
+
+static void
+libusb_glue_debug (PTPParams *params, const char *format, ...)
+{
+        va_list args;
+
+        va_start (args, format);
+        if (params->debug_func!=NULL)
+                params->debug_func (params->data, format, args);
+        else
+	{
+                vfprintf (stderr, format, args);
+		fprintf (stderr,"\n");
+		fflush (stderr);
+	}
+        va_end (args);
+}
+
+static void
+libusb_glue_error (PTPParams *params, const char *format, ...)
+{
+        va_list args;
+
+        va_start (args, format);
+        if (params->error_func!=NULL)
+                params->error_func (params->data, format, args);
+        else
+	{
+                vfprintf (stderr, format, args);
+		fprintf (stderr,"\n");
+		fflush (stderr);
+	}
+        va_end (args);
+}
+
+
+/*
+ * ptp_read_func() and ptp_write_func() are
+ * based on same functions usb.c in libgphoto2.
+ * Much reading packet logs and having fun with trials and errors
+ * reveals that WMP / Windows is probably using an algorithm like this
+ * for large transfers:
+ *
+ * 1. Send the command (0x0c bytes) if headers are split, else, send
+ *    command plus sizeof(endpoint) - 0x0c bytes.
+ * 2. Send first packet, max size to be sizeof(endpoint) but only when using
+ *    split headers. Else goto 3.
+ * 3. REPEAT send 0x10000 byte chunks UNTIL remaining bytes < 0x10000
+ *    We call 0x10000 CONTEXT_BLOCK_SIZE.
+ * 4. Send remaining bytes MOD sizeof(endpoint)
+ * 5. Send remaining bytes. If this happens to be exactly sizeof(endpoint)
+ *    then also send a zero-length package.
+ *
+ * Further there is some special quirks to handle zero reads from the
+ * device, since some devices can't do them at all due to shortcomings
+ * of the USB slave controller in the device.
+ */
+#define CONTEXT_BLOCK_SIZE_1	0x3e00
+#define CONTEXT_BLOCK_SIZE_2  0x200
+#define CONTEXT_BLOCK_SIZE    CONTEXT_BLOCK_SIZE_1+CONTEXT_BLOCK_SIZE_2
+static short
+ptp_read_func (
+	unsigned long size, PTPDataHandler *handler,void *data,
+	unsigned long *readbytes,
+	int readzero
+) {
+  PTP_USB *ptp_usb = (PTP_USB *)data;
+  unsigned long toread = 0;
+  int ret = 0;
+  int xread;
+  unsigned long curread = 0;
+  unsigned char *bytes;
+  int expect_terminator_byte = 0;
+  unsigned long usb_inep_maxpacket_size;
+  unsigned long context_block_size_1;
+  unsigned long context_block_size_2;
+  uint16_t ptp_dev_vendor_id = ptp_usb->rawdevice.device_entry.vendor_id;
+
+  //"iRiver" device special handling
+  if (ptp_dev_vendor_id == 0x4102 || ptp_dev_vendor_id == 0x1006) {
+	  usb_inep_maxpacket_size = ptp_usb->inep_maxpacket;
+	  if (usb_inep_maxpacket_size == 0x400) {
+		  context_block_size_1 = CONTEXT_BLOCK_SIZE_1 - 0x200;
+		  context_block_size_2 = CONTEXT_BLOCK_SIZE_2 + 0x200;
+	  }
+	  else {
+		  context_block_size_1 = CONTEXT_BLOCK_SIZE_1;
+		  context_block_size_2 = CONTEXT_BLOCK_SIZE_2;
+	  }
+  }
+  // This is the largest block we'll need to read in.
+  bytes = malloc(CONTEXT_BLOCK_SIZE);
+  while (curread < size) {
+
+    LIBMTP_USB_DEBUG("Remaining size to read: 0x%04lx bytes\n", size - curread);
+
+    // check equal to condition here
+    if (size - curread < CONTEXT_BLOCK_SIZE)
+    {
+      // this is the last packet
+      toread = size - curread;
+      // this is equivalent to zero read for these devices
+      if (readzero && FLAG_NO_ZERO_READS(ptp_usb) && toread % 64 == 0) {
+        toread += 1;
+        expect_terminator_byte = 1;
+      }
+    }
+    else if (ptp_dev_vendor_id == 0x4102 || ptp_dev_vendor_id == 0x1006) {
+	    //"iRiver" device special handling
+	    if (curread == 0)
+		    // we are first packet, but not last packet
+		    toread = context_block_size_1;
+	    else if (toread == context_block_size_1)
+		    toread = context_block_size_2;
+	    else if (toread == context_block_size_2)
+		    toread = context_block_size_1;
+	    else
+		    LIBMTP_INFO("unexpected toread size 0x%04x, 0x%04x remaining bytes\n",
+				(unsigned int) toread, (unsigned int) (size-curread));
+    }
+    else
+	    toread = CONTEXT_BLOCK_SIZE;
+
+    LIBMTP_USB_DEBUG("Reading in 0x%04lx bytes\n", toread);
+
+    ret = USB_BULK_READ(ptp_usb->handle,
+			   ptp_usb->inep,
+			   bytes,
+			   toread,
+                           &xread,
+			   ptp_usb->timeout);
+
+    LIBMTP_USB_DEBUG("Result of read: 0x%04x (%d bytes)\n", ret, xread);
+
+    if (ret != LIBUSB_SUCCESS)
+      return PTP_ERROR_IO;
+
+    LIBMTP_USB_DEBUG("<==USB IN\n");
+    if (xread == 0)
+      LIBMTP_USB_DEBUG("Zero Read\n");
+    else
+      LIBMTP_USB_DATA(bytes, xread, 16);
+
+    // want to discard extra byte
+    if (expect_terminator_byte && xread == toread)
+    {
+      LIBMTP_USB_DEBUG("<==USB IN\nDiscarding extra byte\n");
+
+      xread--;
+    }
+
+    int putfunc_ret = handler->putfunc(NULL, handler->priv, xread, bytes);
+    if (putfunc_ret != PTP_RC_OK)
+      return putfunc_ret;
+
+    ptp_usb->current_transfer_complete += xread;
+    curread += xread;
+
+    // Increase counters, call callback
+    if (ptp_usb->callback_active) {
+      if (ptp_usb->current_transfer_complete >= ptp_usb->current_transfer_total) {
+	// send last update and disable callback.
+	ptp_usb->current_transfer_complete = ptp_usb->current_transfer_total;
+	ptp_usb->callback_active = 0;
+      }
+      if (ptp_usb->current_transfer_callback != NULL) {
+	int ret;
+	ret = ptp_usb->current_transfer_callback(ptp_usb->current_transfer_complete,
+						 ptp_usb->current_transfer_total,
+						 ptp_usb->current_transfer_callback_data);
+	if (ret != 0) {
+	  return PTP_ERROR_CANCEL;
+	}
+      }
+    }
+
+    if (xread < toread) /* short reads are common */
+      break;
+  }
+  if (readbytes) *readbytes = curread;
+  free (bytes);
+
+  // there might be a zero packet waiting for us...
+  if (readzero &&
+      !FLAG_NO_ZERO_READS(ptp_usb) &&
+      curread % ptp_usb->outep_maxpacket == 0) {
+    unsigned char temp;
+    int zeroresult = 0, xread;
+
+    LIBMTP_USB_DEBUG("<==USB IN\n");
+    LIBMTP_USB_DEBUG("Zero Read\n");
+
+    zeroresult = USB_BULK_READ(ptp_usb->handle,
+			       ptp_usb->inep,
+			       &temp,
+			       0,
+                               &xread,
+			       ptp_usb->timeout);
+    if (zeroresult != LIBUSB_SUCCESS)
+      LIBMTP_INFO("LIBMTP panic: unable to read in zero packet, response 0x%04x", zeroresult);
+  }
+
+  return PTP_RC_OK;
+}
+
+static short
+ptp_write_func (
+        unsigned long   size,
+        PTPDataHandler  *handler,
+        void            *data,
+        unsigned long   *written
+) {
+  PTP_USB *ptp_usb = (PTP_USB *)data;
+  unsigned long towrite = 0;
+  int ret = 0;
+  unsigned long curwrite = 0;
+  unsigned char *bytes;
+
+  // This is the largest block we'll need to read in.
+  bytes = malloc(CONTEXT_BLOCK_SIZE);
+  if (!bytes) {
+    return PTP_ERROR_IO;
+  }
+  while (curwrite < size) {
+    unsigned long usbwritten = 0;
+    int xwritten = 0;
+
+    towrite = size-curwrite;
+    if (towrite > CONTEXT_BLOCK_SIZE) {
+      towrite = CONTEXT_BLOCK_SIZE;
+    } else {
+      // This magic makes packets the same size that WMP send them.
+      if (towrite > ptp_usb->outep_maxpacket && towrite % ptp_usb->outep_maxpacket != 0) {
+        towrite -= towrite % ptp_usb->outep_maxpacket;
+      }
+    }
+    int getfunc_ret = handler->getfunc(NULL, handler->priv,towrite,bytes,&towrite);
+    if (getfunc_ret != PTP_RC_OK) {
+      free(bytes);
+      return getfunc_ret;
+    }
+    while (usbwritten < towrite) {
+	    ret = USB_BULK_WRITE(ptp_usb->handle,
+				    ptp_usb->outep,
+				    bytes+usbwritten,
+				    towrite-usbwritten,
+                                    &xwritten,
+				    ptp_usb->timeout);
+
+	    LIBMTP_USB_DEBUG("USB OUT==>\n");
+
+	    if (ret != LIBUSB_SUCCESS) {
+              free(bytes);
+	      return PTP_ERROR_IO;
+	    }
+	    LIBMTP_USB_DATA(bytes+usbwritten, xwritten, 16);
+	    // check for result == 0 perhaps too.
+	    // Increase counters
+	    ptp_usb->current_transfer_complete += xwritten;
+	    curwrite += xwritten;
+	    usbwritten += xwritten;
+    }
+    // call callback
+    if (ptp_usb->callback_active) {
+      if (ptp_usb->current_transfer_complete >= ptp_usb->current_transfer_total) {
+	// send last update and disable callback.
+	ptp_usb->current_transfer_complete = ptp_usb->current_transfer_total;
+	ptp_usb->callback_active = 0;
+      }
+      if (ptp_usb->current_transfer_callback != NULL) {
+	int ret;
+	ret = ptp_usb->current_transfer_callback(ptp_usb->current_transfer_complete,
+						 ptp_usb->current_transfer_total,
+						 ptp_usb->current_transfer_callback_data);
+	if (ret != 0) {
+          free(bytes);
+	  return PTP_ERROR_CANCEL;
+	}
+      }
+    }
+    if (xwritten < towrite) /* short writes happen */
+      break;
+  }
+  free (bytes);
+  if (written) {
+    *written = curwrite;
+  }
+
+  // If this is the last transfer send a zero write if required
+  if (ptp_usb->current_transfer_complete >= ptp_usb->current_transfer_total) {
+    if ((towrite % ptp_usb->outep_maxpacket) == 0) {
+      int xwritten;
+
+      LIBMTP_USB_DEBUG("USB OUT==>\n");
+      LIBMTP_USB_DEBUG("Zero Write\n");
+
+      ret =USB_BULK_WRITE(ptp_usb->handle,
+			    ptp_usb->outep,
+			    (unsigned char *) "x",
+			    0,
+                            &xwritten,
+			    ptp_usb->timeout);
+    }
+  }
+
+  if (ret != LIBUSB_SUCCESS)
+    return PTP_ERROR_IO;
+  return PTP_RC_OK;
+}
+
+/* memory data get/put handler */
+typedef struct {
+	unsigned char	*data;
+	unsigned long	size, curoff;
+} PTPMemHandlerPrivate;
+
+static uint16_t
+memory_getfunc(PTPParams* params, void* private,
+	       unsigned long wantlen, unsigned char *data,
+	       unsigned long *gotlen
+) {
+	PTPMemHandlerPrivate* priv = (PTPMemHandlerPrivate*)private;
+	unsigned long tocopy = wantlen;
+
+	if (priv->curoff + tocopy > priv->size)
+		tocopy = priv->size - priv->curoff;
+	memcpy (data, priv->data + priv->curoff, tocopy);
+	priv->curoff += tocopy;
+	*gotlen = tocopy;
+	return PTP_RC_OK;
+}
+
+static uint16_t
+memory_putfunc(PTPParams* params, void* private,
+	       unsigned long sendlen, unsigned char *data
+) {
+	PTPMemHandlerPrivate* priv = (PTPMemHandlerPrivate*)private;
+
+	if (priv->curoff + sendlen > priv->size) {
+		priv->data = realloc (priv->data, priv->curoff+sendlen);
+		priv->size = priv->curoff + sendlen;
+	}
+	memcpy (priv->data + priv->curoff, data, sendlen);
+	priv->curoff += sendlen;
+	return PTP_RC_OK;
+}
+
+/* init private struct for receiving data. */
+static uint16_t
+ptp_init_recv_memory_handler(PTPDataHandler *handler) {
+	PTPMemHandlerPrivate* priv;
+	priv = malloc (sizeof(PTPMemHandlerPrivate));
+	handler->priv = priv;
+	handler->getfunc = memory_getfunc;
+	handler->putfunc = memory_putfunc;
+	priv->data = NULL;
+	priv->size = 0;
+	priv->curoff = 0;
+	return PTP_RC_OK;
+}
+
+/* init private struct and put data in for sending data.
+ * data is still owned by caller.
+ */
+static uint16_t
+ptp_init_send_memory_handler(PTPDataHandler *handler,
+	unsigned char *data, unsigned long len
+) {
+	PTPMemHandlerPrivate* priv;
+	priv = malloc (sizeof(PTPMemHandlerPrivate));
+	if (!priv)
+		return PTP_RC_GeneralError;
+	handler->priv = priv;
+	handler->getfunc = memory_getfunc;
+	handler->putfunc = memory_putfunc;
+	priv->data = data;
+	priv->size = len;
+	priv->curoff = 0;
+	return PTP_RC_OK;
+}
+
+/* free private struct + data */
+static uint16_t
+ptp_exit_send_memory_handler (PTPDataHandler *handler) {
+	PTPMemHandlerPrivate* priv = (PTPMemHandlerPrivate*)handler->priv;
+	/* data is owned by caller */
+	free (priv);
+	return PTP_RC_OK;
+}
+
+/* hand over our internal data to caller */
+static uint16_t
+ptp_exit_recv_memory_handler (PTPDataHandler *handler,
+	unsigned char **data, unsigned long *size
+) {
+	PTPMemHandlerPrivate* priv = (PTPMemHandlerPrivate*)handler->priv;
+	*data = priv->data;
+	*size = priv->size;
+	free (priv);
+	return PTP_RC_OK;
+}
+
+/* send / receive functions */
+
+uint16_t
+ptp_usb_sendreq (PTPParams* params, PTPContainer* req, int dataphase)
+{
+	uint16_t ret;
+	PTPUSBBulkContainer usbreq;
+	PTPDataHandler	memhandler;
+	unsigned long written = 0;
+	unsigned long towrite;
+
+        LIBMTP_USB_DEBUG("REQUEST: 0x%04x, %s\n", req->Code, ptp_get_opcode_name(params, req->Code));
+
+	/* build appropriate USB container */
+	usbreq.length=htod32(PTP_USB_BULK_REQ_LEN-
+		(sizeof(uint32_t)*(5-req->Nparam)));
+	usbreq.type=htod16(PTP_USB_CONTAINER_COMMAND);
+	usbreq.code=htod16(req->Code);
+	usbreq.trans_id=htod32(req->Transaction_ID);
+	usbreq.payload.params.param1=htod32(req->Param1);
+	usbreq.payload.params.param2=htod32(req->Param2);
+	usbreq.payload.params.param3=htod32(req->Param3);
+	usbreq.payload.params.param4=htod32(req->Param4);
+	usbreq.payload.params.param5=htod32(req->Param5);
+	/* send it to responder */
+	towrite = PTP_USB_BULK_REQ_LEN-(sizeof(uint32_t)*(5-req->Nparam));
+	ptp_init_send_memory_handler (&memhandler, (unsigned char*)&usbreq, towrite);
+	ret=ptp_write_func(
+		towrite,
+		&memhandler,
+		params->data,
+		&written
+	);
+	ptp_exit_send_memory_handler (&memhandler);
+	if (ret != PTP_RC_OK && ret != PTP_ERROR_CANCEL) {
+		ret = PTP_ERROR_IO;
+	}
+	if (written != towrite && ret != PTP_ERROR_CANCEL && ret != PTP_ERROR_IO) {
+		libusb_glue_error (params,
+			"PTP: request code 0x%04x sending req wrote only %ld bytes instead of %d",
+			req->Code, written, towrite
+		);
+		ret = PTP_ERROR_IO;
+	}
+	return ret;
+}
+
+uint16_t
+ptp_usb_senddata (PTPParams* params, PTPContainer* ptp,
+		  uint64_t size, PTPDataHandler *handler
+) {
+	uint16_t ret;
+	int wlen, datawlen;
+	unsigned long written;
+	PTPUSBBulkContainer usbdata;
+	uint64_t bytes_left_to_transfer;
+	PTPDataHandler memhandler;
+	unsigned long packet_size;
+	PTP_USB *ptp_usb = (PTP_USB *) params->data;
+
+	packet_size = ptp_usb->outep_maxpacket;
+
+
+	LIBMTP_USB_DEBUG("SEND DATA PHASE\n");
+
+	/* build appropriate USB container */
+	usbdata.length	= htod32(PTP_USB_BULK_HDR_LEN+size);
+	usbdata.type	= htod16(PTP_USB_CONTAINER_DATA);
+	usbdata.code	= htod16(ptp->Code);
+	usbdata.trans_id= htod32(ptp->Transaction_ID);
+
+	((PTP_USB*)params->data)->current_transfer_complete = 0;
+	((PTP_USB*)params->data)->current_transfer_total = size+PTP_USB_BULK_HDR_LEN;
+
+	if (params->split_header_data) {
+		datawlen = 0;
+		wlen = PTP_USB_BULK_HDR_LEN;
+	} else {
+		unsigned long gotlen;
+		/* For all camera devices. */
+		datawlen = (size<PTP_USB_BULK_PAYLOAD_LEN_WRITE)?size:PTP_USB_BULK_PAYLOAD_LEN_WRITE;
+		wlen = PTP_USB_BULK_HDR_LEN + datawlen;
+
+		ret = handler->getfunc(params, handler->priv, datawlen, usbdata.payload.data, &gotlen);
+		if (ret != PTP_RC_OK)
+			return ret;
+		if (gotlen != datawlen)
+			return PTP_RC_GeneralError;
+	}
+	ptp_init_send_memory_handler (&memhandler, (unsigned char *)&usbdata, wlen);
+	/* send first part of data */
+	ret = ptp_write_func(wlen, &memhandler, params->data, &written);
+	ptp_exit_send_memory_handler (&memhandler);
+	if (ret != PTP_RC_OK) {
+		return ret;
+	}
+	if (size <= datawlen) return ret;
+	/* if everything OK send the rest */
+	bytes_left_to_transfer = size-datawlen;
+	ret = PTP_RC_OK;
+	while(bytes_left_to_transfer > 0) {
+		int max_long_transfer = ULONG_MAX + 1 - packet_size;
+		ret = ptp_write_func (bytes_left_to_transfer > max_long_transfer ? max_long_transfer : bytes_left_to_transfer,
+			handler, params->data, &written);
+		if (ret != PTP_RC_OK)
+			break;
+		if (written == 0) {
+			ret = PTP_ERROR_IO;
+			break;
+		}
+		bytes_left_to_transfer -= written;
+	}
+	if (ret != PTP_RC_OK && ret != PTP_ERROR_CANCEL)
+		ret = PTP_ERROR_IO;
+	return ret;
+}
+
+static uint16_t ptp_usb_getpacket(PTPParams *params,
+		PTPUSBBulkContainer *packet, unsigned long *rlen)
+{
+	PTPDataHandler	memhandler;
+	uint16_t	ret;
+	unsigned char	*x = NULL;
+	unsigned long packet_size;
+	PTP_USB *ptp_usb = (PTP_USB *) params->data;
+
+	packet_size = ptp_usb->inep_maxpacket;
+
+	/* read the header and potentially the first data */
+	if (params->response_packet_size > 0) {
+		/* If there is a buffered packet, just use it. */
+		memcpy(packet, params->response_packet, params->response_packet_size);
+		*rlen = params->response_packet_size;
+		free(params->response_packet);
+		params->response_packet = NULL;
+		params->response_packet_size = 0;
+		/* Here this signifies a "virtual read" */
+		return PTP_RC_OK;
+	}
+	ptp_init_recv_memory_handler (&memhandler);
+	ret = ptp_read_func(packet_size, &memhandler, params->data, rlen, 0);
+	ptp_exit_recv_memory_handler (&memhandler, &x, rlen);
+	if (x) {
+		memcpy (packet, x, *rlen);
+		free (x);
+	}
+	return ret;
+}
+
+uint16_t
+ptp_usb_getdata (PTPParams* params, PTPContainer* ptp, PTPDataHandler *handler)
+{
+	uint16_t ret;
+	PTPUSBBulkContainer usbdata;
+	PTP_USB *ptp_usb = (PTP_USB *) params->data;
+	int putfunc_ret;
+
+	LIBMTP_USB_DEBUG("GET DATA PHASE\n");
+
+	memset(&usbdata,0,sizeof(usbdata));
+	do {
+		unsigned long len, rlen;
+
+		ret = ptp_usb_getpacket(params, &usbdata, &rlen);
+		if (ret != PTP_RC_OK) {
+			ret = PTP_ERROR_IO;
+			break;
+		}
+		if (dtoh16(usbdata.type)!=PTP_USB_CONTAINER_DATA) {
+			ret = PTP_ERROR_DATA_EXPECTED;
+			break;
+		}
+		if (dtoh16(usbdata.code)!=ptp->Code) {
+			if (FLAG_IGNORE_HEADER_ERRORS(ptp_usb)) {
+				libusb_glue_debug (params, "ptp2/ptp_usb_getdata: detected a broken "
+					   "PTP header, code field insane, expect problems! (But continuing)");
+				// Repair the header, so it won't wreak more havoc, don't just ignore it.
+				// Typically these two fields will be broken.
+				usbdata.code	 = htod16(ptp->Code);
+				usbdata.trans_id = htod32(ptp->Transaction_ID);
+				ret = PTP_RC_OK;
+			} else {
+				ret = dtoh16(usbdata.code);
+				// This filters entirely insane garbage return codes, but still
+				// makes it possible to return error codes in the code field when
+				// getting data. It appears Windows ignores the contents of this
+				// field entirely.
+				if (ret < PTP_RC_Undefined || ret > PTP_RC_SpecificationOfDestinationUnsupported) {
+					libusb_glue_debug (params, "ptp2/ptp_usb_getdata: detected a broken "
+						   "PTP header, code field insane.");
+					ret = PTP_ERROR_IO;
+				}
+				break;
+			}
+		}
+		if (rlen == ptp_usb->inep_maxpacket) {
+		  /* Copy first part of data to 'data' */
+		  putfunc_ret =
+		    handler->putfunc(
+				     params, handler->priv, rlen - PTP_USB_BULK_HDR_LEN, usbdata.payload.data
+				     );
+		  if (putfunc_ret != PTP_RC_OK)
+		    return putfunc_ret;
+
+		  /* stuff data directly to passed data handler */
+		  while (1) {
+		    unsigned long readdata;
+		    uint16_t xret;
+
+		    xret = ptp_read_func(
+					 0x20000000,
+					 handler,
+					 params->data,
+					 &readdata,
+					 0
+					 );
+		    if (xret != PTP_RC_OK)
+		      return xret;
+		    if (readdata < 0x20000000)
+		      break;
+		  }
+		  return PTP_RC_OK;
+		}
+		if (rlen > dtoh32(usbdata.length)) {
+			/*
+			 * Buffer the surplus response packet if it is >=
+			 * PTP_USB_BULK_HDR_LEN
+			 * (i.e. it is probably an entire package)
+			 * else discard it as erroneous surplus data.
+			 * This will even work if more than 2 packets appear
+			 * in the same transaction, they will just be handled
+			 * iteratively.
+			 *
+			 * Marcus observed stray bytes on iRiver devices;
+			 * these are still discarded.
+			 */
+			unsigned int packlen = dtoh32(usbdata.length);
+			unsigned int surplen = rlen - packlen;
+
+			if (surplen >= PTP_USB_BULK_HDR_LEN) {
+				params->response_packet = malloc(surplen);
+				memcpy(params->response_packet,
+				       (uint8_t *) &usbdata + packlen, surplen);
+				params->response_packet_size = surplen;
+			/* Ignore reading one extra byte if device flags have been set */
+			} else if(!FLAG_NO_ZERO_READS(ptp_usb) &&
+				  (rlen - dtoh32(usbdata.length) == 1)) {
+			  libusb_glue_debug (params, "ptp2/ptp_usb_getdata: read %d bytes "
+				     "too much, expect problems!",
+				     rlen - dtoh32(usbdata.length));
+			}
+			rlen = packlen;
+		}
+
+		/* For most PTP devices rlen is 512 == sizeof(usbdata)
+		 * here. For MTP devices splitting header and data it might
+		 * be 12.
+		 */
+		/* Evaluate full data length. */
+		len=dtoh32(usbdata.length)-PTP_USB_BULK_HDR_LEN;
+
+		/* autodetect split header/data MTP devices */
+		if (dtoh32(usbdata.length) > 12 && (rlen==12))
+			params->split_header_data = 1;
+
+		/* Copy first part of data to 'data' */
+		putfunc_ret =
+		  handler->putfunc(
+				   params, handler->priv, rlen - PTP_USB_BULK_HDR_LEN,
+				   usbdata.payload.data
+				   );
+		if (putfunc_ret != PTP_RC_OK)
+		  return putfunc_ret;
+
+		if (FLAG_NO_ZERO_READS(ptp_usb) &&
+		    len+PTP_USB_BULK_HDR_LEN == ptp_usb->inep_maxpacket) {
+
+		  LIBMTP_USB_DEBUG("Reading in extra terminating byte\n");
+
+		  // need to read in extra byte and discard it
+		  int result = 0, xread;
+		  unsigned char byte = 0;
+                  result = USB_BULK_READ(ptp_usb->handle,
+					 ptp_usb->inep,
+					 &byte,
+					 1,
+                                         &xread,
+					 ptp_usb->timeout);
+
+		  if (result != 1)
+		    LIBMTP_INFO("Could not read in extra byte for %d byte long file, return value 0x%04x\n", ptp_usb->inep_maxpacket, result);
+		} else if (len+PTP_USB_BULK_HDR_LEN == ptp_usb->inep_maxpacket && params->split_header_data == 0) {
+		  int zeroresult = 0, xread;
+		  unsigned char zerobyte = 0;
+
+		  LIBMTP_INFO("Reading in zero packet after header\n");
+
+		  zeroresult = USB_BULK_READ(ptp_usb->handle,
+					     ptp_usb->inep,
+					     &zerobyte,
+					     0,
+					     &xread,
+					     ptp_usb->timeout);
+
+		  if (zeroresult != 0)
+		    LIBMTP_INFO("LIBMTP panic: unable to read in zero packet, response 0x%04x", zeroresult);
+		}
+
+		/* Is that all of data? */
+		if (len+PTP_USB_BULK_HDR_LEN<=rlen) {
+		  break;
+		}
+
+		ret = ptp_read_func(len - (rlen - PTP_USB_BULK_HDR_LEN),
+				    handler,
+				    params->data, &rlen, 1);
+
+		if (ret != PTP_RC_OK) {
+		  break;
+		}
+	} while (0);
+	return ret;
+}
+
+uint16_t
+ptp_usb_getresp (PTPParams* params, PTPContainer* resp)
+{
+	uint16_t ret;
+	unsigned long rlen;
+	PTPUSBBulkContainer usbresp;
+	PTP_USB *ptp_usb = (PTP_USB *)(params->data);
+
+
+	LIBMTP_USB_DEBUG("RESPONSE: ");
+
+	memset(&usbresp,0,sizeof(usbresp));
+	/* read response, it should never be longer than sizeof(usbresp) */
+	ret = ptp_usb_getpacket(params, &usbresp, &rlen);
+
+	// Fix for bevahiour reported by Scott Snyder on Samsung YP-U3. The player
+	// sends a packet containing just zeroes of length 2 (up to 4 has been seen too)
+	// after a NULL packet when it should send the response. This code ignores
+	// such illegal packets.
+	while (ret==PTP_RC_OK && rlen<PTP_USB_BULK_HDR_LEN && usbresp.length==0) {
+	  libusb_glue_debug (params, "ptp_usb_getresp: detected short response "
+		     "of %d bytes, expect problems! (re-reading "
+		     "response), rlen");
+	  ret = ptp_usb_getpacket(params, &usbresp, &rlen);
+	}
+
+	if (ret != PTP_RC_OK) {
+		ret = PTP_ERROR_IO;
+	} else
+	if (dtoh16(usbresp.type)!=PTP_USB_CONTAINER_RESPONSE) {
+		ret = PTP_ERROR_RESP_EXPECTED;
+	} else
+	if (dtoh16(usbresp.code)!=resp->Code) {
+		ret = dtoh16(usbresp.code);
+	}
+
+	LIBMTP_USB_DEBUG("%04x\n", ret);
+
+	if (ret != PTP_RC_OK) {
+/*		libusb_glue_error (params,
+		"PTP: request code 0x%04x getting resp error 0x%04x",
+			resp->Code, ret);*/
+		return ret;
+	}
+	/* build an appropriate PTPContainer */
+	resp->Code=dtoh16(usbresp.code);
+	resp->SessionID=params->session_id;
+	resp->Transaction_ID=dtoh32(usbresp.trans_id);
+	if (FLAG_IGNORE_HEADER_ERRORS(ptp_usb)) {
+		if (resp->Transaction_ID != params->transaction_id-1) {
+			libusb_glue_debug (params, "ptp_usb_getresp: detected a broken "
+				   "PTP header, transaction ID insane, expect "
+				   "problems! (But continuing)");
+			// Repair the header, so it won't wreak more havoc.
+			resp->Transaction_ID = params->transaction_id-1;
+		}
+	}
+	resp->Param1=dtoh32(usbresp.payload.params.param1);
+	resp->Param2=dtoh32(usbresp.payload.params.param2);
+	resp->Param3=dtoh32(usbresp.payload.params.param3);
+	resp->Param4=dtoh32(usbresp.payload.params.param4);
+	resp->Param5=dtoh32(usbresp.payload.params.param5);
+	return ret;
+}
+
+/* Event handling functions */
+
+/* PTP Events wait for or check mode */
+#define PTP_EVENT_CHECK			0x0000	/* waits for */
+#define PTP_EVENT_CHECK_FAST		0x0001	/* checks */
+
+static inline uint16_t
+ptp_usb_event (PTPParams* params, PTPContainer* event, int wait)
+{
+	uint16_t ret;
+	int result, xread;
+	unsigned long rlen;
+	PTPUSBEventContainer usbevent;
+	PTP_USB *ptp_usb;
+
+	memset(&usbevent,0,sizeof(usbevent));
+
+	if ((params==NULL) || (event==NULL))
+		return PTP_ERROR_BADPARAM;
+	ptp_usb = (PTP_USB *)(params->data);
+
+	ret = PTP_RC_OK;
+	switch(wait) {
+	case PTP_EVENT_CHECK:
+                result = USB_BULK_READ(ptp_usb->handle,
+				     ptp_usb->intep,
+				     (unsigned char *) &usbevent,
+				     sizeof(usbevent),
+				     &xread,
+				     0);
+		if (xread == 0)
+		  result = USB_BULK_READ(ptp_usb->handle,
+					 ptp_usb->intep,
+					 (unsigned char *) &usbevent,
+					 sizeof(usbevent),
+				         &xread,
+					 0);
+		if (result < 0) ret = PTP_ERROR_IO;
+		break;
+	case PTP_EVENT_CHECK_FAST:
+                result = USB_BULK_READ(ptp_usb->handle,
+				     ptp_usb->intep,
+				     (unsigned char *) &usbevent,
+				     sizeof(usbevent),
+				     &xread,
+				     ptp_usb->timeout);
+		if (xread == 0)
+		  result = USB_BULK_READ(ptp_usb->handle,
+					 ptp_usb->intep,
+					 (unsigned char *) &usbevent,
+					 sizeof(usbevent),
+				         &xread,
+					 ptp_usb->timeout);
+		if (result < 0) ret = PTP_ERROR_IO;
+		break;
+	default:
+		ret = PTP_ERROR_BADPARAM;
+		break;
+	}
+	if (ret != PTP_RC_OK) {
+		libusb_glue_error (params,
+			"PTP: reading event an error 0x%04x occurred", ret);
+		return PTP_ERROR_IO;
+	}
+	rlen = xread;
+	if (rlen < 8) {
+		libusb_glue_error (params,
+			"PTP: reading event an short read of %ld bytes occurred", rlen);
+		return PTP_ERROR_IO;
+	}
+	/* if we read anything over interrupt endpoint it must be an event */
+	/* build an appropriate PTPContainer */
+	event->Code=dtoh16(usbevent.code);
+	event->SessionID=params->session_id;
+	event->Transaction_ID=dtoh32(usbevent.trans_id);
+	event->Param1=dtoh32(usbevent.param1);
+	event->Param2=dtoh32(usbevent.param2);
+	event->Param3=dtoh32(usbevent.param3);
+	return ret;
+}
+
+uint16_t
+ptp_usb_event_check (PTPParams* params, PTPContainer* event) {
+
+	return ptp_usb_event (params, event, PTP_EVENT_CHECK_FAST);
+}
+
+uint16_t
+ptp_usb_event_wait (PTPParams* params, PTPContainer* event) {
+
+	return ptp_usb_event (params, event, PTP_EVENT_CHECK);
+}
+
+static void
+ptp_usb_event_cb (struct libusb_transfer *t) {
+	struct ptp_event_cb_data *data = t->user_data;
+	PTPParams *params = data->params;
+	PTPUSBEventContainer *usbevent = (void *)t->buffer;
+	PTPContainer event = {0,};
+	uint16_t code;
+
+	switch (t->status) {
+	case LIBUSB_TRANSFER_COMPLETED:
+		if (t->actual_length < 8) {
+			libusb_glue_error (params,
+				"PTP: reading event an short read of %ld bytes occurred\n",
+				t->actual_length);
+			code = PTP_ERROR_IO;
+		} else {
+			event.Code=dtoh16(usbevent->code);
+			event.SessionID=params->session_id;
+			event.Transaction_ID=dtoh32(usbevent->trans_id);
+			event.Param1=dtoh32(usbevent->param1);
+			event.Param2=dtoh32(usbevent->param2);
+			event.Param3=dtoh32(usbevent->param3);
+			code = PTP_RC_OK;
+		}
+		break;
+	case LIBUSB_TRANSFER_TIMED_OUT:
+		code = PTP_ERROR_TIMEOUT;
+		break;
+	case LIBUSB_TRANSFER_CANCELLED:
+		code = PTP_ERROR_CANCEL;
+		break;
+	case LIBUSB_TRANSFER_STALL:
+		code = PTP_ERROR_DATA_EXPECTED;
+		break;
+	case LIBUSB_TRANSFER_ERROR:
+	case LIBUSB_TRANSFER_NO_DEVICE:
+	case LIBUSB_TRANSFER_OVERFLOW:
+	default:
+		code = PTP_ERROR_IO;
+		break;
+	}
+	if (code != PTP_RC_OK) {
+		libusb_glue_error (params,
+			"PTP: reading event an error 0x%02x occurred\n",
+			t->status);
+	}
+	data->cb(params, code, &event, data->user_data);
+	free(data);
+}
+
+uint16_t
+ptp_usb_event_async (PTPParams* params, PTPEventCbFn cb, void *user_data) {
+	PTP_USB *ptp_usb;
+	PTPUSBEventContainer *usbevent;
+	struct ptp_event_cb_data *data;
+	struct libusb_transfer *t;
+	int ret;
+
+	if (params == NULL) {
+		return PTP_ERROR_BADPARAM;
+	}
+
+        usbevent = calloc(1, sizeof(*usbevent));
+        if (usbevent == NULL) {
+		return PTP_ERROR_IO;
+        }
+
+	data = malloc(sizeof(*data));
+	if (data == NULL) {
+		free(usbevent);
+		return PTP_ERROR_IO;
+	}
+
+	t = libusb_alloc_transfer(0);
+	if (t == NULL) {
+		free(data);
+		free(usbevent);
+		return PTP_ERROR_IO;
+	}
+
+	data->cb = cb;
+	data->user_data = user_data;
+	data->params = params;
+
+	ptp_usb = (PTP_USB *)(params->data);
+	libusb_fill_interrupt_transfer(t, ptp_usb->handle, ptp_usb->intep,
+	                               (unsigned char *)usbevent, sizeof(*usbevent),
+	                               ptp_usb_event_cb, data, 0);
+	t->flags = LIBUSB_TRANSFER_FREE_BUFFER | LIBUSB_TRANSFER_FREE_TRANSFER;
+
+	ret = libusb_submit_transfer(t);
+	return ret == 0 ? PTP_RC_OK : PTP_ERROR_IO;
+}
+
+/**
+ * Trivial wrapper around the most generic libusb method for polling for events.
+ * Can be used to drive asynchronous event detection.
+ */
+int LIBMTP_Handle_Events_Timeout_Completed(struct timeval *tv, int *completed) {
+	/* Pass NULL for context as libmtp always uses the default context */
+	return libusb_handle_events_timeout_completed(NULL, tv, completed);
+}
+
+uint16_t
+ptp_usb_control_cancel_request (PTPParams *params, uint32_t transactionid) {
+	PTP_USB *ptp_usb = (PTP_USB *)(params->data);
+	int ret;
+	unsigned char buffer[6];
+
+	htod16a(&buffer[0],PTP_EC_CancelTransaction);
+	htod32a(&buffer[2],transactionid);
+	ret = libusb_control_transfer(ptp_usb->handle,
+			      LIBUSB_REQUEST_TYPE_CLASS | LIBUSB_RECIPIENT_INTERFACE,
+                              0x64, 0x0000, 0x0000,
+			      buffer,
+			      sizeof(buffer),
+			      ptp_usb->timeout);
+	if (ret < sizeof(buffer))
+		return PTP_ERROR_IO;
+	return PTP_RC_OK;
+}
+
+static int init_ptp_usb(PTPParams* params, PTP_USB* ptp_usb, libusb_device* dev)
+{
+  libusb_device_handle *device_handle;
+  unsigned char buf[255];
+  int ret, usbresult;
+  struct libusb_config_descriptor *config;
+
+  params->sendreq_func=ptp_usb_sendreq;
+  params->senddata_func=ptp_usb_senddata;
+  params->getresp_func=ptp_usb_getresp;
+  params->getdata_func=ptp_usb_getdata;
+  params->cancelreq_func=ptp_usb_control_cancel_request;
+  params->data=ptp_usb;
+  params->transaction_id=0;
+  /*
+   * This is hardcoded here since we have no devices whatsoever that are BE.
+   * Change this the day we run into our first BE device (if ever).
+   */
+  params->byteorder = PTP_DL_LE;
+
+  ptp_usb->timeout = get_timeout(ptp_usb);
+
+  ret = libusb_open(dev, &device_handle);
+  if (ret != LIBUSB_SUCCESS) {
+    perror("libusb_open() failed!");
+    return -1;
+  }
+  ptp_usb->handle = device_handle;
+
+  /*
+   * If this device is known to be wrongfully claimed by other kernel
+   * drivers (such as mass storage), then try to unload it to make it
+   * accessible from user space.
+   */
+  if (FLAG_UNLOAD_DRIVER(ptp_usb) &&
+      libusb_kernel_driver_active(device_handle, ptp_usb->interface)
+  ) {
+      if (LIBUSB_SUCCESS != libusb_detach_kernel_driver(device_handle, ptp_usb->interface)) {
+	perror("libusb_detach_kernel_driver() failed, continuing anyway...");
+      }
+  }
+
+  /*
+   * Check if the config is set to something else than what we want
+   * to use. Only set the configuration if we absolutely have to.
+   * Also do not bail out if we fail.
+   *
+   * Note that Darwin will not set the configuration for vendor-specific
+   * devices so we need to go in and set it.
+   */
+  ret = libusb_get_active_config_descriptor(dev, &config);
+  if (ret != LIBUSB_SUCCESS) {
+    perror("libusb_get_active_config_descriptor(1) failed");
+    fprintf(stderr, "no active configuration, trying to set configuration\n");
+    if (libusb_set_configuration(device_handle, ptp_usb->config) != LIBUSB_SUCCESS) {
+      perror("libusb_set_configuration() failed, continuing anyway...");
+    }
+    ret = libusb_get_active_config_descriptor(dev, &config);
+    if (ret != LIBUSB_SUCCESS) {
+      perror("libusb_get_active_config_descriptor(2) failed");
+      return -1;
+    }
+  }
+  if (config->bConfigurationValue != ptp_usb->config) {
+    fprintf(stderr, "desired configuration different from current, trying to set configuration\n");
+    if (libusb_set_configuration(device_handle, ptp_usb->config)) {
+      perror("libusb_set_configuration() failed, continuing anyway...");
+    }
+    /* Re-fetch the config descriptor if we changed */
+    libusb_free_config_descriptor(config);
+    ret = libusb_get_active_config_descriptor(dev, &config);
+    if (ret != LIBUSB_SUCCESS) {
+      perror("libusb_get_active_config_descriptor(2) failed");
+      return -1;
+    }
+  }
+
+  /*
+   * It seems like on kernel 2.6.31 if we already have it open on another
+   * pthread in our app, we'll get an error if we try to claim it again,
+   * but that error is harmless because our process already claimed the interface
+   */
+  usbresult = libusb_claim_interface(device_handle, ptp_usb->interface);
+
+  if (usbresult != 0)
+    fprintf(stderr, "ignoring libusb_claim_interface() = %d", usbresult);
+
+  /*
+   * If the altsetting is set to something different than we want, switch
+   * it.
+   *
+   * FIXME: this seems to cause trouble on the Mac:s so disable it. Retry
+   * this on the Mac now that it only sets this when the altsetting differs.
+   */
+#ifndef __APPLE__
+#if 0 /* Disable this always, no idea on how to handle it */
+  if (config->interface[].altsetting[].bAlternateSetting !=
+      ptp_usb->altsetting) {
+    fprintf(stderr, "desired altsetting different from current, trying to set altsetting\n");
+    usbresult = libusb_set_interface_alt_setting(device_handle,
+						 ptp_usb->interface,
+						 ptp_usb->altsetting);
+    if (usbresult != 0)
+      fprintf(stderr, "ignoring libusb_set_interface_alt_setting() = %d\n", usbresult);
+  }
+#endif
+#endif
+
+  libusb_free_config_descriptor(config);
+
+  if (FLAG_SWITCH_MODE_BLACKBERRY(ptp_usb)) {
+    int ret;
+
+    // FIXME : Only for BlackBerry Storm
+    // What does it mean? Maybe switch mode...
+    // This first control message is absolutely necessary
+    usleep(1000);
+    ret = libusb_control_transfer(device_handle,
+                          LIBUSB_REQUEST_TYPE_VENDOR | LIBUSB_RECIPIENT_DEVICE | LIBUSB_ENDPOINT_IN,
+                          0xaa, 0x00, 0x04, buf, 0x40, 1000);
+    LIBMTP_USB_DEBUG("BlackBerry magic part 1:\n");
+    LIBMTP_USB_DATA(buf, ret, 16);
+
+    usleep(1000);
+    // This control message is unnecessary
+    ret = libusb_control_transfer(device_handle,
+                          LIBUSB_REQUEST_TYPE_VENDOR | LIBUSB_RECIPIENT_DEVICE | LIBUSB_ENDPOINT_IN,
+                          0xa5, 0x00, 0x01, buf, 0x02, 1000);
+    LIBMTP_USB_DEBUG("BlackBerry magic part 2:\n");
+    LIBMTP_USB_DATA(buf, ret, 16);
+
+    usleep(1000);
+    // This control message is unnecessary
+    ret = libusb_control_transfer(device_handle,
+                          LIBUSB_REQUEST_TYPE_VENDOR | LIBUSB_RECIPIENT_DEVICE | LIBUSB_ENDPOINT_IN,
+                          0xa8, 0x00, 0x01, buf, 0x05, 1000);
+    LIBMTP_USB_DEBUG("BlackBerry magic part 3:\n");
+    LIBMTP_USB_DATA(buf, ret, 16);
+
+    usleep(1000);
+    // This control message is unnecessary
+    ret = libusb_control_transfer(device_handle,
+                          LIBUSB_REQUEST_TYPE_VENDOR | LIBUSB_RECIPIENT_DEVICE | LIBUSB_ENDPOINT_IN,
+                          0xa8, 0x00, 0x01, buf, 0x11, 1000);
+    LIBMTP_USB_DEBUG("BlackBerry magic part 4:\n");
+    LIBMTP_USB_DATA(buf, ret, 16);
+
+    usleep(1000);
+  }
+  return 0;
+}
+
+static void clear_stall(PTP_USB* ptp_usb)
+{
+  uint16_t status;
+  int ret;
+
+  /* check the inep status */
+  status = 0;
+  ret = usb_get_endpoint_status(ptp_usb,ptp_usb->inep,&status);
+  if (ret<0) {
+    perror ("inep: usb_get_endpoint_status()");
+  } else if (status) {
+    LIBMTP_INFO("Clearing stall on IN endpoint\n");
+    ret = libusb_clear_halt (ptp_usb->handle, ptp_usb->inep);
+    if (ret != LIBUSB_SUCCESS) {
+      perror ("usb_clear_stall_feature()");
+    }
+  }
+
+  /* check the outep status */
+  status=0;
+  ret = usb_get_endpoint_status(ptp_usb,ptp_usb->outep,&status);
+  if (ret<0) {
+    perror("outep: usb_get_endpoint_status()");
+  } else if (status) {
+    LIBMTP_INFO("Clearing stall on OUT endpoint\n");
+    ret = libusb_clear_halt(ptp_usb->handle, ptp_usb->outep);
+    if (ret != LIBUSB_SUCCESS) {
+      perror("usb_clear_stall_feature()");
+    }
+  }
+
+  /* TODO: do we need this for INTERRUPT (ptp_usb->intep) too? */
+}
+
+static void close_usb(PTP_USB* ptp_usb)
+{
+  if (!FLAG_NO_RELEASE_INTERFACE(ptp_usb)) {
+    /*
+     * Clear any stalled endpoints
+     * On misbehaving devices designed for Windows/Mac, quote from:
+     * http://www2.one-eyed-alien.net/~mdharm/linux-usb/target_offenses.txt
+     * Device does Bad Things(tm) when it gets a GET_STATUS after CLEAR_HALT
+     * (...) Windows, when clearing a stall, only sends the CLEAR_HALT command,
+     * and presumes that the stall has cleared.  Some devices actually choke
+     * if the CLEAR_HALT is followed by a GET_STATUS (used to determine if the
+     * STALL is persistant or not).
+     */
+    clear_stall(ptp_usb);
+    libusb_release_interface(ptp_usb->handle, (int) ptp_usb->interface);
+  }
+  if (FLAG_FORCE_RESET_ON_CLOSE(ptp_usb)) {
+    /*
+     * Some devices really love to get reset after being
+     * disconnected. Again, since Windows never disconnects
+     * a device closing behaviour is seldom or never exercised
+     * on devices when engineered and often error prone.
+     * Reset may help some.
+     */
+    libusb_reset_device (ptp_usb->handle);
+  }
+  libusb_close(ptp_usb->handle);
+}
+
+/**
+ * Self-explanatory?
+ */
+static int find_interface_and_endpoints(libusb_device *dev,
+					uint8_t *conf,
+					uint8_t *interface,
+					uint8_t *altsetting,
+					int* inep,
+					int* inep_maxpacket,
+					int* outep,
+					int *outep_maxpacket,
+					int* intep)
+{
+  uint8_t i, ret;
+  struct libusb_device_descriptor desc;
+
+  ret = libusb_get_device_descriptor(dev, &desc);
+  if (ret != LIBUSB_SUCCESS)
+    return -1;
+
+  // Loop over the device configurations
+  for (i = 0; i < desc.bNumConfigurations; i++) {
+    uint8_t j;
+    struct libusb_config_descriptor *config;
+
+    ret = libusb_get_config_descriptor(dev, i, &config);
+    if (ret != LIBUSB_SUCCESS)
+      continue;
+
+    *conf = config->bConfigurationValue;
+
+    // Loop over each configurations interfaces
+    for (j = 0; j < config->bNumInterfaces; j++) {
+      uint8_t k, l;
+      uint8_t no_ep;
+      int found_inep = 0;
+      int found_outep = 0;
+      int found_intep = 0;
+      const struct libusb_endpoint_descriptor *ep;
+
+      // Inspect the altsettings of this interface...
+      for (k = 0; k < config->interface[j].num_altsetting; k++) {
+
+	// MTP devices shall have 3 endpoints, ignore those interfaces
+	// that haven't.
+	no_ep = config->interface[j].altsetting[k].bNumEndpoints;
+	if (no_ep != 3)
+	  continue;
+
+	*interface = config->interface[j].altsetting[k].bInterfaceNumber;
+	*altsetting = config->interface[j].altsetting[k].bAlternateSetting;
+	ep = config->interface[j].altsetting[k].endpoint;
+
+	// Loop over the three endpoints to locate two bulk and
+	// one interrupt endpoint and FAIL if we cannot, and continue.
+	for (l = 0; l < no_ep; l++) {
+	  if (ep[l].bmAttributes == LIBUSB_TRANSFER_TYPE_BULK) {
+	    if ((ep[l].bEndpointAddress & LIBUSB_ENDPOINT_DIR_MASK) ==
+		LIBUSB_ENDPOINT_DIR_MASK) {
+	      *inep = ep[l].bEndpointAddress;
+	      *inep_maxpacket = ep[l].wMaxPacketSize;
+	      found_inep = 1;
+	    }
+	    if ((ep[l].bEndpointAddress & LIBUSB_ENDPOINT_DIR_MASK) == 0) {
+	      *outep = ep[l].bEndpointAddress;
+	      *outep_maxpacket = ep[l].wMaxPacketSize;
+	      found_outep = 1;
+	    }
+	  } else if (ep[l].bmAttributes == LIBUSB_TRANSFER_TYPE_INTERRUPT) {
+	    if ((ep[l].bEndpointAddress & LIBUSB_ENDPOINT_DIR_MASK) ==
+		LIBUSB_ENDPOINT_DIR_MASK) {
+	      *intep = ep[l].bEndpointAddress;
+	      found_intep = 1;
+	    }
+	  }
+	}
+	if (found_inep && found_outep && found_intep) {
+	  libusb_free_config_descriptor(config);
+	  // We assigned the endpoints so return here.
+	  return 0;
+	}
+      } // Next altsetting
+    } // Next interface
+    libusb_free_config_descriptor(config);
+  } // Next config
+  return -1;
+}
+
+/**
+ * This function assigns params and usbinfo given a raw device
+ * as input.
+ * @param device the device to be assigned.
+ * @param usbinfo a pointer to the new usbinfo.
+ * @return an error code.
+ */
+LIBMTP_error_number_t configure_usb_device(LIBMTP_raw_device_t *device,
+					   PTPParams *params,
+					   void **usbinfo)
+{
+  PTP_USB *ptp_usb;
+  libusb_device *ldevice;
+  uint16_t ret = 0;
+  int err, found = 0, i;
+  ssize_t nrofdevs;
+  libusb_device **devs = NULL;
+  struct libusb_device_descriptor desc;
+  LIBMTP_error_number_t init_usb_ret;
+
+  /* See if we can find this raw device again... */
+  init_usb_ret = init_usb();
+  if (init_usb_ret != LIBMTP_ERROR_NONE)
+    return init_usb_ret;
+
+  nrofdevs = libusb_get_device_list(NULL, &devs);
+  for (i = 0; i < nrofdevs ; i++) {
+    if (libusb_get_bus_number(devs[i]) != device->bus_location)
+      continue;
+    if (libusb_get_device_address(devs[i]) != device->devnum)
+      continue;
+
+    ret = libusb_get_device_descriptor(devs[i], &desc);
+    if (ret != LIBUSB_SUCCESS) continue;
+
+    if(desc.idVendor  == device->device_entry.vendor_id &&
+       desc.idProduct == device->device_entry.product_id ) {
+	  ldevice = devs[i];
+	  found = 1;
+	  break;
+    }
+  }
+  /* Device has gone since detecting raw devices! */
+  if (!found) {
+    libusb_free_device_list (devs, 0);
+    return LIBMTP_ERROR_NO_DEVICE_ATTACHED;
+  }
+
+  /* Allocate structs */
+  ptp_usb = (PTP_USB *) malloc(sizeof(PTP_USB));
+  if (ptp_usb == NULL) {
+    libusb_free_device_list (devs, 0);
+    return LIBMTP_ERROR_MEMORY_ALLOCATION;
+  }
+  /* Start with a blank slate (includes setting device_flags to 0) */
+  memset(ptp_usb, 0, sizeof(PTP_USB));
+
+  /* Copy the raw device */
+  memcpy(&ptp_usb->rawdevice, device, sizeof(LIBMTP_raw_device_t));
+
+  /*
+   * Some devices must have their "OS Descriptor" massaged in order
+   * to work.
+   */
+  if (FLAG_ALWAYS_PROBE_DESCRIPTOR(ptp_usb)) {
+    // Massage the device descriptor
+    (void) probe_device_descriptor(ldevice, NULL);
+  }
+
+  /* Assign interface and endpoints to usbinfo... */
+  err = find_interface_and_endpoints(ldevice,
+				     &ptp_usb->config,
+				     &ptp_usb->interface,
+				     &ptp_usb->altsetting,
+				     &ptp_usb->inep,
+				     &ptp_usb->inep_maxpacket,
+				     &ptp_usb->outep,
+				     &ptp_usb->outep_maxpacket,
+				     &ptp_usb->intep);
+
+  if (err) {
+    libusb_free_device_list (devs, 0);
+    free (ptp_usb);
+    LIBMTP_ERROR("LIBMTP PANIC: Unable to find interface & endpoints of device\n");
+    return LIBMTP_ERROR_CONNECTING;
+  }
+
+  /* Copy USB version number */
+  ptp_usb->bcdusb = desc.bcdUSB;
+
+  /* Attempt to initialize this device */
+  if (init_ptp_usb(params, ptp_usb, ldevice) < 0) {
+    free (ptp_usb);
+    LIBMTP_ERROR("LIBMTP PANIC: Unable to initialize device\n");
+    libusb_free_device_list (devs, 0);
+    return LIBMTP_ERROR_CONNECTING;
+  }
+
+  /*
+   * This works in situations where previous bad applications
+   * have not used LIBMTP_Release_Device on exit
+   */
+  if ((ret = ptp_opensession(params, 1)) == PTP_ERROR_IO) {
+    LIBMTP_ERROR("PTP_ERROR_IO: failed to open session, trying again after resetting USB interface\n");
+    LIBMTP_ERROR("LIBMTP libusb: Attempt to reset device\n");
+    libusb_reset_device (ptp_usb->handle);
+    close_usb(ptp_usb);
+
+    if(init_ptp_usb(params, ptp_usb, ldevice) <0) {
+      LIBMTP_ERROR("LIBMTP PANIC: Could not init USB on second attempt\n");
+      libusb_free_device_list (devs, 0);
+      free (ptp_usb);
+      return LIBMTP_ERROR_CONNECTING;
+    }
+
+    /* Device has been reset, try again */
+    if ((ret = ptp_opensession(params, 1)) == PTP_ERROR_IO) {
+      LIBMTP_ERROR("LIBMTP PANIC: failed to open session on second attempt\n");
+      libusb_free_device_list (devs, 0);
+      free (ptp_usb);
+      return LIBMTP_ERROR_CONNECTING;
+    }
+  }
+
+  /* Was the transaction id invalid? Try again */
+  if (ret == PTP_RC_InvalidTransactionID) {
+    LIBMTP_ERROR("LIBMTP WARNING: Transaction ID was invalid, increment and try again\n");
+    params->transaction_id += 10;
+    ret = ptp_opensession(params, 1);
+  }
+
+  if (ret != PTP_RC_SessionAlreadyOpened && ret != PTP_RC_OK) {
+    LIBMTP_ERROR("LIBMTP PANIC: Could not open session! "
+	    "(Return code %d)\n  Try to reset the device.\n",
+	    ret);
+    libusb_release_interface(ptp_usb->handle, ptp_usb->interface);
+    libusb_free_device_list (devs, 0);
+    free (ptp_usb);
+    return LIBMTP_ERROR_CONNECTING;
+  }
+
+  /* OK configured properly */
+  *usbinfo = (void *) ptp_usb;
+  libusb_free_device_list (devs, 0);
+  return LIBMTP_ERROR_NONE;
+}
+
+
+void close_device (PTP_USB *ptp_usb, PTPParams *params)
+{
+  if (ptp_closesession(params)!=PTP_RC_OK)
+    LIBMTP_ERROR("ERROR: Could not close session!\n");
+  close_usb(ptp_usb);
+}
+
+void set_usb_device_timeout(PTP_USB *ptp_usb, int timeout)
+{
+  ptp_usb->timeout = timeout;
+}
+
+void get_usb_device_timeout(PTP_USB *ptp_usb, int *timeout)
+{
+  *timeout = ptp_usb->timeout;
+}
+
+int guess_usb_speed(PTP_USB *ptp_usb)
+{
+  int bytes_per_second;
+
+  /*
+   * We don't know the actual speeds so these are rough guesses
+   * from the info you can find here:
+   * http://en.wikipedia.org/wiki/USB#Transfer_rates
+   * http://www.barefeats.com/usb2.html
+   */
+  switch (ptp_usb->bcdusb & 0xFF00) {
+  case 0x0100:
+    /* 1.x USB versions let's say 1MiB/s */
+    bytes_per_second = 1*1024*1024;
+    break;
+  case 0x0200:
+  case 0x0300:
+    /* USB 2.0 nominal speed 18MiB/s */
+    /* USB 3.0 won't be worse? */
+    bytes_per_second = 18*1024*1024;
+    break;
+  default:
+    /* Half-guess something? */
+    bytes_per_second = 1*1024*1024;
+    break;
+  }
+  return bytes_per_second;
+}
+
+static int usb_get_endpoint_status(PTP_USB* ptp_usb, int ep, uint16_t* status)
+{
+  return libusb_control_transfer(ptp_usb->handle,
+			  LIBUSB_ENDPOINT_IN|LIBUSB_RECIPIENT_ENDPOINT,
+			  LIBUSB_REQUEST_GET_STATUS,
+                          USB_FEATURE_HALT,
+			  ep,
+			  (unsigned char *) status,
+			  2,
+			  ptp_usb->timeout);
+}
diff --git a/src/mtpz.c b/src/mtpz.c
new file mode 100644
index 0000000..aeff17c
--- /dev/null
+++ b/src/mtpz.c
@@ -0,0 +1,1832 @@
+/**
+ * \file mtpz.c
+ *
+ * Copyright (C) 2011-2012 Sajid Anwar <sajidanwar94@gmail.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * This file provides mtp zune cryptographic setup interfaces.
+ * It is also used with Windows Phone 7, but Microsoft/Nokiad seem
+ * to have discontinued MTPZ on Windows Phone 8.
+ *
+ * DISCLAIMER:
+ *
+ * The intention of this implementation is for users to be able
+ * to interoperate with their devices, i.e. copy music to them in
+ * operating systems other than Microsoft Windows, so it can be
+ * played back on the device. We do not provide encryption keys
+ * and constants in libmtp, we never will. You have to have these
+ * on file in your home directory in $HOME/.mtpz-data, and we suggest
+ * that you talk to Microsoft about providing the proper numbers if
+ * you want to use this facility.
+ */
+#include "config.h"
+#include "libmtp.h"
+#include "unicode.h"
+#include "ptp.h"
+#include "libusb-glue.h"
+#include "device-flags.h"
+#include "playlist-spl.h"
+#include "util.h"
+#include "mtpz.h"
+
+#include <gcrypt.h>
+
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <time.h>
+#include <errno.h>
+
+
+/* Microsoft MTPZ extensions */
+
+/*
+ * The ~/.mtpz-data file contains all four necessary pieces of data:
+ *
+ *   encryption key
+ *   public exponent
+ *   modulus
+ *   private key
+ *   certificate data
+ *
+ * These four pieces of data are each stored in hex representation,
+ * separated by newline characters.
+ *
+ * If you know of a published, public reference for one of these
+ * arrays of data, please inform us, so we can include it here and
+ * drop it from the external file. Even better is if you convince
+ * Microsoft to officially provide keys to this project.
+ */
+
+static unsigned char *MTPZ_ENCRYPTION_KEY;
+static unsigned char *MTPZ_PUBLIC_EXPONENT;
+static unsigned char *MTPZ_MODULUS;
+static unsigned char *MTPZ_PRIVATE_KEY;
+static char *MTPZ_CERTIFICATES;
+
+// Strip the trailing newline from fgets().
+static char *fgets_strip(char * str, int num, FILE * stream)
+{
+	char *result = str;
+
+	if ((result = fgets(str, num, stream)))
+	{
+		size_t newlen = strlen(result);
+
+		if (result[newlen - 1] == '\n')
+			result[newlen - 1] = '\0';
+	}
+
+	return result;
+}
+
+static char *hex_to_bytes(char *hex, size_t len)
+{
+	if (len % 2)
+		return NULL;
+
+	char *bytes = malloc(len / 2);
+	unsigned int u;
+	int i = 0;
+
+	while (i < len && sscanf(hex + i, "%2x", &u) == 1)
+	{
+		bytes[i / 2] = u;
+		i += 2;
+	}
+
+	return bytes;
+}
+
+int mtpz_loaddata()
+{
+	char *home = getenv("HOME");
+	int ret = -1;
+	if (!home)
+	{
+		LIBMTP_ERROR("Unable to determine user's home directory, MTPZ disabled.\n");
+		return -1;
+	}
+
+	int plen = strlen(home) + strlen("/.mtpz-data") + 1;
+	char path[plen];
+	sprintf(path, "%s/.mtpz-data", home);
+
+	FILE *fdata = fopen(path, "r");
+	if (!fdata)
+		return ret;
+
+	// Should only be six characters in length, but fgets will encounter a newline and stop.
+	MTPZ_PUBLIC_EXPONENT = (unsigned char *)fgets_strip((char *)malloc(8), 8, fdata);
+	if (!MTPZ_PUBLIC_EXPONENT)
+	{
+		LIBMTP_ERROR("Unable to read MTPZ public exponent from ~/.mtpz-data, MTPZ disabled.\n");
+		goto cleanup;
+	}
+
+	// Should only be 33 characters in length, but fgets will encounter a newline and stop.
+	char *hexenckey = fgets_strip((char *)malloc(35), 35, fdata);
+	if (!hexenckey)
+	{
+		LIBMTP_ERROR("Unable to read MTPZ encryption key from ~/.mtpz-data, MTPZ disabled.\n");
+		goto cleanup;
+	}
+
+	MTPZ_ENCRYPTION_KEY = hex_to_bytes(hexenckey, strlen(hexenckey));
+	if (!MTPZ_ENCRYPTION_KEY)
+	{
+		LIBMTP_ERROR("Unable to read MTPZ encryption key from ~/.mtpz-data, MTPZ disabled.\n");
+		goto cleanup;
+	}
+
+	// Should only be 256 characters in length, but fgets will encounter a newline and stop.
+	MTPZ_MODULUS = (unsigned char *)fgets_strip((char *)malloc(260), 260, fdata);
+	if (!MTPZ_MODULUS)
+	{
+		LIBMTP_ERROR("Unable to read MTPZ modulus from ~/.mtpz-data, MTPZ disabled.\n");
+		goto cleanup;
+	}
+
+	// Should only be 256 characters in length, but fgets will encounter a newline and stop.
+	MTPZ_PRIVATE_KEY = (unsigned char *)fgets_strip((char *)malloc(260), 260, fdata);
+	if (!MTPZ_PRIVATE_KEY)
+	{
+		LIBMTP_ERROR("Unable to read MTPZ private key from ~/.mtpz-data, MTPZ disabled.\n");
+		goto cleanup;
+	}
+
+	// Should only be 1258 characters in length, but fgets will encounter the end of the file and stop.
+	char *hexcerts = fgets_strip((char *)malloc(1260), 1260, fdata);
+	if (!hexcerts)
+	{
+		LIBMTP_ERROR("Unable to read MTPZ certificates from ~/.mtpz-data, MTPZ disabled.\n");
+		goto cleanup;
+	}
+
+	MTPZ_CERTIFICATES = hex_to_bytes(hexcerts, strlen(hexcerts));
+	if (!MTPZ_CERTIFICATES)
+	{
+		LIBMTP_ERROR("Unable to parse MTPZ certificates from ~/.mtpz-data, MTPZ disabled.\n");
+		goto cleanup;
+	}
+	// If all done without errors, drop the fail
+	ret = 0;
+cleanup:
+	fclose(fdata);
+	return ret;
+}
+/* MTPZ RSA */
+
+typedef struct mtpz_rsa_struct
+{
+	gcry_sexp_t privkey;
+	gcry_sexp_t pubkey;
+} mtpz_rsa_t;
+
+mtpz_rsa_t *mtpz_rsa_init(const unsigned char *modulus, const unsigned char *priv_key, const unsigned char *pub_exp);
+void mtpz_rsa_free(mtpz_rsa_t *);
+int mtpz_rsa_decrypt(int flen, unsigned char *from, int tlen, unsigned char *to, mtpz_rsa_t *rsa);
+int mtpz_rsa_sign(int flen, unsigned char *from, int tlen, unsigned char *to, mtpz_rsa_t *rsa);
+
+/* MTPZ hashing */
+
+#define MTPZ_HASHSTATE_84 5
+#define MTPZ_HASHSTATE_88 6
+
+static char *mtpz_hash_init_state();
+static void mtpz_hash_reset_state(char *);
+static void mtpz_hash_transform_hash(char *, char *, int);
+static void mtpz_hash_finalize_hash(char *, char *);
+static char *mtpz_hash_custom6A5DC(char *, char *, int, int);
+
+static void mtpz_hash_compute_hash(char *, char *, int);
+static unsigned int mtpz_hash_f(int s, unsigned int x, unsigned int y, unsigned int z);
+static unsigned int mtpz_hash_rotate_left(unsigned int x, int n);
+
+/* MTPZ encryption */
+
+unsigned char mtpz_aes_rcon[];
+unsigned char mtpz_aes_sbox[];
+unsigned char mtpz_aes_invsbox[];
+unsigned int mtpz_aes_ft1[];
+unsigned int mtpz_aes_ft2[];
+unsigned int mtpz_aes_ft3[];
+unsigned int mtpz_aes_ft4[];
+unsigned int mtpz_aes_rt1[];
+unsigned int mtpz_aes_rt2[];
+unsigned int mtpz_aes_rt3[];
+unsigned int mtpz_aes_rt4[];
+unsigned int mtpz_aes_gb11[];
+unsigned int mtpz_aes_gb14[];
+unsigned int mtpz_aes_gb13[];
+unsigned int mtpz_aes_gb9[];
+
+#define MTPZ_ENCRYPTIONLOBYTE(val) (((val) >> 24) & 0xFF)
+#define MTPZ_ENCRYPTIONBYTE1(val) (((val) >> 16) & 0xFF)
+#define MTPZ_ENCRYPTIONBYTE2(val) (((val) >>  8) & 0xFF)
+#define MTPZ_ENCRYPTIONBYTE3(val) (((val) >>  0) & 0xFF)
+
+#define MTPZ_SWAP(x) mtpz_bswap32(x)
+
+void mtpz_encryption_cipher(unsigned char *data, unsigned int len, char encrypt);
+void mtpz_encryption_cipher_advanced(unsigned char *key, unsigned int key_len, unsigned char *data, unsigned int data_len, char encrypt);
+unsigned char *mtpz_encryption_expand_key(unsigned char *constant, int key_len, int count, int *out_len);
+void mtpz_encryption_expand_key_inner(unsigned char *constant, int key_len, unsigned char **out, int *out_len);
+void mtpz_encryption_inv_mix_columns(unsigned char *expanded, int offset, int rounds);
+void mtpz_encryption_decrypt_custom(unsigned char *data, unsigned char *seed, unsigned char *expanded);
+void mtpz_encryption_encrypt_custom(unsigned char *data, unsigned char *seed, unsigned char *expanded);
+void mtpz_encryption_encrypt_mac(unsigned char *hash, unsigned int hash_length, unsigned char *seed, unsigned int seed_len, unsigned char *out);
+
+
+static inline uint32_t mtpz_bswap32(uint32_t x)
+{
+#if defined __GNUC__ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) || defined(__clang__)
+	return __builtin_bswap32(x);
+#else
+	return (x >> 24) |
+	       ((x >> 8) & 0x0000ff00) |
+	       ((x << 8) & 0x00ff0000) |
+	       (x << 24);
+#endif
+}
+
+
+/* MTPZ RSA implementation */
+mtpz_rsa_t *mtpz_rsa_init(const unsigned char *str_modulus, const unsigned char *str_privkey, const unsigned char *str_pubexp)
+{
+	mtpz_rsa_t *rsa = calloc(1, sizeof(mtpz_rsa_t));
+	if (rsa == NULL)
+		return NULL;
+
+	gcry_mpi_t mpi_modulus, mpi_privkey, mpi_pubexp;
+
+	gcry_mpi_scan(&mpi_modulus, GCRYMPI_FMT_HEX, str_modulus, 0, NULL);
+	gcry_mpi_scan(&mpi_privkey, GCRYMPI_FMT_HEX, str_privkey, 0, NULL);
+	gcry_mpi_scan(&mpi_pubexp, GCRYMPI_FMT_HEX, str_pubexp, 0, NULL);
+
+	gcry_sexp_build(&rsa->privkey, NULL, "(private-key (rsa (n %m) (e %m) (d %m)))", mpi_modulus, mpi_pubexp, mpi_privkey);
+	gcry_sexp_build(&rsa->pubkey, NULL, "(public-key (rsa (n %m) (e %m)))", mpi_modulus, mpi_pubexp);
+
+	gcry_mpi_release(mpi_modulus);
+	gcry_mpi_release(mpi_privkey);
+	gcry_mpi_release(mpi_pubexp);
+
+	return rsa;
+}
+
+void mtpz_rsa_free(mtpz_rsa_t *rsa)
+{
+	gcry_sexp_release(rsa->privkey);
+	gcry_sexp_release(rsa->pubkey);
+}
+
+int mtpz_rsa_decrypt(int flen, unsigned char *from, int tlen, unsigned char *to, mtpz_rsa_t *rsa)
+{
+	gcry_mpi_t mpi_from;
+	gcry_mpi_scan(&mpi_from, GCRYMPI_FMT_USG, from, flen, NULL);
+
+	gcry_sexp_t sexp_data;
+	gcry_sexp_build(&sexp_data, NULL, "(enc-val (flags raw) (rsa (a %m)))", mpi_from);
+
+	gcry_sexp_t sexp_plain;
+	gcry_pk_decrypt(&sexp_plain, sexp_data, rsa->privkey);
+
+	gcry_mpi_t mpi_value = gcry_sexp_nth_mpi(sexp_plain, 1, GCRYMPI_FMT_USG);
+
+	// Lame workaround. GCRYMPI_FMT_USG gets rid of any leading zeroes which we do need,
+	// so we'll count how many bits are being used, and subtract that from how many bits actually
+	// should be there, and then write into our output array shifted over however many bits/8.
+	int bitshift = (tlen * 8) - gcry_mpi_get_nbits(mpi_value);
+	size_t written;
+
+	if (bitshift / 8)
+	{
+		memset(to, 0, bitshift / 8);
+		to += bitshift / 8;
+		tlen -= bitshift / 8;
+	}
+
+	gcry_mpi_print(GCRYMPI_FMT_USG, to, tlen, &written, mpi_value);
+
+	gcry_mpi_release(mpi_from);
+	gcry_mpi_release(mpi_value);
+	gcry_sexp_release(sexp_data);
+	gcry_sexp_release(sexp_plain);
+
+	return (int)written;
+}
+
+int mtpz_rsa_sign(int flen, unsigned char *from, int tlen, unsigned char *to, mtpz_rsa_t *rsa)
+{
+	return mtpz_rsa_decrypt(flen, from, tlen, to, rsa);
+}
+
+/* MTPZ hashing implementation */
+
+static char *mtpz_hash_init_state()
+{
+	char *s = (char *)malloc(92);
+
+	if (s != NULL)
+		memset(s, 0, 92);
+
+	return s;
+}
+
+void mtpz_hash_reset_state(char *state)
+{
+	int *state_box = (int *)(state + 64);
+
+	/*
+	 * Constants from
+	 * http://csrc.nist.gov/publications/fips/fips180-2/fips180-2withchangenotice.pdf
+	 * Page 13, section 5.3.1
+	 */
+	state_box[0] = 0x67452301;
+	state_box[1] = 0xefcdab89;
+	state_box[2] = 0x98badcfe;
+	state_box[3] = 0x10325476;
+	state_box[4] = 0xc3d2e1f0;
+	state_box[MTPZ_HASHSTATE_84] = 0;
+	state_box[MTPZ_HASHSTATE_88] = 0;
+}
+
+void mtpz_hash_transform_hash(char *state, char *msg, int len)
+{
+	int *state_box = (int *)(state + 64);
+
+	int x = state_box[MTPZ_HASHSTATE_88] & 0x3F;
+	int v5 = len + state_box[MTPZ_HASHSTATE_88];
+	state_box[MTPZ_HASHSTATE_88] = v5;
+
+	int i = len, j = 0;
+	int a1 = 0;
+	int c = 0;
+
+	if (len > v5)
+		state_box[MTPZ_HASHSTATE_84] += 1;
+
+	if (x)
+	{
+		if (len + x > 0x3F)
+		{
+			for (a1 = 0; a1 < 64 - x; a1++)
+			{
+				state[x + a1] = msg[a1];
+			}
+
+			i = len + x - 64;
+			j = 64 - x;
+
+			mtpz_hash_compute_hash(state, state, 64);
+		}
+	}
+
+	while (i > 63)
+	{
+		mtpz_hash_compute_hash(state, msg + j, 64);
+		j += 64;
+		i -= 64;
+	}
+
+	if (i != 0)
+	{
+		for (c = 0; c < i; c++)
+		{
+			state[x + c] = msg[j + c];
+		}
+	}
+}
+
+// out has at least 20 bytes of space
+void mtpz_hash_finalize_hash(char *state, char *out)
+{
+	int *state_box = (int *)(state + 64);
+
+	int v2 = 64 - (state_box[MTPZ_HASHSTATE_88] & 0x3F);
+	int v6, v7;
+
+	if (v2 <= 8)
+		v2 += 64;
+
+	char *v5 = (char *)malloc(72);
+	memset(v5, 0, 72);
+
+	v5[0] = '\x80';
+	v6 = 8 * state_box[MTPZ_HASHSTATE_84] | (state_box[MTPZ_HASHSTATE_88] >> 29);
+	v7 = 8 * state_box[MTPZ_HASHSTATE_88];
+
+	v6 = MTPZ_SWAP(v6);
+	v7 = MTPZ_SWAP(v7);
+
+	*(int *)(v5 + v2 - 8) = v6;
+	*(int *)(v5 + v2 - 4) = v7;
+
+	mtpz_hash_transform_hash(state, v5, v2);
+
+	int *out_int = (int *)out;
+	out_int[0] = MTPZ_SWAP(state_box[0]);
+	out_int[1] = MTPZ_SWAP(state_box[1]);
+	out_int[2] = MTPZ_SWAP(state_box[2]);
+	out_int[3] = MTPZ_SWAP(state_box[3]);
+	out_int[4] = MTPZ_SWAP(state_box[4]);
+
+	memset(state, 0, 64);
+	mtpz_hash_reset_state(state);
+}
+
+char *mtpz_hash_custom6A5DC(char *state, char *msg, int len, int a4)
+{
+	int v11 = (a4 / 20) + 1;
+	char *v13 = (char *)malloc(v11 * 20);
+	char *v5 = (char *)malloc(len + 4);
+	int i;
+	int k;
+
+	memset(v13, 0, v11 * 20);
+	memset(v5, 0, len + 4);
+	memcpy(v5, msg, len);
+
+	for (i = 0; i < v11; i++)
+	{
+		k = MTPZ_SWAP(i);
+		*(int *)(v5 + len) = k;
+
+		mtpz_hash_reset_state(state);
+		mtpz_hash_transform_hash(state, v5, len + 4);
+		mtpz_hash_finalize_hash(state, v13 + i * 20);
+	}
+
+	free(v5); v5 = NULL;
+
+	return v13;
+}
+
+void mtpz_hash_compute_hash(char *state, char *msg, int len)
+{
+	int *state_box = (int *)(state + 64);
+
+	const unsigned int K[] = { 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6 };
+
+	if (len != 64)
+		return;
+
+	int *M = (int *)msg;
+
+	// HASH COMPUTATION
+	unsigned int W[80];
+	unsigned int a, b, c, d, e;
+	int i, s;
+	unsigned int T;
+
+	// 1 - prepare message schedule 'W'.
+	for (i = 0; i < 16; i++) W[i] = MTPZ_SWAP(M[i]);
+	for (i = 16; i < 80; i++) W[i] = mtpz_hash_rotate_left(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16], 1);
+
+	// 2 - initialize five working variables a, b, c, d, e with previous hash value
+	a = state_box[0];
+	b = state_box[1];
+	c = state_box[2];
+	d = state_box[3];
+	e = state_box[4];
+
+	// 3 - main loop
+	for (i = 0; i < 80; i++)
+	{
+		s = i / 20;
+		T = (mtpz_hash_rotate_left(a, 5) + mtpz_hash_f(s, b, c, d) + e + K[s] + W[i]) & 0xFFFFFFFF;
+		e = d;
+		d = c;
+		c = mtpz_hash_rotate_left(b, 30);
+		b = a;
+		a = T;
+	}
+
+	state_box[0] = (state_box[0] + a) & 0xFFFFFFFF;
+	state_box[1] = (state_box[1] + b) & 0xFFFFFFFF;
+	state_box[2] = (state_box[2] + c) & 0xFFFFFFFF;
+	state_box[3] = (state_box[3] + d) & 0xFFFFFFFF;
+	state_box[4] = (state_box[4] + e) & 0xFFFFFFFF;
+}
+
+unsigned int mtpz_hash_f(int s, unsigned int x, unsigned int y, unsigned int z)
+{
+	switch (s)
+	{
+	case 0:
+		return (x & y) ^ (~x & z); // Ch()
+	case 1:
+		return x ^ y ^ z; // Parity()
+	case 2:
+		return (x & y) ^ (x & z) ^ (y & z); // Maj()
+	case 3:
+		return x ^ y ^ z; // Parity()
+	}
+
+	return 0;
+}
+
+unsigned int mtpz_hash_rotate_left(unsigned int x, int n)
+{
+	return (x << n) | (x >> (32 - n));
+}
+
+/* MTPZ encryption implementation */
+
+void mtpz_encryption_cipher(unsigned char *data, unsigned int len, char encrypt)
+{
+	unsigned char *expanded = NULL;
+
+	int offset = 0, count = len;
+
+	if ((count & 0x0F) == 0)
+	{
+		int exp_len = 0;
+		expanded = mtpz_encryption_expand_key((unsigned char *)MTPZ_ENCRYPTION_KEY, 16, 10, &exp_len);
+
+		if (count != 0)
+		{
+			do
+			{
+				if (encrypt)
+					mtpz_encryption_encrypt_custom(data + offset, NULL, expanded);
+				else
+					mtpz_encryption_decrypt_custom(data + offset, NULL, expanded);
+
+				count -= 16;
+				offset += 16;
+			}
+			while (count != 0);
+		}
+	}
+}
+
+void mtpz_encryption_cipher_advanced(unsigned char *key, unsigned int key_len, unsigned char *data, unsigned int data_len, char encrypt)
+{
+	int len = (key_len == 16) ? 10 :
+			  (key_len == 24) ? 12 : 32;
+	int exp_len;
+	unsigned char *expanded = mtpz_encryption_expand_key(key, key_len, len, &exp_len);
+
+	int offset = 0, count = data_len;
+	unsigned char *out = (unsigned char *)malloc(16);
+	unsigned int *out_int = (unsigned int *)out;
+	unsigned int *data_int = (unsigned int *)data;
+	unsigned int *dtf = (unsigned int *)malloc(16);
+	memset((unsigned char *)dtf, 0, 16);
+
+	while (count != 0)
+	{
+		int chunk = 16;
+
+		if (count < 16)
+		{
+			memset(out, 0, 16);
+			chunk = count;
+		}
+
+		memcpy(out, data + offset, chunk);
+
+		if (encrypt)
+		{
+			out_int[0] ^= MTPZ_SWAP(dtf[0]);
+			out_int[1] ^= MTPZ_SWAP(dtf[1]);
+			out_int[2] ^= MTPZ_SWAP(dtf[2]);
+			out_int[3] ^= MTPZ_SWAP(dtf[3]);
+
+			mtpz_encryption_encrypt_custom(data + offset, out, expanded);
+
+			dtf[0] = MTPZ_SWAP(data_int[(offset / 4) + 0]);
+            dtf[1] = MTPZ_SWAP(data_int[(offset / 4) + 1]);
+            dtf[2] = MTPZ_SWAP(data_int[(offset / 4) + 2]);
+            dtf[3] = MTPZ_SWAP(data_int[(offset / 4) + 3]);
+		}
+		else
+		{
+			mtpz_encryption_decrypt_custom(data + offset, out, expanded);
+
+			data_int[(offset / 4) + 0] ^= MTPZ_SWAP(dtf[0]);
+			data_int[(offset / 4) + 1] ^= MTPZ_SWAP(dtf[1]);
+			data_int[(offset / 4) + 2] ^= MTPZ_SWAP(dtf[2]);
+			data_int[(offset / 4) + 3] ^= MTPZ_SWAP(dtf[3]);
+
+			dtf[0] = MTPZ_SWAP(out_int[0]);
+			dtf[1] = MTPZ_SWAP(out_int[1]);
+			dtf[2] = MTPZ_SWAP(out_int[2]);
+			dtf[3] = MTPZ_SWAP(out_int[3]);
+		}
+
+		offset += chunk;
+		count -= chunk;
+	}
+
+	free(out);
+	free(dtf);
+	free(expanded);
+}
+
+unsigned char *mtpz_encryption_expand_key(unsigned char *constant, int key_len, int count, int *out_len)
+{
+	int i = 0;
+	int seek = 0;
+	unsigned char *back = (unsigned char *)malloc(484);
+	memset(back, 0, 484);
+	*out_len = 484;
+
+	unsigned char *inner;
+	int inner_len;
+	mtpz_encryption_expand_key_inner(constant, key_len, &inner, &inner_len);
+
+	back[i] = (unsigned char)(count % 0xFF);
+	i += 4;
+
+	memcpy(back + i, inner, inner_len);
+	i += inner_len;
+	memcpy(back + i, inner, inner_len);
+	i += inner_len;
+
+	switch (count)
+	{
+	case 10:
+		seek = 0xB4;
+		break;
+
+	case 12:
+		seek = 0xD4;
+		break;
+
+	case 14:
+	default:
+		seek = 0xF4;
+		break;
+	}
+
+	mtpz_encryption_inv_mix_columns(back, seek, count);
+
+	return back;
+}
+
+void mtpz_encryption_expand_key_inner(unsigned char *constant, int key_len, unsigned char **out, int *out_len)
+{
+	int ks = -1;
+	int rcon_i = 0;
+	int i = 0, j = 0;
+
+	switch (key_len)
+	{
+	case 16:
+		ks = 16 * (10 + 1);
+		break;
+
+	case 24:
+		ks = 16 * (12 + 1);
+		break;
+
+	case 32:
+		ks = 16 * (14 + 1);
+		break;
+
+	default:
+		*out = NULL;
+		*out_len = 0;
+		return;
+	}
+
+	unsigned char *key = (unsigned char *)malloc(ks);
+	unsigned char *temp = (unsigned char *)malloc(4);
+	memcpy(key, constant, key_len);
+	unsigned char t0, t1, t2, t3;
+
+	for (i = key_len; i < ks; i += 4)
+	{
+		temp[0] = t0 = key[i - 4];
+		temp[1] = t1 = key[i - 3];
+		temp[2] = t2 = key[i - 2];
+		temp[3] = t3 = key[i - 1];
+
+		if (i % key_len == 0)
+		{
+			temp[0] = (mtpz_aes_sbox[t1] ^ mtpz_aes_rcon[rcon_i]) & 0xFF;
+			temp[1] = mtpz_aes_sbox[t2];
+			temp[2] = mtpz_aes_sbox[t3];
+			temp[3] = mtpz_aes_sbox[t0];
+			rcon_i++;
+		}
+		else if ((key_len > 24) && (i % key_len == 16))
+		{
+			temp[0] = mtpz_aes_sbox[t0];
+			temp[1] = mtpz_aes_sbox[t1];
+			temp[2] = mtpz_aes_sbox[t2];
+			temp[3] = mtpz_aes_sbox[t3];
+		}
+
+		for (j = 0; j < 4; j++)
+		{
+			key[i + j] = (unsigned char)((key[i + j - key_len] ^ temp[j]) & 0xFF);
+		}
+	}
+
+	free(temp);
+
+	*out = key;
+	*out_len = ks;
+}
+
+void mtpz_encryption_inv_mix_columns(unsigned char *expanded, int offset, int rounds)
+{
+	int v8 = 1, o = offset;
+	unsigned int *exp_int = NULL;
+
+	for (v8 = 1; v8 < rounds; v8++)
+	{
+		exp_int = (unsigned int *)(expanded + o + 16);
+
+		exp_int[0] = MTPZ_SWAP(mtpz_aes_gb9[expanded[o + 19]] ^ mtpz_aes_gb13[expanded[o + 18]] ^ mtpz_aes_gb11[expanded[o + 17]] ^ mtpz_aes_gb14[expanded[o + 16]]);
+		exp_int[1] = MTPZ_SWAP(mtpz_aes_gb9[expanded[o + 23]] ^ mtpz_aes_gb13[expanded[o + 22]] ^ mtpz_aes_gb11[expanded[o + 21]] ^ mtpz_aes_gb14[expanded[o + 20]]);
+		exp_int[2] = MTPZ_SWAP(mtpz_aes_gb9[expanded[o + 27]] ^ mtpz_aes_gb13[expanded[o + 26]] ^ mtpz_aes_gb11[expanded[o + 25]] ^ mtpz_aes_gb14[expanded[o + 24]]);
+		exp_int[3] = MTPZ_SWAP(mtpz_aes_gb9[expanded[o + 31]] ^ mtpz_aes_gb13[expanded[o + 30]] ^ mtpz_aes_gb11[expanded[o + 29]] ^ mtpz_aes_gb14[expanded[o + 28]]);
+		o += 16;
+	}
+}
+
+void mtpz_encryption_decrypt_custom(unsigned char *data, unsigned char *seed, unsigned char *expanded)
+{
+	unsigned int *u_data = (unsigned int *)data;
+	unsigned int *u_expanded = (unsigned int *)expanded;
+	int keyOffset = 0xB4 + 0xA0;
+
+	unsigned int *u_seed;
+
+	if (seed == NULL)
+		u_seed = u_data;
+	else
+		u_seed = (unsigned int *)seed;
+
+	unsigned int v14 = MTPZ_SWAP(u_seed[0]) ^ MTPZ_SWAP(u_expanded[(keyOffset     ) / 4]);
+	unsigned int v15 = MTPZ_SWAP(u_seed[1]) ^ MTPZ_SWAP(u_expanded[(keyOffset +  4) / 4]);
+	unsigned int v16 = MTPZ_SWAP(u_seed[2]) ^ MTPZ_SWAP(u_expanded[(keyOffset +  8) / 4]);
+	unsigned int v17 = MTPZ_SWAP(u_seed[3]) ^ MTPZ_SWAP(u_expanded[(keyOffset + 12) / 4]);
+
+	unsigned int v18 = mtpz_aes_rt1[MTPZ_ENCRYPTIONBYTE3(v15)] ^ mtpz_aes_rt2[MTPZ_ENCRYPTIONBYTE2(v16)] ^ mtpz_aes_rt3[MTPZ_ENCRYPTIONLOBYTE(v14)] ^ mtpz_aes_rt4[MTPZ_ENCRYPTIONBYTE1(v17)];
+	unsigned int v19 = mtpz_aes_rt1[MTPZ_ENCRYPTIONBYTE3(v16)] ^ mtpz_aes_rt2[MTPZ_ENCRYPTIONBYTE2(v17)] ^ mtpz_aes_rt3[MTPZ_ENCRYPTIONLOBYTE(v15)] ^ mtpz_aes_rt4[MTPZ_ENCRYPTIONBYTE1(v14)];
+	unsigned int v20 = mtpz_aes_rt1[MTPZ_ENCRYPTIONBYTE3(v17)] ^ mtpz_aes_rt2[MTPZ_ENCRYPTIONBYTE2(v14)] ^ mtpz_aes_rt3[MTPZ_ENCRYPTIONLOBYTE(v16)] ^ mtpz_aes_rt4[MTPZ_ENCRYPTIONBYTE1(v15)];
+	unsigned int v21 = mtpz_aes_rt1[MTPZ_ENCRYPTIONBYTE3(v14)] ^ mtpz_aes_rt2[MTPZ_ENCRYPTIONBYTE2(v15)] ^ mtpz_aes_rt3[MTPZ_ENCRYPTIONLOBYTE(v17)] ^ mtpz_aes_rt4[MTPZ_ENCRYPTIONBYTE1(v16)];
+
+	keyOffset -= 16;
+	int rounds = 9;
+
+	do
+	{
+		v14 = v18 ^ MTPZ_SWAP(u_expanded[(keyOffset     ) / 4]);
+		v15 = v19 ^ MTPZ_SWAP(u_expanded[(keyOffset +  4) / 4]);
+		v16 = v20 ^ MTPZ_SWAP(u_expanded[(keyOffset +  8) / 4]);
+		v17 = v21 ^ MTPZ_SWAP(u_expanded[(keyOffset + 12) / 4]);
+
+		v18 = mtpz_aes_rt1[MTPZ_ENCRYPTIONBYTE3(v15)] ^ mtpz_aes_rt2[MTPZ_ENCRYPTIONBYTE2(v16)] ^ mtpz_aes_rt3[MTPZ_ENCRYPTIONLOBYTE(v14)] ^ mtpz_aes_rt4[MTPZ_ENCRYPTIONBYTE1(v17)];
+		v19 = mtpz_aes_rt1[MTPZ_ENCRYPTIONBYTE3(v16)] ^ mtpz_aes_rt2[MTPZ_ENCRYPTIONBYTE2(v17)] ^ mtpz_aes_rt3[MTPZ_ENCRYPTIONLOBYTE(v15)] ^ mtpz_aes_rt4[MTPZ_ENCRYPTIONBYTE1(v14)];
+		v20 = mtpz_aes_rt1[MTPZ_ENCRYPTIONBYTE3(v17)] ^ mtpz_aes_rt2[MTPZ_ENCRYPTIONBYTE2(v14)] ^ mtpz_aes_rt3[MTPZ_ENCRYPTIONLOBYTE(v16)] ^ mtpz_aes_rt4[MTPZ_ENCRYPTIONBYTE1(v15)];
+		v21 = mtpz_aes_rt1[MTPZ_ENCRYPTIONBYTE3(v14)] ^ mtpz_aes_rt2[MTPZ_ENCRYPTIONBYTE2(v15)] ^ mtpz_aes_rt3[MTPZ_ENCRYPTIONLOBYTE(v17)] ^ mtpz_aes_rt4[MTPZ_ENCRYPTIONBYTE1(v16)];
+
+		rounds--;
+		keyOffset -= 16;
+	}
+	while (rounds != 1);
+
+	v14 = v18 ^ MTPZ_SWAP(u_expanded[(keyOffset     ) / 4]);
+	v15 = v19 ^ MTPZ_SWAP(u_expanded[(keyOffset +  4) / 4]);
+	v16 = v20 ^ MTPZ_SWAP(u_expanded[(keyOffset +  8) / 4]);
+	v17 = v21 ^ MTPZ_SWAP(u_expanded[(keyOffset + 12) / 4]);
+	keyOffset -= 16;
+
+	v18 = ((mtpz_aes_invsbox[MTPZ_ENCRYPTIONLOBYTE(v14)]) << 24) |
+		  ((mtpz_aes_invsbox[MTPZ_ENCRYPTIONBYTE1 (v17)]) << 16) |
+		  ((mtpz_aes_invsbox[MTPZ_ENCRYPTIONBYTE2 (v16)]) <<  8) |
+		  ((mtpz_aes_invsbox[MTPZ_ENCRYPTIONBYTE3 (v15)]) <<  0);
+
+	v19 = ((mtpz_aes_invsbox[MTPZ_ENCRYPTIONLOBYTE(v15)]) << 24) |
+		  ((mtpz_aes_invsbox[MTPZ_ENCRYPTIONBYTE1 (v14)]) << 16) |
+		  ((mtpz_aes_invsbox[MTPZ_ENCRYPTIONBYTE2 (v17)]) <<  8) |
+		  ((mtpz_aes_invsbox[MTPZ_ENCRYPTIONBYTE3 (v16)]) <<  0);
+
+	v20 = ((mtpz_aes_invsbox[MTPZ_ENCRYPTIONLOBYTE(v16)]) << 24) |
+		  ((mtpz_aes_invsbox[MTPZ_ENCRYPTIONBYTE1 (v15)]) << 16) |
+		  ((mtpz_aes_invsbox[MTPZ_ENCRYPTIONBYTE2 (v14)]) <<  8) |
+		  ((mtpz_aes_invsbox[MTPZ_ENCRYPTIONBYTE3 (v17)]) <<  0);
+
+	v21 = ((mtpz_aes_invsbox[MTPZ_ENCRYPTIONLOBYTE(v17)]) << 24) |
+		  ((mtpz_aes_invsbox[MTPZ_ENCRYPTIONBYTE1 (v16)]) << 16) |
+		  ((mtpz_aes_invsbox[MTPZ_ENCRYPTIONBYTE2 (v15)]) <<  8) |
+		  ((mtpz_aes_invsbox[MTPZ_ENCRYPTIONBYTE3 (v14)]) <<  0);
+
+	u_data[0] = MTPZ_SWAP(v18 ^ MTPZ_SWAP(u_expanded[(keyOffset     ) / 4]));
+	u_data[1] = MTPZ_SWAP(v19 ^ MTPZ_SWAP(u_expanded[(keyOffset +  4) / 4]));
+	u_data[2] = MTPZ_SWAP(v20 ^ MTPZ_SWAP(u_expanded[(keyOffset +  8) / 4]));
+	u_data[3] = MTPZ_SWAP(v21 ^ MTPZ_SWAP(u_expanded[(keyOffset + 12) / 4]));
+};
+
+void mtpz_encryption_encrypt_custom(unsigned char *data, unsigned char *seed, unsigned char *expanded)
+{
+	unsigned int *u_data = (unsigned int *)data;
+	unsigned int *u_expanded = (unsigned int *)expanded;
+	int keyOffset = 0x04;
+
+	unsigned int *u_seed;
+
+	if (seed == NULL)
+		u_seed = u_data;
+	else
+		u_seed = (unsigned int *)seed;
+
+	unsigned int v14 = MTPZ_SWAP(u_seed[0]) ^ MTPZ_SWAP(u_expanded[(keyOffset     ) / 4]);
+	unsigned int v15 = MTPZ_SWAP(u_seed[1]) ^ MTPZ_SWAP(u_expanded[(keyOffset +  4) / 4]);
+	unsigned int v16 = MTPZ_SWAP(u_seed[2]) ^ MTPZ_SWAP(u_expanded[(keyOffset +  8) / 4]);
+	unsigned int v17 = MTPZ_SWAP(u_seed[3]) ^ MTPZ_SWAP(u_expanded[(keyOffset + 12) / 4]);
+
+	unsigned int v18 = mtpz_aes_ft1[MTPZ_ENCRYPTIONBYTE3(v17)] ^ mtpz_aes_ft2[MTPZ_ENCRYPTIONBYTE2(v16)] ^ mtpz_aes_ft3[MTPZ_ENCRYPTIONLOBYTE(v14)] ^ mtpz_aes_ft4[MTPZ_ENCRYPTIONBYTE1(v15)];
+	unsigned int v19 = mtpz_aes_ft1[MTPZ_ENCRYPTIONBYTE3(v14)] ^ mtpz_aes_ft2[MTPZ_ENCRYPTIONBYTE2(v17)] ^ mtpz_aes_ft3[MTPZ_ENCRYPTIONLOBYTE(v15)] ^ mtpz_aes_ft4[MTPZ_ENCRYPTIONBYTE1(v16)];
+	unsigned int v20 = mtpz_aes_ft1[MTPZ_ENCRYPTIONBYTE3(v15)] ^ mtpz_aes_ft2[MTPZ_ENCRYPTIONBYTE2(v14)] ^ mtpz_aes_ft3[MTPZ_ENCRYPTIONLOBYTE(v16)] ^ mtpz_aes_ft4[MTPZ_ENCRYPTIONBYTE1(v17)];
+	unsigned int v21 = mtpz_aes_ft1[MTPZ_ENCRYPTIONBYTE3(v16)] ^ mtpz_aes_ft2[MTPZ_ENCRYPTIONBYTE2(v15)] ^ mtpz_aes_ft3[MTPZ_ENCRYPTIONLOBYTE(v17)] ^ mtpz_aes_ft4[MTPZ_ENCRYPTIONBYTE1(v14)];
+
+	keyOffset += 16;
+	int rounds = 1;
+
+	do
+	{
+
+		v14 = v18 ^ MTPZ_SWAP(u_expanded[(keyOffset     ) / 4]);
+		v15 = v19 ^ MTPZ_SWAP(u_expanded[(keyOffset +  4) / 4]);
+		v16 = v20 ^ MTPZ_SWAP(u_expanded[(keyOffset +  8) / 4]);
+		v17 = v21 ^ MTPZ_SWAP(u_expanded[(keyOffset + 12) / 4]);
+
+		v18 = mtpz_aes_ft1[MTPZ_ENCRYPTIONBYTE3(v17)] ^ mtpz_aes_ft2[MTPZ_ENCRYPTIONBYTE2(v16)] ^ mtpz_aes_ft3[MTPZ_ENCRYPTIONLOBYTE(v14)] ^ mtpz_aes_ft4[MTPZ_ENCRYPTIONBYTE1(v15)];
+		v19 = mtpz_aes_ft1[MTPZ_ENCRYPTIONBYTE3(v14)] ^ mtpz_aes_ft2[MTPZ_ENCRYPTIONBYTE2(v17)] ^ mtpz_aes_ft3[MTPZ_ENCRYPTIONLOBYTE(v15)] ^ mtpz_aes_ft4[MTPZ_ENCRYPTIONBYTE1(v16)];
+		v20 = mtpz_aes_ft1[MTPZ_ENCRYPTIONBYTE3(v15)] ^ mtpz_aes_ft2[MTPZ_ENCRYPTIONBYTE2(v14)] ^ mtpz_aes_ft3[MTPZ_ENCRYPTIONLOBYTE(v16)] ^ mtpz_aes_ft4[MTPZ_ENCRYPTIONBYTE1(v17)];
+		v21 = mtpz_aes_ft1[MTPZ_ENCRYPTIONBYTE3(v16)] ^ mtpz_aes_ft2[MTPZ_ENCRYPTIONBYTE2(v15)] ^ mtpz_aes_ft3[MTPZ_ENCRYPTIONLOBYTE(v17)] ^ mtpz_aes_ft4[MTPZ_ENCRYPTIONBYTE1(v14)];
+
+		rounds++;
+		keyOffset += 16;
+	}
+	while (rounds != 9);
+
+	v14 = v18 ^ MTPZ_SWAP(u_expanded[(keyOffset     ) / 4]);
+	v15 = v19 ^ MTPZ_SWAP(u_expanded[(keyOffset +  4) / 4]);
+	v16 = v20 ^ MTPZ_SWAP(u_expanded[(keyOffset +  8) / 4]);
+	v17 = v21 ^ MTPZ_SWAP(u_expanded[(keyOffset + 12) / 4]);
+	keyOffset += 16;
+
+	unsigned char *FT3_Bytes = (unsigned char *)mtpz_aes_ft3;
+
+	v18 = ((FT3_Bytes[1 + 4 * MTPZ_ENCRYPTIONLOBYTE(v14)]) << 24) |
+		  ((FT3_Bytes[1 + 4 * MTPZ_ENCRYPTIONBYTE1 (v15)]) << 16) |
+		  ((FT3_Bytes[1 + 4 * MTPZ_ENCRYPTIONBYTE2 (v16)]) <<  8) |
+		  ((FT3_Bytes[1 + 4 * MTPZ_ENCRYPTIONBYTE3 (v17)]) <<  0);
+
+	v19 = ((FT3_Bytes[1 + 4 * MTPZ_ENCRYPTIONLOBYTE(v15)]) << 24) |
+		  ((FT3_Bytes[1 + 4 * MTPZ_ENCRYPTIONBYTE1 (v16)]) << 16) |
+		  ((FT3_Bytes[1 + 4 * MTPZ_ENCRYPTIONBYTE2 (v17)]) <<  8) |
+		  ((FT3_Bytes[1 + 4 * MTPZ_ENCRYPTIONBYTE3 (v14)]) <<  0);
+
+	v20 = ((FT3_Bytes[1 + 4 * MTPZ_ENCRYPTIONLOBYTE(v16)]) << 24) |
+		  ((FT3_Bytes[1 + 4 * MTPZ_ENCRYPTIONBYTE1 (v17)]) << 16) |
+		  ((FT3_Bytes[1 + 4 * MTPZ_ENCRYPTIONBYTE2 (v14)]) <<  8) |
+		  ((FT3_Bytes[1 + 4 * MTPZ_ENCRYPTIONBYTE3 (v15)]) <<  0);
+
+	v21 = ((FT3_Bytes[1 + 4 * MTPZ_ENCRYPTIONLOBYTE(v17)]) << 24) |
+		  ((FT3_Bytes[1 + 4 * MTPZ_ENCRYPTIONBYTE1 (v14)]) << 16) |
+		  ((FT3_Bytes[1 + 4 * MTPZ_ENCRYPTIONBYTE2 (v15)]) <<  8) |
+		  ((FT3_Bytes[1 + 4 * MTPZ_ENCRYPTIONBYTE3 (v16)]) <<  0);
+
+	u_data[0] = MTPZ_SWAP(v18 ^ MTPZ_SWAP(u_expanded[(keyOffset     ) / 4]));
+	u_data[1] = MTPZ_SWAP(v19 ^ MTPZ_SWAP(u_expanded[(keyOffset +  4) / 4]));
+	u_data[2] = MTPZ_SWAP(v20 ^ MTPZ_SWAP(u_expanded[(keyOffset +  8) / 4]));
+	u_data[3] = MTPZ_SWAP(v21 ^ MTPZ_SWAP(u_expanded[(keyOffset + 12) / 4]));
+}
+
+void mtpz_encryption_encrypt_mac(unsigned char *hash, unsigned int hash_length, unsigned char *seed, unsigned int seed_len, unsigned char *out)
+{
+	if (hash == NULL || hash_length != 16)
+		return;
+
+	unsigned char *loop1 = (unsigned char *)malloc(17);
+	memset(loop1, 0, 17);
+	unsigned char *loop2 = (unsigned char *)malloc(17);
+	memset(loop2, 0, 17);
+	int i = 0;
+
+	{
+		unsigned char *enc_hash = (unsigned char *)malloc(17);
+		memset(enc_hash, 0, 17);
+		mtpz_encryption_cipher_advanced(hash, hash_length, enc_hash, 16, 1);
+
+		for (i = 0; i < 16; i++)
+			loop1[i] = (unsigned char)((2 * enc_hash[i]) | (enc_hash[i + 1] >> 7));
+
+		if (enc_hash[0] >= (unsigned char)128)
+			loop1[15] ^= (unsigned char)0x87;
+
+		for (i = 0; i < 16; i++)
+			loop2[i] = (unsigned char)((2 * loop1[i]) | (loop1[i + 1] >> 7));
+
+		if (loop1[0] >= (unsigned char)128)
+			loop2[15] ^= (unsigned char)0x87;
+
+		free(enc_hash);
+	}
+
+	{
+		int len = 	(hash_length == 16) ? 10 :
+					(hash_length == 24) ? 12 : 32;
+		int exp_len;
+		unsigned char *expanded = mtpz_encryption_expand_key(hash, hash_length, len, &exp_len);
+
+		unsigned char *actual_seed = (unsigned char *)malloc(16);
+		memset(actual_seed, 0, 16);
+
+		int i = 0;
+
+		if (seed_len == 16)
+		{
+			for (i = 0; i < 16; i++)
+				actual_seed[i] ^= seed[i];
+
+			for (i = 0; i < 16; i++)
+				actual_seed[i] ^= loop1[i];
+		}
+		else
+		{
+			for (i = 0; i < seed_len; i++)
+				actual_seed[i] ^= seed[i];
+
+			actual_seed[seed_len] = (unsigned char)128;
+
+			for (i = 0; i < 16; i++)
+				actual_seed[i] ^= loop2[i];
+		}
+
+		mtpz_encryption_encrypt_custom(out, actual_seed, expanded);
+
+		free(expanded);
+		free(actual_seed);
+	}
+
+	free(loop1);
+	free(loop2);
+}
+
+
+/* ENCRYPTION CONSTANTS */
+/*
+ * These tables can also be found in Mozilla's Network Security Services:
+ *     http://www.mozilla.org/projects/security/pki/nss/
+ *
+ * <rijndael32.tab>:
+ *     https://hg.mozilla.org/mozilla-central/raw-file/90828ac18dcf/security/nss/lib/freebl/rijndael32.tab
+ *
+ * Each of the following constant tables will also identify the corresponding
+ * table in the <rijndael32.tab> link.
+ */
+
+/* Corresponds to Rcon[30] (seems to be truncated to include only the used constants) */
+unsigned char mtpz_aes_rcon[] =
+{
+	0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a
+};
+
+/* Corresponds to _S[256] (in hex) */
+unsigned char mtpz_aes_sbox[] =
+{
+	0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01,
+	0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76, 0xca, 0x82, 0xc9, 0x7d,
+	0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4,
+	0x72, 0xc0, 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc,
+	0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15, 0x04, 0xc7,
+	0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2,
+	0xeb, 0x27, 0xb2, 0x75, 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e,
+	0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84,
+	0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb,
+	0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf, 0xd0, 0xef, 0xaa, 0xfb,
+	0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c,
+	0x9f, 0xa8, 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5,
+	0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2, 0xcd, 0x0c,
+	0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d,
+	0x64, 0x5d, 0x19, 0x73, 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a,
+	0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb,
+	0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, 0xd3,
+	0xac, 0x62, 0x91, 0x95, 0xe4, 0x79, 0xe7, 0xc8, 0x37, 0x6d,
+	0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a,
+	0xae, 0x08, 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6,
+	0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a, 0x70, 0x3e,
+	0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9,
+	0x86, 0xc1, 0x1d, 0x9e, 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9,
+	0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf,
+	0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99,
+	0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16
+};
+
+/* Corresponds to _SInv[256] (in hex) */
+unsigned char mtpz_aes_invsbox[] =
+{
+	0x52, 0x09, 0x6A, 0xD5, 0x30, 0x36, 0xA5, 0x38,  0xBF, 0x40, 0xA3, 0x9E, 0x81, 0xF3, 0xD7, 0xFB,
+	0x7C, 0xE3, 0x39, 0x82, 0x9B, 0x2F, 0xFF, 0x87,  0x34, 0x8E, 0x43, 0x44, 0xC4, 0xDE, 0xE9, 0xCB,
+	0x54, 0x7B, 0x94, 0x32, 0xA6, 0xC2, 0x23, 0x3D,  0xEE, 0x4C, 0x95, 0x0B, 0x42, 0xFA, 0xC3, 0x4E,
+	0x08, 0x2E, 0xA1, 0x66, 0x28, 0xD9, 0x24, 0xB2,  0x76, 0x5B, 0xA2, 0x49, 0x6D, 0x8B, 0xD1, 0x25,
+	0x72, 0xF8, 0xF6, 0x64, 0x86, 0x68, 0x98, 0x16,  0xD4, 0xA4, 0x5C, 0xCC, 0x5D, 0x65, 0xB6, 0x92,
+	0x6C, 0x70, 0x48, 0x50, 0xFD, 0xED, 0xB9, 0xDA,  0x5E, 0x15, 0x46, 0x57, 0xA7, 0x8D, 0x9D, 0x84,
+	0x90, 0xD8, 0xAB, 0x00, 0x8C, 0xBC, 0xD3, 0x0A,  0xF7, 0xE4, 0x58, 0x05, 0xB8, 0xB3, 0x45, 0x06,
+	0xD0, 0x2C, 0x1E, 0x8F, 0xCA, 0x3F, 0x0F, 0x02,  0xC1, 0xAF, 0xBD, 0x03, 0x01, 0x13, 0x8A, 0x6B,
+	0x3A, 0x91, 0x11, 0x41, 0x4F, 0x67, 0xDC, 0xEA,  0x97, 0xF2, 0xCF, 0xCE, 0xF0, 0xB4, 0xE6, 0x73,
+	0x96, 0xAC, 0x74, 0x22, 0xE7, 0xAD, 0x35, 0x85,  0xE2, 0xF9, 0x37, 0xE8, 0x1C, 0x75, 0xDF, 0x6E,
+	0x47, 0xF1, 0x1A, 0x71, 0x1D, 0x29, 0xC5, 0x89,  0x6F, 0xB7, 0x62, 0x0E, 0xAA, 0x18, 0xBE, 0x1B,
+	0xFC, 0x56, 0x3E, 0x4B, 0xC6, 0xD2, 0x79, 0x20,  0x9A, 0xDB, 0xC0, 0xFE, 0x78, 0xCD, 0x5A, 0xF4,
+	0x1F, 0xDD, 0xA8, 0x33, 0x88, 0x07, 0xC7, 0x31,  0xB1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xEC, 0x5F,
+	0x60, 0x51, 0x7F, 0xA9, 0x19, 0xB5, 0x4A, 0x0D,  0x2D, 0xE5, 0x7A, 0x9F, 0x93, 0xC9, 0x9C, 0xEF,
+	0xA0, 0xE0, 0x3B, 0x4D, 0xAE, 0x2A, 0xF5, 0xB0,  0xC8, 0xEB, 0xBB, 0x3C, 0x83, 0x53, 0x99, 0x61,
+	0x17, 0x2B, 0x04, 0x7E, 0xBA, 0x77, 0xD6, 0x26,  0xE1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0C, 0x7D
+};
+
+/* Corresponds to _T3[256] */
+unsigned int mtpz_aes_ft1[] =
+{
+	0x6363A5C6, 0x7C7C84F8,  0x777799EE, 0x7B7B8DF6, 0xF2F20DFF, 0x6B6BBDD6,  0x6F6FB1DE, 0xC5C55491,
+	0x30305060, 0x01010302,  0x6767A9CE, 0x2B2B7D56, 0xFEFE19E7, 0xD7D762B5,  0xABABE64D, 0x76769AEC,
+	0xCACA458F, 0x82829D1F,  0xC9C94089, 0x7D7D87FA, 0xFAFA15EF, 0x5959EBB2,  0x4747C98E, 0xF0F00BFB,
+	0xADADEC41, 0xD4D467B3,  0xA2A2FD5F, 0xAFAFEA45, 0x9C9CBF23, 0xA4A4F753,  0x727296E4, 0xC0C05B9B,
+	0xB7B7C275, 0xFDFD1CE1,  0x9393AE3D, 0x26266A4C, 0x36365A6C, 0x3F3F417E,  0xF7F702F5, 0xCCCC4F83,
+	0x34345C68, 0xA5A5F451,  0xE5E534D1, 0xF1F108F9, 0x717193E2, 0xD8D873AB,  0x31315362, 0x15153F2A,
+	0x04040C08, 0xC7C75295,  0x23236546, 0xC3C35E9D, 0x18182830, 0x9696A137,  0x05050F0A, 0x9A9AB52F,
+	0x0707090E, 0x12123624,  0x80809B1B, 0xE2E23DDF, 0xEBEB26CD, 0x2727694E,  0xB2B2CD7F, 0x75759FEA,
+	0x09091B12, 0x83839E1D,  0x2C2C7458, 0x1A1A2E34, 0x1B1B2D36, 0x6E6EB2DC,  0x5A5AEEB4, 0xA0A0FB5B,
+	0x5252F6A4, 0x3B3B4D76,  0xD6D661B7, 0xB3B3CE7D, 0x29297B52, 0xE3E33EDD,  0x2F2F715E, 0x84849713,
+	0x5353F5A6, 0xD1D168B9,  0x00000000, 0xEDED2CC1, 0x20206040, 0xFCFC1FE3,  0xB1B1C879, 0x5B5BEDB6,
+	0x6A6ABED4, 0xCBCB468D,  0xBEBED967, 0x39394B72, 0x4A4ADE94, 0x4C4CD498,  0x5858E8B0, 0xCFCF4A85,
+	0xD0D06BBB, 0xEFEF2AC5,  0xAAAAE54F, 0xFBFB16ED, 0x4343C586, 0x4D4DD79A,  0x33335566, 0x85859411,
+	0x4545CF8A, 0xF9F910E9,  0x02020604, 0x7F7F81FE, 0x5050F0A0, 0x3C3C4478,  0x9F9FBA25, 0xA8A8E34B,
+	0x5151F3A2, 0xA3A3FE5D,  0x4040C080, 0x8F8F8A05, 0x9292AD3F, 0x9D9DBC21,  0x38384870, 0xF5F504F1,
+	0xBCBCDF63, 0xB6B6C177,  0xDADA75AF, 0x21216342, 0x10103020, 0xFFFF1AE5,  0xF3F30EFD, 0xD2D26DBF,
+	0xCDCD4C81, 0x0C0C1418,  0x13133526, 0xECEC2FC3, 0x5F5FE1BE, 0x9797A235,  0x4444CC88, 0x1717392E,
+	0xC4C45793, 0xA7A7F255,  0x7E7E82FC, 0x3D3D477A, 0x6464ACC8, 0x5D5DE7BA,  0x19192B32, 0x737395E6,
+	0x6060A0C0, 0x81819819,  0x4F4FD19E, 0xDCDC7FA3, 0x22226644, 0x2A2A7E54,  0x9090AB3B, 0x8888830B,
+	0x4646CA8C, 0xEEEE29C7,  0xB8B8D36B, 0x14143C28, 0xDEDE79A7, 0x5E5EE2BC,  0x0B0B1D16, 0xDBDB76AD,
+	0xE0E03BDB, 0x32325664,  0x3A3A4E74, 0x0A0A1E14, 0x4949DB92, 0x06060A0C,  0x24246C48, 0x5C5CE4B8,
+	0xC2C25D9F, 0xD3D36EBD,  0xACACEF43, 0x6262A6C4, 0x9191A839, 0x9595A431,  0xE4E437D3, 0x79798BF2,
+	0xE7E732D5, 0xC8C8438B,  0x3737596E, 0x6D6DB7DA, 0x8D8D8C01, 0xD5D564B1,  0x4E4ED29C, 0xA9A9E049,
+	0x6C6CB4D8, 0x5656FAAC,  0xF4F407F3, 0xEAEA25CF, 0x6565AFCA, 0x7A7A8EF4,  0xAEAEE947, 0x08081810,
+	0xBABAD56F, 0x787888F0,  0x25256F4A, 0x2E2E725C, 0x1C1C2438, 0xA6A6F157,  0xB4B4C773, 0xC6C65197,
+	0xE8E823CB, 0xDDDD7CA1,  0x74749CE8, 0x1F1F213E, 0x4B4BDD96, 0xBDBDDC61,  0x8B8B860D, 0x8A8A850F,
+	0x707090E0, 0x3E3E427C,  0xB5B5C471, 0x6666AACC, 0x4848D890, 0x03030506,  0xF6F601F7, 0x0E0E121C,
+	0x6161A3C2, 0x35355F6A,  0x5757F9AE, 0xB9B9D069, 0x86869117, 0xC1C15899,  0x1D1D273A, 0x9E9EB927,
+	0xE1E138D9, 0xF8F813EB,  0x9898B32B, 0x11113322, 0x6969BBD2, 0xD9D970A9,  0x8E8E8907, 0x9494A733,
+	0x9B9BB62D, 0x1E1E223C,  0x87879215, 0xE9E920C9, 0xCECE4987, 0x5555FFAA,  0x28287850, 0xDFDF7AA5,
+	0x8C8C8F03, 0xA1A1F859,  0x89898009, 0x0D0D171A, 0xBFBFDA65, 0xE6E631D7,  0x4242C684, 0x6868B8D0,
+	0x4141C382, 0x9999B029,  0x2D2D775A, 0x0F0F111E, 0xB0B0CB7B, 0x5454FCA8,  0xBBBBD66D, 0x16163A2C,
+};
+
+/* Corresponds to _T2[256] */
+unsigned int mtpz_aes_ft2[] =
+{
+	0x63A5C663, 0x7C84F87C,  0x7799EE77, 0x7B8DF67B, 0xF20DFFF2, 0x6BBDD66B,  0x6FB1DE6F, 0xC55491C5,
+	0x30506030, 0x01030201,  0x67A9CE67, 0x2B7D562B, 0xFE19E7FE, 0xD762B5D7,  0xABE64DAB, 0x769AEC76,
+	0xCA458FCA, 0x829D1F82,  0xC94089C9, 0x7D87FA7D, 0xFA15EFFA, 0x59EBB259,  0x47C98E47, 0xF00BFBF0,
+	0xADEC41AD, 0xD467B3D4,  0xA2FD5FA2, 0xAFEA45AF, 0x9CBF239C, 0xA4F753A4,  0x7296E472, 0xC05B9BC0,
+	0xB7C275B7, 0xFD1CE1FD,  0x93AE3D93, 0x266A4C26, 0x365A6C36, 0x3F417E3F,  0xF702F5F7, 0xCC4F83CC,
+	0x345C6834, 0xA5F451A5,  0xE534D1E5, 0xF108F9F1, 0x7193E271, 0xD873ABD8,  0x31536231, 0x153F2A15,
+	0x040C0804, 0xC75295C7,  0x23654623, 0xC35E9DC3, 0x18283018, 0x96A13796,  0x050F0A05, 0x9AB52F9A,
+	0x07090E07, 0x12362412,  0x809B1B80, 0xE23DDFE2, 0xEB26CDEB, 0x27694E27,  0xB2CD7FB2, 0x759FEA75,
+	0x091B1209, 0x839E1D83,  0x2C74582C, 0x1A2E341A, 0x1B2D361B, 0x6EB2DC6E,  0x5AEEB45A, 0xA0FB5BA0,
+	0x52F6A452, 0x3B4D763B,  0xD661B7D6, 0xB3CE7DB3, 0x297B5229, 0xE33EDDE3,  0x2F715E2F, 0x84971384,
+	0x53F5A653, 0xD168B9D1,  0x00000000, 0xED2CC1ED, 0x20604020, 0xFC1FE3FC,  0xB1C879B1, 0x5BEDB65B,
+	0x6ABED46A, 0xCB468DCB,  0xBED967BE, 0x394B7239, 0x4ADE944A, 0x4CD4984C,  0x58E8B058, 0xCF4A85CF,
+	0xD06BBBD0, 0xEF2AC5EF,  0xAAE54FAA, 0xFB16EDFB, 0x43C58643, 0x4DD79A4D,  0x33556633, 0x85941185,
+	0x45CF8A45, 0xF910E9F9,  0x02060402, 0x7F81FE7F, 0x50F0A050, 0x3C44783C,  0x9FBA259F, 0xA8E34BA8,
+	0x51F3A251, 0xA3FE5DA3,  0x40C08040, 0x8F8A058F, 0x92AD3F92, 0x9DBC219D,  0x38487038, 0xF504F1F5,
+	0xBCDF63BC, 0xB6C177B6,  0xDA75AFDA, 0x21634221, 0x10302010, 0xFF1AE5FF,  0xF30EFDF3, 0xD26DBFD2,
+	0xCD4C81CD, 0x0C14180C,  0x13352613, 0xEC2FC3EC, 0x5FE1BE5F, 0x97A23597,  0x44CC8844, 0x17392E17,
+	0xC45793C4, 0xA7F255A7,  0x7E82FC7E, 0x3D477A3D, 0x64ACC864, 0x5DE7BA5D,  0x192B3219, 0x7395E673,
+	0x60A0C060, 0x81981981,  0x4FD19E4F, 0xDC7FA3DC, 0x22664422, 0x2A7E542A,  0x90AB3B90, 0x88830B88,
+	0x46CA8C46, 0xEE29C7EE,  0xB8D36BB8, 0x143C2814, 0xDE79A7DE, 0x5EE2BC5E,  0x0B1D160B, 0xDB76ADDB,
+	0xE03BDBE0, 0x32566432,  0x3A4E743A, 0x0A1E140A, 0x49DB9249, 0x060A0C06,  0x246C4824, 0x5CE4B85C,
+	0xC25D9FC2, 0xD36EBDD3,  0xACEF43AC, 0x62A6C462, 0x91A83991, 0x95A43195,  0xE437D3E4, 0x798BF279,
+	0xE732D5E7, 0xC8438BC8,  0x37596E37, 0x6DB7DA6D, 0x8D8C018D, 0xD564B1D5,  0x4ED29C4E, 0xA9E049A9,
+	0x6CB4D86C, 0x56FAAC56,  0xF407F3F4, 0xEA25CFEA, 0x65AFCA65, 0x7A8EF47A,  0xAEE947AE, 0x08181008,
+	0xBAD56FBA, 0x7888F078,  0x256F4A25, 0x2E725C2E, 0x1C24381C, 0xA6F157A6,  0xB4C773B4, 0xC65197C6,
+	0xE823CBE8, 0xDD7CA1DD,  0x749CE874, 0x1F213E1F, 0x4BDD964B, 0xBDDC61BD,  0x8B860D8B, 0x8A850F8A,
+	0x7090E070, 0x3E427C3E,  0xB5C471B5, 0x66AACC66, 0x48D89048, 0x03050603,  0xF601F7F6, 0x0E121C0E,
+	0x61A3C261, 0x355F6A35,  0x57F9AE57, 0xB9D069B9, 0x86911786, 0xC15899C1,  0x1D273A1D, 0x9EB9279E,
+	0xE138D9E1, 0xF813EBF8,  0x98B32B98, 0x11332211, 0x69BBD269, 0xD970A9D9,  0x8E89078E, 0x94A73394,
+	0x9BB62D9B, 0x1E223C1E,  0x87921587, 0xE920C9E9, 0xCE4987CE, 0x55FFAA55,  0x28785028, 0xDF7AA5DF,
+	0x8C8F038C, 0xA1F859A1,  0x89800989, 0x0D171A0D, 0xBFDA65BF, 0xE631D7E6,  0x42C68442, 0x68B8D068,
+	0x41C38241, 0x99B02999,  0x2D775A2D, 0x0F111E0F, 0xB0CB7BB0, 0x54FCA854,  0xBBD66DBB, 0x163A2C16,
+};
+
+/* Corresponds to _T0[256] */
+unsigned int mtpz_aes_ft3[] =
+{
+	0xC66363A5, 0xF87C7C84,  0xEE777799, 0xF67B7B8D, 0xFFF2F20D, 0xD66B6BBD,  0xDE6F6FB1, 0x91C5C554,
+	0x60303050, 0x02010103,  0xCE6767A9, 0x562B2B7D, 0xE7FEFE19, 0xB5D7D762,  0x4DABABE6, 0xEC76769A,
+	0x8FCACA45, 0x1F82829D,  0x89C9C940, 0xFA7D7D87, 0xEFFAFA15, 0xB25959EB,  0x8E4747C9, 0xFBF0F00B,
+	0x41ADADEC, 0xB3D4D467,  0x5FA2A2FD, 0x45AFAFEA, 0x239C9CBF, 0x53A4A4F7,  0xE4727296, 0x9BC0C05B,
+	0x75B7B7C2, 0xE1FDFD1C,  0x3D9393AE, 0x4C26266A, 0x6C36365A, 0x7E3F3F41,  0xF5F7F702, 0x83CCCC4F,
+	0x6834345C, 0x51A5A5F4,  0xD1E5E534, 0xF9F1F108, 0xE2717193, 0xABD8D873,  0x62313153, 0x2A15153F,
+	0x0804040C, 0x95C7C752,  0x46232365, 0x9DC3C35E, 0x30181828, 0x379696A1,  0x0A05050F, 0x2F9A9AB5,
+	0x0E070709, 0x24121236,  0x1B80809B, 0xDFE2E23D, 0xCDEBEB26, 0x4E272769,  0x7FB2B2CD, 0xEA75759F,
+	0x1209091B, 0x1D83839E,  0x582C2C74, 0x341A1A2E, 0x361B1B2D, 0xDC6E6EB2,  0xB45A5AEE, 0x5BA0A0FB,
+	0xA45252F6, 0x763B3B4D,  0xB7D6D661, 0x7DB3B3CE, 0x5229297B, 0xDDE3E33E,  0x5E2F2F71, 0x13848497,
+	0xA65353F5, 0xB9D1D168,  0x00000000, 0xC1EDED2C, 0x40202060, 0xE3FCFC1F,  0x79B1B1C8, 0xB65B5BED,
+	0xD46A6ABE, 0x8DCBCB46,  0x67BEBED9, 0x7239394B, 0x944A4ADE, 0x984C4CD4,  0xB05858E8, 0x85CFCF4A,
+	0xBBD0D06B, 0xC5EFEF2A,  0x4FAAAAE5, 0xEDFBFB16, 0x864343C5, 0x9A4D4DD7,  0x66333355, 0x11858594,
+	0x8A4545CF, 0xE9F9F910,  0x04020206, 0xFE7F7F81, 0xA05050F0, 0x783C3C44,  0x259F9FBA, 0x4BA8A8E3,
+	0xA25151F3, 0x5DA3A3FE,  0x804040C0, 0x058F8F8A, 0x3F9292AD, 0x219D9DBC,  0x70383848, 0xF1F5F504,
+	0x63BCBCDF, 0x77B6B6C1,  0xAFDADA75, 0x42212163, 0x20101030, 0xE5FFFF1A,  0xFDF3F30E, 0xBFD2D26D,
+	0x81CDCD4C, 0x180C0C14,  0x26131335, 0xC3ECEC2F, 0xBE5F5FE1, 0x359797A2,  0x884444CC, 0x2E171739,
+	0x93C4C457, 0x55A7A7F2,  0xFC7E7E82, 0x7A3D3D47, 0xC86464AC, 0xBA5D5DE7,  0x3219192B, 0xE6737395,
+	0xC06060A0, 0x19818198,  0x9E4F4FD1, 0xA3DCDC7F, 0x44222266, 0x542A2A7E,  0x3B9090AB, 0x0B888883,
+	0x8C4646CA, 0xC7EEEE29,  0x6BB8B8D3, 0x2814143C, 0xA7DEDE79, 0xBC5E5EE2,  0x160B0B1D, 0xADDBDB76,
+	0xDBE0E03B, 0x64323256,  0x743A3A4E, 0x140A0A1E, 0x924949DB, 0x0C06060A,  0x4824246C, 0xB85C5CE4,
+	0x9FC2C25D, 0xBDD3D36E,  0x43ACACEF, 0xC46262A6, 0x399191A8, 0x319595A4,  0xD3E4E437, 0xF279798B,
+	0xD5E7E732, 0x8BC8C843,  0x6E373759, 0xDA6D6DB7, 0x018D8D8C, 0xB1D5D564,  0x9C4E4ED2, 0x49A9A9E0,
+	0xD86C6CB4, 0xAC5656FA,  0xF3F4F407, 0xCFEAEA25, 0xCA6565AF, 0xF47A7A8E,  0x47AEAEE9, 0x10080818,
+	0x6FBABAD5, 0xF0787888,  0x4A25256F, 0x5C2E2E72, 0x381C1C24, 0x57A6A6F1,  0x73B4B4C7, 0x97C6C651,
+	0xCBE8E823, 0xA1DDDD7C,  0xE874749C, 0x3E1F1F21, 0x964B4BDD, 0x61BDBDDC,  0x0D8B8B86, 0x0F8A8A85,
+	0xE0707090, 0x7C3E3E42,  0x71B5B5C4, 0xCC6666AA, 0x904848D8, 0x06030305,  0xF7F6F601, 0x1C0E0E12,
+	0xC26161A3, 0x6A35355F,  0xAE5757F9, 0x69B9B9D0, 0x17868691, 0x99C1C158,  0x3A1D1D27, 0x279E9EB9,
+	0xD9E1E138, 0xEBF8F813,  0x2B9898B3, 0x22111133, 0xD26969BB, 0xA9D9D970,  0x078E8E89, 0x339494A7,
+	0x2D9B9BB6, 0x3C1E1E22,  0x15878792, 0xC9E9E920, 0x87CECE49, 0xAA5555FF,  0x50282878, 0xA5DFDF7A,
+	0x038C8C8F, 0x59A1A1F8,  0x09898980, 0x1A0D0D17, 0x65BFBFDA, 0xD7E6E631,  0x844242C6, 0xD06868B8,
+	0x824141C3, 0x299999B0,  0x5A2D2D77, 0x1E0F0F11, 0x7BB0B0CB, 0xA85454FC,  0x6DBBBBD6, 0x2C16163A,
+};
+
+/* Corresponds to _T1[256] */
+unsigned int mtpz_aes_ft4[] =
+{
+	0xA5C66363, 0x84F87C7C,  0x99EE7777, 0x8DF67B7B, 0x0DFFF2F2, 0xBDD66B6B,  0xB1DE6F6F, 0x5491C5C5,
+	0x50603030, 0x03020101,  0xA9CE6767, 0x7D562B2B, 0x19E7FEFE, 0x62B5D7D7,  0xE64DABAB, 0x9AEC7676,
+	0x458FCACA, 0x9D1F8282,  0x4089C9C9, 0x87FA7D7D, 0x15EFFAFA, 0xEBB25959,  0xC98E4747, 0x0BFBF0F0,
+	0xEC41ADAD, 0x67B3D4D4,  0xFD5FA2A2, 0xEA45AFAF, 0xBF239C9C, 0xF753A4A4,  0x96E47272, 0x5B9BC0C0,
+	0xC275B7B7, 0x1CE1FDFD,  0xAE3D9393, 0x6A4C2626, 0x5A6C3636, 0x417E3F3F,  0x02F5F7F7, 0x4F83CCCC,
+	0x5C683434, 0xF451A5A5,  0x34D1E5E5, 0x08F9F1F1, 0x93E27171, 0x73ABD8D8,  0x53623131, 0x3F2A1515,
+	0x0C080404, 0x5295C7C7,  0x65462323, 0x5E9DC3C3, 0x28301818, 0xA1379696,  0x0F0A0505, 0xB52F9A9A,
+	0x090E0707, 0x36241212,  0x9B1B8080, 0x3DDFE2E2, 0x26CDEBEB, 0x694E2727,  0xCD7FB2B2, 0x9FEA7575,
+	0x1B120909, 0x9E1D8383,  0x74582C2C, 0x2E341A1A, 0x2D361B1B, 0xB2DC6E6E,  0xEEB45A5A, 0xFB5BA0A0,
+	0xF6A45252, 0x4D763B3B,  0x61B7D6D6, 0xCE7DB3B3, 0x7B522929, 0x3EDDE3E3,  0x715E2F2F, 0x97138484,
+	0xF5A65353, 0x68B9D1D1,  0x00000000, 0x2CC1EDED, 0x60402020, 0x1FE3FCFC,  0xC879B1B1, 0xEDB65B5B,
+	0xBED46A6A, 0x468DCBCB,  0xD967BEBE, 0x4B723939, 0xDE944A4A, 0xD4984C4C,  0xE8B05858, 0x4A85CFCF,
+	0x6BBBD0D0, 0x2AC5EFEF,  0xE54FAAAA, 0x16EDFBFB, 0xC5864343, 0xD79A4D4D,  0x55663333, 0x94118585,
+	0xCF8A4545, 0x10E9F9F9,  0x06040202, 0x81FE7F7F, 0xF0A05050, 0x44783C3C,  0xBA259F9F, 0xE34BA8A8,
+	0xF3A25151, 0xFE5DA3A3,  0xC0804040, 0x8A058F8F, 0xAD3F9292, 0xBC219D9D,  0x48703838, 0x04F1F5F5,
+	0xDF63BCBC, 0xC177B6B6,  0x75AFDADA, 0x63422121, 0x30201010, 0x1AE5FFFF,  0x0EFDF3F3, 0x6DBFD2D2,
+	0x4C81CDCD, 0x14180C0C,  0x35261313, 0x2FC3ECEC, 0xE1BE5F5F, 0xA2359797,  0xCC884444, 0x392E1717,
+	0x5793C4C4, 0xF255A7A7,  0x82FC7E7E, 0x477A3D3D, 0xACC86464, 0xE7BA5D5D,  0x2B321919, 0x95E67373,
+	0xA0C06060, 0x98198181,  0xD19E4F4F, 0x7FA3DCDC, 0x66442222, 0x7E542A2A,  0xAB3B9090, 0x830B8888,
+	0xCA8C4646, 0x29C7EEEE,  0xD36BB8B8, 0x3C281414, 0x79A7DEDE, 0xE2BC5E5E,  0x1D160B0B, 0x76ADDBDB,
+	0x3BDBE0E0, 0x56643232,  0x4E743A3A, 0x1E140A0A, 0xDB924949, 0x0A0C0606,  0x6C482424, 0xE4B85C5C,
+	0x5D9FC2C2, 0x6EBDD3D3,  0xEF43ACAC, 0xA6C46262, 0xA8399191, 0xA4319595,  0x37D3E4E4, 0x8BF27979,
+	0x32D5E7E7, 0x438BC8C8,  0x596E3737, 0xB7DA6D6D, 0x8C018D8D, 0x64B1D5D5,  0xD29C4E4E, 0xE049A9A9,
+	0xB4D86C6C, 0xFAAC5656,  0x07F3F4F4, 0x25CFEAEA, 0xAFCA6565, 0x8EF47A7A,  0xE947AEAE, 0x18100808,
+	0xD56FBABA, 0x88F07878,  0x6F4A2525, 0x725C2E2E, 0x24381C1C, 0xF157A6A6,  0xC773B4B4, 0x5197C6C6,
+	0x23CBE8E8, 0x7CA1DDDD,  0x9CE87474, 0x213E1F1F, 0xDD964B4B, 0xDC61BDBD,  0x860D8B8B, 0x850F8A8A,
+	0x90E07070, 0x427C3E3E,  0xC471B5B5, 0xAACC6666, 0xD8904848, 0x05060303,  0x01F7F6F6, 0x121C0E0E,
+	0xA3C26161, 0x5F6A3535,  0xF9AE5757, 0xD069B9B9, 0x91178686, 0x5899C1C1,  0x273A1D1D, 0xB9279E9E,
+	0x38D9E1E1, 0x13EBF8F8,  0xB32B9898, 0x33221111, 0xBBD26969, 0x70A9D9D9,  0x89078E8E, 0xA7339494,
+	0xB62D9B9B, 0x223C1E1E,  0x92158787, 0x20C9E9E9, 0x4987CECE, 0xFFAA5555,  0x78502828, 0x7AA5DFDF,
+	0x8F038C8C, 0xF859A1A1,  0x80098989, 0x171A0D0D, 0xDA65BFBF, 0x31D7E6E6,  0xC6844242, 0xB8D06868,
+	0xC3824141, 0xB0299999,  0x775A2D2D, 0x111E0F0F, 0xCB7BB0B0, 0xFCA85454,  0xD66DBBBB, 0x3A2C1616,
+};
+
+/* Corresponds to _TInv3[256] */
+unsigned int mtpz_aes_rt1[] =
+{
+	0xF4A75051, 0x4165537E,  0x17A4C31A, 0x275E963A, 0xAB6BCB3B, 0x9D45F11F,  0xFA58ABAC, 0xE303934B,
+	0x30FA5520, 0x766DF6AD,  0xCC769188, 0x024C25F5, 0xE5D7FC4F, 0x2ACBD7C5,  0x35448026, 0x62A38FB5,
+	0xB15A49DE, 0xBA1B6725,  0xEA0E9845, 0xFEC0E15D, 0x2F7502C3, 0x4CF01281,  0x4697A38D, 0xD3F9C66B,
+	0x8F5FE703, 0x929C9515,  0x6D7AEBBF, 0x5259DA95, 0xBE832DD4, 0x7421D358,  0xE0692949, 0xC9C8448E,
+	0xC2896A75, 0x8E7978F4,  0x583E6B99, 0xB971DD27, 0xE14FB6BE, 0x88AD17F0,  0x20AC66C9, 0xCE3AB47D,
+	0xDF4A1863, 0x1A3182E5,  0x51336097, 0x537F4562, 0x6477E0B1, 0x6BAE84BB,  0x81A01CFE, 0x082B94F9,
+	0x48685870, 0x45FD198F,  0xDE6C8794, 0x7BF8B752, 0x73D323AB, 0x4B02E272,  0x1F8F57E3, 0x55AB2A66,
+	0xEB2807B2, 0xB5C2032F,  0xC57B9A86, 0x3708A5D3, 0x2887F230, 0xBFA5B223,  0x036ABA02, 0x16825CED,
+	0xCF1C2B8A, 0x79B492A7,  0x07F2F0F3, 0x69E2A14E, 0xDAF4CD65, 0x05BED506,  0x34621FD1, 0xA6FE8AC4,
+	0x2E539D34, 0xF355A0A2,  0x8AE13205, 0xF6EB75A4, 0x83EC390B, 0x60EFAA40,  0x719F065E, 0x6E1051BD,
+	0x218AF93E, 0xDD063D96,  0x3E05AEDD, 0xE6BD464D, 0x548DB591, 0xC45D0571,  0x06D46F04, 0x5015FF60,
+	0x98FB2419, 0xBDE997D6,  0x4043CC89, 0xD99E7767, 0xE842BDB0, 0x898B8807,  0x195B38E7, 0xC8EEDB79,
+	0x7C0A47A1, 0x420FE97C,  0x841EC9F8, 0x00000000, 0x80868309, 0x2BED4832,  0x1170AC1E, 0x5A724E6C,
+	0x0EFFFBFD, 0x8538560F,  0xAED51E3D, 0x2D392736, 0x0FD9640A, 0x5CA62168,  0x5B54D19B, 0x362E3A24,
+	0x0A67B10C, 0x57E70F93,  0xEE96D2B4, 0x9B919E1B, 0xC0C54F80, 0xDC20A261,  0x774B695A, 0x121A161C,
+	0x93BA0AE2, 0xA02AE5C0,  0x22E0433C, 0x1B171D12, 0x090D0B0E, 0x8BC7ADF2,  0xB6A8B92D, 0x1EA9C814,
+	0xF1198557, 0x75074CAF,  0x99DDBBEE, 0x7F60FDA3, 0x01269FF7, 0x72F5BC5C,  0x663BC544, 0xFB7E345B,
+	0x4329768B, 0x23C6DCCB,  0xEDFC68B6, 0xE4F163B8, 0x31DCCAD7, 0x63851042,  0x97224013, 0xC6112084,
+	0x4A247D85, 0xBB3DF8D2,  0xF93211AE, 0x29A16DC7, 0x9E2F4B1D, 0xB230F3DC,  0x8652EC0D, 0xC1E3D077,
+	0xB3166C2B, 0x70B999A9,  0x9448FA11, 0xE9642247, 0xFC8CC4A8, 0xF03F1AA0,  0x7D2CD856, 0x3390EF22,
+	0x494EC787, 0x38D1C1D9,  0xCAA2FE8C, 0xD40B3698, 0xF581CFA6, 0x7ADE28A5,  0xB78E26DA, 0xADBFA43F,
+	0x3A9DE42C, 0x78920D50,  0x5FCC9B6A, 0x7E466254, 0x8D13C2F6, 0xD8B8E890,  0x39F75E2E, 0xC3AFF582,
+	0x5D80BE9F, 0xD0937C69,  0xD52DA96F, 0x2512B3CF, 0xAC993BC8, 0x187DA710,  0x9C636EE8, 0x3BBB7BDB,
+	0x267809CD, 0x5918F46E,  0x9AB701EC, 0x4F9AA883, 0x956E65E6, 0xFFE67EAA,  0xBCCF0821, 0x15E8E6EF,
+	0xE79BD9BA, 0x6F36CE4A,  0x9F09D4EA, 0xB07CD629, 0xA4B2AF31, 0x3F23312A,  0xA59430C6, 0xA266C035,
+	0x4EBC3774, 0x82CAA6FC,  0x90D0B0E0, 0xA7D81533, 0x04984AF1, 0xECDAF741,  0xCD500E7F, 0x91F62F17,
+	0x4DD68D76, 0xEFB04D43,  0xAA4D54CC, 0x9604DFE4, 0xD1B5E39E, 0x6A881B4C,  0x2C1FB8C1, 0x65517F46,
+	0x5EEA049D, 0x8C355D01,  0x877473FA, 0x0B412EFB, 0x671D5AB3, 0xDBD25292,  0x105633E9, 0xD647136D,
+	0xD7618C9A, 0xA10C7A37,  0xF8148E59, 0x133C89EB, 0xA927EECE, 0x61C935B7,  0x1CE5EDE1, 0x47B13C7A,
+	0xD2DF599C, 0xF2733F55,  0x14CE7918, 0xC737BF73, 0xF7CDEA53, 0xFDAA5B5F,  0x3D6F14DF, 0x44DB8678,
+	0xAFF381CA, 0x68C43EB9,  0x24342C38, 0xA3405FC2, 0x1DC37216, 0xE2250CBC,  0x3C498B28, 0x0D9541FF,
+	0xA8017139, 0x0CB3DE08,  0xB4E49CD8, 0x56C19064, 0xCB84617B, 0x32B670D5,  0x6C5C7448, 0xB85742D0
+};
+
+/* Corresponds to _TInv2[256] */
+unsigned int mtpz_aes_rt2[] =
+{
+	0xA75051F4, 0x65537E41,  0xA4C31A17, 0x5E963A27, 0x6BCB3BAB, 0x45F11F9D,  0x58ABACFA, 0x03934BE3,
+	0xFA552030, 0x6DF6AD76,  0x769188CC, 0x4C25F502, 0xD7FC4FE5, 0xCBD7C52A,  0x44802635, 0xA38FB562,
+	0x5A49DEB1, 0x1B6725BA,  0x0E9845EA, 0xC0E15DFE, 0x7502C32F, 0xF012814C,  0x97A38D46, 0xF9C66BD3,
+	0x5FE7038F, 0x9C951592,  0x7AEBBF6D, 0x59DA9552, 0x832DD4BE, 0x21D35874,  0x692949E0, 0xC8448EC9,
+	0x896A75C2, 0x7978F48E,  0x3E6B9958, 0x71DD27B9, 0x4FB6BEE1, 0xAD17F088,  0xAC66C920, 0x3AB47DCE,
+	0x4A1863DF, 0x3182E51A,  0x33609751, 0x7F456253, 0x77E0B164, 0xAE84BB6B,  0xA01CFE81, 0x2B94F908,
+	0x68587048, 0xFD198F45,  0x6C8794DE, 0xF8B7527B, 0xD323AB73, 0x02E2724B,  0x8F57E31F, 0xAB2A6655,
+	0x2807B2EB, 0xC2032FB5,  0x7B9A86C5, 0x08A5D337, 0x87F23028, 0xA5B223BF,  0x6ABA0203, 0x825CED16,
+	0x1C2B8ACF, 0xB492A779,  0xF2F0F307, 0xE2A14E69, 0xF4CD65DA, 0xBED50605,  0x621FD134, 0xFE8AC4A6,
+	0x539D342E, 0x55A0A2F3,  0xE132058A, 0xEB75A4F6, 0xEC390B83, 0xEFAA4060,  0x9F065E71, 0x1051BD6E,
+	0x8AF93E21, 0x063D96DD,  0x05AEDD3E, 0xBD464DE6, 0x8DB59154, 0x5D0571C4,  0xD46F0406, 0x15FF6050,
+	0xFB241998, 0xE997D6BD,  0x43CC8940, 0x9E7767D9, 0x42BDB0E8, 0x8B880789,  0x5B38E719, 0xEEDB79C8,
+	0x0A47A17C, 0x0FE97C42,  0x1EC9F884, 0x00000000, 0x86830980, 0xED48322B,  0x70AC1E11, 0x724E6C5A,
+	0xFFFBFD0E, 0x38560F85,  0xD51E3DAE, 0x3927362D, 0xD9640A0F, 0xA621685C,  0x54D19B5B, 0x2E3A2436,
+	0x67B10C0A, 0xE70F9357,  0x96D2B4EE, 0x919E1B9B, 0xC54F80C0, 0x20A261DC,  0x4B695A77, 0x1A161C12,
+	0xBA0AE293, 0x2AE5C0A0,  0xE0433C22, 0x171D121B, 0x0D0B0E09, 0xC7ADF28B,  0xA8B92DB6, 0xA9C8141E,
+	0x198557F1, 0x074CAF75,  0xDDBBEE99, 0x60FDA37F, 0x269FF701, 0xF5BC5C72,  0x3BC54466, 0x7E345BFB,
+	0x29768B43, 0xC6DCCB23,  0xFC68B6ED, 0xF163B8E4, 0xDCCAD731, 0x85104263,  0x22401397, 0x112084C6,
+	0x247D854A, 0x3DF8D2BB,  0x3211AEF9, 0xA16DC729, 0x2F4B1D9E, 0x30F3DCB2,  0x52EC0D86, 0xE3D077C1,
+	0x166C2BB3, 0xB999A970,  0x48FA1194, 0x642247E9, 0x8CC4A8FC, 0x3F1AA0F0,  0x2CD8567D, 0x90EF2233,
+	0x4EC78749, 0xD1C1D938,  0xA2FE8CCA, 0x0B3698D4, 0x81CFA6F5, 0xDE28A57A,  0x8E26DAB7, 0xBFA43FAD,
+	0x9DE42C3A, 0x920D5078,  0xCC9B6A5F, 0x4662547E, 0x13C2F68D, 0xB8E890D8,  0xF75E2E39, 0xAFF582C3,
+	0x80BE9F5D, 0x937C69D0,  0x2DA96FD5, 0x12B3CF25, 0x993BC8AC, 0x7DA71018,  0x636EE89C, 0xBB7BDB3B,
+	0x7809CD26, 0x18F46E59,  0xB701EC9A, 0x9AA8834F, 0x6E65E695, 0xE67EAAFF,  0xCF0821BC, 0xE8E6EF15,
+	0x9BD9BAE7, 0x36CE4A6F,  0x09D4EA9F, 0x7CD629B0, 0xB2AF31A4, 0x23312A3F,  0x9430C6A5, 0x66C035A2,
+	0xBC37744E, 0xCAA6FC82,  0xD0B0E090, 0xD81533A7, 0x984AF104, 0xDAF741EC,  0x500E7FCD, 0xF62F1791,
+	0xD68D764D, 0xB04D43EF,  0x4D54CCAA, 0x04DFE496, 0xB5E39ED1, 0x881B4C6A,  0x1FB8C12C, 0x517F4665,
+	0xEA049D5E, 0x355D018C,  0x7473FA87, 0x412EFB0B, 0x1D5AB367, 0xD25292DB,  0x5633E910, 0x47136DD6,
+	0x618C9AD7, 0x0C7A37A1,  0x148E59F8, 0x3C89EB13, 0x27EECEA9, 0xC935B761,  0xE5EDE11C, 0xB13C7A47,
+	0xDF599CD2, 0x733F55F2,  0xCE791814, 0x37BF73C7, 0xCDEA53F7, 0xAA5B5FFD,  0x6F14DF3D, 0xDB867844,
+	0xF381CAAF, 0xC43EB968,  0x342C3824, 0x405FC2A3, 0xC372161D, 0x250CBCE2,  0x498B283C, 0x9541FF0D,
+	0x017139A8, 0xB3DE080C,  0xE49CD8B4, 0xC1906456, 0x84617BCB, 0xB670D532,  0x5C74486C, 0x5742D0B8
+};
+
+/* Corresponds to _TInv0[256] */
+unsigned int mtpz_aes_rt3[] =
+{
+	0x51F4A750, 0x7E416553,  0x1A17A4C3, 0x3A275E96, 0x3BAB6BCB, 0x1F9D45F1,  0xACFA58AB, 0x4BE30393,
+	0x2030FA55, 0xAD766DF6,  0x88CC7691, 0xF5024C25, 0x4FE5D7FC, 0xC52ACBD7,  0x26354480, 0xB562A38F,
+	0xDEB15A49, 0x25BA1B67,  0x45EA0E98, 0x5DFEC0E1, 0xC32F7502, 0x814CF012,  0x8D4697A3, 0x6BD3F9C6,
+	0x038F5FE7, 0x15929C95,  0xBF6D7AEB, 0x955259DA, 0xD4BE832D, 0x587421D3,  0x49E06929, 0x8EC9C844,
+	0x75C2896A, 0xF48E7978,  0x99583E6B, 0x27B971DD, 0xBEE14FB6, 0xF088AD17,  0xC920AC66, 0x7DCE3AB4,
+	0x63DF4A18, 0xE51A3182,  0x97513360, 0x62537F45, 0xB16477E0, 0xBB6BAE84,  0xFE81A01C, 0xF9082B94,
+	0x70486858, 0x8F45FD19,  0x94DE6C87, 0x527BF8B7, 0xAB73D323, 0x724B02E2,  0xE31F8F57, 0x6655AB2A,
+	0xB2EB2807, 0x2FB5C203,  0x86C57B9A, 0xD33708A5, 0x302887F2, 0x23BFA5B2,  0x02036ABA, 0xED16825C,
+	0x8ACF1C2B, 0xA779B492,  0xF307F2F0, 0x4E69E2A1, 0x65DAF4CD, 0x0605BED5,  0xD134621F, 0xC4A6FE8A,
+	0x342E539D, 0xA2F355A0,  0x058AE132, 0xA4F6EB75, 0x0B83EC39, 0x4060EFAA,  0x5E719F06, 0xBD6E1051,
+	0x3E218AF9, 0x96DD063D,  0xDD3E05AE, 0x4DE6BD46, 0x91548DB5, 0x71C45D05,  0x0406D46F, 0x605015FF,
+	0x1998FB24, 0xD6BDE997,  0x894043CC, 0x67D99E77, 0xB0E842BD, 0x07898B88,  0xE7195B38, 0x79C8EEDB,
+	0xA17C0A47, 0x7C420FE9,  0xF8841EC9, 0x00000000, 0x09808683, 0x322BED48,  0x1E1170AC, 0x6C5A724E,
+	0xFD0EFFFB, 0x0F853856,  0x3DAED51E, 0x362D3927, 0x0A0FD964, 0x685CA621,  0x9B5B54D1, 0x24362E3A,
+	0x0C0A67B1, 0x9357E70F,  0xB4EE96D2, 0x1B9B919E, 0x80C0C54F, 0x61DC20A2,  0x5A774B69, 0x1C121A16,
+	0xE293BA0A, 0xC0A02AE5,  0x3C22E043, 0x121B171D, 0x0E090D0B, 0xF28BC7AD,  0x2DB6A8B9, 0x141EA9C8,
+	0x57F11985, 0xAF75074C,  0xEE99DDBB, 0xA37F60FD, 0xF701269F, 0x5C72F5BC,  0x44663BC5, 0x5BFB7E34,
+	0x8B432976, 0xCB23C6DC,  0xB6EDFC68, 0xB8E4F163, 0xD731DCCA, 0x42638510,  0x13972240, 0x84C61120,
+	0x854A247D, 0xD2BB3DF8,  0xAEF93211, 0xC729A16D, 0x1D9E2F4B, 0xDCB230F3,  0x0D8652EC, 0x77C1E3D0,
+	0x2BB3166C, 0xA970B999,  0x119448FA, 0x47E96422, 0xA8FC8CC4, 0xA0F03F1A,  0x567D2CD8, 0x223390EF,
+	0x87494EC7, 0xD938D1C1,  0x8CCAA2FE, 0x98D40B36, 0xA6F581CF, 0xA57ADE28,  0xDAB78E26, 0x3FADBFA4,
+	0x2C3A9DE4, 0x5078920D,  0x6A5FCC9B, 0x547E4662, 0xF68D13C2, 0x90D8B8E8,  0x2E39F75E, 0x82C3AFF5,
+	0x9F5D80BE, 0x69D0937C,  0x6FD52DA9, 0xCF2512B3, 0xC8AC993B, 0x10187DA7,  0xE89C636E, 0xDB3BBB7B,
+	0xCD267809, 0x6E5918F4,  0xEC9AB701, 0x834F9AA8, 0xE6956E65, 0xAAFFE67E,  0x21BCCF08, 0xEF15E8E6,
+	0xBAE79BD9, 0x4A6F36CE,  0xEA9F09D4, 0x29B07CD6, 0x31A4B2AF, 0x2A3F2331,  0xC6A59430, 0x35A266C0,
+	0x744EBC37, 0xFC82CAA6,  0xE090D0B0, 0x33A7D815, 0xF104984A, 0x41ECDAF7,  0x7FCD500E, 0x1791F62F,
+	0x764DD68D, 0x43EFB04D,  0xCCAA4D54, 0xE49604DF, 0x9ED1B5E3, 0x4C6A881B,  0xC12C1FB8, 0x4665517F,
+	0x9D5EEA04, 0x018C355D,  0xFA877473, 0xFB0B412E, 0xB3671D5A, 0x92DBD252,  0xE9105633, 0x6DD64713,
+	0x9AD7618C, 0x37A10C7A,  0x59F8148E, 0xEB133C89, 0xCEA927EE, 0xB761C935,  0xE11CE5ED, 0x7A47B13C,
+	0x9CD2DF59, 0x55F2733F,  0x1814CE79, 0x73C737BF, 0x53F7CDEA, 0x5FFDAA5B,  0xDF3D6F14, 0x7844DB86,
+	0xCAAFF381, 0xB968C43E,  0x3824342C, 0xC2A3405F, 0x161DC372, 0xBCE2250C,  0x283C498B, 0xFF0D9541,
+	0x39A80171, 0x080CB3DE,  0xD8B4E49C, 0x6456C190, 0x7BCB8461, 0xD532B670,  0x486C5C74, 0xD0B85742
+};
+
+/* Corresponds to _TInv1[256] */
+unsigned int mtpz_aes_rt4[] =
+{
+	0x5051F4A7, 0x537E4165,  0xC31A17A4, 0x963A275E, 0xCB3BAB6B, 0xF11F9D45,  0xABACFA58, 0x934BE303,
+	0x552030FA, 0xF6AD766D,  0x9188CC76, 0x25F5024C, 0xFC4FE5D7, 0xD7C52ACB,  0x80263544, 0x8FB562A3,
+	0x49DEB15A, 0x6725BA1B,  0x9845EA0E, 0xE15DFEC0, 0x02C32F75, 0x12814CF0,  0xA38D4697, 0xC66BD3F9,
+	0xE7038F5F, 0x9515929C,  0xEBBF6D7A, 0xDA955259, 0x2DD4BE83, 0xD3587421,  0x2949E069, 0x448EC9C8,
+	0x6A75C289, 0x78F48E79,  0x6B99583E, 0xDD27B971, 0xB6BEE14F, 0x17F088AD,  0x66C920AC, 0xB47DCE3A,
+	0x1863DF4A, 0x82E51A31,  0x60975133, 0x4562537F, 0xE0B16477, 0x84BB6BAE,  0x1CFE81A0, 0x94F9082B,
+	0x58704868, 0x198F45FD,  0x8794DE6C, 0xB7527BF8, 0x23AB73D3, 0xE2724B02,  0x57E31F8F, 0x2A6655AB,
+	0x07B2EB28, 0x032FB5C2,  0x9A86C57B, 0xA5D33708, 0xF2302887, 0xB223BFA5,  0xBA02036A, 0x5CED1682,
+	0x2B8ACF1C, 0x92A779B4,  0xF0F307F2, 0xA14E69E2, 0xCD65DAF4, 0xD50605BE,  0x1FD13462, 0x8AC4A6FE,
+	0x9D342E53, 0xA0A2F355,  0x32058AE1, 0x75A4F6EB, 0x390B83EC, 0xAA4060EF,  0x065E719F, 0x51BD6E10,
+	0xF93E218A, 0x3D96DD06,  0xAEDD3E05, 0x464DE6BD, 0xB591548D, 0x0571C45D,  0x6F0406D4, 0xFF605015,
+	0x241998FB, 0x97D6BDE9,  0xCC894043, 0x7767D99E, 0xBDB0E842, 0x8807898B,  0x38E7195B, 0xDB79C8EE,
+	0x47A17C0A, 0xE97C420F,  0xC9F8841E, 0x00000000, 0x83098086, 0x48322BED,  0xAC1E1170, 0x4E6C5A72,
+	0xFBFD0EFF, 0x560F8538,  0x1E3DAED5, 0x27362D39, 0x640A0FD9, 0x21685CA6,  0xD19B5B54, 0x3A24362E,
+	0xB10C0A67, 0x0F9357E7,  0xD2B4EE96, 0x9E1B9B91, 0x4F80C0C5, 0xA261DC20,  0x695A774B, 0x161C121A,
+	0x0AE293BA, 0xE5C0A02A,  0x433C22E0, 0x1D121B17, 0x0B0E090D, 0xADF28BC7,  0xB92DB6A8, 0xC8141EA9,
+	0x8557F119, 0x4CAF7507,  0xBBEE99DD, 0xFDA37F60, 0x9FF70126, 0xBC5C72F5,  0xC544663B, 0x345BFB7E,
+	0x768B4329, 0xDCCB23C6,  0x68B6EDFC, 0x63B8E4F1, 0xCAD731DC, 0x10426385,  0x40139722, 0x2084C611,
+	0x7D854A24, 0xF8D2BB3D,  0x11AEF932, 0x6DC729A1, 0x4B1D9E2F, 0xF3DCB230,  0xEC0D8652, 0xD077C1E3,
+	0x6C2BB316, 0x99A970B9,  0xFA119448, 0x2247E964, 0xC4A8FC8C, 0x1AA0F03F,  0xD8567D2C, 0xEF223390,
+	0xC787494E, 0xC1D938D1,  0xFE8CCAA2, 0x3698D40B, 0xCFA6F581, 0x28A57ADE,  0x26DAB78E, 0xA43FADBF,
+	0xE42C3A9D, 0x0D507892,  0x9B6A5FCC, 0x62547E46, 0xC2F68D13, 0xE890D8B8,  0x5E2E39F7, 0xF582C3AF,
+	0xBE9F5D80, 0x7C69D093,  0xA96FD52D, 0xB3CF2512, 0x3BC8AC99, 0xA710187D,  0x6EE89C63, 0x7BDB3BBB,
+	0x09CD2678, 0xF46E5918,  0x01EC9AB7, 0xA8834F9A, 0x65E6956E, 0x7EAAFFE6,  0x0821BCCF, 0xE6EF15E8,
+	0xD9BAE79B, 0xCE4A6F36,  0xD4EA9F09, 0xD629B07C, 0xAF31A4B2, 0x312A3F23,  0x30C6A594, 0xC035A266,
+	0x37744EBC, 0xA6FC82CA,  0xB0E090D0, 0x1533A7D8, 0x4AF10498, 0xF741ECDA,  0x0E7FCD50, 0x2F1791F6,
+	0x8D764DD6, 0x4D43EFB0,  0x54CCAA4D, 0xDFE49604, 0xE39ED1B5, 0x1B4C6A88,  0xB8C12C1F, 0x7F466551,
+	0x049D5EEA, 0x5D018C35,  0x73FA8774, 0x2EFB0B41, 0x5AB3671D, 0x5292DBD2,  0x33E91056, 0x136DD647,
+	0x8C9AD761, 0x7A37A10C,  0x8E59F814, 0x89EB133C, 0xEECEA927, 0x35B761C9,  0xEDE11CE5, 0x3C7A47B1,
+	0x599CD2DF, 0x3F55F273,  0x791814CE, 0xBF73C737, 0xEA53F7CD, 0x5B5FFDAA,  0x14DF3D6F, 0x867844DB,
+	0x81CAAFF3, 0x3EB968C4,  0x2C382434, 0x5FC2A340, 0x72161DC3, 0x0CBCE225,  0x8B283C49, 0x41FF0D95,
+	0x7139A801, 0xDE080CB3,  0x9CD8B4E4, 0x906456C1, 0x617BCB84, 0x70D532B6,  0x74486C5C, 0x42D0B857
+};
+
+/* Corresponds to _IMXC1[256] */
+unsigned int mtpz_aes_gb11[] =
+{
+	0x00000000, 0x0B0E090D,  0x161C121A, 0x1D121B17, 0x2C382434, 0x27362D39,  0x3A24362E, 0x312A3F23,
+	0x58704868, 0x537E4165,  0x4E6C5A72, 0x4562537F, 0x74486C5C, 0x7F466551,  0x62547E46, 0x695A774B,
+	0xB0E090D0, 0xBBEE99DD,  0xA6FC82CA, 0xADF28BC7, 0x9CD8B4E4, 0x97D6BDE9,  0x8AC4A6FE, 0x81CAAFF3,
+	0xE890D8B8, 0xE39ED1B5,  0xFE8CCAA2, 0xF582C3AF, 0xC4A8FC8C, 0xCFA6F581,  0xD2B4EE96, 0xD9BAE79B,
+	0x7BDB3BBB, 0x70D532B6,  0x6DC729A1, 0x66C920AC, 0x57E31F8F, 0x5CED1682,  0x41FF0D95, 0x4AF10498,
+	0x23AB73D3, 0x28A57ADE,  0x35B761C9, 0x3EB968C4, 0x0F9357E7, 0x049D5EEA,  0x198F45FD, 0x12814CF0,
+	0xCB3BAB6B, 0xC035A266,  0xDD27B971, 0xD629B07C, 0xE7038F5F, 0xEC0D8652,  0xF11F9D45, 0xFA119448,
+	0x934BE303, 0x9845EA0E,  0x8557F119, 0x8E59F814, 0xBF73C737, 0xB47DCE3A,  0xA96FD52D, 0xA261DC20,
+	0xF6AD766D, 0xFDA37F60,  0xE0B16477, 0xEBBF6D7A, 0xDA955259, 0xD19B5B54,  0xCC894043, 0xC787494E,
+	0xAEDD3E05, 0xA5D33708,  0xB8C12C1F, 0xB3CF2512, 0x82E51A31, 0x89EB133C,  0x94F9082B, 0x9FF70126,
+	0x464DE6BD, 0x4D43EFB0,  0x5051F4A7, 0x5B5FFDAA, 0x6A75C289, 0x617BCB84,  0x7C69D093, 0x7767D99E,
+	0x1E3DAED5, 0x1533A7D8,  0x0821BCCF, 0x032FB5C2, 0x32058AE1, 0x390B83EC,  0x241998FB, 0x2F1791F6,
+	0x8D764DD6, 0x867844DB,  0x9B6A5FCC, 0x906456C1, 0xA14E69E2, 0xAA4060EF,  0xB7527BF8, 0xBC5C72F5,
+	0xD50605BE, 0xDE080CB3,  0xC31A17A4, 0xC8141EA9, 0xF93E218A, 0xF2302887,  0xEF223390, 0xE42C3A9D,
+	0x3D96DD06, 0x3698D40B,  0x2B8ACF1C, 0x2084C611, 0x11AEF932, 0x1AA0F03F,  0x07B2EB28, 0x0CBCE225,
+	0x65E6956E, 0x6EE89C63,  0x73FA8774, 0x78F48E79, 0x49DEB15A, 0x42D0B857,  0x5FC2A340, 0x54CCAA4D,
+	0xF741ECDA, 0xFC4FE5D7,  0xE15DFEC0, 0xEA53F7CD, 0xDB79C8EE, 0xD077C1E3,  0xCD65DAF4, 0xC66BD3F9,
+	0xAF31A4B2, 0xA43FADBF,  0xB92DB6A8, 0xB223BFA5, 0x83098086, 0x8807898B,  0x9515929C, 0x9E1B9B91,
+	0x47A17C0A, 0x4CAF7507,  0x51BD6E10, 0x5AB3671D, 0x6B99583E, 0x60975133,  0x7D854A24, 0x768B4329,
+	0x1FD13462, 0x14DF3D6F,  0x09CD2678, 0x02C32F75, 0x33E91056, 0x38E7195B,  0x25F5024C, 0x2EFB0B41,
+	0x8C9AD761, 0x8794DE6C,  0x9A86C57B, 0x9188CC76, 0xA0A2F355, 0xABACFA58,  0xB6BEE14F, 0xBDB0E842,
+	0xD4EA9F09, 0xDFE49604,  0xC2F68D13, 0xC9F8841E, 0xF8D2BB3D, 0xF3DCB230,  0xEECEA927, 0xE5C0A02A,
+	0x3C7A47B1, 0x37744EBC,  0x2A6655AB, 0x21685CA6, 0x10426385, 0x1B4C6A88,  0x065E719F, 0x0D507892,
+	0x640A0FD9, 0x6F0406D4,  0x72161DC3, 0x791814CE, 0x48322BED, 0x433C22E0,  0x5E2E39F7, 0x552030FA,
+	0x01EC9AB7, 0x0AE293BA,  0x17F088AD, 0x1CFE81A0, 0x2DD4BE83, 0x26DAB78E,  0x3BC8AC99, 0x30C6A594,
+	0x599CD2DF, 0x5292DBD2,  0x4F80C0C5, 0x448EC9C8, 0x75A4F6EB, 0x7EAAFFE6,  0x63B8E4F1, 0x68B6EDFC,
+	0xB10C0A67, 0xBA02036A,  0xA710187D, 0xAC1E1170, 0x9D342E53, 0x963A275E,  0x8B283C49, 0x80263544,
+	0xE97C420F, 0xE2724B02,  0xFF605015, 0xF46E5918, 0xC544663B, 0xCE4A6F36,  0xD3587421, 0xD8567D2C,
+	0x7A37A10C, 0x7139A801,  0x6C2BB316, 0x6725BA1B, 0x560F8538, 0x5D018C35,  0x40139722, 0x4B1D9E2F,
+	0x2247E964, 0x2949E069,  0x345BFB7E, 0x3F55F273, 0x0E7FCD50, 0x0571C45D,  0x1863DF4A, 0x136DD647,
+	0xCAD731DC, 0xC1D938D1,  0xDCCB23C6, 0xD7C52ACB, 0xE6EF15E8, 0xEDE11CE5,  0xF0F307F2, 0xFBFD0EFF,
+	0x92A779B4, 0x99A970B9,  0x84BB6BAE, 0x8FB562A3, 0xBE9F5D80, 0xB591548D,  0xA8834F9A, 0xA38D4697,
+};
+
+/* Corresponds to _IMXC0[256] */
+unsigned int mtpz_aes_gb14[] =
+{
+	0x00000000,  0x0E090D0B,   0x1C121A16,  0x121B171D,  0x3824342C,  0x362D3927,   0x24362E3A,  0x2A3F2331,
+	0x70486858,  0x7E416553,   0x6C5A724E,  0x62537F45,  0x486C5C74,  0x4665517F,   0x547E4662,  0x5A774B69,
+	0xE090D0B0,  0xEE99DDBB,   0xFC82CAA6,  0xF28BC7AD,  0xD8B4E49C,  0xD6BDE997,   0xC4A6FE8A,  0xCAAFF381,
+	0x90D8B8E8,  0x9ED1B5E3,   0x8CCAA2FE,  0x82C3AFF5,  0xA8FC8CC4,  0xA6F581CF,   0xB4EE96D2,  0xBAE79BD9,
+	0xDB3BBB7B,  0xD532B670,   0xC729A16D,  0xC920AC66,  0xE31F8F57,  0xED16825C,   0xFF0D9541,  0xF104984A,
+	0xAB73D323,  0xA57ADE28,   0xB761C935,  0xB968C43E,  0x9357E70F,  0x9D5EEA04,   0x8F45FD19,  0x814CF012,
+	0x3BAB6BCB,  0x35A266C0,   0x27B971DD,  0x29B07CD6,  0x038F5FE7,  0x0D8652EC,   0x1F9D45F1,  0x119448FA,
+	0x4BE30393,  0x45EA0E98,   0x57F11985,  0x59F8148E,  0x73C737BF,  0x7DCE3AB4,   0x6FD52DA9,  0x61DC20A2,
+	0xAD766DF6,  0xA37F60FD,   0xB16477E0,  0xBF6D7AEB,  0x955259DA,  0x9B5B54D1,   0x894043CC,  0x87494EC7,
+	0xDD3E05AE,  0xD33708A5,   0xC12C1FB8,  0xCF2512B3,  0xE51A3182,  0xEB133C89,   0xF9082B94,  0xF701269F,
+	0x4DE6BD46,  0x43EFB04D,   0x51F4A750,  0x5FFDAA5B,  0x75C2896A,  0x7BCB8461,   0x69D0937C,  0x67D99E77,
+	0x3DAED51E,  0x33A7D815,   0x21BCCF08,  0x2FB5C203,  0x058AE132,  0x0B83EC39,   0x1998FB24,  0x1791F62F,
+	0x764DD68D,  0x7844DB86,   0x6A5FCC9B,  0x6456C190,  0x4E69E2A1,  0x4060EFAA,   0x527BF8B7,  0x5C72F5BC,
+	0x0605BED5,  0x080CB3DE,   0x1A17A4C3,  0x141EA9C8,  0x3E218AF9,  0x302887F2,   0x223390EF,  0x2C3A9DE4,
+	0x96DD063D,  0x98D40B36,   0x8ACF1C2B,  0x84C61120,  0xAEF93211,  0xA0F03F1A,   0xB2EB2807,  0xBCE2250C,
+	0xE6956E65,  0xE89C636E,   0xFA877473,  0xF48E7978,  0xDEB15A49,  0xD0B85742,   0xC2A3405F,  0xCCAA4D54,
+	0x41ECDAF7,  0x4FE5D7FC,   0x5DFEC0E1,  0x53F7CDEA,  0x79C8EEDB,  0x77C1E3D0,   0x65DAF4CD,  0x6BD3F9C6,
+	0x31A4B2AF,  0x3FADBFA4,   0x2DB6A8B9,  0x23BFA5B2,  0x09808683,  0x07898B88,   0x15929C95,  0x1B9B919E,
+	0xA17C0A47,  0xAF75074C,   0xBD6E1051,  0xB3671D5A,  0x99583E6B,  0x97513360,   0x854A247D,  0x8B432976,
+	0xD134621F,  0xDF3D6F14,   0xCD267809,  0xC32F7502,  0xE9105633,  0xE7195B38,   0xF5024C25,  0xFB0B412E,
+	0x9AD7618C,  0x94DE6C87,   0x86C57B9A,  0x88CC7691,  0xA2F355A0,  0xACFA58AB,   0xBEE14FB6,  0xB0E842BD,
+	0xEA9F09D4,  0xE49604DF,   0xF68D13C2,  0xF8841EC9,  0xD2BB3DF8,  0xDCB230F3,   0xCEA927EE,  0xC0A02AE5,
+	0x7A47B13C,  0x744EBC37,   0x6655AB2A,  0x685CA621,  0x42638510,  0x4C6A881B,   0x5E719F06,  0x5078920D,
+	0x0A0FD964,  0x0406D46F,   0x161DC372,  0x1814CE79,  0x322BED48,  0x3C22E043,   0x2E39F75E,  0x2030FA55,
+	0xEC9AB701,  0xE293BA0A,   0xF088AD17,  0xFE81A01C,  0xD4BE832D,  0xDAB78E26,   0xC8AC993B,  0xC6A59430,
+	0x9CD2DF59,  0x92DBD252,   0x80C0C54F,  0x8EC9C844,  0xA4F6EB75,  0xAAFFE67E,   0xB8E4F163,  0xB6EDFC68,
+	0x0C0A67B1,  0x02036ABA,   0x10187DA7,  0x1E1170AC,  0x342E539D,  0x3A275E96,   0x283C498B,  0x26354480,
+	0x7C420FE9,  0x724B02E2,   0x605015FF,  0x6E5918F4,  0x44663BC5,  0x4A6F36CE,   0x587421D3,  0x567D2CD8,
+	0x37A10C7A,  0x39A80171,   0x2BB3166C,  0x25BA1B67,  0x0F853856,  0x018C355D,   0x13972240,  0x1D9E2F4B,
+	0x47E96422,  0x49E06929,   0x5BFB7E34,  0x55F2733F,  0x7FCD500E,  0x71C45D05,   0x63DF4A18,  0x6DD64713,
+	0xD731DCCA,  0xD938D1C1,   0xCB23C6DC,  0xC52ACBD7,  0xEF15E8E6,  0xE11CE5ED,   0xF307F2F0,  0xFD0EFFFB,
+	0xA779B492,  0xA970B999,   0xBB6BAE84,  0xB562A38F,  0x9F5D80BE,  0x91548DB5,   0x834F9AA8,  0x8D4697A3,
+} ;
+
+/* Corresponds to _IMXC2[256] */
+unsigned int mtpz_aes_gb13[] =
+{
+	0x00000000,  0x0D0B0E09,   0x1A161C12,  0x171D121B,  0x342C3824,  0x3927362D,   0x2E3A2436,  0x23312A3F,
+	0x68587048,  0x65537E41,   0x724E6C5A,  0x7F456253,  0x5C74486C,  0x517F4665,   0x4662547E,  0x4B695A77,
+	0xD0B0E090,  0xDDBBEE99,   0xCAA6FC82,  0xC7ADF28B,  0xE49CD8B4,  0xE997D6BD,   0xFE8AC4A6,  0xF381CAAF,
+	0xB8E890D8,  0xB5E39ED1,   0xA2FE8CCA,  0xAFF582C3,  0x8CC4A8FC,  0x81CFA6F5,   0x96D2B4EE,  0x9BD9BAE7,
+	0xBB7BDB3B,  0xB670D532,   0xA16DC729,  0xAC66C920,  0x8F57E31F,  0x825CED16,   0x9541FF0D,  0x984AF104,
+	0xD323AB73,  0xDE28A57A,   0xC935B761,  0xC43EB968,  0xE70F9357,  0xEA049D5E,   0xFD198F45,  0xF012814C,
+	0x6BCB3BAB,  0x66C035A2,   0x71DD27B9,  0x7CD629B0,  0x5FE7038F,  0x52EC0D86,   0x45F11F9D,  0x48FA1194,
+	0x03934BE3,  0x0E9845EA,   0x198557F1,  0x148E59F8,  0x37BF73C7,  0x3AB47DCE,   0x2DA96FD5,  0x20A261DC,
+	0x6DF6AD76,  0x60FDA37F,   0x77E0B164,  0x7AEBBF6D,  0x59DA9552,  0x54D19B5B,   0x43CC8940,  0x4EC78749,
+	0x05AEDD3E,  0x08A5D337,   0x1FB8C12C,  0x12B3CF25,  0x3182E51A,  0x3C89EB13,   0x2B94F908,  0x269FF701,
+	0xBD464DE6,  0xB04D43EF,   0xA75051F4,  0xAA5B5FFD,  0x896A75C2,  0x84617BCB,   0x937C69D0,  0x9E7767D9,
+	0xD51E3DAE,  0xD81533A7,   0xCF0821BC,  0xC2032FB5,  0xE132058A,  0xEC390B83,   0xFB241998,  0xF62F1791,
+	0xD68D764D,  0xDB867844,   0xCC9B6A5F,  0xC1906456,  0xE2A14E69,  0xEFAA4060,   0xF8B7527B,  0xF5BC5C72,
+	0xBED50605,  0xB3DE080C,   0xA4C31A17,  0xA9C8141E,  0x8AF93E21,  0x87F23028,   0x90EF2233,  0x9DE42C3A,
+	0x063D96DD,  0x0B3698D4,   0x1C2B8ACF,  0x112084C6,  0x3211AEF9,  0x3F1AA0F0,   0x2807B2EB,  0x250CBCE2,
+	0x6E65E695,  0x636EE89C,   0x7473FA87,  0x7978F48E,  0x5A49DEB1,  0x5742D0B8,   0x405FC2A3,  0x4D54CCAA,
+	0xDAF741EC,  0xD7FC4FE5,   0xC0E15DFE,  0xCDEA53F7,  0xEEDB79C8,  0xE3D077C1,   0xF4CD65DA,  0xF9C66BD3,
+	0xB2AF31A4,  0xBFA43FAD,   0xA8B92DB6,  0xA5B223BF,  0x86830980,  0x8B880789,   0x9C951592,  0x919E1B9B,
+	0x0A47A17C,  0x074CAF75,   0x1051BD6E,  0x1D5AB367,  0x3E6B9958,  0x33609751,   0x247D854A,  0x29768B43,
+	0x621FD134,  0x6F14DF3D,   0x7809CD26,  0x7502C32F,  0x5633E910,  0x5B38E719,   0x4C25F502,  0x412EFB0B,
+	0x618C9AD7,  0x6C8794DE,   0x7B9A86C5,  0x769188CC,  0x55A0A2F3,  0x58ABACFA,   0x4FB6BEE1,  0x42BDB0E8,
+	0x09D4EA9F,  0x04DFE496,   0x13C2F68D,  0x1EC9F884,  0x3DF8D2BB,  0x30F3DCB2,   0x27EECEA9,  0x2AE5C0A0,
+	0xB13C7A47,  0xBC37744E,   0xAB2A6655,  0xA621685C,  0x85104263,  0x881B4C6A,   0x9F065E71,  0x920D5078,
+	0xD9640A0F,  0xD46F0406,   0xC372161D,  0xCE791814,  0xED48322B,  0xE0433C22,   0xF75E2E39,  0xFA552030,
+	0xB701EC9A,  0xBA0AE293,   0xAD17F088,  0xA01CFE81,  0x832DD4BE,  0x8E26DAB7,   0x993BC8AC,  0x9430C6A5,
+	0xDF599CD2,  0xD25292DB,   0xC54F80C0,  0xC8448EC9,  0xEB75A4F6,  0xE67EAAFF,   0xF163B8E4,  0xFC68B6ED,
+	0x67B10C0A,  0x6ABA0203,   0x7DA71018,  0x70AC1E11,  0x539D342E,  0x5E963A27,   0x498B283C,  0x44802635,
+	0x0FE97C42,  0x02E2724B,   0x15FF6050,  0x18F46E59,  0x3BC54466,  0x36CE4A6F,   0x21D35874,  0x2CD8567D,
+	0x0C7A37A1,  0x017139A8,   0x166C2BB3,  0x1B6725BA,  0x38560F85,  0x355D018C,   0x22401397,  0x2F4B1D9E,
+	0x642247E9,  0x692949E0,   0x7E345BFB,  0x733F55F2,  0x500E7FCD,  0x5D0571C4,   0x4A1863DF,  0x47136DD6,
+	0xDCCAD731,  0xD1C1D938,   0xC6DCCB23,  0xCBD7C52A,  0xE8E6EF15,  0xE5EDE11C,   0xF2F0F307,  0xFFFBFD0E,
+	0xB492A779,  0xB999A970,   0xAE84BB6B,  0xA38FB562,  0x80BE9F5D,  0x8DB59154,   0x9AA8834F,  0x97A38D46,
+};
+
+/* Corresponds to _IMXC3[256] */
+unsigned int mtpz_aes_gb9[] =
+{
+	0x00000000,  0x090D0B0E,   0x121A161C,  0x1B171D12,  0x24342C38,  0x2D392736,   0x362E3A24,  0x3F23312A,
+	0x48685870,  0x4165537E,   0x5A724E6C,  0x537F4562,  0x6C5C7448,  0x65517F46,   0x7E466254,  0x774B695A,
+	0x90D0B0E0,  0x99DDBBEE,   0x82CAA6FC,  0x8BC7ADF2,  0xB4E49CD8,  0xBDE997D6,   0xA6FE8AC4,  0xAFF381CA,
+	0xD8B8E890,  0xD1B5E39E,   0xCAA2FE8C,  0xC3AFF582,  0xFC8CC4A8,  0xF581CFA6,   0xEE96D2B4,  0xE79BD9BA,
+	0x3BBB7BDB,  0x32B670D5,   0x29A16DC7,  0x20AC66C9,  0x1F8F57E3,  0x16825CED,   0x0D9541FF,  0x04984AF1,
+	0x73D323AB,  0x7ADE28A5,   0x61C935B7,  0x68C43EB9,  0x57E70F93,  0x5EEA049D,   0x45FD198F,  0x4CF01281,
+	0xAB6BCB3B,  0xA266C035,   0xB971DD27,  0xB07CD629,  0x8F5FE703,  0x8652EC0D,   0x9D45F11F,  0x9448FA11,
+	0xE303934B,  0xEA0E9845,   0xF1198557,  0xF8148E59,  0xC737BF73,  0xCE3AB47D,   0xD52DA96F,  0xDC20A261,
+	0x766DF6AD,  0x7F60FDA3,   0x6477E0B1,  0x6D7AEBBF,  0x5259DA95,  0x5B54D19B,   0x4043CC89,  0x494EC787,
+	0x3E05AEDD,  0x3708A5D3,   0x2C1FB8C1,  0x2512B3CF,  0x1A3182E5,  0x133C89EB,   0x082B94F9,  0x01269FF7,
+	0xE6BD464D,  0xEFB04D43,   0xF4A75051,  0xFDAA5B5F,  0xC2896A75,  0xCB84617B,   0xD0937C69,  0xD99E7767,
+	0xAED51E3D,  0xA7D81533,   0xBCCF0821,  0xB5C2032F,  0x8AE13205,  0x83EC390B,   0x98FB2419,  0x91F62F17,
+	0x4DD68D76,  0x44DB8678,   0x5FCC9B6A,  0x56C19064,  0x69E2A14E,  0x60EFAA40,   0x7BF8B752,  0x72F5BC5C,
+	0x05BED506,  0x0CB3DE08,   0x17A4C31A,  0x1EA9C814,  0x218AF93E,  0x2887F230,   0x3390EF22,  0x3A9DE42C,
+	0xDD063D96,  0xD40B3698,   0xCF1C2B8A,  0xC6112084,  0xF93211AE,  0xF03F1AA0,   0xEB2807B2,  0xE2250CBC,
+	0x956E65E6,  0x9C636EE8,   0x877473FA,  0x8E7978F4,  0xB15A49DE,  0xB85742D0,   0xA3405FC2,  0xAA4D54CC,
+	0xECDAF741,  0xE5D7FC4F,   0xFEC0E15D,  0xF7CDEA53,  0xC8EEDB79,  0xC1E3D077,   0xDAF4CD65,  0xD3F9C66B,
+	0xA4B2AF31,  0xADBFA43F,   0xB6A8B92D,  0xBFA5B223,  0x80868309,  0x898B8807,   0x929C9515,  0x9B919E1B,
+	0x7C0A47A1,  0x75074CAF,   0x6E1051BD,  0x671D5AB3,  0x583E6B99,  0x51336097,   0x4A247D85,  0x4329768B,
+	0x34621FD1,  0x3D6F14DF,   0x267809CD,  0x2F7502C3,  0x105633E9,  0x195B38E7,   0x024C25F5,  0x0B412EFB,
+	0xD7618C9A,  0xDE6C8794,   0xC57B9A86,  0xCC769188,  0xF355A0A2,  0xFA58ABAC,   0xE14FB6BE,  0xE842BDB0,
+	0x9F09D4EA,  0x9604DFE4,   0x8D13C2F6,  0x841EC9F8,  0xBB3DF8D2,  0xB230F3DC,   0xA927EECE,  0xA02AE5C0,
+	0x47B13C7A,  0x4EBC3774,   0x55AB2A66,  0x5CA62168,  0x63851042,  0x6A881B4C,   0x719F065E,  0x78920D50,
+	0x0FD9640A,  0x06D46F04,   0x1DC37216,  0x14CE7918,  0x2BED4832,  0x22E0433C,   0x39F75E2E,  0x30FA5520,
+	0x9AB701EC,  0x93BA0AE2,   0x88AD17F0,  0x81A01CFE,  0xBE832DD4,  0xB78E26DA,   0xAC993BC8,  0xA59430C6,
+	0xD2DF599C,  0xDBD25292,   0xC0C54F80,  0xC9C8448E,  0xF6EB75A4,  0xFFE67EAA,   0xE4F163B8,  0xEDFC68B6,
+	0x0A67B10C,  0x036ABA02,   0x187DA710,  0x1170AC1E,  0x2E539D34,  0x275E963A,   0x3C498B28,  0x35448026,
+	0x420FE97C,  0x4B02E272,   0x5015FF60,  0x5918F46E,  0x663BC544,  0x6F36CE4A,   0x7421D358,  0x7D2CD856,
+	0xA10C7A37,  0xA8017139,   0xB3166C2B,  0xBA1B6725,  0x8538560F,  0x8C355D01,   0x97224013,  0x9E2F4B1D,
+	0xE9642247,  0xE0692949,   0xFB7E345B,  0xF2733F55,  0xCD500E7F,  0xC45D0571,   0xDF4A1863,  0xD647136D,
+	0x31DCCAD7,  0x38D1C1D9,   0x23C6DCCB,  0x2ACBD7C5,  0x15E8E6EF,  0x1CE5EDE1,   0x07F2F0F3,  0x0EFFFBFD,
+	0x79B492A7,  0x70B999A9,   0x6BAE84BB,  0x62A38FB5,  0x5D80BE9F,  0x548DB591,   0x4F9AA883,  0x4697A38D,
+};
+
+static uint16_t
+ptp_mtpz_validatehandshakeresponse (PTPParams* params, unsigned char *random, unsigned char **calculatedHash)
+{
+	uint16_t ret;
+	unsigned int len;
+	unsigned char* response = NULL;
+
+	ret = ptp_mtpz_getwmdrmpdappresponse (params, &response, &len);
+	if (ret != PTP_RC_OK)
+	{
+		LIBMTP_INFO ("(MTPZ) Failure - did not receive device's response.\n");
+		return ret;
+	}
+
+	char *reader = (char *)response;
+	int i;
+
+	if (*(reader++) != '\x02')
+	{
+		return -1;
+	}
+
+	if (*(reader++) != '\x02')
+	{
+		return -1;
+	}
+
+	// Message is always 128 bytes.
+	reader++;
+	if (*(reader++) != '\x80')
+	{
+		return -1;
+	}
+
+	char *message = (char *)malloc(128);
+	memcpy(message, reader, 128);
+	reader += 128;
+
+	// Decrypt the hash-key-message..
+	char *msg_dec = (char *)malloc(128);
+	memset(msg_dec, 0, 128);
+
+	mtpz_rsa_t *rsa = mtpz_rsa_init(MTPZ_MODULUS, MTPZ_PRIVATE_KEY, MTPZ_PUBLIC_EXPONENT);
+	if (!rsa)
+	{
+		LIBMTP_INFO ("(MTPZ) Failure - could not instantiate RSA object.\n");
+		free(message);
+		free(msg_dec);
+		return -1;
+	}
+
+	if (mtpz_rsa_decrypt(128, (unsigned char *)message, 128, (unsigned char *)msg_dec, rsa) == 0)
+	{
+		LIBMTP_INFO ("(MTPZ) Failure - could not perform RSA decryption.\n");
+
+		free(message);
+		free(msg_dec);
+		mtpz_rsa_free(rsa);
+		return -1;
+	}
+
+	mtpz_rsa_free(rsa);
+	rsa = NULL;
+
+	char *state = mtpz_hash_init_state();
+	char *hash_key = (char *)malloc(16);
+	char *v10 = mtpz_hash_custom6A5DC(state, msg_dec + 21, 107, 20);
+
+	for (i = 0; i < 20; i++)
+		msg_dec[i + 1] ^= v10[i];
+
+	char *v11 = mtpz_hash_custom6A5DC(state, msg_dec + 1, 20, 107);
+
+	for (i = 0; i < 107; i++)
+		msg_dec[i + 21] ^= v11[i];
+
+	memcpy(hash_key, msg_dec + 112, 16);
+
+	// Encrypted message is 0x340 bytes.
+	reader += 2;
+	if (*(reader++) != '\x03' || *(reader++) != '\x40')
+	{
+		return -1;
+	}
+
+	unsigned char *act_msg = (unsigned char *)malloc(832);
+	unsigned char *act_reader = act_msg;
+	memcpy(act_msg, reader, 832);
+	reader = NULL;
+
+	mtpz_encryption_cipher_advanced((unsigned char *)hash_key, 16, act_msg, 832, 0);
+
+	act_reader++;
+	unsigned int certs_length = MTPZ_SWAP(*(unsigned int *)(act_reader));
+	act_reader += 4;
+	act_reader += certs_length;
+
+	unsigned int rand_length = MTPZ_SWAP(*(unsigned short *)(act_reader) << 16);
+	act_reader += 2;
+	unsigned char *rand_data = (unsigned char *)malloc(rand_length);
+	memcpy(rand_data, act_reader, rand_length);
+	if (memcmp(rand_data, random, 16) != 0)
+	{
+		free(rand_data);
+		return -1;
+	}
+	free(rand_data);
+	act_reader += rand_length;
+
+	unsigned int dev_rand_length = MTPZ_SWAP(*(unsigned short *)(act_reader) << 16);
+	act_reader += 2;
+	act_reader += dev_rand_length;
+
+	act_reader++;
+
+	unsigned int sig_length = MTPZ_SWAP(*(unsigned short *)(act_reader) << 16);
+	act_reader += 2;
+	act_reader += sig_length;
+
+	act_reader++;
+
+	unsigned int machash_length = MTPZ_SWAP(*(unsigned short *)(act_reader) << 16);
+	act_reader += 2;
+	unsigned char *machash_data = (unsigned char *)malloc(machash_length);
+	memcpy(machash_data, act_reader, machash_length);
+	act_reader += machash_length;
+
+	*calculatedHash = machash_data;
+
+	free(message);
+	free(msg_dec);
+	free(state);
+	free(v10);
+	free(v11);
+	free(act_msg);
+
+	return ret;
+}
+
+static uint16_t
+ptp_mtpz_opensecuresyncsession (PTPParams* params, unsigned char *hash)
+{
+	unsigned char	mch[16];
+	uint32_t	*hashparams = (unsigned int *)mch;
+	unsigned int	macCount = *(unsigned int *)(hash + 16);
+	uint16_t	ret;
+
+	mtpz_encryption_encrypt_mac(hash, 16, (unsigned char *)(&macCount), 4, mch);
+
+	ret = ptp_mtpz_wmdrmpd_enabletrustedfilesoperations(params,
+		MTPZ_SWAP(hashparams[0]), MTPZ_SWAP(hashparams[1]),
+		MTPZ_SWAP(hashparams[2]), MTPZ_SWAP(hashparams[3]));
+	return ret;
+};
+
+static unsigned char *
+ptp_mtpz_makeapplicationcertificatemessage (unsigned int *out_len, unsigned char **out_random)
+{
+	*out_len = 785;
+
+	unsigned char *acm = (unsigned char *)malloc(785);
+	unsigned char *target = acm;
+	memset(acm, 0, 785);
+
+	unsigned char *random = (unsigned char *)malloc(16);
+
+	int i = 0;
+	int certsLength = 0x275;
+
+	// Write the marker bytes, length of certificates, and certificates themselves.
+	*(target++) = '\x02';
+	*(target++) = '\x01';
+	*(target++) = '\x01';
+	*(target++) = '\x00';
+	*(target++) = '\x00';
+	*(target++) = '\x02';
+	*(target++) = '\x75';
+	memcpy(target, MTPZ_CERTIFICATES, certsLength);
+	target += certsLength;
+
+	// Write the random bytes.
+	*(target++) = '\x00';	*(target++) = '\x10';
+	srand(time(NULL));
+
+	for (i = 0; i < 16; i++)
+		*(random + i) = (unsigned char)(rand() % 256);
+
+	*out_random = random;
+	memcpy(target, random, 16);
+	target += 16;
+
+	char *state = mtpz_hash_init_state();
+	char *v16 = (char *)malloc(28); memset(v16, 0, 28);
+	char *hash = (char *)malloc(20); memset(hash, 0, 20);
+	char *odata = (char *)malloc(128); memset(odata, 0, 128);
+
+	mtpz_hash_reset_state(state);
+	mtpz_hash_transform_hash(state, (char *)acm + 2, (target - acm - 2));
+	mtpz_hash_finalize_hash(state, v16 + 8);
+
+	mtpz_hash_reset_state(state);
+	mtpz_hash_transform_hash(state, v16, 28);
+	mtpz_hash_finalize_hash(state, hash);
+
+	char *v17 = mtpz_hash_custom6A5DC(state, hash, 20, 107);
+
+	for (i = 0; i < 20; i++)
+		odata[107 + i] = hash[i];
+
+	odata[106] = '\x01';
+
+	if (v17 != NULL)
+	{
+		for (i = 0; i < 107; i++)
+			odata[i] ^= v17[i];
+
+		odata[0] &= 127;
+		odata[127] = 188;
+	}
+
+	// Free up some jazz.
+	free(state); state = NULL;
+	free(v16); v16 = NULL;
+	free(v17); v17 = NULL;
+	free(hash); hash = NULL;
+
+	// Take care of some RSA jazz.
+	mtpz_rsa_t *rsa = mtpz_rsa_init(MTPZ_MODULUS, MTPZ_PRIVATE_KEY, MTPZ_PUBLIC_EXPONENT);
+	if (!rsa)
+	{
+		LIBMTP_INFO("(MTPZ) Failure - could not instantiate RSA object.\n");
+		*out_len = 0;
+		return NULL;
+	}
+
+	char *signature = (char *)malloc(128);
+	memset(signature, 0, 128);
+	mtpz_rsa_sign(128, (unsigned char *)odata, 128, (unsigned char *)signature, rsa);
+
+	// Free some more things.
+	mtpz_rsa_free(rsa); rsa = NULL;
+	free(odata); odata = NULL;
+
+	// Write the signature + bytes.
+	*(target++) = '\x01'; *(target++) = '\x00'; *(target++) = '\x80';
+	memcpy(target, signature, 128);
+
+	// Kill target.
+	target = NULL;
+
+	return acm;
+};
+
+static unsigned char *
+ptp_mtpz_makeconfirmationmessage (unsigned char *hash, unsigned int *out_len)
+{
+	*out_len = 20;
+	unsigned char *message = (unsigned char *)malloc(20);
+	message[0] = (unsigned char)0x02;
+	message[1] = (unsigned char)0x03;
+	message[2] = (unsigned char)0x00;
+	message[3] = (unsigned char)0x10;
+
+	unsigned char *seed = (unsigned char *)malloc(16);
+	memset(seed, 0, 16);
+	seed[15] = (unsigned char)(0x01);
+
+	mtpz_encryption_encrypt_mac(hash, 16u, seed, 16u, message + 4);
+
+	free(seed);
+
+	return message;
+}
+
+uint16_t ptp_mtpz_handshake (PTPParams* params)
+{
+	uint16_t ret = PTP_RC_OK;
+	uint32_t size;
+	unsigned char *hash=NULL;
+	unsigned char *random=NULL;
+	PTPPropertyValue propval;
+	unsigned char*	applicationCertificateMessage;
+	unsigned char*	message;
+
+	/* FIXME: do other places of libmtp set it? should we set it? */
+	LIBMTP_INFO ("(MTPZ) Setting session initiator info.\n");
+	propval.str = "libmtp/Sajid Anwar - MTPZClassDriver";
+	ret = ptp_setdevicepropvalue(params,
+		   PTP_DPC_MTP_SessionInitiatorInfo,
+		   &propval,
+		   PTP_DTC_STR);
+	if (ret != PTP_RC_OK)
+		return ret;
+
+	LIBMTP_INFO ("(MTPZ) Resetting handshake.\n");
+	ret = ptp_mtpz_resethandshake(params);
+	if (ret != PTP_RC_OK)
+		return ret;
+
+	LIBMTP_INFO ("(MTPZ) Sending application certificate message.\n");
+	applicationCertificateMessage = ptp_mtpz_makeapplicationcertificatemessage(&size, &random);
+	ret = ptp_mtpz_sendwmdrmpdapprequest (params, applicationCertificateMessage, size);
+	free (applicationCertificateMessage);
+	if (ret != PTP_RC_OK)
+		return ret;
+
+	LIBMTP_INFO ("(MTPZ) Getting and validating handshake response.\n");
+	ret = ptp_mtpz_validatehandshakeresponse(params, random, &hash);
+	if (ret != PTP_RC_OK)
+		goto free_random;
+
+	LIBMTP_INFO ("(MTPZ) Sending confirmation message.\n");
+	message = ptp_mtpz_makeconfirmationmessage(hash, &size);
+        ret = ptp_mtpz_sendwmdrmpdapprequest (params, message, size);
+	if (ret != PTP_RC_OK)
+		goto free_hash;
+	free (message);
+
+	LIBMTP_INFO ("(MTPZ) Opening secure sync session.\n");
+	ret = ptp_mtpz_opensecuresyncsession(params, hash);
+free_hash:
+	free(hash);
+free_random:
+	free(random);
+	return ret;
+}
diff --git a/src/mtpz.h b/src/mtpz.h
new file mode 100644
index 0000000..c7c231b
--- /dev/null
+++ b/src/mtpz.h
@@ -0,0 +1,51 @@
+/**
+ * \file mtpz.h
+ *
+ * Copyright (C) 2011-2012 Sajid Anwar <sajidanwar94@gmail.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ */
+#ifndef MTPZ_H_INCLUSION_GUARD
+#define MTPZ_H_INCLUSION_GUARD
+
+#include "config.h" /* USE_MTPZ or not */
+#include "ptp.h" /* PTPParams */
+
+#ifdef USE_MTPZ
+
+uint16_t ptp_mtpz_handshake (PTPParams* params);
+int mtpz_loaddata(void);
+
+#else
+
+/* Stubs if mtpz is unused */
+static inline uint16_t ptp_mtpz_handshake (PTPParams* params)
+{
+  return PTP_RC_OperationNotSupported;
+}
+
+static inline int mtpz_loaddata(void)
+{
+  return -1;
+}
+
+#endif
+
+int use_mtpz;
+
+#endif /* LIBMTP_H_INCLUSION_GUARD */
+
diff --git a/src/music-players.h b/src/music-players.h
index 6867887..29ce31d 100644
--- a/src/music-players.h
+++ b/src/music-players.h
@@ -3,9 +3,10 @@
  * List of music players as USB ids.
  *
  * Copyright (C) 2005-2007 Richard A. Low <richard@wentnet.com>
- * Copyright (C) 2005-2009 Linus Walleij <triad@df.lth.se>
- * Copyright (C) 2006-2007 Marcus Meissner
+ * Copyright (C) 2005-2013 Linus Walleij <triad@df.lth.se>
+ * Copyright (C) 2006-2007,2015-2017 Marcus Meissner <marcus@jet.franken.de>
  * Copyright (C) 2007 Ted Bullock
+ * Copyright (C) 2012 Sony Mobile Communications AB
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -45,29 +46,39 @@
    * some of the folders will start to disappear when getting all objects
    * and properties.
    */
-
-  { "Samsung",  0x4e8, "Galaxy S2, S3, Note", 0x6860, DEVICE_FLAG_NONE},
-  { "Motorola", 0x22b8, "Xoom", 0x70a9, DEVICE_FLAG_NONE },
-  { "Motorola", 0x22b8, "Xoom", 0x70a8 , DEVICE_FLAG_NONE},
-  { "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 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 },
+  { "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 },
   // 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 },
   // 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 },
   // Reported by Darel on the XNJB forums
   { "Creative", 0x041e, "ZEN V Plus", 0x4152,
       DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
@@ -75,8 +86,9 @@
       DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
   // 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 |
+  { "Creative", 0x041e, "ZEN", 0x4157,
+      DEVICE_FLAG_IGNORE_HEADER_ERRORS |
+      DEVICE_FLAG_BROKEN_SET_SAMPLE_DIMENSIONS |
       DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
   // Reported by Ringofan <mcroman@users.sourceforge.net>
   { "Creative", 0x041e, "ZEN V 2GB", 0x4158,
@@ -87,9 +99,16 @@
   // Reported by Aaron F. Gonzalez <sub_tex@users.sourceforge.net>
   { "Creative", 0x041e, "ZEN X-Fi", 0x4162,
       DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
+  // Reported by farmerstimuli <farmerstimuli@users.sourceforge.net>
+  { "Creative", 0x041e, "ZEN X-Fi 3", 0x4169,
+      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
   // Reported by Todor Gyumyushev <yodor1@users.sourceforge.net>
   { "ZiiLABS", 0x041e, "Zii EGG", 0x6000,
-      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
+      DEVICE_FLAG_UNLOAD_DRIVER |
+      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
+      DEVICE_FLAG_NO_RELEASE_INTERFACE |
+      DEVICE_FLAG_ALWAYS_PROBE_DESCRIPTOR |
+      DEVICE_FLAG_CANNOT_HANDLE_DATEMODIFIED },
 
   /*
    * Samsung
@@ -99,11 +118,15 @@
    *  or DEVICE_FLAG_PLAYLIST_SPL_V2 to get playlists working.
    * YP-NEU, YP-NDU, YP-20, YP-800, YP-MF Series, YP-100, YP-30
    * YP-700 and YP-90 are NOT MTP, but use a Samsung custom protocol.
+   * See: http://wiki.xiph.org/index.php/PortablePlayers for Ogg
+   * status.
    */
   // From anonymous SourceForge user, not verified
   { "Samsung", 0x04e8, "YP-900", 0x0409, DEVICE_FLAG_NONE },
   // From MItch <dbaker@users.sourceforge.net>
   { "Samsung", 0x04e8, "I550W Phone", 0x04a4, DEVICE_FLAG_NONE },
+  // From Manfred Enning <menning@users.sourceforge.net>
+  { "Samsung", 0x04e8, "Jet S8000", 0x4f1f, DEVICE_FLAG_NONE },
   // From Gabriel Nunes <gabrielkm1@yahoo.com.br>
   { "Samsung", 0x04e8, "YH-920 (501d)", 0x501d, DEVICE_FLAG_UNLOAD_DRIVER },
   // From Soren O'Neill
@@ -112,124 +135,314 @@
   { "Samsung", 0x04e8, "YH-925GS", 0x5024, DEVICE_FLAG_NONE },
   // From libgphoto2, according to tests by Stephan Fabel it cannot
   // get all objects with the getobjectproplist command..
-  { "Samsung", 0x04e8, "YH-820", 0x502e, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
+  { "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 },
+  { "Samsung", 0x04e8, "YH-J70J", 0x5033,
+      DEVICE_FLAG_UNLOAD_DRIVER },
   // From XNJB user
   // Guessing on .spl flag
-  { "Samsung", 0x04e8, "YP-Z5", 0x503c, DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_PLAYLIST_SPL_V1 },
+  { "Samsung", 0x04e8, "YP-Z5", 0x503c,
+      DEVICE_FLAG_UNLOAD_DRIVER |
+      DEVICE_FLAG_OGG_IS_UNKNOWN |
+      DEVICE_FLAG_PLAYLIST_SPL_V1 },
   // Don't add 0x5041 as this is YP-Z5 in USB mode
   // Contributed by anonymous person on SourceForge
-  { "Samsung", 0x04e8, "YP-T7J", 0x5047, DEVICE_FLAG_UNLOAD_DRIVER },
+  { "Samsung", 0x04e8, "YP-T7J", 0x5047,
+      DEVICE_FLAG_UNLOAD_DRIVER |
+      DEVICE_FLAG_OGG_IS_UNKNOWN },
   // Reported by cstrickler@gmail.com
-  { "Samsung", 0x04e8, "YP-U2J (YP-U2JXB/XAA)", 0x5054, DEVICE_FLAG_UNLOAD_DRIVER },
+  { "Samsung", 0x04e8, "YP-U2J (YP-U2JXB/XAA)", 0x5054,
+      DEVICE_FLAG_UNLOAD_DRIVER |
+      DEVICE_FLAG_OGG_IS_UNKNOWN },
   // Reported by Andrew Benson
-  { "Samsung", 0x04e8, "YP-F2J", 0x5057, DEVICE_FLAG_UNLOAD_DRIVER },
+  { "Samsung", 0x04e8, "YP-F2J", 0x5057,
+      DEVICE_FLAG_UNLOAD_DRIVER },
   // Reported by Patrick <skibler@gmail.com>
   // Just guessing but looks like .spl v1 http://www.anythingbutipod.com/forum/showthread.php?t=14160
-  { "Samsung", 0x04e8, "YP-K5", 0x505a, DEVICE_FLAG_UNLOAD_DRIVER |
-      DEVICE_FLAG_NO_ZERO_READS | DEVICE_FLAG_PLAYLIST_SPL_V1 },
+  { "Samsung", 0x04e8, "YP-K5", 0x505a,
+      DEVICE_FLAG_UNLOAD_DRIVER |
+      DEVICE_FLAG_NO_ZERO_READS |
+      DEVICE_FLAG_PLAYLIST_SPL_V1 },
   // From dev.local@gmail.com - 0x4e8/0x507c is the UMS mode, apparently
   // do not add that device.
   // From m.eik michalke
   // This device does NOT use the special SPL playlist according to sypqgjxu@gmx.de.
-  { "Samsung", 0x04e8, "YP-U3", 0x507d, DEVICE_FLAG_UNLOAD_DRIVER },
+  { "Samsung", 0x04e8, "YP-U3", 0x507d,
+      DEVICE_FLAG_UNLOAD_DRIVER |
+      DEVICE_FLAG_OGG_IS_UNKNOWN },
   // Reported by Matthew Wilcox <matthew@wil.cx>
   // Sergio <sfrdll@tiscali.it> reports this device need the BROKEN ALL flag.
   // Guessing on .spl flag
-  { "Samsung", 0x04e8, "YP-T9", 0x507f, DEVICE_FLAG_UNLOAD_DRIVER |
-      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | DEVICE_FLAG_PLAYLIST_SPL_V1 },
+  { "Samsung", 0x04e8, "YP-T9", 0x507f,
+      DEVICE_FLAG_UNLOAD_DRIVER |
+      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
+      DEVICE_FLAG_OGG_IS_UNKNOWN |
+      DEVICE_FLAG_PLAYLIST_SPL_V1 },
   // From Paul Clinch
   // Just guessing but looks like .spl v1 http://www.anythingbutipod.com/forum/showthread.php?t=14160
   // Some versions of the firmware reportedly support OGG, reportedly only the
   // UMS versions, so MTP+OGG is not possible on this device.
-  { "Samsung", 0x04e8, "YP-K3", 0x5081, DEVICE_FLAG_UNLOAD_DRIVER |
+  { "Samsung", 0x04e8, "YP-K3", 0x5081,
+      DEVICE_FLAG_UNLOAD_DRIVER |
       DEVICE_FLAG_PLAYLIST_SPL_V1 },
   // From XNJB user
   // From Alistair Boyle, .spl v2 required for playlists
   // According to the device log it properly supports OGG
-  { "Samsung", 0x04e8, "YP-P2", 0x5083, DEVICE_FLAG_UNLOAD_DRIVER |
-      DEVICE_FLAG_NO_ZERO_READS | DEVICE_FLAG_PLAYLIST_SPL_V2 },
+  { "Samsung", 0x04e8, "YP-P2", 0x5083,
+      DEVICE_FLAG_UNLOAD_DRIVER |
+      DEVICE_FLAG_NO_ZERO_READS |
+      DEVICE_FLAG_OGG_IS_UNKNOWN |
+      DEVICE_FLAG_PLAYLIST_SPL_V2 },
   // From Paul Clinch
   // Guessing on .spl flag
-  { "Samsung", 0x04e8, "YP-T10", 0x508a, DEVICE_FLAG_UNLOAD_DRIVER |
-      DEVICE_FLAG_OGG_IS_UNKNOWN | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
-      DEVICE_FLAG_PLAYLIST_SPL_V1 | DEVICE_FLAG_NO_ZERO_READS },
+  { "Samsung", 0x04e8, "YP-T10", 0x508a,
+      DEVICE_FLAG_UNLOAD_DRIVER |
+      DEVICE_FLAG_OGG_IS_UNKNOWN |
+      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
+      DEVICE_FLAG_PLAYLIST_SPL_V1 |
+      DEVICE_FLAG_NO_ZERO_READS },
   // From Wim Verwimp <wimverwimp@gmail.com>
   // Not sure about the Ogg and broken proplist flags here. Just guessing.
   // Guessing on .spl flag
-  { "Samsung", 0x04e8, "YP-S5", 0x508b, DEVICE_FLAG_UNLOAD_DRIVER |
-      DEVICE_FLAG_OGG_IS_UNKNOWN | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
+  { "Samsung", 0x04e8, "YP-S5", 0x508b,
+      DEVICE_FLAG_UNLOAD_DRIVER |
+      DEVICE_FLAG_OGG_IS_UNKNOWN |
+      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
       DEVICE_FLAG_PLAYLIST_SPL_V1 },
   // From Ludovic Danigo
   // Guessing on .spl flag
-  { "Samsung", 0x04e8, "YP-S3", 0x5091, DEVICE_FLAG_UNLOAD_DRIVER |
-      DEVICE_FLAG_OGG_IS_UNKNOWN | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
+  { "Samsung", 0x04e8, "YP-S3", 0x5091,
+      DEVICE_FLAG_UNLOAD_DRIVER |
+      DEVICE_FLAG_OGG_IS_UNKNOWN |
+      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
       DEVICE_FLAG_PLAYLIST_SPL_V1 },
   // From Adrian Levi <adrian.levi@gmail.com>
   // Guessing on .spl flag
   // This one supports OGG properly through the correct MTP type.
   { "Samsung", 0x04e8, "YP-U4", 0x5093, DEVICE_FLAG_UNLOAD_DRIVER },
-  // From Anonymous SourceForge user, NOT VERIFIED TO BE MTP
+  // From Chris Le Sueur <thefishface@gmail.com>
   // Guessing on .spl flag
-  { "Samsung", 0x04e8, "YP-Q1", 0x5115, DEVICE_FLAG_UNLOAD_DRIVER |
-      DEVICE_FLAG_OGG_IS_UNKNOWN | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
-      DEVICE_FLAG_PLAYLIST_SPL_V1 },
+  // This one supports OGG properly through the correct MTP type.
+  { "Samsung", 0x04e8, "YP-R1", 0x510f,
+      DEVICE_FLAG_UNLOAD_DRIVER |
+      DEVICE_FLAG_UNIQUE_FILENAMES |
+      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
   // From Anonymous SourceForge user
   // Guessing on .spl flag
-  { "Samsung", 0x04e8, "YP-P3", 0x511a, DEVICE_FLAG_UNLOAD_DRIVER |
-     DEVICE_FLAG_OGG_IS_UNKNOWN | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
+  { "Samsung", 0x04e8, "YP-Q1", 0x5115,
+      DEVICE_FLAG_UNLOAD_DRIVER |
+      DEVICE_FLAG_OGG_IS_UNKNOWN |
+      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
+      DEVICE_FLAG_PLAYLIST_SPL_V1 },
+  // From Holger
+  { "Samsung", 0x04e8, "YP-M1", 0x5118,
+      DEVICE_FLAG_UNLOAD_DRIVER |
+      DEVICE_FLAG_OGG_IS_UNKNOWN |
+      DEVICE_FLAG_PLAYLIST_SPL_V2 },
+  // From Anonymous SourceForge user
+  // Guessing on .spl flag
+  { "Samsung", 0x04e8, "YP-P3", 0x511a,
+      DEVICE_FLAG_UNLOAD_DRIVER |
+     DEVICE_FLAG_OGG_IS_UNKNOWN |
+      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
      DEVICE_FLAG_PLAYLIST_SPL_V1 },
   // From Anonymous SourceForge user
   // Guessing on .spl flag
-  { "Samsung", 0x04e8, "YP-Q2", 0x511d, DEVICE_FLAG_UNLOAD_DRIVER |
-      DEVICE_FLAG_OGG_IS_UNKNOWN | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
+  { "Samsung", 0x04e8, "YP-Q2", 0x511d,
+      DEVICE_FLAG_UNLOAD_DRIVER |
+      DEVICE_FLAG_OGG_IS_UNKNOWN |
+      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
       DEVICE_FLAG_PLAYLIST_SPL_V1 },
   // From Marco Pizzocaro <mpizzocaro@users.sourceforge.net>
   // Guessing on .spl flag
   { "Samsung", 0x04e8, "YP-U5", 0x5121,
-     DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_PLAYLIST_SPL_V1 },
-  // From a rouge .INF file,
+      DEVICE_FLAG_UNLOAD_DRIVER |
+      DEVICE_FLAG_PLAYLIST_SPL_V1 |
+      DEVICE_FLAG_UNIQUE_FILENAMES |
+      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
+  // From Leonardo Accorsi <laccorsi@users.sourceforge.net>
+  // Guessing on .spl flag
+  { "Samsung", 0x04e8, "YP-R0", 0x5125,
+      DEVICE_FLAG_UNLOAD_DRIVER |
+      DEVICE_FLAG_PLAYLIST_SPL_V1 |
+      DEVICE_FLAG_UNIQUE_FILENAMES |
+      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
+  // The "YP-R2" (0x04e8/0x512d) is NOT MTP, it is UMS only.
+  // Guessing on device flags for the MTP mode...
+ { "Samsung", 0x04e8, "YP-R2", 0x512e,
+     DEVICE_FLAG_UNLOAD_DRIVER |
+     DEVICE_FLAG_OGG_IS_UNKNOWN |
+     DEVICE_FLAG_UNIQUE_FILENAMES |
+     DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
+     DEVICE_FLAG_PLAYLIST_SPL_V1 },
+  // From Manuel Carro
+  // Copied from Q2
+ { "Samsung", 0x04e8, "YP-Q3", 0x5130,
+     DEVICE_FLAG_UNLOAD_DRIVER |
+     DEVICE_FLAG_OGG_IS_UNKNOWN |
+     DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
+     DEVICE_FLAG_PLAYLIST_SPL_V1 },
+ // Reported by: traaf <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 },
+  // YP-F3 is NOT MTP - USB mass storage
+  // From a rouge .INF file
   // this device ID seems to have been recycled for:
   // the Samsung SGH-A707 Cingular cellphone
   // the Samsung L760-V cellphone
   // the Samsung SGH-U900 cellphone
-  { "Samsung", 0x04e8, "YH-999 Portable Media Center/SGH-A707/SGH-L760V/SGH-U900", 0x5a0f, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
+  // the Samsung Fascinate player
+  { "Samsung", 0x04e8,
+      "YH-999 Portable Media Center/SGH-A707/SGH-L760V/SGH-U900/Verizon Intensity/Fascinate",
+      0x5a0f, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
   // From Santi Béjar <sbejar@gmail.com> - not sure this is MTP...
   // { "Samsung", 0x04e8, "Z170 Mobile Phone", 0x6601, DEVICE_FLAG_UNLOAD_DRIVER },
   // From Santi Béjar <sbejar@gmail.com> - not sure this is MTP...
   // { "Samsung", 0x04e8, "E250 Mobile Phone", 0x663e, DEVICE_FLAG_UNLOAD_DRIVER },
+  // From an anonymous SF user
+  { "Samsung", 0x04e8, "M7600 Beat/GT-S8300T/SGH-F490/S8300", 0x6642,
+      DEVICE_FLAG_UNLOAD_DRIVER |
+      DEVICE_FLAG_BROKEN_BATTERY_LEVEL },
   // From Lionel Bouton
-  { "Samsung", 0x04e8, "X830 Mobile Phone", 0x6702, DEVICE_FLAG_UNLOAD_DRIVER },
+  { "Samsung", 0x04e8, "X830 Mobile Phone", 0x6702,
+      DEVICE_FLAG_UNLOAD_DRIVER },
   // From James <jamestech@gmail.com>
-  { "Samsung", 0x04e8, "U600 Mobile Phone", 0x6709, DEVICE_FLAG_UNLOAD_DRIVER },
+  { "Samsung", 0x04e8, "U600 Mobile Phone", 0x6709,
+      DEVICE_FLAG_UNLOAD_DRIVER },
   // From Cesar Cardoso <cesar@cesarcardoso.tk>
   // No confirmation that this is really MTP.
-  { "Samsung", 0x04e8, "F250 Mobile Phone", 0x6727, DEVICE_FLAG_UNLOAD_DRIVER },
+  { "Samsung", 0x04e8, "F250 Mobile Phone", 0x6727,
+      DEVICE_FLAG_UNLOAD_DRIVER },
   // From Charlie Todd  2007-10-31
-  { "Samsung", 0x04e8, "Juke (SCH-U470)", 0x6734, DEVICE_FLAG_UNLOAD_DRIVER},
+  { "Samsung", 0x04e8, "Juke (SCH-U470)", 0x6734,
+      DEVICE_FLAG_UNLOAD_DRIVER},
   // Reported by Tenn
-  { "Samsung", 0x04e8, "GT-B2700", 0x6752, DEVICE_FLAG_UNLOAD_DRIVER },
+  { "Samsung", 0x04e8, "GT-B2700", 0x6752,
+      DEVICE_FLAG_UNLOAD_DRIVER },
   // Added by Greg Fitzgerald <netzdamon@gmail.com>
-  { "Samsung", 0x04e8, "SAMSUNG Trance", 0x6763, DEVICE_FLAG_UNLOAD_DRIVER |
-      DEVICE_FLAG_NO_ZERO_READS | DEVICE_FLAG_PLAYLIST_SPL_V1 },
+  { "Samsung", 0x04e8, "SAMSUNG Trance", 0x6763,
+      DEVICE_FLAG_UNLOAD_DRIVER |
+     DEVICE_FLAG_NO_ZERO_READS |
+      DEVICE_FLAG_PLAYLIST_SPL_V1 },
+  // From anonymous sourceforge user
+  // Guessing on .spl flag, maybe needs NO_ZERO_READS, whatdoIknow
+  { "Samsung", 0x04e8, "GT-S8500", 0x6819,
+      DEVICE_FLAG_UNLOAD_DRIVER |
+      DEVICE_FLAG_PLAYLIST_SPL_V1 },
+  /*
+   * These entries seems to be used on a *lot* of Samsung
+   * Android phones. It is *not* the Android MTP stack but an internal
+   * Samsung stack. The devices present a few different product IDs
+   * depending on mode:
+   *
+   * 0x685b - UMS
+   * 0x685c - MTP + ADB
+   * 0x685e - UMS + CDC (not MTP)
+   * 0x6860 - MTP mode (default)
+   * 0x6863 - USB CDC RNDIS (not MTP)
+   * 0x6865 - PTP mode (not MTP)
+   * 0x6877 - Kies mode? Does it have MTP?
+   *
+   * Used on these samsung devices:
+   * GT P7310/P7510/N7000/I9100/I9250/I9300
+   * Galaxy Nexus
+   * Galaxy Tab 7.7/10.1
+   * Galaxy S GT-I9000
+   * Galaxy S Advance GT-I9070
+   * Galaxy S2
+   * Galaxy S3
+   * Galaxy Note
+   * Gakaxy Xcover
+   * Galaxy Y
+   *
+   * - It seems that some PTP commands are broken.
+   * - Devices seem to have a connection timeout, the session must be
+   *   open in about 3 seconds since the device is plugged in, after
+   *   that time it will not respond. Thus GUI programs work fine.
+   * - Seems also to be used with Galaxy Nexus debug mode and on
+   *   US markets for some weird reason.
+   *
+   * From: Ignacio Martínez <ignacio.martinezrivera@yahoo.es> and others
+   * From Harrison Metzger <harrisonmetz@gmail.com>
+   */
+  { "Samsung", 0x04e8,
+      "Galaxy models (MTP+ADB)", 0x685c,
+      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
+      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
+      DEVICE_FLAG_UNLOAD_DRIVER |
+      DEVICE_FLAG_LONG_TIMEOUT |
+      DEVICE_FLAG_PROPLIST_OVERRIDES_OI	|
+      DEVICE_FLAG_OGG_IS_UNKNOWN |
+      DEVICE_FLAG_FLAC_IS_UNKNOWN },
+  { "Samsung", 0x04e8,
+      "Galaxy models (MTP)", 0x6860,
+      /*DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
+      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |*/
+      DEVICE_FLAG_UNLOAD_DRIVER |
+      DEVICE_FLAG_LONG_TIMEOUT |
+      DEVICE_FLAG_PROPLIST_OVERRIDES_OI |
+      DEVICE_FLAG_OGG_IS_UNKNOWN |
+      DEVICE_FLAG_FLAC_IS_UNKNOWN },
+  // From: Erik Berglund <erikjber@users.sourceforge.net>
+  // Logs indicate this needs DEVICE_FLAG_NO_ZERO_READS
+  // No Samsung platlists on this device.
+  // https://sourceforge.net/tracker/?func=detail&atid=809061&aid=3026337&group_id=158745
+  // i5800 duplicate reported by igel <igel-kun@users.sourceforge.net>
+  // Guessing this has the same problematic MTP stack as the device
+  // above.
+  { "Samsung", 0x04e8, "Galaxy models Kies mode", 0x6877,
+      DEVICE_FLAG_UNLOAD_DRIVER |
+      DEVICE_FLAG_LONG_TIMEOUT |
+      DEVICE_FLAG_PROPLIST_OVERRIDES_OI	|
+      DEVICE_FLAG_OGG_IS_UNKNOWN |
+      DEVICE_FLAG_FLAC_IS_UNKNOWN },
+  // From: John Gorkos <ab0oo@users.sourceforge.net> and
+  // Akos Maroy <darkeye@users.sourceforge.net>
+  { "Samsung", 0x04e8, "Vibrant SGH-T959/Captivate/Media player mode", 0x68a9,
+      DEVICE_FLAG_UNLOAD_DRIVER |
+      DEVICE_FLAG_PLAYLIST_SPL_V1 },
+  // Reported by Sleep.Walker <froser@users.sourceforge.net>
+  { "Samsung", 0x04e8, "GT-B2710/Xcover 271", 0x68af,
+      DEVICE_FLAG_UNLOAD_DRIVER |
+      DEVICE_FLAG_PLAYLIST_SPL_V1 },
   // From anonymous Sourceforge user
   { "Samsung", 0x04e8, "GT-S5230", 0xe20c, DEVICE_FLAG_NONE },
 
 
-
   /*
-   * Intel
+   * Microsoft
+   * All except the first probably need MTPZ to work
    */
-  { "Intel", 0x045e, "Bandon Portable Media Center", 0x00c9, DEVICE_FLAG_NONE },
+  { "Microsoft/Intel", 0x045e, "Bandon Portable Media Center", 0x00c9,
+      DEVICE_FLAG_NONE },
+  // HTC Mozart is using the PID, as is Nokia Lumia 800
+  // May need MTPZ to work
+  { "Microsoft", 0x045e, "Windows Phone", 0x04ec, DEVICE_FLAG_NONE },
   // Reported by Tadimarri Sarath <sarath.tadi@gmail.com>
   // No idea why this use an Intel PID, perhaps a leftover from
   // the early PMC development days when Intel and Microsoft were
   // partnering.
   { "Microsoft", 0x045e, "Windows MTP Simulator", 0x0622, DEVICE_FLAG_NONE },
+  // Reported by Edward Hutchins (used for Zune HDs)
+  { "Microsoft", 0x045e, "Zune HD", 0x063e, DEVICE_FLAG_NONE },
+  { "Microsoft", 0x045e, "Kin 1", 0x0640, DEVICE_FLAG_NONE },
+  { "Microsoft/Sharp/nVidia", 0x045e, "Kin TwoM", 0x0641, DEVICE_FLAG_NONE },
+  // Reported by Farooq Zaman (used for all Zunes)
+  { "Microsoft", 0x045e, "Zune", 0x0710, DEVICE_FLAG_NONE },
+  /* https://sourceforge.net/p/libmtp/feature-requests/155/ */
+  { "Microsoft", 0x045e, "Lumia 950 XL Dual SIM (RM-1116)", 0x0a00, DEVICE_FLAG_NONE },
+  // Reported by Olegs Jeremejevs
+  { "Microsoft/HTC", 0x045e, "HTC 8S", 0xf0ca, DEVICE_FLAG_NONE },
 
   /*
    * JVC
@@ -237,6 +450,9 @@
   // From Mark Veinot
   { "JVC", 0x04f1, "Alneo XA-HD500", 0x6105, DEVICE_FLAG_NONE },
 
+  /* https://sourceforge.net/p/libmtp/bugs/1613/ */
+  { "Intex", 0x05c6, "Aqua Fish", 0x0a07, DEVICE_FLAG_NONE },
+
   /*
    * Philips
    */
@@ -261,28 +477,167 @@
   { "Philips", 0x0471, "GoGear SA6014/SA6015/SA6024/SA6025/SA6044/SA6045", 0x084e, DEVICE_FLAG_UNLOAD_DRIVER },
   // From anonymous Sourceforge user SA5145/02
   { "Philips", 0x0471, "GoGear SA5145", 0x0857, DEVICE_FLAG_UNLOAD_DRIVER },
+  /* https://sourceforge.net/p/libmtp/bugs/1260/ */
+  { "Philips", 0x0471, "i908", 0x190b, DEVICE_FLAG_UNLOAD_DRIVER },
   // From a
   { "Philips", 0x0471, "GoGear SA6125/SA6145/SA6185", 0x2002, DEVICE_FLAG_UNLOAD_DRIVER },
   // From anonymous Sourceforge user, not verified to be MTP!
   { "Philips", 0x0471, "GoGear SA3345", 0x2004, DEVICE_FLAG_UNLOAD_DRIVER },
+  /* https://sourceforge.net/p/libmtp/support-requests/163/ */
+  { "Philips", 0x0471, "W6610", 0x2008, DEVICE_FLAG_UNLOAD_DRIVER },
   // From Roberto Vidmar <rvidmar@libero.it>
   { "Philips", 0x0471, "SA5285", 0x2022, DEVICE_FLAG_UNLOAD_DRIVER },
   // From Elie De Brauwer <elie@de-brauwer.be>
   { "Philips", 0x0471, "GoGear ViBE SA1VBE04", 0x2075,
     DEVICE_FLAG_UNLOAD_DRIVER },
+  // From Anonymous SourceForge user
+  { "Philips", 0x0471, "GoGear Muse", 0x2077,
+      DEVICE_FLAG_UNLOAD_DRIVER },
   // From Elie De Brauwer <elie@de-brauwer.be>
-  { "Philips", 0x0471, "GoGear ViBE SA1VBE08", 0x207b,
+  { "Philips", 0x0471, "GoGear ViBE SA1VBE04/08", 0x207b,
     DEVICE_FLAG_UNLOAD_DRIVER },
   // From josmtx <josmtx@users.sourceforge.net>
   { "Philips", 0x0471, "GoGear Aria", 0x207c,
     DEVICE_FLAG_UNLOAD_DRIVER },
+  // From epklein
+  { "Philips", 0x0471, "GoGear SA1VBE08KX/78", 0x208e,
+    DEVICE_FLAG_UNLOAD_DRIVER },
+  // From Anonymous SourceForge User
+  { "Philips", 0x0471, "GoGear VIBE SA2VBE[08|16]K/02", 0x20b7,
+      DEVICE_FLAG_UNLOAD_DRIVER },
+  // From Anonymous SourceForge User
+  { "Philips", 0x0471, "GoGear Ariaz", 0x20b9,
+      DEVICE_FLAG_UNLOAD_DRIVER },
+  // From Anonymous SourceForge User
+  { "Philips", 0x0471, "GoGear Vibe/02", 0x20e5,
+      DEVICE_FLAG_UNLOAD_DRIVER },
+  // Reported by Philip Rhoades
+  { "Philips", 0x0471, "GoGear Ariaz/97", 0x2138,
+      DEVICE_FLAG_UNLOAD_DRIVER },
+  /* https://sourceforge.net/p/libmtp/bugs/1186/ */
+  { "Philips", 0x0471, "PI3900B2/58 ", 0x2190,
+      DEVICE_FLAG_UNLOAD_DRIVER },
   // from XNJB user
   { "Philips", 0x0471, "PSA235", 0x7e01, DEVICE_FLAG_NONE },
 
+  /*
+   * Acer
+   * Reporters:
+   * Franck VDL <franckv@users.sourceforge.net>
+   * Matthias Arndt <simonsunnyboy@users.sourceforge.net>
+   * Arvin Schnell <arvins@users.sourceforge.net>
+   * Philippe Marzouk <philm@users.sourceforge.net>
+   * nE0sIghT <ne0sight@users.sourceforge.net>
+   * Maxime de Roucy <maxime1986@users.sourceforge.net>
+   */
+  { "Acer", 0x0502, "Iconia TAB A500 (ID1)", 0x3325,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Acer", 0x0502, "Iconia TAB A500 (ID2)", 0x3341,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Acer", 0x0502, "Iconia TAB A501 (ID1)", 0x3344,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Acer", 0x0502, "Iconia TAB A501 (ID2)", 0x3345,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Acer", 0x0502, "Iconia TAB A100 (ID1)", 0x3348,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Acer", 0x0502, "Iconia TAB A100 (ID2)", 0x3349,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Acer", 0x0502, "Iconia TAB A101 (ID1)", 0x334a,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Acer", 0x0502, "Iconia TAB A700", 0x3378,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Acer", 0x0502, "Iconia TAB A200 (ID1)", 0x337c,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Acer", 0x0502, "Iconia TAB A200 (ID2)", 0x337d,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Acer", 0x0502, "Iconia TAB A510 (ID1)", 0x3389,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Acer", 0x0502, "Iconia TAB A510 (ID2)", 0x338a,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Acer", 0x0502, "S500 CloudMobile", 0x33aa,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Acer", 0x0502, "E350 Liquid Gallant Duo (ID1)", 0x33c3,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Acer", 0x0502, "E350 Liquid Gallant Duo (ID2)", 0x33c4,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Acer", 0x0502, "Iconia TAB A210", 0x33cb,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Acer", 0x0502, "Iconia TAB A110", 0x33d8,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Acer", 0x0502, "Liquid Z120 MT65xx Android Phone", 0x3473,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1029/ */
+  { "Acer", 0x0502, "Liquid E2", 0x3514,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Acer", 0x0502, "Iconia A1-810", 0x353c,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Acer", 0x0502, "Liquid Z130 MT65xx Android Phone", 0x355f,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1206/ */
+  { "Acer", 0x0502, "Iconia A3-A11", 0x3586,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1103/ */
+  { "Acer", 0x0502, "Liquid E3", 0x35a8,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1147/ */
+  { "Acer", 0x0502, "Z150", 0x35e4,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1184/ */
+  { "Acer", 0x0502, "Liquid X1", 0x3609,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1298/ */
+  { "Acer", 0x0502, "Z160", 0x361d,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Acer", 0x0502, "Iconia A1-840FHD", 0x362d,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1251/ */
+  { "Acer", 0x0502, "E39", 0x3643,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1369/ */
+  { "Acer", 0x0502, "liquid e700", 0x3644,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Acer", 0x0502, "One 7", 0x3657,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/support-requests/183/ */
+  { "Acer", 0x0502, "Z200", 0x3683,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1579/ */
+  { "Acer", 0x0502, "A1-841", 0x365e,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1341/ */
+  { "Acer", 0x0502, "Liquid S56", 0x3725,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/support-requests/228/ */
+  { "Acer", 0x0502, "Liquid Z220 (ID1)", 0x374f,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/support-requests/188/ */
+  { "Acer", 0x0502, "Liquid Z220 (ID2)", 0x3750,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1478/ */
+  { "Acer", 0x0502, "Liquid Z330", 0x3750,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1552/ */
+  { "Acer", 0x0502, "Liquid Z630", 0x37ef,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1469/ */
+  { "Acer", 0x0502, "Z530", 0x3822,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1534/ */
+  { "Acer", 0x0502, "Z530 16GB", 0x3823,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* Reported by Jocelyn Mayer <l_indien@magic.fr> */
+  { "Acer", 0x0502, "Iconia One 10", 0x3841,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* Mia */
+  { "Acer", 0x0502, "Liquid Zest Plus", 0x38bb,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* Richard Waterbeek <richard@fotobakje.nl> on libmtp-discuss */
+  { "Acer", 0x0502, "Liquid Liquid Z6E", 0x3938,
+      DEVICE_FLAGS_ANDROID_BUGS },
 
   /*
    * SanDisk
-   * several devices (c150 for sure) are definately dual-mode and must 
+   * several devices (c150 for sure) are definately dual-mode and must
    * have the USB mass storage driver that hooks them unloaded first.
    * They all have problematic dual-mode making the device unload effect
    * uncertain on these devices.
@@ -291,8 +646,9 @@
    * Old chipsets: e200/c200 use PP5024 from Nvidia (formerly PortalPlayer).
    * m200 use TCC770 from Telechips.
    *
-   * The newer Sansa v2 chipset, AD3525 from Austriamicrosystems (AMS) found 
-   * in e280 v2 c200 v2, Clip, Fuze etc require DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST
+   * The newer Sansa v2 chipset, AD3525 from Austriamicrosystems (AMS) found
+   * in e280 v2 c200 v2, Clip, Fuze etc require
+   * DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST
    * and DEVICE_FLAG_ALWAYS_PROBE_DESCRIPTOR to work properly.
    *
    * For more info see: http://daniel.haxx.se/sansa/v2.html
@@ -360,92 +716,114 @@
   { "SanDisk", 0x0781, "Sansa Fuze", 0x74c0,
     DEVICE_FLAG_UNLOAD_DRIVER |  DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
     DEVICE_FLAG_NO_RELEASE_INTERFACE | DEVICE_FLAG_ALWAYS_PROBE_DESCRIPTOR |
+    DEVICE_FLAG_BROKEN_SET_SAMPLE_DIMENSIONS |
     DEVICE_FLAG_CANNOT_HANDLE_DATEMODIFIED },
   // Harry Phillips <tuxcomputers@users.sourceforge.net>
   { "SanDisk", 0x0781, "Sansa Fuze v2", 0x74c2,
     DEVICE_FLAG_UNLOAD_DRIVER |  DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
     DEVICE_FLAG_NO_RELEASE_INTERFACE | DEVICE_FLAG_ALWAYS_PROBE_DESCRIPTOR |
+    DEVICE_FLAG_BROKEN_SET_SAMPLE_DIMENSIONS |
     DEVICE_FLAG_CANNOT_HANDLE_DATEMODIFIED },
+  // Reported by anonymous SourceForge user
+  // Need BROKEN_SET_SAMPLE_DIMENSIONS accordning to
+  // Michael <mpapet@users.sourceforge.net>
+  { "SanDisk", 0x0781, "Sansa Clip+", 0x74d0,
+    DEVICE_FLAG_UNLOAD_DRIVER |  DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
+    DEVICE_FLAG_NO_RELEASE_INTERFACE | DEVICE_FLAG_ALWAYS_PROBE_DESCRIPTOR |
+    DEVICE_FLAG_BROKEN_SET_SAMPLE_DIMENSIONS |
+    DEVICE_FLAG_CANNOT_HANDLE_DATEMODIFIED},
+  // Reported by anonymous SourceForge user
+  { "SanDisk", 0x0781, "Sansa Fuze+", 0x74e0,
+    DEVICE_FLAG_UNLOAD_DRIVER |  DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
+    DEVICE_FLAG_NO_RELEASE_INTERFACE | DEVICE_FLAG_ALWAYS_PROBE_DESCRIPTOR |
+    DEVICE_FLAG_BROKEN_SET_SAMPLE_DIMENSIONS |
+    DEVICE_FLAG_CANNOT_HANDLE_DATEMODIFIED},
+  // Reported by mattyj2001@users.sourceforge.net
+  { "SanDisk", 0x0781, "Sansa Clip Zip", 0x74e4,
+    DEVICE_FLAG_UNLOAD_DRIVER |  DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
+    DEVICE_FLAG_NO_RELEASE_INTERFACE | DEVICE_FLAG_ALWAYS_PROBE_DESCRIPTOR |
+    DEVICE_FLAG_BROKEN_SET_SAMPLE_DIMENSIONS |
+    DEVICE_FLAG_CANNOT_HANDLE_DATEMODIFIED},
 
   /*
    * iRiver
    * we assume that PTP_OC_MTP_GetObjPropList is essentially
    * broken on all iRiver devices, meaning it simply won't return
-   * all properties for a file when asking for metadata 0xffffffff. 
+   * all properties for a file when asking for metadata 0xffffffff.
    * Please test on your device if you believe it isn't broken!
    */
   { "iRiver", 0x1006, "H300 Series MTP", 0x3004,
-    DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS | 
+    DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS |
     DEVICE_FLAG_IRIVER_OGG_ALZHEIMER },
-  { "iRiver", 0x1006, "Portable Media Center", 0x4002,
-    DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS | 
+  { "iRiver", 0x1006, "Portable Media Center 1", 0x4002,
+    DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS |
     DEVICE_FLAG_IRIVER_OGG_ALZHEIMER },
-  { "iRiver", 0x1006, "Portable Media Center", 0x4003,
-    DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS | 
+  { "iRiver", 0x1006, "Portable Media Center 2", 0x4003,
+    DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS |
     DEVICE_FLAG_IRIVER_OGG_ALZHEIMER },
   // From [st]anislav <iamstanislav@gmail.com>
   { "iRiver", 0x1042, "T7 Volcano", 0x1143, DEVICE_FLAG_IRIVER_OGG_ALZHEIMER },
   // From an anonymous person at SourceForge, uncertain about this one
-  { "iRiver", 0x4102, "iFP-880", 0x1008, 
-    DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS | 
+  { "iRiver", 0x4102, "iFP-880", 0x1008,
+    DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS |
     DEVICE_FLAG_IRIVER_OGG_ALZHEIMER },
   // 0x4102, 0x1042 is a USB mass storage mode for E100 v2/Lplayer
   // From libgphoto2 source
-  { "iRiver", 0x4102, "T10", 0x1113, 
-    DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS | 
+  { "iRiver", 0x4102, "T10", 0x1113,
+    DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS |
     DEVICE_FLAG_IRIVER_OGG_ALZHEIMER },
-  { "iRiver", 0x4102, "T20 FM", 0x1114, 
-    DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS | 
+  { "iRiver", 0x4102, "T20 FM", 0x1114,
+    DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS |
     DEVICE_FLAG_IRIVER_OGG_ALZHEIMER },
   // This appears at the MTP-UMS site
-  { "iRiver", 0x4102, "T20", 0x1115, 
-    DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS | 
+  { "iRiver", 0x4102, "T20", 0x1115,
+    DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS |
     DEVICE_FLAG_IRIVER_OGG_ALZHEIMER },
-  { "iRiver", 0x4102, "U10", 0x1116, 
-    DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS | 
+  { "iRiver", 0x4102, "U10", 0x1116,
+    DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS |
     DEVICE_FLAG_IRIVER_OGG_ALZHEIMER },
-  { "iRiver", 0x4102, "T10a", 0x1117, 
-    DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS | 
+  { "iRiver", 0x4102, "T10b", 0x1117,
+    DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS |
     DEVICE_FLAG_IRIVER_OGG_ALZHEIMER },
-  { "iRiver", 0x4102, "T20", 0x1118, 
-    DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS | 
+  { "iRiver", 0x4102, "T20b", 0x1118,
+    DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS |
     DEVICE_FLAG_IRIVER_OGG_ALZHEIMER },
-  { "iRiver", 0x4102, "T30", 0x1119, 
-    DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS | 
+  { "iRiver", 0x4102, "T30", 0x1119,
+    DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS |
     DEVICE_FLAG_IRIVER_OGG_ALZHEIMER },
   // Reported by David Wolpoff
-  { "iRiver", 0x4102, "T10 2GB", 0x1120, 
-    DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS | 
+  { "iRiver", 0x4102, "T10 2GB", 0x1120,
+    DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS |
     DEVICE_FLAG_IRIVER_OGG_ALZHEIMER },
   // Rough guess this is the MTP device ID...
-  { "iRiver", 0x4102, "N12", 0x1122, 
-    DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS | 
+  { "iRiver", 0x4102, "N12", 0x1122,
+    DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS |
     DEVICE_FLAG_IRIVER_OGG_ALZHEIMER },
   // Reported by Philip Antoniades <philip@mysql.com>
   // Newer iriver devices seem to have shaped-up firmware without any
   // of the annoying bugs.
   { "iRiver", 0x4102, "Clix2", 0x1126, DEVICE_FLAG_NONE },
   // Reported by Adam Torgerson
-  { "iRiver", 0x4102, "Clix", 0x112a, 
+  { "iRiver", 0x4102, "Clix", 0x112a,
     DEVICE_FLAG_NO_ZERO_READS | DEVICE_FLAG_IRIVER_OGG_ALZHEIMER },
   // Reported by Douglas Roth <dougaus@gmail.com>
-  { "iRiver", 0x4102, "X20", 0x1132, 
-    DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS | 
+  { "iRiver", 0x4102, "X20", 0x1132,
+    DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS |
     DEVICE_FLAG_IRIVER_OGG_ALZHEIMER },
   // Reported by Robert Ugo <robert_ugo@users.sourceforge.net>
-  { "iRiver", 0x4102, "T60", 0x1134, 
-    DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS | 
+  { "iRiver", 0x4102, "T60", 0x1134,
+    DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS |
     DEVICE_FLAG_IRIVER_OGG_ALZHEIMER },
   // Reported by two anonymous SourceForge users
   // Needs the stronger OGG_IS_UNKNOWN flag to support OGG properly,
   // be aware of newer players that may be needing this too.
-  { "iRiver", 0x4102, "E100", 0x1141, 
-    DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS | 
+  { "iRiver", 0x4102, "E100", 0x1141,
+    DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS |
     DEVICE_FLAG_OGG_IS_UNKNOWN },
   // Reported by anonymous SourceForge user
   // Need verification of whether this firmware really need all these flags
-  { "iRiver", 0x4102, "E100 v2/Lplayer", 0x1142, 
-    DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS | 
+  { "iRiver", 0x4102, "E100 v2/Lplayer", 0x1142,
+    DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS |
     DEVICE_FLAG_OGG_IS_UNKNOWN },
   // Reported by Richard Vennemann <vennemann@users.sourceforge.net>
   // In USB Mass Storage mode it is 0x4102/0x1047
@@ -453,27 +831,53 @@
   { "iRiver", 0x4102, "Spinn", 0x1147, DEVICE_FLAG_NONE },
   // Reported by Tony Janssen <tonyjanssen@users.sourceforge.net>
   { "iRiver", 0x4102, "E50", 0x1151,
-    DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS | 
+    DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS |
+    DEVICE_FLAG_OGG_IS_UNKNOWN },
+  // Reported by anonymous SourceForge user, guessing on flags
+  { "iRiver", 0x4102, "E150", 0x1152,
+    DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS |
+    DEVICE_FLAG_OGG_IS_UNKNOWN },
+  // Reported by Jakub Matraszek <jakub.matraszek@gmail.com>
+  { "iRiver", 0x4102, "T5", 0x1153,
+    DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
+    DEVICE_FLAG_NO_ZERO_READS | DEVICE_FLAG_OGG_IS_UNKNOWN },
+  // Reported by pyalex@users.sourceforge.net
+  // Guessing that this needs the FLAG_NO_ZERO_READS...
+  { "iRiver", 0x4102, "E30", 0x1167,
+    DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS |
+    DEVICE_FLAG_OGG_IS_UNKNOWN },
+  /* https://sourceforge.net/p/libmtp/bugs/1634/ 
+   * copying flags from above */
+  { "iRiver", 0x4102, "AK70", 0x1200,
+    DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS |
     DEVICE_FLAG_OGG_IS_UNKNOWN },
   // Reported by Scott Call
   // Assume this actually supports OGG though it reports it doesn't.
-  { "iRiver", 0x4102, "H10 20GB", 0x2101, 
-    DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS | 
+  { "iRiver", 0x4102, "H10 20GB", 0x2101,
+    DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS |
     DEVICE_FLAG_OGG_IS_UNKNOWN },
-  { "iRiver", 0x4102, "H10 5GB", 0x2102, 
-    DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS | 
+  { "iRiver", 0x4102, "H10 5GB", 0x2102,
+    DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS |
     DEVICE_FLAG_OGG_IS_UNKNOWN },
   // From Rockbox device listing
-  { "iRiver", 0x4102, "H10 5.6GB", 0x2105, 
-    DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS | 
+  { "iRiver", 0x4102, "H10 5.6GB", 0x2105,
+    DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS |
     DEVICE_FLAG_OGG_IS_UNKNOWN },
 
 
   /*
    * Dell
    */
-  { "Dell, Inc", 0x413c, "DJ Itty", 0x4500, DEVICE_FLAG_NONE },
-  
+  { "Dell Inc", 0x413c, "DJ Itty", 0x4500,
+      DEVICE_FLAG_NONE },
+  /* Reported by: JR */
+  { "Dell Inc", 0x413c, "Dell Streak 7", 0xb10b,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Dell Inc", 0x413c, "Dell Venue 7 inch", 0xb11a,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Dell Inc", 0x413c, "Dell Venue 7 inch (2nd ID)", 0xb11b,
+      DEVICE_FLAGS_ANDROID_BUGS },
+
   /*
    * Toshiba
    * Tentatively flagged all Toshiba devices with
@@ -481,64 +885,167 @@
    * showed erroneous behaviour.
    */
   { "Toshiba", 0x0930, "Gigabeat MEGF-40", 0x0009,
-    DEVICE_FLAG_NO_RELEASE_INTERFACE |  DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST },
+      DEVICE_FLAG_NO_RELEASE_INTERFACE |
+      DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST },
   { "Toshiba", 0x0930, "Gigabeat", 0x000c,
-    DEVICE_FLAG_NO_RELEASE_INTERFACE |  DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST },
+      DEVICE_FLAG_NO_RELEASE_INTERFACE |
+      DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST },
   // Reported by Nicholas Tripp
   { "Toshiba", 0x0930, "Gigabeat P20", 0x000f,
-    DEVICE_FLAG_NO_RELEASE_INTERFACE |  DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST },
+      DEVICE_FLAG_NO_RELEASE_INTERFACE |
+      DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST },
   // From libgphoto2
-  { "Toshiba", 0x0930, "Gigabeat S", 0x0010, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
-      DEVICE_FLAG_NO_RELEASE_INTERFACE |  DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST },
+  { "Toshiba", 0x0930, "Gigabeat S", 0x0010,
+      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
+      DEVICE_FLAG_NO_RELEASE_INTERFACE |
+      DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST },
   // Reported by Rob Brown
   { "Toshiba", 0x0930, "Gigabeat P10", 0x0011,
-    DEVICE_FLAG_NO_RELEASE_INTERFACE |  DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST },
+      DEVICE_FLAG_NO_RELEASE_INTERFACE |
+      DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST },
   // Reported by solanum@users.sourceforge.net
   { "Toshiba", 0x0930, "Gigabeat V30", 0x0014,
-    DEVICE_FLAG_NO_RELEASE_INTERFACE |  DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST },
+      DEVICE_FLAG_NO_RELEASE_INTERFACE |
+      DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST },
   // Reported by Michael Davis <slithy@yahoo.com>
   { "Toshiba", 0x0930, "Gigabeat U", 0x0016,
-    DEVICE_FLAG_NO_RELEASE_INTERFACE |  DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST },
+      DEVICE_FLAG_NO_RELEASE_INTERFACE |
+      DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST },
   // Reported by Devon Jacobs <devo@godevo.com>
   { "Toshiba", 0x0930, "Gigabeat MEU202", 0x0018,
-    DEVICE_FLAG_NO_RELEASE_INTERFACE |  DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST },
+      DEVICE_FLAG_NO_RELEASE_INTERFACE |
+      DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST },
   // Reported by Rolf <japan (at) dl3lar.de>
   { "Toshiba", 0x0930, "Gigabeat T", 0x0019,
-    DEVICE_FLAG_NO_RELEASE_INTERFACE |  DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST },
+      DEVICE_FLAG_NO_RELEASE_INTERFACE |
+      DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST },
   // Reported by Phil Ingram <ukpbert@users.sourceforge.net>
   // Tentatively added - no real reports of this device ID being MTP,
   // reports as USB Mass Storage currently.
   { "Toshiba", 0x0930, "Gigabeat MEU201", 0x001a,
-    DEVICE_FLAG_NO_RELEASE_INTERFACE |  DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST },
+      DEVICE_FLAG_NO_RELEASE_INTERFACE |
+      DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST },
   // Reported by anonymous SourceForge user
   { "Toshiba", 0x0930, "Gigabeat MET401", 0x001d,
-    DEVICE_FLAG_NO_RELEASE_INTERFACE |  DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST },
+      DEVICE_FLAG_NO_RELEASE_INTERFACE |
+      DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST },
+  // Reported by Andree Jacobson <nmcandree@users.sourceforge.net>
+  { "Toshiba", 0x0930, "Excite AT300", 0x0963,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1557/ */
+  { "Toshiba", 0x0930, "Excite AT200", 0x0960,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  // Reported by Nigel Cunningham <nigel@tuxonice.net>
+  // Guessing on Android bugs
+  { "Toshiba", 0x0930, "Thrive AT100/AT105", 0x7100,
+      DEVICE_FLAGS_ANDROID_BUGS },
 
-  
   /*
    * Archos
    * These devices have some dual-mode interfaces which will really
    * respect the driver unloading, so DEVICE_FLAG_UNLOAD_DRIVER
    * really work on these devices!
+   *
+   * Devices reported by:
+   * Archos
+   * Alexander Haertig <AlexanderHaertig@gmx.de>
+   * Jan Binder
+   * gudul1@users.sourceforge.net
+   * Etienne Chauchot <chauchot.etienne@free.fr>
+   * Kay McCormick <kaym@modsystems.com>
+   * Joe Rabinoff
+   * Jim Krehl <jimmuhk@users.sourceforge.net>
+   * Adrien Guichard <tmor@users.sourceforge.net>
+   * Clément <clemvangelis@users.sourceforge.net>
+   * Thackert <hackertenator@users.sourceforge.net>
+   * Till <Till@users.sourceforge.net>
+   * Sebastien ROHAUT
    */
-  // Reported by Alexander Haertig <AlexanderHaertig@gmx.de>
   { "Archos", 0x0e79, "Gmini XS100", 0x1207, DEVICE_FLAG_UNLOAD_DRIVER },
-  // Added by Jan Binder
   { "Archos", 0x0e79, "XS202 (MTP mode)", 0x1208, DEVICE_FLAG_NONE },
-  // Reported by gudul1@users.sourceforge.net
   { "Archos", 0x0e79, "104 (MTP mode)", 0x120a, DEVICE_FLAG_NONE },
-  // Reported by anonymous Sourceforge user.
+  { "Archos", 0x0e79, "204 (MTP mode)", 0x120c, DEVICE_FLAG_UNLOAD_DRIVER },
   { "Archos", 0x0e79, "404 (MTP mode)", 0x1301, DEVICE_FLAG_UNLOAD_DRIVER },
-  // Reported by Etienne Chauchot <chauchot.etienne@free.fr>
+  { "Archos", 0x0e79, "404CAM (MTP mode)", 0x1303, DEVICE_FLAG_UNLOAD_DRIVER },
   { "Archos", 0x0e79, "504 (MTP mode)", 0x1307, DEVICE_FLAG_UNLOAD_DRIVER },
-  // Reported by Kay McCormick <kaym@modsystems.com>
+  { "Archos", 0x0e79, "604 (MTP mode)", 0x1309, DEVICE_FLAG_UNLOAD_DRIVER },
+  { "Archos", 0x0e79, "604WIFI (MTP mode)", 0x130b, DEVICE_FLAG_UNLOAD_DRIVER },
   { "Archos", 0x0e79, "704 mobile dvr", 0x130d, DEVICE_FLAG_UNLOAD_DRIVER },
-  // Reported by Joe Rabinoff
+  { "Archos", 0x0e79, "704TV (MTP mode)", 0x130f, DEVICE_FLAG_UNLOAD_DRIVER },
+  { "Archos", 0x0e79, "405 (MTP mode)", 0x1311, DEVICE_FLAG_UNLOAD_DRIVER },
   { "Archos", 0x0e79, "605 (MTP mode)", 0x1313, DEVICE_FLAG_UNLOAD_DRIVER },
-  // Reported by Jim Krehl <jimmuhk@users.sourceforge.net>
-  { "Archos", 0x0e79, "5 (MTP mode)", 0x1331, DEVICE_FLAG_UNLOAD_DRIVER },
-  // Reported by Adrien Guichard <tmor@users.sourceforge.net>
-  { "Archos", 0x0e79, "5 (MTP mode)", 0x1333, DEVICE_FLAG_UNLOAD_DRIVER },
+  { "Archos", 0x0e79, "605F (MTP mode)", 0x1315, DEVICE_FLAG_UNLOAD_DRIVER },
+  { "Archos", 0x0e79, "705 (MTP mode)", 0x1319, DEVICE_FLAG_UNLOAD_DRIVER },
+  { "Archos", 0x0e79, "TV+ (MTP mode)", 0x131b, DEVICE_FLAG_UNLOAD_DRIVER },
+  { "Archos", 0x0e79, "105 (MTP mode)", 0x131d, DEVICE_FLAG_UNLOAD_DRIVER },
+  { "Archos", 0x0e79, "405HDD (MTP mode)", 0x1321, DEVICE_FLAG_UNLOAD_DRIVER },
+  { "Archos", 0x0e79, "5 (MTP mode 1)", 0x1331, DEVICE_FLAG_UNLOAD_DRIVER },
+  { "Archos", 0x0e79, "5 (MTP mode 2)", 0x1333, DEVICE_FLAG_UNLOAD_DRIVER },
+  { "Archos", 0x0e79, "7 (MTP mode)", 0x1335, DEVICE_FLAG_UNLOAD_DRIVER },
+  { "Archos", 0x0e79, "SPOD (MTP mode)", 0x1341, DEVICE_FLAG_UNLOAD_DRIVER },
+  { "Archos", 0x0e79, "5S IT (MTP mode)", 0x1351, DEVICE_FLAG_UNLOAD_DRIVER },
+  { "Archos", 0x0e79, "5H IT (MTP mode)", 0x1357, DEVICE_FLAG_UNLOAD_DRIVER },
+  { "Archos", 0x0e79, "48 (MTP mode)", 0x1421, DEVICE_FLAGS_ANDROID_BUGS },
+  { "Archos", 0x0e79, "Arnova Childpad", 0x1458, DEVICE_FLAGS_ANDROID_BUGS },
+  { "Archos", 0x0e79, "Arnova 8c G3", 0x145e, DEVICE_FLAGS_ANDROID_BUGS },
+  { "Archos", 0x0e79, "Arnova 10bG3 Tablet", 0x146b, DEVICE_FLAGS_ANDROID_BUGS },
+  { "Archos", 0x0e79, "97 Xenon", 0x149a, DEVICE_FLAGS_ANDROID_BUGS },
+  { "Archos", 0x0e79, "97 Titanium", 0x14ad, DEVICE_FLAGS_ANDROID_BUGS },
+  { "Archos", 0x0e79, "80 Titanium", 0x14bf, DEVICE_FLAGS_ANDROID_BUGS },
+  { "Archos", 0x0e79, "101 Titanium", 0x14b9, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/feature-requests/91/ */
+  { "Archos", 0x0e79, "70b Titanium", 0x14ef, DEVICE_FLAGS_ANDROID_BUGS },
+  { "Archos", 0x0e79, "8o G9 (MTP mode)", 0x1508, DEVICE_FLAG_UNLOAD_DRIVER },
+  { "Archos", 0x0e79, "8o G9 Turbo (MTP mode)", 0x1509, DEVICE_FLAG_UNLOAD_DRIVER },
+  { "Archos", 0x0e79, "80G9", 0x1518, DEVICE_FLAGS_ANDROID_BUGS },
+  { "Archos", 0x0e79, "101 G9 (ID1)", 0x1528, DEVICE_FLAGS_ANDROID_BUGS },
+  { "Archos", 0x0e79, "101 G9 (ID2)", 0x1529, DEVICE_FLAGS_ANDROID_BUGS },
+  { "Archos", 0x0e79, "101 G9 Turbo 250 HD", 0x1538, DEVICE_FLAGS_ANDROID_BUGS },
+  { "Archos", 0x0e79, "101 G9 Turbo", 0x1539, DEVICE_FLAGS_ANDROID_BUGS },
+  { "Archos", 0x0e79, "101 XS", 0x1548, DEVICE_FLAGS_ANDROID_BUGS },
+  { "Archos", 0x0e79, "70it2 (ID 1)", 0x1568, DEVICE_FLAGS_ANDROID_BUGS },
+  { "Archos", 0x0e79, "70it2 (ID 2)", 0x1569, DEVICE_FLAGS_ANDROID_BUGS },
+  { "Archos", 0x0e79, "70 Cobalt", 0x15ba, DEVICE_FLAGS_ANDROID_BUGS },
+  { "Archos", 0x0e79, "50c", 0x2008, DEVICE_FLAGS_ANDROID_BUGS },
+  { "Archos", 0x0e79, "C40", 0x31ab, DEVICE_FLAGS_ANDROID_BUGS },
+  /* via libmtp-discuss Tonton <to.tonton@gmail.com> */
+  { "Archos", 0x0e79, "Helium 45B", 0x31d8, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1393/ */
+  { "Archos", 0x0e79, "Phone", 0x31e1, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1325/ */
+  { "Archos", 0x0e79, "45 Neon", 0x31f3, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1352/ */
+  { "Archos", 0x0e79, "50 Diamond", 0x3229, DEVICE_FLAGS_ANDROID_BUGS },
+  { "Archos", 0x0e79, "101 G4", 0x4002, DEVICE_FLAGS_ANDROID_BUGS },
+  { "Archos (for Tesco)", 0x0e79, "Hudl (ID1)", 0x5008, DEVICE_FLAGS_ANDROID_BUGS },
+  { "Archos (for Tesco)", 0x0e79, "Hudl (ID2)", 0x5009, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1404/ */
+  { "Archos", 0x0e79, "AC40DTI", 0x5217, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/feature-requests/221/ */
+  { "Archos", 0x0e79, "50 Helium Plus", 0x5229, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1682/ */
+  { "Archos", 0x0e79, "50 Helium Plus (2nd ID)", 0x522a, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1573/ */
+  { "Archos", 0x0e79, "101 xenon lite", 0x528c, DEVICE_FLAGS_ANDROID_BUGS },
+  { "Archos", 0x0e79, "101 xenon lite (ADB)", 0x528d, DEVICE_FLAGS_ANDROID_BUGS },
+
+  /* https://sourceforge.net/p/libmtp/bugs/1581/ */
+  { "Archos", 0x0e79, "40 Helium phone", 0x52c2, DEVICE_FLAGS_ANDROID_BUGS },
+
+  /* https://sourceforge.net/p/libmtp/support-requests/222/ */
+  { "Archos", 0x0e79, "Diamond S", 0x5305, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1587/ */
+  { "Archos", 0x0e79, "50d neon", 0x5371, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1660/ */
+  { "Archos", 0x0e79, "70b neon", 0x5395, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1637/ */
+  { "Archos", 0x0e79, "101b Oxygen", 0x542f, DEVICE_FLAGS_ANDROID_BUGS },
+
+  /* https://sourceforge.net/p/libmtp/support-requests/245/ */
+  { "Archos", 0x0e79, "55B Platinum", 0x544a, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/feature-requests/209/ */
+  { "Archos", 0x0e79, "55 diamond Selfie", 0x5465, DEVICE_FLAGS_ANDROID_BUGS },
+
 
   /*
    * Dunlop (OEM of EGOMAN ltd?) reported by Nanomad
@@ -547,20 +1054,20 @@
    * 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>
   // Obviously this company goes by many names.
   // This device is USB 2.0 only. Broken pipe on closing.
-  { "Memorex", 0x10d6, "MMP 8585/8586", 0x2300, DEVICE_FLAG_UNLOAD_DRIVER | 
+  // A later report indicates that this is also used by the iRiver E200
+  { "Memorex or iRiver", 0x10d6, "MMP 8585/8586 or iRiver E200", 0x2300,
+      DEVICE_FLAG_UNLOAD_DRIVER |
       DEVICE_FLAG_NO_RELEASE_INTERFACE},
-  
-  /*
-   * Microsoft
-   */
-  // Reported by Farooq Zaman (used for all Zunes)
-  { "Microsoft", 0x045e, "Zune", 0x0710, DEVICE_FLAG_NONE }, 
-  
+
   /*
    * Sirius
    */
@@ -569,14 +1076,6 @@
   { "Sirius", 0x18f6, "Stiletto 2", 0x0110, DEVICE_FLAG_NONE },
 
   /*
-   * Canon
-   * This is actually a camera, but it has a Microsoft device descriptor
-   * and reports itself as supporting the MTP extension.
-   */
-  { "Canon", 0x04a9, "PowerShot A640 (PTP/MTP mode)", 0x3139,
-     DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
-
-  /*
    * Nokia
    * Please verify the low device IDs here, I suspect these might be for
    * things like USB storage or modem mode actually, whereas the higher
@@ -608,13 +1107,16 @@
   // From: robin (AT) headbank D0Tco DOTuk
   { "Nokia", 0x0421, "N95 Mobile Phone 8GB", 0x006e, DEVICE_FLAG_NONE },
   // From Bastien Nocera <hadess@hadess.net>
-  { "Nokia", 0x0421, "N82 Mobile Phone", 0x0074, DEVICE_FLAG_NONE },
+  { "Nokia", 0x0421, "N82 Mobile Phone", 0x0074,
+      DEVICE_FLAG_UNLOAD_DRIVER },
   // From Martijn van de Streek <martijn@vandestreek.net>
   { "Nokia", 0x0421, "N78 Mobile Phone", 0x0079, DEVICE_FLAG_NONE },
   // From William Pettersson <the_enigma@users.sourceforge.net>
   { "Nokia", 0x0421, "6220 Classic", 0x008d, DEVICE_FLAG_NONE },
   // From kellerkev@gmail.com
   { "Nokia", 0x0421, "N85 Mobile Phone", 0x0092, DEVICE_FLAG_NONE },
+  // From Alexandre LISSY <lissyx@users.sourceforge.net>
+  { "Nokia", 0x0421, "6210 Navigator", 0x0098, DEVICE_FLAG_NONE },
   // From: danielw
   { "Nokia", 0x0421, "E71", 0x00e4, DEVICE_FLAG_NONE },
   // From: Laurent Bigonville <bigon@users.sourceforge.net>
@@ -622,19 +1124,65 @@
   // From: Pier <pierlucalino@users.sourceforge.net>
   { "Nokia", 0x0421, "5320 XpressMusic", 0x00ea, DEVICE_FLAG_NONE },
   // From: Gausie <innerdreams@users.sourceforge.net>
-  { "Nokia", 0x0421, "5800 XpressMusic", 0x0154, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
+  { "Nokia", 0x0421, "5800 XpressMusic", 0x0154,
+      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
   // From: Willy Gardiol (web) <willy@gardiol.org>
-  // Spurious errors for getting all objects, lead me to believe this flag atleast is needed
-  { "Nokia", 0x0421, "5800 XpressMusic v2", 0x0155, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
+  // Spurious errors for getting all objects, lead me to believe
+  // this flag atleast is needed
+  { "Nokia", 0x0421, "5800 XpressMusic v2", 0x0155,
+      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
+  // Yet another version... I think
+  { "Nokia", 0x0421, "5800 XpressMusic v3", 0x0159,
+      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
   // From an anonymous SourceForge user
   // Not verified to be MTP
   { "Nokia", 0x0421, "E63", 0x0179, DEVICE_FLAG_NONE },
+  // Reported by: max g <exactt@users.sourceforge.net>
+  // Reported by: oswillios <loswillios@users.sourceforge.net>
+  { "Nokia", 0x0421, "N79", 0x0186, DEVICE_FLAG_NONE },
+  // From an anonymous SourceForge user
+  { "Nokia", 0x0421, "E71x", 0x01a1, DEVICE_FLAG_NONE },
+  // From Ser <ser@users.sourceforge.net>
+  { "Nokia", 0x0421, "E52", 0x01cf, DEVICE_FLAG_NONE },
+  // From Marcus Meissner
+  { "Nokia", 0x0421, "3710", 0x01ee, DEVICE_FLAG_NONE },
+  // From: AxeL <axel__17@users.sourceforge.net>
+  { "Nokia", 0x0421, "N97-1", 0x01f4, DEVICE_FLAG_NONE },
   // From: FunkyPenguin <awafaa@users.sourceforge.net>
   { "Nokia", 0x0421, "N97", 0x01f5, DEVICE_FLAG_NONE },
+  // From: Anonymous SourceForge user
+  { "Nokia", 0x0421, "5130 XpressMusic", 0x0209, DEVICE_FLAG_NONE },
+  // From: Anonymous SourceForge user
+  { "Nokia", 0x0421, "E72", 0x0221, DEVICE_FLAG_NONE },
+  // From: Anonymous SourceForge user
+  { "Nokia", 0x0421, "5530", 0x0229, DEVICE_FLAG_NONE },
+  /* Grzegorz Woźniak <wozniakg@gmail.com> */
+  { "Nokia", 0x0421, "E6", 0x032f, DEVICE_FLAG_NONE },
+  // From: Anonymous SourceForge user
+  { "Nokia", 0x0421, "N97 mini", 0x026b, DEVICE_FLAG_NONE },
+  // From: Anonymous SourceForge user
+  { "Nokia", 0x0421, "X6", 0x0274, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
   // From: Alexander Kojevnikov <alex-kay@users.sourceforge.net>
   { "Nokia", 0x0421, "6600i", 0x0297, DEVICE_FLAG_NONE },
-  // https://sourceforge.net/tracker/index.php?func=detail&aid=2692473&group_id=8874&atid=358874
-  { "Nokia", 0x0421, "5200", 0x0421, DEVICE_FLAG_NONE },
+  // From: Karthik Paithankar <whyagain2005@users.sourceforge.net>
+  { "Nokia", 0x0421, "2710", 0x02c1, DEVICE_FLAG_NONE },
+  // From: Mick Stephenson <MickStep@users.sourceforge.net>
+  { "Nokia", 0x0421, "5230", 0x02e2, DEVICE_FLAG_NONE },
+  // From: Lan Liu at Nokia <lan.liu@nokia.com>
+  { "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 (Ovi mode)", 0x0335, DEVICE_FLAG_NONE },
+  // Reported by Serg <rd77@users.sourceforge.net>
+  // Symbian phone
+  { "Nokia", 0x0421, "C7", 0x03c1, DEVICE_FLAG_NONE },
+  // Reported by Anonymous SourceForge user
+  { "Nokia", 0x0421, "C7 (ID2)", 0x03cd, DEVICE_FLAG_NONE },
+  // Reported by Anonymous SourceForge user
+  { "Nokia", 0x0421, "N950", 0x03d2, DEVICE_FLAG_NONE },
   // From: http://nds2.nokia.com/files/support/global/phones/software/Nokia_3250_WMP10_driver.inf
   { "Nokia", 0x0421, "3250 Mobile Phone", 0x0462, DEVICE_FLAG_NONE },
   // From http://nds2.nokia.com/files/support/global/phones/software/Nokia_N93_WMP10_Driver.inf
@@ -647,6 +1195,10 @@
   { "Nokia", 0x0421, "5700 XpressMusic Mobile Phone", 0x04b4, DEVICE_FLAG_NONE },
   // From: Mitchell Hicks <mitchix@yahoo.com>
   { "Nokia", 0x0421, "5300 Mobile Phone", 0x04ba, DEVICE_FLAG_NONE },
+  // https://sourceforge.net/tracker/index.php?func=detail&aid=2692473&group_id=8874&atid=358874
+  // From: Tiburce <tiburce@users.sourceforge.net>
+  { "Nokia", 0x0421, "5200 Mobile Phone", 0x04be,
+      DEVICE_FLAG_BROKEN_BATTERY_LEVEL },
   // From Christian Arnold <webmaster@arctic-media.de>
   { "Nokia", 0x0421, "N73 Mobile Phone", 0x04d1, DEVICE_FLAG_UNLOAD_DRIVER },
   // From Swapan <swapan@yahoo.com>
@@ -656,19 +1208,78 @@
   // From Anonymous Sourceforge User
   { "Nokia", 0x0421, "N95 Mobile Phone", 0x04ef, DEVICE_FLAG_NONE },
   // From: Pat Nicholls <pat@patandannie.co.uk>
-  { "Nokia", 0x0421, "N80 Internet Edition (Media Player)", 0x04f1, DEVICE_FLAG_UNLOAD_DRIVER },
-  // Reported by Richard Wall <richard@the-moon.net>
-  { "Nokia", 0x05c6, "5530 Xpressmusic", 0x0229, DEVICE_FLAG_NONE },
-  // Reported by anonymous SourceForge user
-  // One thing stated by reporter (Nokia model) another by the detect log...
-  { "Nokia/Verizon", 0x05c6, "6205 Balboa/Verizon Music Phone", 0x3196, DEVICE_FLAG_NONE },
+  { "Nokia", 0x0421, "N80 Internet Edition (Media Player)", 0x04f1,
+      DEVICE_FLAG_UNLOAD_DRIVER },
+  // From: Maxin B. John <maxin.john@gmail.com>
+  { "Nokia", 0x0421, "N9", 0x051a, DEVICE_FLAG_NONE },
+  /* https://sourceforge.net/p/libmtp/bugs/1308/ */
+  { "Nokia", 0x0421, "N300", 0x0524, DEVICE_FLAG_NONE },
+  { "Nokia", 0x0421, "C5-00", 0x0592, DEVICE_FLAG_NONE },
+  /* https://sourceforge.net/p/libmtp/bugs/1457/ */
+  { "Nokia", 0x0421, "C5-00 (ID2)", 0x0595, DEVICE_FLAG_NONE },
+  { "Nokia", 0x0421, "808 PureView", 0x05d3, DEVICE_FLAG_NONE },
+  // Reported by Sampo Savola
+  // Covers Lumia 920, 820 and probably any WP8 device.
+  { "Nokia", 0x0421, "Lumia WP8", 0x0661, DEVICE_FLAG_NONE },
+  /* https://sourceforge.net/p/libmtp/bugs/1176/ */
+  { "Nokia", 0x0421, "Lumia 301", 0x0666, DEVICE_FLAG_NONE },
+  /* https://sourceforge.net/p/libmtp/support-requests/146/ */
+  { "Nokia", 0x0421, "XL", 0x06e8, DEVICE_FLAG_UNLOAD_DRIVER },
+  /* https://sourceforge.net/p/libmtp/patches/69/
+   * https://sourceforge.net/p/libmtp/bugs/1285/
+   * ID is the same for various Lumia version.
+   */
+  { "Nokia", 0x0421, "Lumia (RM-975)", 0x06fc, DEVICE_FLAG_NONE },
+  /* https://sourceforge.net/p/libmtp/bugs/1453/ */
+  { "Nokia", 0x0421, "X2 Dual Sim", 0x0708, DEVICE_FLAG_NONE },
 
 
   /*
-   * LOGIK
-   * Sold in the UK, seem to be manufactured by CCTech in China.
+   * Qualcomm
+   * This vendor ID seems to be used a bit by others.
    */
+
+  // Reported by Richard Wall <richard@the-moon.net>
+  { "Qualcomm (for Nokia)", 0x05c6, "5530 Xpressmusic", 0x0229,
+      DEVICE_FLAG_NONE },
+  // One thing stated by reporter (Nokia model) another by the detect log...
+  { "Qualcomm (for Nokia/Verizon)", 0x05c6, "6205 Balboa/Verizon Music Phone",
+      0x3196, DEVICE_FLAG_NONE },
+  { "Qualcomm (for Gigabyte)", 0x05c6, "GSmart G1342",
+      0x8800, DEVICE_FLAG_NONE },
+  { "Qualcomm (for Smartfren)", 0x05c6, "Andromax U",
+      0x9025, DEVICE_FLAG_NONE },
+  // New Android phone of the OnePlus brand : the One model
+  { "Qualcomm (for OnePlus)", 0x05c6, "One (MTP)",
+      0x6764, DEVICE_FLAGS_ANDROID_BUGS },
+  { "Qualcomm (for OnePlus)", 0x05c6, "One (MTP+ADB)",
+      0x6765, DEVICE_FLAGS_ANDROID_BUGS },
+
+  /* https://sourceforge.net/p/libmtp/bugs/1377/ */
+  { "Qualcomm (for Xolo)", 0x901b, "Xolo Black (MTP)",
+      0x9039, DEVICE_FLAGS_ANDROID_BUGS },
+
+  { "Qualcomm (for PhiComm)", 0x05c6, "C230w (MTP)",
+      0x9039, DEVICE_FLAGS_ANDROID_BUGS },
+
+  /* https://sourceforge.net/p/libmtp/bugs/1513/ */
+  { "Qualcomm (for OnePlus)", 0x05c6, "One Plus 2 (A2003) (MTP)",
+      0xf003, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1284/ */
+  { "Qualcomm (for Highscreen)", 0x05c6, "Omega Prime S",
+      0xf003, DEVICE_FLAGS_ANDROID_BUGS },
+
+  /*
+   * Vendor ID 0x13d1 is some offshoring company in China,
+   * in one source named "A-Max Technology Macao Commercial
+   * Offshore Co. Ltd." sometime "CCTech".
+   */
+  // Logik brand
   { "Logik", 0x13d1, "LOG DAX MP3 and DAB Player", 0x7002, DEVICE_FLAG_UNLOAD_DRIVER },
+  // Technika brand
+  // Reported by <Ooblick@users.sourceforge.net>
+  { "Technika", 0x13d1, "MP-709", 0x7017, DEVICE_FLAG_UNLOAD_DRIVER },
+
 
   /*
    * RCA / Thomson
@@ -683,11 +1294,20 @@
   { "Thomson", 0x069b, "scenium E308", 0x3028, DEVICE_FLAG_NONE },
   // From XNJB user
   { "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 },
+  /* https://sourceforge.net/p/libmtp/feature-requests/137/ */
+  { "Fujitsu, Ltd", 0x04c5, "F02-E", 0x1378,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1495/ */
+  { "Fujitsu, Ltd", 0x04c5, "Arrows 202F", 0x13dd,
+      DEVICE_FLAGS_ANDROID_BUGS },
 
   /*
    * Palm device userland program named Pocket Tunes
@@ -709,30 +1329,56 @@
   // Reported by anonymous SourceForge user.
   // This one done for Medion, whatever that is. Error reported so assume
   // the same bug flag as its ancestor above.
-  { "Medion", 0x066f, "MD8333", 0x8550,
+  { "Medion", 0x066f, "MD8333 (ID1)", 0x8550,
     DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
   // Reported by anonymous SourceForge user
-  { "Medion", 0x066f, "MD8333", 0x8588,
+  { "Medion", 0x066f, "MD8333 (ID2)", 0x8588,
     DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
+  /* https://sourceforge.net/p/libmtp/bugs/1359/ */
+  { "Verizon", 0x0408, "Ellipsis 7", 0x3899,
+    DEVICE_FLAGS_ANDROID_BUGS },
+  // The vendor ID is "Quanta Computer, Inc."
+  // same as Olivetti Olipad 110
+  // Guessing on device flags
+  { "Medion", 0x0408, "MD99000 (P9514)/Olivetti Olipad 110", 0xb009,
+    DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
+  // Reported by Richard Eigenmann <richieigenmann@users.sourceforge.net>
+  { "Medion", 0x0408, "Lifetab P9514", 0xb00a,
+    DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAGS_ANDROID_BUGS },
   // Reported by anonymous SourceForge user
   { "Maxfield", 0x066f, "G-Flash NG 1GB", 0x846c,
     DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
+  // Reported by PaoloC <efmpsc@users.sourceforge.net>
+  // Apparently SigmaTel has an SDK for MTP players with this ID
+  { "SigmaTel Inc.", 0x066f, "MTPMSCN Audio Player", 0xa010,
+    DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
   // Reported by Cristi Magherusan <majeru@gentoo.ro>
   { "TrekStor", 0x0402, "i.Beat Sweez FM", 0x0611,
     DEVICE_FLAG_UNLOAD_DRIVER },
   // Reported by Fox-ino <fox-ino@users.sourceforge.net>
-  { "ALi Corp.", 0x0402, "MPMAN 2GB", 0x5668,
-    DEVICE_FLAG_UNLOAD_DRIVER },
+  // No confirmation that this is really MTP so commented it out.
+  // { "ALi Corp.", 0x0402, "MPMAN 2GB", 0x5668,
+  // DEVICE_FLAG_UNLOAD_DRIVER },
   // Reported by Anonymous SourceForge user
   {"TrekStor", 0x1e68, "i.Beat Organix 2.0", 0x0002,
     DEVICE_FLAG_UNLOAD_DRIVER },
 
+  /* Also Thalia Toline. https://sourceforge.net/p/libmtp/bugs/1156/ */
+  {"iRiver", 0x1e68, "Tolino Tab 7", 0x1002,
+    DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1694/ */
+  {"iRiver", 0x1e68, "Tolino Tab 8", 0x1007,
+    DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1699/ */
+  {"Trekstor", 0x1e68, "SurfTab breeze 7.0 quad 3G", 0x1045,
+    DEVICE_FLAGS_ANDROID_BUGS },
+
   /*
    * Disney/Tevion/MyMusix
    */
   // Reported by XNJB user
   { "Disney", 0x0aa6, "MixMax", 0x6021, DEVICE_FLAG_NONE },
-  // Reported by anonymous Sourceforge user 
+  // Reported by anonymous Sourceforge user
   { "Tevion", 0x0aa6, "MD 81488", 0x3011, DEVICE_FLAG_NONE },
   // Reported by Peter Hedlund <peter@peterandlinda.com>
   { "MyMusix", 0x0aa6, "PD-6070", 0x9601, DEVICE_FLAG_UNLOAD_DRIVER |
@@ -743,38 +1389,67 @@
   /*
    * Cowon Systems, Inc.
    * The iAudio audiophile devices don't encourage the use of MTP.
+   * See: http://wiki.xiph.org/index.php/PortablePlayers for Ogg
+   * status
    */
   // Reported by Patrik Johansson <Patrik.Johansson@qivalue.com>
   { "Cowon", 0x0e21, "iAudio U3 (MTP mode)", 0x0701,
-   DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
+   DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
+   DEVICE_FLAG_OGG_IS_UNKNOWN | DEVICE_FLAG_FLAC_IS_UNKNOWN },
   // Reported by Kevin Michael Smith <hai-etlik@users.sourceforge.net>
   { "Cowon", 0x0e21, "iAudio 6 (MTP mode)", 0x0711,
    DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
   // Reported by Roberth Karman
   { "Cowon", 0x0e21, "iAudio 7 (MTP mode)", 0x0751,
-   DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
+   DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
+   DEVICE_FLAG_OGG_IS_UNKNOWN | DEVICE_FLAG_FLAC_IS_UNKNOWN },
   // Reported by an anonymous SourceForge user
   { "Cowon", 0x0e21, "iAudio U5 (MTP mode)", 0x0761,
-   DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
+   DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
+   DEVICE_FLAG_OGG_IS_UNKNOWN | DEVICE_FLAG_FLAC_IS_UNKNOWN },
   // Reported by TJ Something <tjbk_tjb@users.sourceforge.net>
   { "Cowon", 0x0e21, "iAudio D2 (MTP mode)", 0x0801,
-   DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
+   DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
+   DEVICE_FLAG_OGG_IS_UNKNOWN | DEVICE_FLAG_FLAC_IS_UNKNOWN },
   // Reported by anonymous Sourceforge user
   { "Cowon", 0x0e21, "iAudio D2+ FW 2.x (MTP mode)", 0x0861,
-   DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
+   DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
+   DEVICE_FLAG_OGG_IS_UNKNOWN | DEVICE_FLAG_FLAC_IS_UNKNOWN },
   // From Rockbox device listing
   { "Cowon", 0x0e21, "iAudio D2+ DAB FW 4.x (MTP mode)", 0x0871,
-   DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
+   DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
+   DEVICE_FLAG_OGG_IS_UNKNOWN | DEVICE_FLAG_FLAC_IS_UNKNOWN },
   // From Rockbox device listing
   { "Cowon", 0x0e21, "iAudio D2+ FW 3.x (MTP mode)", 0x0881,
-   DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
+   DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
+   DEVICE_FLAG_OGG_IS_UNKNOWN | DEVICE_FLAG_FLAC_IS_UNKNOWN },
   // From Rockbox device listing
   { "Cowon", 0x0e21, "iAudio D2+ DMB FW 1.x (MTP mode)", 0x0891,
-   DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
+   DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
+   DEVICE_FLAG_OGG_IS_UNKNOWN | DEVICE_FLAG_FLAC_IS_UNKNOWN },
   // Reported by <twkonefal@users.sourceforge.net>
   { "Cowon", 0x0e21, "iAudio S9 (MTP mode)", 0x0901,
    DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
    DEVICE_FLAG_OGG_IS_UNKNOWN | DEVICE_FLAG_FLAC_IS_UNKNOWN },
+  // Reported by Dan Nicholson <dbn.lists@gmail.com>
+  { "Cowon", 0x0e21, "iAudio 9 (MTP mode)", 0x0911,
+   DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
+   DEVICE_FLAG_OGG_IS_UNKNOWN | DEVICE_FLAG_FLAC_IS_UNKNOWN },
+  // Reported by Franck VDL <franckv@users.sourceforge.net>
+  { "Cowon", 0x0e21, "iAudio J3 (MTP mode)", 0x0921,
+   DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
+   DEVICE_FLAG_OGG_IS_UNKNOWN | DEVICE_FLAG_FLAC_IS_UNKNOWN },
+  // Reported by anonymous SourceForge user
+  { "Cowon", 0x0e21, "iAudio X7 (MTP mode)", 0x0931,
+   DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
+   DEVICE_FLAG_OGG_IS_UNKNOWN | DEVICE_FLAG_FLAC_IS_UNKNOWN },
+  // Reported by anonymous SourceForge user
+  { "Cowon", 0x0e21, "iAudio C2 (MTP mode)", 0x0941,
+   DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
+   DEVICE_FLAG_OGG_IS_UNKNOWN | DEVICE_FLAG_FLAC_IS_UNKNOWN },
+  { "Cowon", 0x0e21, "iAudio 10 (MTP mode)", 0x0952,
+   DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
+   DEVICE_FLAG_OGG_IS_UNKNOWN | DEVICE_FLAG_FLAC_IS_UNKNOWN },
 
   /*
    * Insignia, dual-mode.
@@ -788,17 +1463,84 @@
   /*
    * LG Electronics
    */
+  // Uncertain if this is really the MTP mode device ID...
+  { "LG Electronics Inc.", 0x043e, "T54", 0x7040,
+      DEVICE_FLAG_UNLOAD_DRIVER },
   // Not verified - anonymous submission
   { "LG Electronics Inc.", 0x043e, "UP3", 0x70b1, DEVICE_FLAG_NONE },
   // Reported by Joseph Nahmias <joe@nahimas.net>
   { "LG Electronics Inc.", 0x1004, "VX8550 V CAST Mobile Phone", 0x6010,
-      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_ALWAYS_PROBE_DESCRIPTOR },
+      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
+      DEVICE_FLAG_ALWAYS_PROBE_DESCRIPTOR },
   // Reported by Cyrille Potereau <cyrille.potereau@wanadoo.fr>
   { "LG Electronics Inc.", 0x1004, "KC910 Renoir Mobile Phone", 0x608f,
       DEVICE_FLAG_UNLOAD_DRIVER },
-  // Reported by anonymous sourceforge user
+  // Reported by Aaron Slunt <tongle@users.sourceforge.net>
+  { "LG Electronics Inc.", 0x1004, "GR-500 Music Player", 0x611b,
+      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
+      DEVICE_FLAG_ALWAYS_PROBE_DESCRIPTOR },
   { "LG Electronics Inc.", 0x1004, "KM900", 0x6132,
+      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
       DEVICE_FLAG_UNLOAD_DRIVER },
+  { "LG Electronics Inc.", 0x1004, "LG8575", 0x619a,
+      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
+      DEVICE_FLAG_UNLOAD_DRIVER },
+  /*
+   * These two are LG Android phones:
+   * LG-F6
+   * V909 G-Slate
+   */
+  { "LG Electronics Inc.", 0x1004, "Android phone (ID1)", 0x61f1,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "LG Electronics Inc.", 0x1004, "Android phone (ID2)", 0x61f9,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1007/ */
+  { "LG Electronics Inc.", 0x1004, "LG VS980", 0x621c,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "LG Electronics Inc.", 0x1004, "LG2 Optimus", 0x6225,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1386/ */
+  { "LG Electronics Inc.", 0x1004, "LG VS950", 0x622a,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "LG Electronics Inc.", 0x1004, "LG VS870", 0x6239,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/992/ */
+  { "LG Electronics Inc.", 0x1004, "LG VS890", 0x623d,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/support-requests/190/ */
+  { "LG Electronics Inc.", 0x1004, "LG Optimus Zone 2", 0x6259,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1463/ */
+  { "LG Electronics Inc.", 0x1004, "810 tablet", 0x6263,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "LG Electronics Inc.", 0x1004, "VK810", 0x6265,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/support-requests/134/ */
+  { "LG Electronics Inc.", 0x1004, "G3 (VS985)", 0x626e,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "LG Electronics Inc.", 0x1004, "G3", 0x627f,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1701/ */
+  { "LG Electronics Inc.", 0x1004, "Transpyre", 0x628a,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/feature-requests/222/ */
+  { "LG Electronics Inc.", 0x1004, "LG G5 Phone", 0x62ce,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /*
+   * This VID+PID is used by a lot of LG models:
+   * E430
+   * E460
+   * E610
+   * E612
+   * E617G
+   * E970
+   * P700
+   */
+  { "LG Electronics Inc.", 0x1004, "Various E and P models", 0x631c,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1294/ */
+  { "LG Electronics Inc.", 0x1004, "LG G Flex 2", 0x633e,
+      DEVICE_FLAGS_ANDROID_BUGS },
 
   /*
    * Sony
@@ -807,51 +1549,97 @@
    * reported to see a pattern here.
    */
   // Reported by Alessandro Radaelli <alessandro.radaelli@aruba.it>
-  { "Sony", 0x054c, "Walkman NWZ-A815/NWZ-A818", 0x0325,
-      DEVICE_FLAG_UNLOAD_DRIVER |
-      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
+  { "Sony", 0x054c, "NWZ-A815/NWZ-A818", 0x0325,
+      DEVICE_FLAGS_SONY_NWZ_BUGS },
   // Reported by anonymous Sourceforge user.
-  { "Sony", 0x054c, "Walkman NWZ-S516", 0x0326, DEVICE_FLAG_UNLOAD_DRIVER |
-      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
+  { "Sony", 0x054c, "NWZ-S516", 0x0326,
+      DEVICE_FLAGS_SONY_NWZ_BUGS },
   // Reported by Endre Oma <endre.88.oma@gmail.com>
-  { "Sony", 0x054c, "Walkman NWZ-S615F/NWZ-S616F/NWZ-S618F", 0x0327,
-      DEVICE_FLAG_UNLOAD_DRIVER |
-      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
+  { "Sony", 0x054c, "NWZ-S615F/NWZ-S616F/NWZ-S618F", 0x0327,
+      DEVICE_FLAGS_SONY_NWZ_BUGS },
   // Reported by Jean-Marc Bourguet <jm@bourguet.org>
-  { "Sony", 0x054c, "Walkman NWZ-S716F", 0x035a, DEVICE_FLAG_UNLOAD_DRIVER |
-      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
+  { "Sony", 0x054c, "NWZ-S716F", 0x035a,
+      DEVICE_FLAGS_SONY_NWZ_BUGS },
   // Reported by Anon SF User / Anthon van der Neut <avanderneut@avid.com>
-  { "Sony", 0x054c, "Walkman NWZ-A826/NWZ-A828/NWZ-A829", 0x035b,
-      DEVICE_FLAG_UNLOAD_DRIVER |
-      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
+  { "Sony", 0x054c, "NWZ-A826/NWZ-A828/NWZ-A829", 0x035b,
+      DEVICE_FLAGS_SONY_NWZ_BUGS },
   // Reported by Niek Klaverstijn <niekez@users.sourceforge.net>
-  { "Sony", 0x054c, "Walkman NWZ-A726/NWZ-A728/NWZ-A768", 0x035c,
-      DEVICE_FLAG_UNLOAD_DRIVER |
-      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
+  { "Sony", 0x054c, "NWZ-A726/NWZ-A728/NWZ-A768", 0x035c,
+      DEVICE_FLAGS_SONY_NWZ_BUGS },
   // Reported by Mehdi AMINI <mehdi.amini - at - ulp.u-strasbg.fr>
-  { "Sony", 0x054c, "Walkman NWZ-B135", 0x036e, DEVICE_FLAG_UNLOAD_DRIVER |
-      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
+  { "Sony", 0x054c, "NWZ-B135", 0x036e,
+      DEVICE_FLAGS_SONY_NWZ_BUGS },
   // Reported by <tiagoboldt@users.sourceforge.net>
-  { "Sony", 0x054c, "Walkman NWZ-E436F", 0x0385, DEVICE_FLAG_UNLOAD_DRIVER |
-      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
+  { "Sony", 0x054c, "NWZ-E436F", 0x0385,
+      DEVICE_FLAGS_SONY_NWZ_BUGS },
   // Reported by Michael Wilkinson
-  { "Sony", 0x054c, "Walkman NWZ-W202", 0x0388, DEVICE_FLAG_UNLOAD_DRIVER |
-      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
+  { "Sony", 0x054c, "NWZ-W202", 0x0388,
+      DEVICE_FLAGS_SONY_NWZ_BUGS },
   // Reported by Ondrej Sury <ondrej@sury.org>
-  { "Sony", 0x054c, "Walkman NWZ-S739F", 0x038c, DEVICE_FLAG_UNLOAD_DRIVER |
-      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
+  { "Sony", 0x054c, "NWZ-S739F", 0x038c,
+      DEVICE_FLAGS_SONY_NWZ_BUGS },
   // Reported by Marco Filipe Nunes Soares Abrantes Pereira <marcopereira@ua.pt>
-  { "Sony", 0x054c, "Walkman NWZ-S638F", 0x038e, DEVICE_FLAG_UNLOAD_DRIVER |
-      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
+  { "Sony", 0x054c, "NWZ-S638F", 0x038e,
+      DEVICE_FLAGS_SONY_NWZ_BUGS },
   // Reported by Elliot <orwells@users.sourceforge.net>
-  { "Sony", 0x054c, "Walkman NWZ-X1050B/NWZ-X1060B",
-    0x0397, DEVICE_FLAG_UNLOAD_DRIVER |
-      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
+  { "Sony", 0x054c, "NWZ-X1050B/NWZ-X1060B",
+    0x0397, DEVICE_FLAGS_SONY_NWZ_BUGS },
   // Reported by Silvio J. Gutierrez <silviogutierrez@users.sourceforge.net>
-  { "Sony", 0x054c, "Walkman NWZ-X1051/NWZ-X1061", 0x0398,
-      DEVICE_FLAG_UNLOAD_DRIVER |
-      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
-
+  { "Sony", 0x054c, "NWZ-X1051/NWZ-X1061", 0x0398,
+      DEVICE_FLAGS_SONY_NWZ_BUGS },
+  // Reported by Gregory Boddin <gregory@siwhine.net>
+  { "Sony", 0x054c, "NWZ-B142F", 0x03d8,
+      DEVICE_FLAGS_SONY_NWZ_BUGS },
+  // Reported by Rick Warner <rick@reptileroom.net>
+  { "Sony", 0x054c, "NWZ-E344/E345", 0x03fc,
+      DEVICE_FLAGS_SONY_NWZ_BUGS },
+  // Reported by Jonathan Stowe <gellyfish@users.sourceforge.net>
+  { "Sony", 0x054c, "NWZ-E445", 0x03fd,
+      DEVICE_FLAGS_SONY_NWZ_BUGS },
+  // Reported by Anonymous SourceForge user
+  { "Sony", 0x054c, "NWZ-S545", 0x03fe,
+      DEVICE_FLAGS_SONY_NWZ_BUGS },
+  { "Sony", 0x054c, "NWZ-A845", 0x0404,
+      DEVICE_FLAGS_SONY_NWZ_BUGS },
+  // Reported by anonymous SourceForge user
+  { "Sony", 0x054c, "NWZ-W252B", 0x04bb,
+      DEVICE_FLAGS_SONY_NWZ_BUGS },
+  // Suspect this device has strong DRM features
+  // See https://answers.launchpad.net/ubuntu/+source/libmtp/+question/149587
+  { "Sony", 0x054c, "NWZ-B153F", 0x04be,
+      DEVICE_FLAGS_SONY_NWZ_BUGS },
+  { "Sony", 0x054c, "NWZ-E354", 0x04cb,
+      DEVICE_FLAGS_SONY_NWZ_BUGS },
+  // Reported by Toni Burgarello
+  { "Sony", 0x054c, "NWZ-S754", 0x04cc,
+      DEVICE_FLAGS_SONY_NWZ_BUGS },
+  // Reported by Hideki Yamane <henrich@debian.org>
+  { "Sony", 0x054c, "Sony Tablet P1", 0x04d1,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  // Reported by dmiceman
+  { "Sony", 0x054c, "NWZ-B163F", 0x059a,
+      DEVICE_FLAGS_SONY_NWZ_BUGS },
+  { "Sony", 0x054c, "NWZ-E464", 0x05a6,
+      DEVICE_FLAGS_SONY_NWZ_BUGS },
+  // Reported by Jan Rheinlaender <jrheinlaender@users.sourceforge.net>
+  { "Sony", 0x054c, "NWZ-S765", 0x05a8,
+      DEVICE_FLAGS_SONY_NWZ_BUGS },
+  // Olivier Keshavjee <olivierkes@users.sourceforge.net>
+  { "Sony", 0x054c, "Sony Tablet S", 0x05b3,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  // Reported by ghalambaz <ghalambaz@users.sourceforge.net>
+  { "Sony", 0x054c, "Sony Tablet S1", 0x05b4,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Sony", 0x054c, "NWZ-B173F", 0x0689,
+      DEVICE_FLAGS_SONY_NWZ_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1540/ */
+  { "Sony", 0x054c, "NWZ-E474", 0x06a9,
+      DEVICE_FLAGS_SONY_NWZ_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1688/ */
+  { "Sony", 0x054c, "NWZ-E384", 0x0882,
+      DEVICE_FLAGS_SONY_NWZ_BUGS },
+  { "Sony", 0x054c, "DCR-SR75", 0x1294,
+      DEVICE_FLAGS_SONY_NWZ_BUGS },
 
   /*
    * SonyEricsson
@@ -859,54 +1647,728 @@
    * of the firmware seem to have broken it, so all are flagged as broken
    * for now.
    */
-  // Reported by Thomas Schweitzer <thomas_-_s@users.sourceforge.net>
-  { "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 },
+  // Reported by Flo <lhugsereg@users.sourceforge.net>
+  { "SonyEricsson", 0x0fce, "U8i", 0x013a,
+      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
+  // Reported by xirotyu <xirotyu@users.sourceforge.net>
+  { "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 Nyrén <spectralmks@users.sourceforge.net>
+  { "SonyEricsson", 0x0fce, "W302", 0x10c8,
+      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
+  // Reported by Anonymous Sourceforge user
+  { "SonyEricsson", 0x0fce,  "j10i (Elm)", 0xd144,
+      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
+  // Reported by Thomas Schweitzer <thomas_-_s@users.sourceforge.net>
+  { "SonyEricsson", 0x0fce, "K550i", 0xe000,
+      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
+
+  /*
+   * SonyEricsson/SONY Android devices usually have three personalities due to
+   * using composite descriptors and the fact that Windows cannot distinguish
+   * the device unless each composite descriptor is unique.
+   *
+   * Legend:
+   * MTP = Media Transfer Protocol
+   * UMS = USB Mass Storage Protocol
+   * ADB = Android Debug Bridge Protocol
+   * CDC = Communications Device Class, Internet Sharing
+   *
+   * 0x0nnn = MTP
+   * 0x4nnn = MTP + UMS (for CD-ROM)
+   * 0x5nnn = MTP + ADB
+   * 0x6nnn = UMS + ADB
+   * 0x7nnn = MTP + CDC
+   * 0x8nnn = MTP + CDC + ADB
+   * 0xannn = MTP + UMS (MTP for eMMC and UMS for external SD card)
+   * 0xbnnn = MTP + UMS + ADB
+   * 0xennn = UMS only
+   *
+   * The SonyEricsson and SONY devices have (at least) two deployed MTP
+   * stacks: Aricent and Android. These have different bug flags, and
+   * sometimes the same device has firmware upgrades moving it from
+   * the Aricent to Android MTP stack without changing the device
+   * VID+PID (first observed on the SK17i Xperia Mini Pro), so the
+   * detection has to be more elaborate. The code in libmtp.c will do
+   * this and assign the proper bug flags (hopefully).
+   * That is why DEVICE_FLAG_NONE is used for these devices.
+   *
+   * Devices reported by:
+   * Sony Mobile Communications (via Toby Collett)
+   * Jonas Salling
+   * Eamonn Webster <eweb@users.sourceforge.net>
+   * Alejandro DC <Alejandro_DC@users.sourceforge.ne>
+   * StehpanKa <stehp@users.sourceforge.net>
+   * hdhoang <hdhoang@users.sourceforge.net>
+   * Paul Taylor
+   * Bruno Basilio <bbasilio@users.sourceforge.net>
+   * Christoffer Holmstedt <christofferh@users.sourceforge.net>
+   * equaeghe <equaeghe@users.sourceforge.net>
+   * Ondra Lengal
+   * Michael K. <kmike@users.sourceforge.net>
+   * Jean-François  B. <changi67@users.sourceforge.net>
+   * Eduard Bloch <blade@debian.org>
+   * Ah Hong <hongster@users.sourceforge.net>
+   * Eowyn Carter
+   */
+  { "SonyEricsson", 0x0fce,  "c1605 Xperia Dual E MTP", 0x0146,
+      DEVICE_FLAG_NONE },
+  { "SonyEricsson", 0x0fce, "LT15i Xperia arc S MTP", 0x014f,
+      DEVICE_FLAG_NONE },
+  { "SonyEricsson", 0x0fce, "MT11i Xperia Neo MTP", 0x0156,
+      DEVICE_FLAG_NONE },
+  { "SonyEricsson", 0x0fce, "IS12S Xperia Acro MTP", 0x0157,
+      DEVICE_FLAG_NONE },
+  { "SonyEricsson", 0x0fce, "MK16i Xperia MTP", 0x015a,
+      DEVICE_FLAG_NONE },
+  { "SonyEricsson", 0x0fce, "R800/R88i Xperia Play MTP", 0x015d,
+      DEVICE_FLAG_NONE },
+  { "SonyEricsson", 0x0fce, "ST18a Xperia Ray MTP", 0x0161,
+      DEVICE_FLAG_NONE },
+  { "SonyEricsson", 0x0fce, "SK17i Xperia Mini Pro MTP", 0x0166,
+      DEVICE_FLAG_NONE },
+  { "SonyEricsson", 0x0fce, "ST15i Xperia Mini MTP", 0x0167,
+      DEVICE_FLAG_NONE },
+  { "SonyEricsson", 0x0fce, "ST17i Xperia Active MTP", 0x0168,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "LT26i Xperia S MTP", 0x0169,
+      DEVICE_FLAG_NO_ZERO_READS },
+  { "SONY", 0x0fce, "WT19i Live Walkman MTP", 0x016d,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "ST21i Xperia Tipo MTP", 0x0170,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "ST15i Xperia U MTP", 0x0171,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "LT22i Xperia P MTP", 0x0172,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "MT27i Xperia Sola MTP", 0x0173,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "LT26w Xperia Acro HD IS12S MTP", 0x0175,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "LT26w Xperia Acro HD SO-03D MTP", 0x0176,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "LT28at Xperia Ion MTP", 0x0177,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "LT29i Xperia GX MTP", 0x0178,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "ST27i/ST27a Xperia go MTP", 0x017e,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "ST23i Xperia Miro MTP", 0x0180,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "SO-05D Xperia SX MTP", 0x0181,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "LT30p Xperia T MTP", 0x0182,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "LT25i Xperia V MTP", 0x0186,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia J MTP", 0x0188,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia ZL MTP", 0x0189,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia E MTP", 0x018c,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia Tablet Z MTP 1", 0x018d,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia L MTP", 0x0192,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia Z MTP", 0x0193,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia Tablet Z MTP 2", 0x0194,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia SP MTP", 0x0195,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia Z Ultra MTP (ID2)", 0x0196,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "SONY", 0x0fce, "Xperia ZR MTP", 0x0197,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "SONY", 0x0fce, "Xperia A MTP", 0x0198,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "SONY", 0x0fce, "Xperia M MTP", 0x019b,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia Z Ultra MTP (ID3)", 0x019c,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia Z1 MTP", 0x019e,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia C MTP", 0x01a3,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia Z1 Compact D5503", 0x01a7,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia M2 MTP", 0x01aa,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia M2 Dual MTP", 0x01ab,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia Z2 MTP", 0x01af,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia Z3v MTP", 0x01b0,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "SONY", 0x0fce, "Xperia Z2 Tablet MTP", 0x01b1,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "SONY", 0x0fce, "Xperia E1 MTP", 0x01b5,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "SONY", 0x0fce, "Xperia Z Ultra MTP", 0x01b6,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "SONY", 0x0fce, "Xperia M2 Aqua MTP", 0x01b8,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "SONY", 0x0fce, "Xperia Z3 MTP", 0x01ba,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia Z3 Compact MTP", 0x01bb,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia E3 MTP", 0x01bc,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia Z3 Tablet MTP", 0x01c0,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "XPeria M4 Aqua Dual MTP", 0x01c4,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "E2115 MTP", 0x01c5,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "XPeria Z3+ MTP", 0x01c9,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "XPeria E4g MTP", 0x01cb,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "C4 Dual MTP", 0x01d2,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "XPeria M5 MTP", 0x01d6,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "XPeria Z5 MTP", 0x01d9,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "XPeria Z5 Compact MTP", 0x01da,
+      DEVICE_FLAG_NONE },
+  /* https://sourceforge.net/p/libmtp/bugs/1649/ */
+  { "SONY", 0x0fce, "XPeria XA MTP", 0x01de,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "XPeria XZ MTP", 0x01e7,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "XPeria X Compact MTP", 0x01e8,
+      DEVICE_FLAG_NONE },
+
+
+  /*
+   * MTP+UMS personalities of MTP devices (see above)
+   */
+  { "SonyEricsson", 0x0fce, "IS12S Xperia Acro MTP+CDROM", 0x4157,
+      DEVICE_FLAG_NONE },
+  { "SonyEricsson", 0x0fce, "ST17i Xperia Active MTP+CDROM", 0x4168,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "LT26i Xperia S MTP+CDROM", 0x4169,
+      DEVICE_FLAG_NO_ZERO_READS },
+  { "SONY", 0x0fce, "ST21i Xperia Tipo MTP+CDROM", 0x4170,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "ST25i Xperia U MTP+CDROM", 0x4171,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "LT22i Xperia P MTP+CDROM", 0x4172,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "MT27i Xperia Sola MTP+CDROM", 0x4173,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "LT26w Xperia Acro HD IS12S MTP+CDROM", 0x4175,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "LT26w Xperia Acro HD SO-03D MTP+CDROM", 0x4176,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "LT28at Xperia Ion MTP+CDROM", 0x4177,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "LT29i Xperia GX MTP+CDROM", 0x4178,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "ST27i/ST27a Xperia go MTP+CDROM", 0x417e,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "ST23i Xperia Miro MTP+CDROM", 0x4180,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "SO-05D Xperia SX MTP+CDROM", 0x4181,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "LT30p Xperia T MTP+CDROM", 0x4182,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "LT25i Xperia V MTP+CDROM", 0x4186,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia J MTP+CDROM", 0x4188,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia ZL MTP+CDROM", 0x4189,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia E MTP+CDROM", 0x418c,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia Tablet Z MTP+CDROM 1", 0x418d,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia L MTP+CDROM", 0x4192,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia Z MTP+CDROM", 0x4193,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia Tablet Z MTP+CDROM 2", 0x4194,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia SP MTP+CDROM", 0x4195,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia M MTP+CDROM", 0x419b,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia Z Ultra MTP+CDROM (ID3)", 0x419c,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia Z1 MTP+CDROM", 0x419e,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia C MTP+CDROM", 0x41a3,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia Z1 Compact D5503 MTP+CDROM", 0x41a7,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia M2 MTP+CDROM", 0x41aa,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia M2 Dual MTP+CDROM", 0x41ab,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia Z2 MTP+CDROM", 0x41af,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia Z3v MTP+CDROM", 0x41b0,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "SONY", 0x0fce, "Xperia Z2 Tablet MTP+CDROM", 0x41b1,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "SONY", 0x0fce, "Xperia E1 MTP+CDROM", 0x41b5,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "SONY", 0x0fce, "Xperia Z Ultra MTP+CDROM", 0x41b6,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "SONY", 0x0fce, "Xperia M2 Aqua MTP+CDROM", 0x41b8,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "SONY", 0x0fce, "Xperia Z3 MTP+CDROM", 0x41ba,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia Z3 Compact MTP+CDROM", 0x41bb,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia E3 MTP+CDROM", 0x41bc,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia Z3 Tablet MTP+CDROM", 0x41c0,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "XPeria M4 Aqua Dual MTP+CDROM", 0x41c4,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "E2115 MTP+CDROM", 0x41c5,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "XPeria Z3+ MTP+CDROM", 0x41c9,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "XPeria E4g MTP+CDROM", 0x41cb,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "C4 Dual MTP+CDROM", 0x41d2,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "XPeria M5 MTP+CDROM", 0x41d6,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "XPeria Z5 MTP+CDROM", 0x41d9,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "XPeria Z5 Compact MTP+CDROM", 0x41da,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "XPeria XA MTP+CDROM", 0x41de,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "XPeria XZ MTP+CDROM", 0x41e7,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "XPeria X Compact MTP+CDROM", 0x41e8,
+      DEVICE_FLAG_NONE },
+
+  /*
+   * MTP+ADB personalities of MTP devices (see above)
+   */
+  { "SonyEricsson", 0x0fce,  "c1605 Xperia Dual E MTP+ADB", 0x5146,
+      DEVICE_FLAG_NONE },
+  { "SonyEricsson", 0x0fce, "LT15i Xperia Arc MTP+ADB", 0x514f,
+      DEVICE_FLAG_NONE },
+  { "SonyEricsson", 0x0fce, "MT11i Xperia Neo MTP+ADB", 0x5156,
+      DEVICE_FLAG_NONE },
+  { "SonyEricsson", 0x0fce, "IS12S Xperia Acro MTP+ADB", 0x5157,
+      DEVICE_FLAG_NONE },
+  { "SonyEricsson", 0x0fce, "MK16i Xperia MTP+ADB", 0x515a,
+      DEVICE_FLAG_NONE },
+  { "SonyEricsson", 0x0fce, "R800/R88i Xperia Play MTP+ADB", 0x515d,
+      DEVICE_FLAG_NONE },
+  { "SonyEricsson", 0x0fce, "ST18i Xperia Ray MTP+ADB", 0x5161,
+      DEVICE_FLAG_NONE },
+  { "SonyEricsson", 0x0fce, "SK17i Xperia Mini Pro MTP+ADB", 0x5166,
+      DEVICE_FLAG_NONE },
+  { "SonyEricsson", 0x0fce, "ST15i Xperia Mini MTP+ADB", 0x5167,
+      DEVICE_FLAG_NONE },
+  { "SonyEricsson", 0x0fce, "ST17i Xperia Active MTP+ADB", 0x5168,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "LT26i Xperia S MTP+ADB", 0x5169,
+      DEVICE_FLAG_NO_ZERO_READS },
+  { "SonyEricsson", 0x0fce, "WT19i Live Walkman MTP+ADB", 0x516d,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "ST21i Xperia Tipo MTP+ADB", 0x5170,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "ST25i Xperia U MTP+ADB", 0x5171,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "LT22i Xperia P MTP+ADB", 0x5172,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "MT27i Xperia Sola MTP+ADB", 0x5173,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "IS12S Xperia Acro HD MTP+ADB", 0x5175,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "SO-03D Xperia Acro HD MTP+ADB", 0x5176,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "LT28at Xperia Ion MTP+ADB", 0x5177,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "LT29i Xperia GX MTP+ADB", 0x5178,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "ST27i/ST27a Xperia go MTP+ADB", 0x517e,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "ST23i Xperia Miro MTP+ADB", 0x5180,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "SO-05D Xperia SX MTP+ADB", 0x5181,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "LT30p Xperia T MTP+ADB", 0x5182,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "LT25i Xperia V MTP+ADB", 0x5186,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia J MTP+ADB", 0x5188,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia ZL MTP+ADB", 0x5189,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia E MTP+ADB", 0x518c,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia Tablet Z MTP+ADB 1", 0x518d,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia L MTP+ADB", 0x5192,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia Z MTP+ADB", 0x5193,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia Tablet Z MTP+ADB 2", 0x5194,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia SP MTP+ADB", 0x5195,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia Z Ultra MTP+ADB (ID2)", 0x5196,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia ZR MTP+ADB", 0x5197,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "SONY", 0x0fce, "Xperia A MTP+ADB", 0x5198,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "SONY", 0x0fce, "Xperia M MTP+ADB", 0x519b,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia Z Ultra MTP+ADB (ID3)", 0x519c,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia Z1 MTP+ADB", 0x519e,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia C MTP+ADB", 0x51a3,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia Z1 Compact MTP+ADB", 0x51a7,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia M2 MTP+ADB", 0x51aa,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia M2 Dual MTP+ADB", 0x51ab,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia Z2 MTP+ADB", 0x51af,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia Z3v MTP+ADB", 0x51b0,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "SONY", 0x0fce, "Xperia Z2 Tablet MTP+ADB", 0x51b1,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "SONY", 0x0fce, "Xperia E1 MTP+ADB", 0x51b5,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "SONY", 0x0fce, "Xperia Z Ultra MTP+ADB", 0x51b6,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia M2 Aqua MTP+ADB", 0x51b8,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "SONY", 0x0fce, "Xperia Z3 MTP+ADB", 0x51ba,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia Z3 Compact MTP+ADB", 0x51bb,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia E3 MTP+ADB", 0x51bc,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "Xperia Z3 Tablet MTP+ADB", 0x41c0,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "XPeria M4 Aqua Dual MTP+ADB", 0x51c4,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "E2115 MTP+ADB", 0x51c5,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "XPeria Z3+ MTP+ADB", 0x51c9,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce,  "XPeria E4g MTP+ADB", 0x51cb,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "C4 Dual MTP+ADB", 0x51d2,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "XPeria M5 MTP+ADB", 0x51d6,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "XPeria Z5 MTP+ADB", 0x51d9,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "XPeria Z5 Compact MTP+ADB", 0x51da,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "XPeria XA MTP+ADB", 0x51de,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "XPeria XZ MTP+ADB", 0x51e7,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "XPeria X Compact MTP+ADB", 0x51e8,
+      DEVICE_FLAG_NONE },
+
+  /*
+   * MTP+UMS modes
+   * This mode is for using MTP on the internal storage (eMMC)
+   * and using UMS (Mass Storage Device Class) on the external
+   * SD card
+   */
+  { "SONY", 0x0fce, "MT27i Xperia Sola MTP+UMS", 0xa173,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "IS12S Xperia Acro HD MTP+UMS", 0xa175,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "SO-03D Xperia Acro HD MTP+UMS", 0xa176,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "LT28at Xperia Ion MTP+UMS", 0xa177,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "ST27i/ST27a Xperia go MTP+UMS", 0xa17e,
+      DEVICE_FLAG_NONE },
+
+  /*
+   * MTP+UMS+ADB modes
+   * Like the above, but also ADB
+   */
+  { "SONY", 0x0fce, "MT27i Xperia Sola MTP+UMS+ADB", 0xb173,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "IS12S Xperia Acro MTP+UMS+ADB", 0xb175,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "SO-03D Xperia Acro MTP+UMS+ADB", 0xb176,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "LT28at Xperia Ion MTP+UMS+ADB", 0xb177,
+      DEVICE_FLAG_NONE },
+  { "SONY", 0x0fce, "ST27i/ST27a Xperia go MTP+UMS+ADB", 0xb17e,
+      DEVICE_FLAG_NONE },
 
 
   /*
    * Motorola
    * Assume DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST on all of these.
    */
+  /* https://sourceforge.net/p/libmtp/feature-requests/136/ */
+  { "Motorola", 0x22b8, "XT1524 (MTP)", 0x002e,
+      DEVICE_FLAGS_ANDROID_BUGS },
   // Reported by David Boyd <tiggrdave@users.sourceforge.net>
-  { "Motorola", 0x22b8, "V3m/V750 verizon", 0x2a65, DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST |
-    DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
+  { "Motorola", 0x22b8, "V3m/V750 verizon", 0x2a65,
+      DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST |
+      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
+  { "Motorola", 0x22b8, "Atrix/Razr HD (MTP)", 0x2e32,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Motorola", 0x22b8, "Atrix/Razr HD (MTP+ADB)", 0x2e33,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Motorola", 0x22b8, "RAZR M XT907 (MTP)", 0x2e50,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Motorola", 0x22b8, "RAZR M XT907 (MTP+ADB)", 0x2e51,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1539/ */
+  { "Motorola", 0x22b8, "Droid Turbo 2 (XT1585)", 0x2e61,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Motorola", 0x22b8, "Moto X (XT1053)", 0x2e62,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Motorola", 0x22b8, "Moto X (XT1058)", 0x2e63,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1323/ */
+  { "Motorola", 0x22b8, "Moto X (XT1080)", 0x2e66,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Motorola", 0x22b8, "Droid Maxx (XT1080)", 0x2e67,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Motorola", 0x22b8, "Droid Ultra", 0x2e68,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Motorola", 0x22b8, "Moto G (ID1)", 0x2e76,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Motorola", 0x22b8, "Moto G (ID2)", 0x2e82,
+      DEVICE_FLAGS_ANDROID_BUGS & ~(DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL|DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST)},
+  /* https://sourceforge.net/p/libmtp/bugs/1030/, PTP Id */
+  { "Motorola", 0x22b8, "Moto G (XT1032)", 0x2e84,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1477/ */
+  { "Motorola", 0x22b8, "Moto Maxx (XT1225)", 0x2ea4,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/feature-requests/189/ */
+  { "Motorola", 0x22b8, "MB632", 0x2dff,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  // Reported by Jader Rodrigues Simoes <jadersimoes@users.sourceforge.net>
+  { "Motorola", 0x22b8, "Xoom 2 Media Edition (ID3)", 0x41cf,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  // Reported by Steven Roemen <sdroemen@users.sourceforge.net>
+  { "Motorola", 0x22b8, "Droid X/MB525 (Defy)", 0x41d6,
+      DEVICE_FLAG_NONE },
+  { "Motorola", 0x22b8, "DROID2 (ID1)", 0x41da,
+      DEVICE_FLAG_NONE },
+  { "Motorola", 0x22b8, "Milestone / Verizon Droid", 0x41dc,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Motorola", 0x22b8, "DROID2 (ID2)", 0x42a7,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Motorola", 0x22b8, "Xoom 2 Media Edition (ID2)", 0x4306,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Motorola", 0x22b8, "Xoom 2 Media Edition", 0x4311,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  // Reported by  B,H,Kissinger <mrkissinger@users.sourceforge.net>
+  { "Motorola", 0x22b8, "XT912/XT928", 0x4362,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1104/ , PTP id. */
+  { "Motorola", 0x22b8, "DROID4 (PTP)", 0x4373,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  // Reported by Lundgren <alundgren@users.sourceforge.net>
+  { "Motorola", 0x22b8, "DROID4", 0x437f,
+      DEVICE_FLAGS_ANDROID_BUGS },
   // 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 },
+  { "Motorola", 0x22b8, "A1200", 0x60ca,
+      DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST },
   // http://mark.cdmaforums.com/Files/Motdmmtp.inf
-  { "Motorola", 0x22b8, "MTP Test Command Interface", 0x6413, DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST },
+  { "Motorola", 0x22b8, "MTP Test Command Interface", 0x6413,
+      DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST },
   // Reported by anonymous user
-  { "Motorola", 0x22b8, "RAZR2 V8/U9/Z6", 0x6415, DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST },
-  
+  { "Motorola", 0x22b8, "RAZR2 V8/U9/Z6", 0x6415,
+      DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST },
+  // Reported by Rodrigo Angelo Rafael
+  // Razr D1, D3
+  { "Motorola", 0x22b8, "Razr D1/D3/i (MTP)", 0x64b5,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Motorola", 0x22b8, "Razr D1/D3/i (MTP+?)", 0x64b6,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/697/ */
+  { "Motorola", 0x22b8, "Atrix XT687 (MTP)", 0x64cf,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  // Reported by Brian Dolbec <dol-sen@users.sourceforge.net>
+  { "Motorola", 0x22b8, "Atrix MB860 (MTP)", 0x7088,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /*
+   * Motorola Xoom (Wingray) variants
+   *
+   * These devices seem to use these product IDs simulatenously
+   * https://code.google.com/p/android-source-browsing/source/browse/init.stingray.usb.rc?repo=device--moto--wingray
+   *
+   * 0x70a3 - Factory test - reported as early MTP ID
+   * 0x70a8 - MTP
+   * 0x70a9 - MTP+ADB
+   * 0x70ae - RNDIS
+   * 0x70af - RNDIS+ADB
+   * 0x70b0 - ACM
+   * 0x70b1 - ACM+ADB
+   * 0x70b2 - ACM+RNDIS
+   * 0x70b3 - ACM+RNDIS+ADB
+   * 0x70b4 - PTP
+   * 0x70b5 - PTP+ADB
+   *
+   * Reported by Google Inc's Yavor Goulishev <yavor@google.com>
+   */
+  { "Motorola", 0x22b8, "Xoom (Factory test)", 0x70a3,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Motorola", 0x22b8, "Xoom (MTP)", 0x70a8,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Motorola", 0x22b8, "Xoom (MTP+ADB)", 0x70a9,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  // "carried by C Spire and other CDMA US carriers"
+  { "Motorola", 0x22b8, "Milestone X2", 0x70ca,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Motorola", 0x22b8, "XT890/907/Razr (MTP)", 0x710d,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Motorola", 0x22b8, "XT890/907/Razr (MTP+ADB)", 0x710e,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1183/ */
+  { "Motorola", 0x22b8, "Droid Turbo (XT1254)", 0x2ea5,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Motorola", 0x22b8, "Droid Turbo Verizon", 0x2ea8,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /*
+   * XT890/907/Razr
+   * 710f is USB mass storage
+   */
+
+  /*
+   * Google
+   * These guys lend their Vendor ID to anyone who comes down the
+   * road to produce an Android tablet it seems... The Vendor ID
+   * was originally used for Nexus phones
+   */
+  { "Google Inc (for Allwinner)", 0x18d1, "A31 SoC", 0x0006,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Google Inc (for Ainol Novo)", 0x18d1, "Fire/Flame", 0x0007,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Google Inc (for Sony)", 0x18d1, "S1", 0x05b3,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/feature-requests/218/ */
+  { "Google Inc (for Fairphone)", 0x18d1, "Fairphone 2", 0x0a07,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  // Reported by anonymous Sourceforge user
+  { "Google Inc (for Barnes & Noble)", 0x18d1, "Nook Color", 0x2d02,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  // Reported by anonymous Sourceforge user
+  { "Google Inc (for Asus)", 0x18d1, "TF201 Transformer", 0x4d00,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  // Reported by anonymous Sourceforge user
+  { "Google Inc (for Asus)", 0x18d1, "TF101 Transformer", 0x4e0f,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  // 0x4e21 (Nexus S) is a USB Mass Storage device.
+  { "Google Inc (for Samsung)", 0x18d1, "Nexus S (MTP)", 0x4e25,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  // 0x4e26 is also used by "Ramos W30HD Pro Quad Core"
+  { "Google Inc (for Samsung)", 0x18d1, "Nexus S (MTP+ADB)", 0x4e26,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  // Reported by Chris Smith <tcgsmythe@users.sourceforge.net>
+  { "Google Inc (for Asus)", 0x18d1, "Nexus 7 (MTP)", 0x4e41,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  // Reported by Michael Hess <mhess126@gmail.com>
+  { "Google Inc (for Asus)", 0x18d1, "Nexus 7 (MTP+ADB)", 0x4e42,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Google Inc", 0x18d1, "Nexus/Pixel (MTP)", 0x4ee1,
+      (DEVICE_FLAGS_ANDROID_BUGS | DEVICE_FLAG_PROPLIST_OVERRIDES_OI) & ~DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
+  { "Google Inc", 0x18d1, "Nexus/Pixel (MTP+ADB)", 0x4ee2,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1255/ */
+  { "Google Inc", 0x18d1, "Nexus/Pixel (PTP)", 0x4ee5,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Google Inc", 0x18d1, "Nexus/Pixel (PTP+ADB)", 0x4ee6,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1444/ */
+  { "Google", 0x18d1, "Pixel C (MTP)", 0x5202,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Google", 0x18d1, "Pixel C (MTP+ADB)", 0x5203,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  // WiFi-only version of Xoom
+  // See: http://bugzilla.gnome.org/show_bug.cgi?id=647506
+  { "Google Inc (for Motorola)", 0x18d1, "Xoom (MZ604)", 0x70a8,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Google Inc (for Toshiba)", 0x18d1, "Thrive 7/AT105", 0x7102,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Google Inc (for Lenovo)", 0x18d1, "Ideapad K1", 0x740a,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  // Another OEM for Medion
+  { "Google Inc (for Medion)", 0x18d1, "MD99000 (P9514)", 0xb00a,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1563/ */
+  { "Meizu", 0x18d1, "Pro 5 Ubuntu Phone", 0xd001, DEVICE_FLAGS_ANDROID_BUGS },
+  // Reported by Frederik Himpe <fhimpe@telenet.be>
+  { "Google Inc (for LG Electronics)", 0x18d1, "P990/Optimus (Cyanogen)",
+      0xd109, DEVICE_FLAGS_ANDROID_BUGS },
+  { "Google Inc (for LG Electronics)", 0x18d1, "P990/Optimus", 0xd10a,
+      DEVICE_FLAGS_ANDROID_BUGS },
+
 
   /*
    * Media Keg
@@ -930,15 +2392,17 @@
    */
   // Both reported by an anonymous SourceForge user
   // This is the 30 GiB model
-  { "Haier", 0x1302, "Ibiza Rhapsody", 0x1016, DEVICE_FLAG_NONE },
+  { "Haier", 0x1302, "Ibiza Rhapsody 1", 0x1016, DEVICE_FLAG_NONE },
   // This is the 4/8 GiB model
-  { "Haier", 0x1302, "Ibiza Rhapsody", 0x1017, DEVICE_FLAG_NONE },
-  
+  { "Haier", 0x1302, "Ibiza Rhapsody 2", 0x1017, DEVICE_FLAG_NONE },
+
   /*
    * Panasonic
    */
   // Reported by dmizer
   { "Panasonic", 0x04da, "P905i", 0x2145, DEVICE_FLAG_NONE },
+  // Reported by Taku
+  { "Panasonic", 0x04da, "P906i", 0x2158, DEVICE_FLAG_NONE },
 
   /*
    * Polaroid
@@ -960,11 +2424,1207 @@
     DEVICE_FLAG_BROKEN_BATTERY_LEVEL | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST |
     DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST | DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST },
 
+  // Reported by anonymous user
+  { "Conceptronic", 0x1e53, "CMTD2", 0x0005, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
   // Reported by Demadridsur <demadridsur@gmail.com>
   { "O2 Sistemas", 0x1e53, "ZoltarTV", 0x0006, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
+  // Reported by da-beat <dabeat@gmail.com>
+  { "Wyplay", 0x1e53, "Wyplayer", 0x0007, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST },
 
   // Reported by Sense Hofstede <qense@users.sourceforge.net>
   { "Perception Digital, Ltd", 0x0aa6, "Gigaware GX400", 0x9702, DEVICE_FLAG_NONE },
+
+  /*
+   * RIM's BlackBerry
+   */
+  // Reported by Nicolas VIVIEN <nicolas@vivien.fr>
+  { "RIM", 0x0fca, "BlackBerry Storm/9650", 0x8007, DEVICE_FLAG_UNLOAD_DRIVER |
+      DEVICE_FLAG_SWITCH_MODE_BLACKBERRY | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
+
+  /* https://sourceforge.net/p/libmtp/bugs/1551/ */
+  { "RIM", 0x0fca, "BlackBerry Priv", 0x8031, DEVICE_FLAG_UNLOAD_DRIVER |
+      DEVICE_FLAG_SWITCH_MODE_BLACKBERRY | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
+
+  /* https://sourceforge.net/p/libmtp/bugs/1658/ */
+  { "RIM", 0x0fca, "BlackBerry Dtek 60", 0x8041, DEVICE_FLAGS_ANDROID_BUGS },
+
+  /*
+   * Nextar
+   */
+  { "Nextar", 0x0402, "MA715A-8R", 0x5668, DEVICE_FLAG_NONE },
+
+  /*
+   * Coby
+   */
+  { "Coby", 0x1e74, "COBY MP705", 0x6512, DEVICE_FLAG_NONE },
+
+#if 0
+  /*
+   * Apple devices, which are not MTP natively but can be made to speak MTP
+   * using PwnTunes (http://www.pwntunes.net/)
+   * CURRENTLY COMMENTED OUT:
+   * These will make the UDEV rules flag these as MTP devices even if
+   * PwnTunes is NOT installed. That is unacceptable, so a better solution
+   * that actually inspects if the device has PwnTunes/MTP support needs
+   * to be found, see:
+   * https://sourceforge.net/p/libmtp/bugs/759/
+   */
+  { "Apple", 0x05ac, "iPhone", 0x1290, DEVICE_FLAG_NONE },
+  { "Apple", 0x05ac, "iPod Touch 1st Gen", 0x1291, DEVICE_FLAG_NONE },
+  { "Apple", 0x05ac, "iPhone 3G", 0x1292, DEVICE_FLAG_NONE },
+  { "Apple", 0x05ac, "iPod Touch 2nd Gen", 0x1293, DEVICE_FLAG_NONE },
+  { "Apple", 0x05ac, "iPhone 3GS", 0x1294, DEVICE_FLAG_NONE },
+  { "Apple", 0x05ac, "0x1296", 0x1296, DEVICE_FLAG_NONE },
+  { "Apple", 0x05ac, "0x1297", 0x1297, DEVICE_FLAG_NONE },
+  { "Apple", 0x05ac, "0x1298", 0x1298, DEVICE_FLAG_NONE },
+  { "Apple", 0x05ac, "iPod Touch 3rd Gen", 0x1299, DEVICE_FLAG_NONE },
+  { "Apple", 0x05ac, "iPad", 0x129a, DEVICE_FLAG_NONE },
+#endif
+
+  // Reported by anonymous SourceForge user, also reported as
+  // Pantech Crux, claming to be:
+  // Manufacturer: Qualcomm
+  // Model: Windows Simulator
+  // Device version: Qualcomm MTP1.0
+  { "Curitel Communications, Inc.", 0x106c,
+      "Verizon Wireless Device", 0x3215, DEVICE_FLAG_NONE },
+  // Reported by: Jim Hanrahan <goshawkjim@users.sourceforge.net>
+  { "Pantech", 0x106c, "Crux", 0xf003, DEVICE_FLAG_NONE },
+
+  /* https://sourceforge.net/p/libmtp/feature-requests/208/ */
+  { "Asus", 0x0b05, "Zenfone Go (ZC500TG)", 0x2008, DEVICE_FLAGS_ANDROID_BUGS },
+  /*
+   * Asus
+   * Pattern of PIDs on Android devices seem to be:
+   * n+0 = MTP
+   * n+1 = MTP+ADB
+   * n+2 = ?
+   * n+3 = ?
+   * n+4 = PTP
+   */
+  // Reported by Glen Overby
+  { "Asus", 0x0b05, "TF300 Transformer (MTP)", 0x4c80,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  // Reported by jaile <jaile@users.sourceforge.net>
+  { "Asus", 0x0b05, "TF300 Transformer (MTP+ADB)", 0x4c81,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  // Repored by Florian Apolloner <f-apolloner@users.sourceforge.net>
+  { "Asus", 0x0b05, "TF700 Transformer (MTP)", 0x4c90,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Asus", 0x0b05, "TF700 Transformer (MTP+ADB)", 0x4c91,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Asus", 0x0b05, "TF701T Transformer Pad (MTP)", 0x4ca0,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Asus", 0x0b05, "TF701T Transformer Pad (MTP+ADB)", 0x4ca1,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/support-requests/135/ */
+  { "Asus", 0x0b05, "ME302KL MeMo Pad FHD10 (MTP)", 0x4cc0,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Asus", 0x0b05, "ME302KL MeMo Pad FHD10 (MTP+ADB)", 0x4cc1,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Asus", 0x0b05, "ME301T MeMo Pad Smart 10 (MTP)", 0x4cd0,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Asus", 0x0b05, "ME301T MeMo Pad Smart 10 (MTP+ADB)", 0x4cd1,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Asus", 0x0b05, "Asus Fonepad Note 6 (MTP)", 0x4ce0,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Asus", 0x0b05, "Asus Fonepad Note 6 (MTP+ADB)", 0x4ce1,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Asus", 0x0b05, "TF201 Transformer Prime (keyboard dock)", 0x4d00,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Asus", 0x0b05, "TF201 Transformer Prime (tablet only)", 0x4d01,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  // 4d04 is the PTP mode, don't add it
+  { "Asus", 0x0b05, "SL101 (MTP)", 0x4e00,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Asus", 0x0b05, "SL101 (MTP+ADB)", 0x4e01,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Asus", 0x0b05, "TF101 Eeepad Transformer (MTP)", 0x4e0f,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Asus", 0x0b05, "TF101 Eeepad Transformer (MTP+ADB)", 0x4e1f,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Asus", 0x0b05, "Fonepad", 0x514f,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Asus", 0x0b05, "PadFone (MTP)", 0x5200,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Asus", 0x0b05, "PadFone (MTP+ADB)", 0x5201,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Asus", 0x0b05, "ME302C MemoPad (MTP+?)", 0x520f,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Asus", 0x0b05, "PadFone 2 (MTP)", 0x5210,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Asus", 0x0b05, "PadFone 2 (MTP+ADB)", 0x5211,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Asus", 0x0b05, "PadFone 2 (PTP)", 0x5214,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Asus", 0x0b05, "ME302C MemoPad (MTP)", 0x521f,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1066/ */
+  { "Asus", 0x0b05, "PadFone Infinity (2nd ID) (MTP)", 0x5220,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Asus", 0x0b05, "PadFone Infinity (2nd ID) (MTP+ADB)", 0x5221,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Asus", 0x0b05, "PadFone Infinity (MTP)", 0x5230,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Asus", 0x0b05, "PadFone Infinity (MTP+ADB)", 0x5231,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Asus", 0x0b05, "Memo ME172V (MTP)", 0x5400,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1072/ */
+  { "Asus", 0x0b05, "Fonepad 7 LTE ME372CL (MTP)", 0x540f,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Asus", 0x0b05, "Memo ME173X (MTP)", 0x5410,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Asus", 0x0b05, "Memo ME173X (MTP+ADB)", 0x5411,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1072/ */
+  { "Asus", 0x0b05, "Fonepad 7 LTE ME372CL (MTP+ADB)", 0x541f,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Asus", 0x0b05, "Memo K00F (MTP)", 0x5460,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Asus", 0x0b05, "Memo Pad 8 (MTP)", 0x5466,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Asus", 0x0b05, "Memo K00F (MTP+ADB)", 0x5468,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/support-requests/158/ */
+  { "Asus", 0x0b05, "ZenFone 5 (MTP)", 0x5480,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1279/ */
+  { "Asus", 0x0b05, "ZenFone 5 (MTP+ADB)", 0x5481,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1236/ */
+  { "Asus", 0x0b05, "ZenFone 6 (MTP)", 0x5490,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Asus", 0x0b05, "ZenFone 6 (MTP+ADB)", 0x5491,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1239/ */
+  { "Asus", 0x0b05, "K010 (MTP)", 0x5500,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1196/ */
+  { "Asus", 0x0b05, "MemoPad 7 (MTP+ADB)", 0x5506,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1069/ */
+  { "Asus", 0x0b05, "K00E (MTP+ADB)", 0x550f,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1244/ */
+  { "Asus", 0x0b05, "MemoPad 8 ME181 CX (MTP)", 0x5561,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1406/ */
+  { "Asus", 0x0b05, "Zenfone 2 (MTP)", 0x5600,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1364/ */
+  { "Asus", 0x0b05, "Z00AD (MTP)", 0x5601,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Asus", 0x0b05, "TX201LA (MTP)", 0x561f,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1271/ */
+  { "Asus", 0x0b05, "ZenFone 4 (MTP)", 0x580f,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1179/ */
+  { "Asus", 0x0b05, "ZenFone 4 A400CG (MTP)", 0x581f,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1548/ */
+  { "Asus", 0x0b05, "ASUS FonePad 8 FE380CG (MTP)", 0x590f,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1258/ */
+  { "Asus", 0x0b05, "A450CG (MTP)", 0x5a0f,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1546/ */
+  { "Asus", 0x0b05, "ZenPad 80 (MTP)", 0x5e0f,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1350/ */
+  { "Asus", 0x0b05, "Zenfone 2 ZE550ML (MTP)", 0x5f02,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1364/ */
+  { "Asus", 0x0b05, "Zenfone 2 ZE551ML (MTP)", 0x5f03,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1642/ */
+  { "Asus", 0x0b05, "ME581CL", 0x7770,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1232/ */
+  { "Asus", 0x0b05, "MemoPad 7 (ME572CL)", 0x7772,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1351/ */
+  { "Asus", 0x0b05, "Fonepad 7 (FE375CXG)", 0x7773,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Asus", 0x0b05, "ZenFone 5 A500KL (MTP)", 0x7780,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1247/ */
+  { "Asus", 0x0b05, "ZenFone 5 A500KL (MTP+ADB)", 0x7781,
+      DEVICE_FLAGS_ANDROID_BUGS },
+
+
+  /*
+   * Lenovo
+   */
+  /* https://sourceforge.net/p/libmtp/support-requests/178/ */
+  { "Lenovo", 0x17ef, "P70-A", 0x0c02,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1415/ */
+  { "Lenovo", 0x17ef, "P70", 0x2008,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  // 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 },
+  // Medion is using Lenovos manufacturer ID it seems.
+  // Reported by Thomas Goss <thomas.goss@linux.com>
+  { "Medion", 0x17ef, "Lifetab P9516", 0x7483,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  // Reported by: XChesser <XChesser@users.sourceforge.net>
+  { "Lenovo", 0x17ef, "P700", 0x7497,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1185/ */
+  { "Lenovo", 0x17ef, "A820", 0x7498,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1190/ */
+  { "Lenovo", 0x17ef, "P780", 0x74a6,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  // Reported by: anonymous sourceforge user
+  { "Lenovo", 0x17ef, "Lifetab S9512", 0x74cc,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/feature-requests/217/ */
+  { "Lenovo", 0x17ef, "Vibe K5", 0x74ee,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/support-requests/170/ */
+  { "Lenovo", 0x17ef, "S660", 0x74f8,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  // Reported by Brian J. Murrell
+  { "Lenovo", 0x17ef, "IdeaTab A2109A", 0x7542,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/support-requests/166/ */
+  { "Lenovo", 0x17ef, "IdeaTab S2210a", 0x757d,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1529/ */
+  { "Lenovo", 0x17ef, "K900 (ID2)", 0x75b3,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1123/ */
+  { "Lenovo", 0x17ef, "K900 (ID1)", 0x75b5,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  // Reported by rvelev@mail.bg
+  { "Lenovo", 0x17ef, "IdeaPad A3000 (ID1)", 0x75bc,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Lenovo", 0x17ef, "IdeaPad A3000 (ID2)", 0x75be,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/support-requests/232/ */
+  { "Lenovo", 0x17ef, "A706", 0x7614,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Lenovo", 0x17ef, "IdeaTab S5000", 0x76e8,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Lenovo", 0x17ef, "Toga Tablet B6000-F", 0x76f2,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1155/ */
+  { "Lenovo", 0x17ef, "Yoga Tablet 10 B8000-H", 0x76ff,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1673/ */
+  { "Lenovo", 0x17ef, "S960", 0x770a,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1597/ */
+  { "Lenovo", 0x17ef, "K910SS", 0x7713,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1122/ */
+  { "Lenovo", 0x17ef, "S930", 0x7718,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1250/ */
+  { "Lenovo", 0x17ef, "A5500-F", 0x772b,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /*  https://sourceforge.net/p/libmtp/bugs/1391/ */
+  { "Lenovo", 0x17ef, "A7600-F", 0x7731,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1291/ */
+  { "Lenovo", 0x17ef, "A3500-F", 0x7737,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1556/ */
+  { "Lenovo", 0x17ef, "A3500-FL", 0x7738,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Lenovo", 0x17ef, "LifeTab E733X", 0x775a,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1595/ */
+  { "Lenovo", 0x17ef, "K920", 0x778f,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/support-requests/186/ */
+  { "Lenovo", 0x17ef, "Yoga Tablet 2 - 1050F", 0x77a4,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/support-requests/168/ */
+  { "Lenovo", 0x17ef, "Yoga Tablet 2 Pro", 0x77b1,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/support-requests/219/ */
+  { "Lenovo", 0x17ef, "Tab S8-50F", 0x77d8,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/feature-requests/125/ */
+  { "Lenovo", 0x17ef, "Vibe Z2", 0x77ea,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1360/ */
+  { "Lenovo", 0x17ef, "K3 Note", 0x7883,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1488/ */
+  { "Lenovo", 0x17ef, "A10-70F", 0x789a,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1497/ */
+  { "Lenovo", 0x17ef, "A10-70L", 0x789b,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1480/ */
+  { "Medion", 0x17ef, "P8312 Tablet", 0x78ae,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/support-requests/201/ */
+  { "Lenovo", 0x17ef, "Lifetab S1034X", 0x78b0,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1572/ */
+  { "Lenovo", 0x17ef, "PHAB Plus", 0x78d1,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1562/ */
+  { "Lenovo", 0x17ef, "Vibe K4 Note", 0x78f6,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/support-requests/213/ */
+  { "Lenovo", 0x17ef, "Vibe P1 Pro", 0x78fc,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1531/ */
+  { "Lenovo", 0x17ef, "Vibe X", 0x7902,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/support-requests/235/ */
+  { "Lenovo", 0x17ef, "P1ma40", 0x7921,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1465/ */
+  { "Lenovo", 0x17ef, "A1000 Smartphone", 0x7928,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1465/ */
+  { "Lenovo", 0x17ef, "A1000 Smartphone ADB", 0x7929,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/feature-requests/224/ */
+  { "Lenovo", 0x17ef, "Yoga 10 Tablet YT3-X50F", 0x7932,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/feature-requests/204/ */
+  { "Lenovo", 0x17ef, "TAB 2 A10-30", 0x7949,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Lenovo", 0x17ef, "K5", 0x7993,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Lenovo", 0x17ef, "Vibe K5 Note", 0x7999,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1664/ */
+  { "Lenovo", 0x17ef, "Vibe K4", 0x79b7,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/support-requests/242/ */
+  { "Lenovo", 0x17ef, "Tab 3 10 Plus", 0x79de,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1624/ */
+  { "Lenovo", 0x17ef, "B Smartphone", 0x7a18,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1679/ */
+  { "Lenovo", 0x17ef, "C2", 0x7a36,
+      DEVICE_FLAGS_ANDROID_BUGS },
+
+  /*
+   * Huawei
+   * IDs used by Honor U8860,U8815,U9200,P2
+   */
+  { "Huawei", 0x12d1, "MTP device (ID1)", 0x1051,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Huawei", 0x12d1, "MTP device (ID2)", 0x1052,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1507/ */
+  { "Huawei", 0x12d1, "Honor 7", 0x1074,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1381/ */
+  { "Huawei", 0x12d1, "H60-L11", 0x1079,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1550/ */
+  { "Huawei", 0x12d1, "H60-L12", 0x107a,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1640/ */
+  { "Huawei", 0x12d1, "Nova", 0x107d,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/feature-requests/173/ */
+  { "Huawei", 0x12d1, "P9 Plus", 0x107e,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1361/ */
+  { "Huawei", 0x12d1, "Ascend P8", 0x1082,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1418/ */
+  { "Huawei", 0x12d1, "Honor 3C", 0x2012,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1629/ */
+  { "Huawei", 0x12d1, "Y320-U10", 0x2406,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1703/ */
+  { "Huawei", 0x12d1, "Y625-U03", 0x255d,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/feature-requests/186/ */
+  { "Huawei", 0x12d1, "Y360-U61", 0x2567,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/feature-requests/205/ */
+  { "Huawei", 0x12d1, "Y360-U03", 0x256b,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/support-requests/227/ */
+  { "Huawei", 0x12d1, "Y560-L01", 0x259c,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1695/
+   * Seth Brown on libmtp-discuss
+   */
+  { "Huawei", 0x12d1, "CUN-U29", 0x2608,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Huawei", 0x12d1, "Mediapad (mode 0)", 0x360f,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  // Reported by Bearsh <bearsh@users.sourceforge.net>
+  { "Huawei", 0x12d1, "Mediapad (mode 1)", 0x361f,
+      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 },
+  { "ZTE", 0x19d2, "V790/Blade 3", 0x0306, DEVICE_FLAGS_ANDROID_BUGS },
+  { "ZTE", 0x19d2, "V880E", 0x0307, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/672/ */
+  { "ZTE", 0x19d2, "Grand X In", 0x0343, DEVICE_FLAGS_ANDROID_BUGS },
+  { "ZTE", 0x19d2, "V985", 0x0383, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1328/ */
+  { "ZTE", 0x19d2, "V5", 0xffce, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1646/ */
+  { "ZTE", 0x19d2, "Z9 Max", 0xffcf, DEVICE_FLAGS_ANDROID_BUGS },
+
+  /*
+   * HTC (High Tech Computer Corp)
+   * Reporters:
+   * Steven Eastland <grassmonk@users.sourceforge.net>
+   * Kevin Cheng <kache@users.sf.net>
+   */
+  /* https://sourceforge.net/p/libmtp/support-requests/181/ */
+  { "HTC", 0x0bb4, "One M9 (1st ID)", 0x040b,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1398/ */
+  { "HTC", 0x0bb4, "Spreadtrum SH57MYZ03342 (MTP)", 0x05e3,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* reported by Mikkel Oscar Lyderik <mikkeloscar@gmail.com> */
+  { "HTC", 0x0bb4, "HTC Desire 510 (MTP+ADB)", 0x05fd,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1221/ */
+  { "HTC", 0x0bb4, "One M8 Google Play Edition (MTP+ADB)", 0x060b,
+      DEVICE_FLAG_NONE },
+  /* https://sourceforge.net/p/libmtp/bugs/1500/ */
+  { "HTC", 0x0bb4, "One Mini 2 (MTP)", 0x0629,
+      DEVICE_FLAG_NONE },
+  /* https://sourceforge.net/p/libmtp/bugs/1508/ */
+  { "HTC", 0x0bb4, "One M9 (2nd ID)", 0x065c,
+      DEVICE_FLAG_NONE },
+  /* https://sourceforge.net/p/libmtp/bugs/1543/ */
+  { "HTC", 0x0bb4, "Desire 626s (MTP)", 0x0668,
+      DEVICE_FLAG_NONE },
+  /* https://sourceforge.net/p/libmtp/support-requests/200/ */
+  { "HTC", 0x0bb4, "HTC Desire 520", 0x0670,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/support-requests/153/ */
+  { "HTC", 0x0bb4, "HTC6515LVW/One Remix", 0x07d8,
+      DEVICE_FLAG_NONE },
+  /* https://sourceforge.net/p/libmtp/bugs/1615/ */
+  { "HTC", 0x0bb4, "HTC X920E", 0x07a1,
+      DEVICE_FLAG_NONE },
+  /* https://sourceforge.net/p/libmtp/support-requests/141/ */
+  { "HTC", 0x0bb4, "HTC One (HTC6500LVW)", 0x07ae,
+      DEVICE_FLAG_NONE },
+  /* https://sourceforge.net/p/libmtp/support-requests/128/ */
+  { "HTC", 0x0bb4, "HTC One M8 (HTC6525LVW)", 0x07ca,
+      DEVICE_FLAG_NONE },
+  /* https://sourceforge.net/p/libmtp/bugs/1161/ */
+  { "HTC", 0x0bb4, "HTC One M8 (Verizon) (HTC6525LVW)", 0x07cb,
+      DEVICE_FLAG_NONE },
+  /* https://sourceforge.net/p/libmtp/bugs/1133/ */
+  { "HTC", 0x0bb4, "HTC One Remix (HTC6515LVW)", 0x07d9,
+      DEVICE_FLAG_NONE },
+  // Reported by Markus Heberling
+  { "HTC", 0x0bb4, "Windows Phone 8X ID1", 0x0ba1,
+      DEVICE_FLAG_NONE },
+  { "HTC", 0x0bb4, "Windows Phone 8X ID2", 0x0ba2,
+      DEVICE_FLAG_NONE },
+
+#if 1
+  /* after some review I commented it back in. There was apparently
+   * only one or two devices misbehaving (having this ID in mass storage mode),
+   * but more seem to use it regulary as MTP devices. Marcus 20150401 */
+  /*
+   * 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.
+   * used by various devices, like Fairphone, Elephone P5000, etc
+   * https://sourceforge.net/p/libmtp/bugs/1290/
+   */
+  { "HTC", 0x0bb4, "Android Device ID1 (Zopo, HD2, Bird...)", 0x0c02,
+      DEVICE_FLAGS_ANDROID_BUGS },
+#endif
+  /* https://sourceforge.net/p/libmtp/bugs/1677/ */
+  { "DEXP", 0x0bb4, "Ixion XL145 Snatch", 0x0c08,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "HTC", 0x0bb4, "EVO 4G LTE/One V (ID1)", 0x0c93,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "HTC", 0x0bb4, "EVO 4G LTE/One V (ID2)", 0x0ca8,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "HTC", 0x0bb4, "HTC One S (ID1)", 0x0cec,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "HTC", 0x0bb4, "One Mini (ID1)", 0x0dcd,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "HTC", 0x0bb4, "HTC One 802w (ID1)", 0x0dd2,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "HTC", 0x0bb4, "HTC Desire X", 0x0dd5,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "HTC", 0x0bb4, "HTC One (ID1)", 0x0dda,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "HTC", 0x0bb4, "HTC Butterfly X290d", 0x0de4,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "HTC", 0x0bb4, "HTC One (MTP+UMS+ADB)", 0x0dea,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "HTC", 0x0bb4, "HTC Evo 4G LTE (ID1)", 0x0df5,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "HTC", 0x0bb4, "HTC One S (ID2)", 0x0df8,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "HTC", 0x0bb4, "HTC One S (ID3)", 0x0df9,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "HTC", 0x0bb4, "HTC One X (ID1)", 0x0dfa,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "HTC", 0x0bb4, "HTC One X (ID2)", 0x0dfb,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "HTC", 0x0bb4, "HTC One X (ID3)", 0x0dfc,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "HTC", 0x0bb4, "HTC One X (ID4)", 0x0dfd,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "HTC", 0x0bb4, "HTC Butterfly (ID1)", 0x0dfe,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "HTC", 0x0bb4, "Droid DNA (MTP+UMS+ADB)", 0x0dff,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "HTC", 0x0bb4, "HTC Droid Incredible 4G LTE (MTP)", 0x0e31,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "HTC", 0x0bb4, "HTC Droid Incredible 4G LTE (MTP+ADB)", 0x0e32,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "HTC", 0x0bb4, "Droid DNA (MTP+UMS)", 0x0ebd,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1182/ */
+  { "HTC", 0x0bb4, "Desire 310 (MTP)", 0x0ec6,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1481/ */
+  { "HTC", 0x0bb4, "Desire 310 (2nd id) (MTP)", 0x0ec7,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1420/ */
+  { "HTC", 0x0bb4, "Desire 816G (MTP)", 0x0edb,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1632/ */
+  { "HTC", 0x0bb4, "Desire 626G Dual Sim (MTP)", 0x0edd,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "HTC", 0x0bb4, "HTC One (MTP+ADB+CDC)", 0x0f5f,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "HTC", 0x0bb4, "HTC One (MTP+CDC)", 0x0f60,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "HTC", 0x0bb4, "HTC One (MTP+ADB)", 0x0f63,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "HTC", 0x0bb4, "HTC One (MTP)", 0x0f64,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "HTC", 0x0bb4, "HTC One (MTP+ADB+?)", 0x0f87,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "HTC", 0x0bb4, "HTC One (ID3)", 0x0f91,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "HTC", 0x0bb4, "HTC One M8 (MTP)", 0x0f25,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "HTC", 0x0bb4, "HTC One M8 (MTP+ADB)", 0x061a,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "HTC", 0x0bb4, "HTC One M8 (MTP+UMS)", 0x0fb5,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "HTC", 0x0bb4, "HTC One M8 (MTP+ADB+UMS)", 0x0fb4,
+      DEVICE_FLAGS_ANDROID_BUGS },
+
+#if 1
+  /* after some review I commented it back in. There was apparently
+   * only one or two devices misbehaving (having this ID in mass storage mode),
+   * but more seem to use it regulary as MTP devices. Marcus 20150401 */
+  /*
+   * This had to be commented out - the same VID+PID is used also for
+   * other modes than MTP, so we need to let mtp-probe do its job on this
+   * device instead of adding it to the database.
+   *
+   * Apparently also used by a clone called Jiayu G2S
+   * with the MTK6577T chipset
+   * http://www.ejiayu.com/en/Product-19.html
+   * Wiko Cink Peax 2
+   */
+  { "HTC", 0x0bb4, "Android Device ID2 (Zopo, HD2...)", 0x2008,
+      DEVICE_FLAGS_ANDROID_BUGS },
+#endif
+  /* https://sourceforge.net/p/libmtp/bugs/1198/ */
+  { "HTC", 0x0bb4, "Motorola Razr D1", 0x2012,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1440/ */
+  { "HTC", 0x0bb4, "Motorola P98 4G", 0x201d,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1508/ */
+  { "HTC", 0x0bb4, "One M9 (3rd ID)", 0x4ee1,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/support-requests/217/ */
+  { "HTC", 0x0bb4, "One M9 (4th ID)", 0x4ee2,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  // These identify themselves as "cm_tenderloin", fun...
+  // Done by HTC for HP I guess.
+  { "HTC (for Hewlett-Packard)", 0x0bb4, "HP Touchpad (MTP)", 0x685c,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "HTC (for Hewlett-Packard)", 0x0bb4, "HP Touchpad (MTP+ADB)", 0x6860,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "HTC", 0x0bb4, "Windows Phone 8s ID1", 0xf0ca,
+      DEVICE_FLAG_NONE },
+
+  /*
+   * NEC
+   */
+  { "NEC", 0x0409, "FOMA N01A", 0x0242, DEVICE_FLAG_NONE },
+  { "NEC", 0x0409, "Casio C811", 0x0326, DEVICE_FLAG_NONE },
+  { "NEC", 0x0409, "Casio CA-201L", 0x0432, DEVICE_FLAG_NONE },
+
+  /*
+   * nVidia
+   */
+  // Found on Internet forum
+  { "nVidia", 0x0955, "CM9-Adam", 0x70a9,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  // Various pads such as Nabi2, Notion Ink Adam, Viewsonic G-Tablet
+  { "nVidia", 0x0955, "Various tablets (ID1)", 0x7100,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "nVidia", 0x0955, "Various tablets (ID2)", 0x7102,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1582/ */
+  { "nVidia", 0x0955, "Jetson TX1", 0x7721,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "nVidia", 0x0955, "Shield (ID1)", 0xb400,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1447/ */
+  { "nVidia", 0x0955, "Shield (Tegra4)", 0xb401,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1087/ */
+  { "nVidia", 0x0955, "Tegra Note", 0xcf02,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* benpro82@gmail.com */
+  { "nVidia", 0x0955, "Shield (ID2)", 0xcf07,
+      DEVICE_FLAGS_ANDROID_BUGS },
+
+  /*
+   * Vizio
+   * Reported by:
+   * Michael Gurski <gurski@users.sourceforge.net>
+   */
+  /* https://sourceforge.net/p/libmtp/support-requests/221/ */
+  { "Nokia", 0x0489, "N1", 0x1ab0,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1567/ */
+  { "InFocus", 0x0489, "M808", 0xc00b,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/support-requests/138/ */
+  { "InFocus", 0x0489, "M810", 0xc025,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Vizio", 0x0489, "Unknown 1", 0xc026,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Vizio", 0x0489, "VTAB1008", 0xe040,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Vizio (for Lenovo)", 0x0489, "LIFETAB S9714", 0xe111,
+      DEVICE_FLAGS_ANDROID_BUGS },
+
+
+  /*
+   * Amazon
+   */
+  { "Amazon", 0x1949, "Kindle Fire 2G (ID1)", 0x0005,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Amazon", 0x1949, "Kindle Fire (ID1)", 0x0007,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Amazon", 0x1949, "Kindle Fire (ID2)", 0x0008,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Amazon", 0x1949, "Kindle Fire (ID3)", 0x000a,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1026/ */
+  { "Amazon", 0x1949, "Kindle Fire (ID6)", 0x000b,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Amazon", 0x1949, "Kindle Fire (ID4)", 0x000c,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1015/ */
+  { "Amazon", 0x1949, "Kindle Fire (ID7)", 0x000d,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Amazon", 0x1949, "Kindle Fire (ID5)", 0x0012,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1353/ */
+  { "Amazon", 0x1949, "Kindle Fire HD6", 0x00f2,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1460/ */
+  { "Amazon", 0x1949, "Kindle Fire 8", 0x0211,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/feature-requests/158/ */
+  { "Amazon", 0x1949, "Kindle Fire 8 HD", 0x0212,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1448/ */
+  { "Amazon", 0x1949, "Kindle Fire 7", 0x0221,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1491/ */
+  { "Amazon", 0x1949, "Kindle Fire 5", 0x0222,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Amazon", 0x1949, "Fire Phone", 0x0800,
+      DEVICE_FLAGS_ANDROID_BUGS },
+
+  /*
+   * Barnes&Noble
+   */
+  { "Barnes&Noble", 0x2080, "Nook HD+", 0x0005,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Barnes&Noble", 0x2080, "Nook HD", 0x0006,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1504/ */
+  { "Barnes&Noble", 0x2080, "Nook Glowlight+", 0x000a,
+      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 },
+  /* https://sourceforge.net/p/libmtp/bugs/1354/ */
+  { "Various", 0x2207, "Viewpia DR/bq Kepler Debugging", 0x0011,
+      DEVICE_FLAGS_ANDROID_BUGS },
+
+  /*
+   * Kobo
+   */
+  /* https://sourceforge.net/p/libmtp/bugs/1208/ */
+  { "Kobo", 0x2237, "Arc 7 HD", 0xb108,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  // Reported by George Talusan
+  { "Kobo", 0x2237, "Arc (ID1)", 0xd108,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Kobo", 0x2237, "Arc (ID2)", 0xd109,
+      DEVICE_FLAGS_ANDROID_BUGS },
+
+  /*
+   * Hisense
+   */
+  // Reported by Anonymous SourceForge users
+  { "Hisense", 0x109b, "E860 (ID1)", 0x9106, DEVICE_FLAGS_ANDROID_BUGS },
+  { "Hisense", 0x109b, "E860 (ID2)", 0x9109, DEVICE_FLAGS_ANDROID_BUGS },
+
+  /*
+   * Intel
+   * Also sold rebranded as Orange products
+   */
+  /* https://sourceforge.net/p/libmtp/feature-requests/215/ */
+  { "Intel", 0x8087, "Point of View TAB-I847", 0x092a, DEVICE_FLAGS_ANDROID_BUGS },
+
+  { "Intel", 0x8087, "Xolo 900/AZ210A", 0x09fb, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1256/ */
+  { "Intel", 0x8087, "Noblex T7A21", 0x0a16, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1252/ */
+  { "Intel", 0x8087, "Foxconn iView i700", 0x0a15, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1237/ */
+  { "Intel", 0x8087, "Telcast Air 3G", 0x0a5e, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1338/ */
+  { "Intel", 0x8087, "Chuwi vi8", 0x0a5f, DEVICE_FLAGS_ANDROID_BUGS },
+
+  /*
+   * Xiaomi
+   */
+  /* https://sourceforge.net/p/libmtp/bugs/1269/ */
+  { "Xiaomi", 0x2717, "Mi-3w (MTP)", 0x0360,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Xiaomi", 0x2717, "Mi-3 (MTP)", 0x0368,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1149/ */
+  { "Xiaomi", 0x2717, "MiPad (MTP)", 0x0660,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1489/ */
+  { "Xiaomi", 0x2717, "MiPad (MTP+ADB)", 0x0668,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Xiaomi", 0x2717, "Hongmi (MTP+ADB)", 0x1240,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1095/ */
+  { "Xiaomi", 0x2717, "Hongmi (MTP)", 0x1248,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1295/ */
+  { "Redmi", 0x2717, "1S (MTP)", 0x1260,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1164/ */
+  { "Redmi", 0x2717, "HM 1S (MTP)", 0x1268,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1702/ */
+  { "Xiaomi", 0x2717, "HM NOTE 1LTEW 4G Phone (MTP)", 0x1360,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/discussion/535190/ */
+  { "Xiaomi", 0x2717, "HM NOTE 1LTEW MIUI (MTP)", 0x1368,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Xiaomi", 0x2717, "Mi-2 (MTP+ADB)", 0x9039,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Xiaomi", 0x2717, "Mi-2 (MTP)", 0xf003,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1397/ */
+  { "Xiaomi", 0x2717, "Mi-2s (id2) (MTP)", 0xff40,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1339/ */
+  { "Xiaomi", 0x2717, "Mi-2s (MTP)", 0xff48,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1402/ */
+  { "Xiaomi", 0x2717, "Redmi 2 (MTP)", 0xff60,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1445/ */
+  { "Xiaomi", 0x2717, "Redmi 2 2014811 (MTP)", 0xff68,
+      DEVICE_FLAGS_ANDROID_BUGS },
+
+  /*
+   * XO Learning Tablet
+   * Also Trio Stealth G2 tablet it seems
+   */
+  { "Acromag Inc.", 0x16d5, "XO Learning Tablet (MTP+ADB)", 0x8005,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Acromag Inc.", 0x16d5, "XO Learning Tablet (MTP)", 0x8006,
+      DEVICE_FLAGS_ANDROID_BUGS },
+
+  /*
+   * SHARP Corporation
+   */
+  { "SHARP Corporation", 0x0489, "SH930W", 0xc025,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "SHARP Corporation", 0x04dd, "SBM203SH", 0x9661,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "SHARP Corporation", 0x04dd, "SH-06E", 0x96ca,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/feature-requests/192/ */
+  { "SHARP Corporation", 0x04dd, "SHV35 AQUOS U ", 0x99d2,
+      DEVICE_FLAGS_ANDROID_BUGS },
+
+  /*
+   * T & A Mobile phones Alcatel and TCT
+   */
+  { "Alcatel", 0x1bbb, "One Touch 997D (MTP+ADB)", 0x0c02,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Alcatel", 0x1bbb, "One Touch 997D (MTP)", 0x2008,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Alcatel/TCT", 0x1bbb, "6010D/TCL S950", 0x0167,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Alcatel", 0x1bbb, "6030a", 0x0168,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Alcatel/Bouygues", 0x1bbb, "BS472", 0x904d,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1304/ */
+  { "Alcatel", 0x1bbb, "OneTouch 5042D (MTP)", 0xa00e,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1605/ */
+  { "Alcatel", 0x1bbb, "OneTouch Idol 3 ID2 (MTP)", 0xaf00,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/support-requests/189/ */
+  { "Alcatel", 0x1bbb, "OneTouch Idol 3 small (MTP)", 0xaf2a,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1401/ */
+  { "Alcatel", 0x1bbb, "OneTouch Idol 3 (MTP)", 0xaf2b,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/feature-requests/114/ */
+  { "Alcatel", 0x1bbb, "OneTouch 6034R", 0xf003,
+      DEVICE_FLAGS_ANDROID_BUGS },
+
+  /*
+   * Kyocera
+   */
+  { "Kyocera", 0x0482, "Rise", 0x0571, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1492/ */
+  { "Kyocera", 0x0482, "Event", 0x0591, DEVICE_FLAGS_ANDROID_BUGS  & ~DEVICE_FLAG_FORCE_RESET_ON_CLOSE },
+  /* https://sourceforge.net/p/libmtp/feature-requests/134/ */
+  { "Kyocera", 0x0482, "Torque Model E6715", 0x0059a, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/feature-requests/164/ */
+  { "Kyocera", 0x0482, "Hydro Elite C6750", 0x073c, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/discussion/535190/thread/6270f5ce/ */
+  { "Kyocera", 0x0482, "KYL22", 0x0810, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1518/ */
+  { "Kyocera", 0x0482, "302KC", 0x09fc, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1345/ */
+  { "Kyocera", 0x0482, "DuraForce", 0x0979, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1476/ */
+  { "Kyocera", 0x0482, "KC-S701", 0x09cb, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/feature-requests/192/ */
+  { "Kyocera", 0x0482, "C6740N", 0x0a73, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/feature-requests/220/ */
+  { "Kyocera", 0x0482, "Duraforce XD", 0x0a9a, DEVICE_FLAGS_ANDROID_BUGS },
+
+  /*
+   * HiSense
+   */
+  { "HiSense", 0x109b, "Sero 7 Pro", 0x9105,
+      DEVICE_FLAGS_ANDROID_BUGS },
+
+  /*
+   * Hewlett-Packard
+   */
+  { "Hewlett-Packard", 0x03f0, "Slate 7 4600", 0x5c1d,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "Hewlett-Packard", 0x03f0, "Slate 7 2800", 0x5d1d,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1366/ */
+  { "Hewlett-Packard", 0x03f0, "Slate 10 HD", 0x7e1d,
+      DEVICE_FLAGS_ANDROID_BUGS },
+
+  /*
+   * MediaTek Inc.
+   */
+  { "MediaTek Inc", 0x0e8d, "MT5xx and MT6xx SoCs", 0x0050,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1553/ */
+  { "Bravis", 0x0e8d, "A401 Neo", 0x0c03,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1422/ */
+  { "MediaTek Inc", 0x0e8d, "MT65xx", 0x2008,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1467/ */
+  { "elephone", 0x0e8d, "p6000", 0x2008,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/feature-requests/79/ */
+  { "MediaTek Inc", 0x0e8d, "Elephone P8000", 0x201d,
+      DEVICE_FLAGS_ANDROID_BUGS },
+
+  /*
+   * Jolla
+   */
+  { "Jolla", 0x2931, "Sailfish (ID1)", 0x0a01,
+      DEVICE_FLAGS_ANDROID_BUGS },
+
+  /* In update 4 the order of devices was changed for
+     better OS X / Windows suport and another device-id
+     got assigned for the MTP */
+  { "Jolla", 0x2931, "Sailfish (ID2)", 0x0a05,
+      DEVICE_FLAGS_ANDROID_BUGS },
+
+  /* In a later version, the ID changed again. */
+  { "Jolla", 0x2931, "Sailfish (ID3)", 0x0a07,
+      DEVICE_FLAGS_ANDROID_BUGS },
+
+  /*
+   * TCL? Alcatel?
+   */
+  { "TCL", 0x0451, "Alcatel one touch 986+", 0xd108,
+      DEVICE_FLAGS_ANDROID_BUGS },
+
+  /*
+   * Garmin
+   */
+  { "Garmin", 0x091e, "Monterra", 0x2585,
+      DEVICE_FLAGS_ANDROID_BUGS },
+
+  /*
+   * Wacom
+   */
+  { "Wacom", 0x0531, "Cintiq Companion Hybrid (MTP+ADB)", 0x2001,
+      DEVICE_FLAGS_ANDROID_BUGS },
+
+  /*
+   * Kurio
+   */
+  { "Kurio", 0x1f3a, "7S", 0x1006,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1521/ */
+  { "iRulu", 0x1f3a, "X1s", 0x1007,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1245/ */
+  { "DigiLand", 0x1f3a, "DL701Q", 0x0c02,
+      DEVICE_FLAGS_ANDROID_BUGS },
+
+  /*
+   * bq
+   * https://sourceforge.net/p/libmtp/feature-requests/128/
+   */
+  { "bq", 0x2a47, "Krillin (MTP+ADB)", 0x0c02,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  { "bq", 0x2a47, "Krillin (MTP)", 0x2008,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/feature-requests/163/ */
+  { "bq", 0x2a47, "Aquaris M10 (MTP)", 0x200d,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1558/ */
+  { "bq", 0x2a47, "Avila Cooler (MTP)", 0x201d,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/support-requests/224/ */
+  { "bq", 0x2a47, "Aquaris X5 (MTP)", 0x3003,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1311/ */
+  { "bq", 0x2a47, "Aquarius E5-4G", 0x7f10,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/feature-requests/181/ */
+  { "bq", 0x2a47, "Aquarius X5 (MTP) (ID2)", 0x7f11,
+      DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1541/ */
+  { "bq", 0x2a47, "Aquarius M5.5", 0x901b,
+      DEVICE_FLAGS_ANDROID_BUGS },
+
+  /* https://sourceforge.net/p/libmtp/bugs/1292/ */
+  { "Prestigio", 0x29e4, "5505 DUO ", 0x1103, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1243/ */
+  { "Prestigio", 0x29e4, "5504 DUO ", 0x1203, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/feature-requests/141/ */
+  { "Prestigio", 0x29e4, "3405 DUO ", 0x3201, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/feature-requests/148/ */
+  { "Prestigio", 0x29e4, "Multipad Color 7.0", 0xb003, DEVICE_FLAGS_ANDROID_BUGS },
+
+  /* https://sourceforge.net/p/libmtp/bugs/1283/ */
+  { "Megafon", 0x201e, "MFLogin3T", 0x42ab, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/support-requests/208/ */
+  { "Haier", 0x201e, "CT715", 0xa0c1, DEVICE_FLAGS_ANDROID_BUGS },
+
+  /* https://sourceforge.net/p/libmtp/bugs/1287/ */
+  { "Gensis", 0x040d, "GT-7305 ", 0x885c, DEVICE_FLAGS_ANDROID_BUGS },
+
+  /* https://sourceforge.net/p/libmtp/support-requests/182/ */
+  { "Oppo", 0x22d9, "Find 5", 0x2764, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1207/ */
+  { "Oppo", 0x22d9, "Find 7 (ID 1)", 0x2765, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1277/ */
+  { "Oppo", 0x22d9, "X9006", 0x2773, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/support-requests/129/ */
+  { "Oppo", 0x22d9, "Find 7 (ID 2)", 0x2774, DEVICE_FLAGS_ANDROID_BUGS },
+
+  /* https://sourceforge.net/p/libmtp/bugs/1273/ */
+  { "Gigabyte", 0x0414, "RCT6773W22 (MTP+ADB)", 0x0c02, DEVICE_FLAGS_ANDROID_BUGS },
+  { "Gigabyte", 0x0414, "RCT6773W22 (MTP)", 0x2008, DEVICE_FLAGS_ANDROID_BUGS },
+
+  /* https://sourceforge.net/p/libmtp/bugs/1264/ */
+  { "Meizu", 0x2a45, "MX Phone (MTP)", 0x2008, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1263/ */
+  { "Meizu", 0x2a45, "MX Phone (MTP+ADB)", 0x0c02, DEVICE_FLAGS_ANDROID_BUGS },
+
+  /* https://sourceforge.net/p/libmtp/bugs/1201/ */
+  { "Caterpillar", 0x04b7, "Cat S50", 0x88a9, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1525/ */
+  { "Caterpillar", 0x04b7, "Cat S50 (2nd ID)", 0x88aa, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1603/ */
+  { "Caterpillar", 0x04b7, "Cat S40", 0x88b0, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/feature-requests/176/ */
+  { "Caterpillar", 0x04b7, "Cat S60", 0x88c0, DEVICE_FLAGS_ANDROID_BUGS },
+
+  /* https://sourceforge.net/p/libmtp/bugs/682/ */
+  { "Pegatron", 0x1d4d, "Chagall (ADB)", 0x5035, DEVICE_FLAGS_ANDROID_BUGS },
+  { "Pegatron", 0x1d4d, "Chagall", 0x5036, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/feature-requests/115/ */
+  { "Pegatron", 0x1d4d, "Hudl 2", 0x504a, DEVICE_FLAGS_ANDROID_BUGS },
+
+  /* https://sourceforge.net/p/libmtp/support-requests/127/ */
+  { "Yota", 0x2916, "Phone C9660", 0x9039, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1661/ */
+  { "Yota", 0x2916, "Phone", 0x9139, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1229/ */
+  { "Yota", 0x2916, "Phone 2", 0x914d, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1267/ */
+  { "Yota", 0x2916, "Phone 2 (ID2)", 0xf003, DEVICE_FLAGS_ANDROID_BUGS },
+
+  /* https://sourceforge.net/p/libmtp/bugs/1212/ */
+  { "Fly", 0x2970, "Evo Tech 4", 0x2008, DEVICE_FLAGS_ANDROID_BUGS },
+
+  /* https://sourceforge.net/p/libmtp/feature-requests/146/ */
+  { "Wileyfox", 0x2970, "Swift", 0x2281, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/feature-requests/159/ */
+  { "Wileyfox", 0x2970, "Swift 2", 0x2282, DEVICE_FLAGS_ANDROID_BUGS },
+
+  /* https://sourceforge.net/p/libmtp/bugs/1554/ */
+  { "Kazam", 0x2970, "Trooper 650 4G", 0x9039, DEVICE_FLAGS_ANDROID_BUGS },
+
+  /* https://sourceforge.net/p/libmtp/bugs/1303/ */
+  { "Megafon", 0x1271, "Login+", 0x2012, DEVICE_FLAGS_ANDROID_BUGS },
+
+  /* https://sourceforge.net/p/libmtp/bugs/1127/ */
+  { "Fly", 0x2970, "iq4415 era style 3", 0x0c02, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1082/ */
+  { "Fly", 0x1782, "iq449", 0x4001, DEVICE_FLAGS_ANDROID_BUGS },
+
+  /*
+  * YU Yureka.
+  */
+  { "YU Yureka", 0x1ebf, "Vodafone smart turbo 4", 0x7f29, DEVICE_FLAGS_ANDROID_BUGS },
+
+  /* https://sourceforge.net/p/libmtp/bugs/1314/ */
+  { "BenQ", 0x1d45, "F5", 0x459d, DEVICE_FLAGS_ANDROID_BUGS },
+
+  /* https://sourceforge.net/p/libmtp/bugs/1362/ */
+  { "TomTom", 0x1390, "Rider 40", 0x5455, DEVICE_FLAGS_ANDROID_BUGS },
+
+  /* https://sourceforge.net/p/libmtp/feature-requests/135/. guessed android. */
+  { "OUYA", 0x2836, "Videogame Console", 0x0010, DEVICE_FLAGS_ANDROID_BUGS },
+
+  /* https://sourceforge.net/p/libmtp/bugs/1383/ */
+  { "BLU", 0x0e8d, "Studio HD", 0x2008, DEVICE_FLAGS_ANDROID_BUGS },
+
+  /* https://sourceforge.net/p/libmtp/feature-requests/161/ */
+  { "Cubot", 0x0e8d, "X17", 0x201d, DEVICE_FLAGS_ANDROID_BUGS },
+
+  /* https://sourceforge.net/p/libmtp/bugs/1423/ */
+  { "OnePlus", 0x2a70, "ONE A2001", 0x9011, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1450/ */
+  { "OnePlus", 0x2a70, "OnePlus 2 A2005", 0xf003, DEVICE_FLAGS_ANDROID_BUGS },
+
+  /* https://sourceforge.net/p/libmtp/bugs/1436/ */
+  { "Parrot", 0x19cf, "Bebop Drone", 0x5038, DEVICE_FLAGS_ANDROID_BUGS },
+
+  /*
+   * GoPro Action Cams.
+   */
+  { "GoPro" , 0x2672, "HERO3+ Black", 0x0011, DEVICE_FLAG_NONE },
+  { "GoPro" , 0x2672, "HERO", 0x000c, DEVICE_FLAG_NONE },
+  { "GoPro" , 0x2672, "HERO4 Silver", 0x000d, DEVICE_FLAG_NONE },
+  { "Gopro" , 0x2672, "HERO4 Black", 0x000e, DEVICE_FLAG_NONE },
+  { "GoPro" , 0x2672, "HERO4 Session", 0x000f, DEVICE_FLAG_NONE },
+  { "GoPro" , 0x2672, "HERO+", 0x0021, DEVICE_FLAG_NONE },
+  { "GoPro" , 0x2672, "HERO5 Black", 0x0027, DEVICE_FLAG_NONE },
+  { "GoPro" , 0x2672, "HERO5 Session", 0x0029, DEVICE_FLAG_NONE },
+
+  /* https://sourceforge.net/p/libmtp/bugs/1490/ */
+  { "Marshall" , 0x2ad9, "London", 0x000b, DEVICE_FLAG_NONE },
+
+  /* https://sourceforge.net/p/libmtp/support-requests/202/ */
+  { "Fairphone" , 0x2ae5, "Fairphone 2", 0xf003, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/support-requests/214/ */
+  { "Fairphone" , 0x2ae5, "Fairphone 2 OS", 0x9039, DEVICE_FLAGS_ANDROID_BUGS },
+
+  /* https://sourceforge.net/p/libmtp/bugs/1700/ */
+  { "BLUE" , 0x271d, "Vivo XL", 0x4008, DEVICE_FLAGS_ANDROID_BUGS },
+  /*  https://sourceforge.net/p/libmtp/bugs/1512/ */
+  { "Allview" , 0x271d, "Energy P5", 0x4016, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/feature-requests/177/ */
+  { "BLU" , 0x271d, "Studio Energy X 2 Phone", 0x4016, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1575/ */
+  { "BLU" , 0x271d, "Studio Energy 2", 0x4017, DEVICE_FLAGS_ANDROID_BUGS },
+
+
+  /* https://sourceforge.net/p/libmtp/bugs/1545/ */
+  { "Zuk" , 0x2b4c, "Z1", 0x1004, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1596/ */
+  { "Zuk" , 0x2b4c, "Z1 (2nd ID)", 0x1005, DEVICE_FLAGS_ANDROID_BUGS },
+
+  /* https://sourceforge.net/p/libmtp/bugs/1574/ */
+  { "Letv" , 0x2b0e, "X5001s", 0x1700, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/support-requests/210/ */
+  { "Letv" , 0x2b0e, "1s", 0x1704, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/support-requests/241/ */
+  { "Letv" , 0x2b0e, "Leeco Le 1s", 0x1768, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/support-requests/241/ */
+  { "Letv" , 0x2b0e, "Leeco Le 2 Pro", 0x1778, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/support-requests/220/ */
+  { "Letv" , 0x2b0e, "X800 (ID1)", 0x182c, DEVICE_FLAGS_ANDROID_BUGS },
+  { "Letv" , 0x2b0e, "X800 (ID2)", 0x1830, DEVICE_FLAGS_ANDROID_BUGS },
+
+  /* https://sourceforge.net/p/libmtp/bugs/1606/ */
+  { "TP-Link" , 0x2357, "Neffos C5 (MTP)", 0x0314, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/feature-requests/197/ */
+  { "TP-Link" , 0x2357, "Neffos C5 MAX (MTP)", 0x031a, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/feature-requests/196/ */
+  { "TP-Link" , 0x2357, "Neffos Y5L (MTP)", 0x0320, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/feature-requests/195/ */
+  { "TP-Link" , 0x2357, "Neffos Y5 (MTP)", 0x0328, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/support-requests/240/ */
+  { "TP-Link" , 0x2357, "Neffos X1 (MTP)", 0x033c, DEVICE_FLAGS_ANDROID_BUGS },
+
+  /* https://sourceforge.net/p/libmtp/bugs/1570/ */
+  { "Recon Instruments" , 0x2523, "Jet", 0xd209, DEVICE_FLAGS_ANDROID_BUGS },
+  /* https://sourceforge.net/p/libmtp/bugs/1571/ */
+  { "Recon Instruments" , 0x2523, "Snow2 HUD", 0xd109, DEVICE_FLAGS_ANDROID_BUGS },
+
+  /* https://sourceforge.net/p/libmtp/bugs/1663/ */
+  { "Nextbit" , 0x2c3f, "Robin", 0x0001, DEVICE_FLAGS_ANDROID_BUGS },
   /*
    * Other strange stuff.
    */
diff --git a/src/playlist-spl.c b/src/playlist-spl.c
index fe5e598..5a6a3b0 100644
--- a/src/playlist-spl.c
+++ b/src/playlist-spl.c
@@ -21,7 +21,7 @@
  * Boston, MA 02111-1307, USA.
  */
 
-#include <config.h>
+#include "config.h"
 
 #include <stdio.h>
 #include <stdlib.h> // mkstmp()
@@ -33,25 +33,25 @@
 #include <sys/uio.h>
 #endif
 #include <fcntl.h>
-
 #include <string.h>
 
 #include "libmtp.h"
 #include "libusb-glue.h"
 #include "ptp.h"
 #include "unicode.h"
+#include "util.h"
 
 #include "playlist-spl.h"
 
-// set this to 1 to add lots of messy debug output to the playlist code
-#define DEBUG_ENABLED 0
+/**
+ * Debug macro
+ */
+#define LIBMTP_PLST_DEBUG(format, args...) \
+  do { \
+    if ((LIBMTP_debug & LIBMTP_DEBUG_PLST) != 0) \
+      fprintf(stdout, "LIBMTP %s[%d]: " format, __FUNCTION__, __LINE__, ##args); \
+  } while (0)
 
-// debug macro
-// d = indenting depth
-#define IF_DEBUG() if(DEBUG_ENABLED) {\
-                     printf("%s:%u:%s(): ", __FILE__, __LINE__, __func__); \
-                   } \
-                   if(DEBUG_ENABLED)
 
 // Internal singly linked list of strings
 // used to hold .spl playlist in memory
@@ -90,9 +90,10 @@
  */
 int is_spl_playlist(PTPObjectInfo *oi)
 {
-  return (oi->ObjectFormat == PTP_OFC_Undefined) &&
+  return ((oi->ObjectFormat == PTP_OFC_Undefined) ||
+         (oi->ObjectFormat == PTP_OFC_MTP_SamsungPlaylist)) &&
          (strlen(oi->Filename) > 4) &&
-         (strcmp((oi->Filename + strlen(oi->Filename) -4), ".spl") == 0);
+         (strcmp((oi->Filename + strlen(oi->Filename) - 4), ".spl") == 0);
 }
 
 #ifndef HAVE_MKSTEMP
@@ -129,23 +130,23 @@
   pl->tracks = NULL;
   pl->no_tracks = 0;
 
-  IF_DEBUG() printf("pl->name='%s'\n",pl->name);
+  LIBMTP_PLST_DEBUG("pl->name='%s'\n", pl->name);
 
   // open a temporary file
   char tmpname[] = "/tmp/mtp-spl2pl-XXXXXX";
   int fd = mkstemp(tmpname);
   if(fd < 0) {
-    printf("failed to make temp file for %s.spl -> %s, errno=%s\n", pl->name, tmpname, strerror(errno));
+    LIBMTP_ERROR("failed to make temp file for %s.spl -> %s, errno=%s\n", pl->name, tmpname, strerror(errno));
     return;
   }
   // make sure the file will be deleted afterwards
   if(unlink(tmpname) < 0)
-    printf("failed to delete temp file for %s.spl -> %s, errno=%s\n", pl->name, tmpname, strerror(errno));
-  int ret = LIBMTP_Get_File_To_File_Descriptor(device, pl->playlist_id, fd, NULL, NULL, NULL);
+    LIBMTP_ERROR("failed to delete temp file for %s.spl -> %s, errno=%s\n", pl->name, tmpname, strerror(errno));
+  int ret = LIBMTP_Get_File_To_File_Descriptor(device, pl->playlist_id, fd, NULL, NULL);
   if( ret < 0 ) {
     // FIXME     add_ptp_error_to_errorstack(device, ret, "LIBMTP_Get_Playlist: Could not get .spl playlist file.");
     close(fd);
-    printf("FIXME closed\n");
+    LIBMTP_INFO("FIXME closed\n");
   }
 
   text_t* p = read_into_spl_text_t(device, fd);
@@ -159,14 +160,14 @@
 
   // convert the playlist listing to track ids
   pl->no_tracks = trackno_spl_text_t(p);
-  IF_DEBUG() printf("%u track%s found\n", pl->no_tracks, pl->no_tracks==1?"":"s");
+  LIBMTP_PLST_DEBUG("%u track%s found\n", pl->no_tracks, pl->no_tracks==1?"":"s");
   pl->tracks = malloc(sizeof(uint32_t)*(pl->no_tracks));
   tracks_from_spl_text_t(p, pl->tracks, folders, files);
 
   free_spl_text_t(p);
 
   // debug: add a break since this is the top level function call
-  IF_DEBUG() printf("------------\n\n");
+  LIBMTP_PLST_DEBUG("------------\n\n");
 }
 
 
@@ -189,17 +190,17 @@
 
   char tmpname[] = "/tmp/mtp-spl2pl-XXXXXX"; // must be a var since mkstemp modifies it
 
-  IF_DEBUG() printf("pl->name='%s'\n",pl->name);
+  LIBMTP_PLST_DEBUG("pl->name='%s'\n",pl->name);
 
   // open a file descriptor
   int fd = mkstemp(tmpname);
   if(fd < 0) {
-    printf("failed to make temp file for %s.spl -> %s, errno=%s\n", pl->name, tmpname, strerror(errno));
+    LIBMTP_ERROR("failed to make temp file for %s.spl -> %s, errno=%s\n", pl->name, tmpname, strerror(errno));
     return -1;
   }
   // make sure the file will be deleted afterwards
   if(unlink(tmpname) < 0)
-    printf("failed to delete temp file for %s.spl -> %s, errno=%s\n", pl->name, tmpname, strerror(errno));
+    LIBMTP_ERROR("failed to delete temp file for %s.spl -> %s, errno=%s\n", pl->name, tmpname, strerror(errno));
 
   // decide on which version of the .spl format to use
   uint32_t ver_major;
@@ -208,8 +209,8 @@
   if(FLAG_PLAYLIST_SPL_V2(ptp_usb)) ver_major = 2;
   else ver_major = 1; // FLAG_PLAYLIST_SPL_V1()
 
-  IF_DEBUG() printf("%u track%s\n", pl->no_tracks, pl->no_tracks==1?"":"s");
-  IF_DEBUG() printf(".spl version %d.%02d\n", ver_major, ver_minor);
+  LIBMTP_PLST_DEBUG("%u track%s\n", pl->no_tracks, pl->no_tracks==1?"":"s");
+  LIBMTP_PLST_DEBUG(".spl version %d.%02d\n", ver_major, ver_minor);
 
   // create the text for the playlist
   spl_text_t_from_tracks(&t, pl->tracks, pl->no_tracks, ver_major, ver_minor, NULL, folders, files);
@@ -228,7 +229,7 @@
   f->filetype = LIBMTP_FILETYPE_UNKNOWN;
   f->next = NULL;
 
-  IF_DEBUG() printf("%s is %dB\n", f->filename, (int)f->filesize);
+  LIBMTP_PLST_DEBUG("%s is %dB\n", f->filename, (int)f->filesize);
 
   // push the playlist to the device
   lseek(fd, 0, SEEK_SET); // reset file desc. to start of file
@@ -240,7 +241,7 @@
   // release the memory when we're done with it
   close(fd);
   // debug: add a break since this is the top level function call
-  IF_DEBUG() printf("------------\n\n");
+  LIBMTP_PLST_DEBUG("------------\n\n");
 
   return ret;
 }
@@ -262,7 +263,7 @@
 int update_spl_playlist(LIBMTP_mtpdevice_t *device,
 			  LIBMTP_playlist_t * const newlist)
 {
-  IF_DEBUG() printf("pl->name='%s'\n",newlist->name);
+  LIBMTP_PLST_DEBUG("pl->name='%s'\n",newlist->name);
 
   // read in the playlist of interest
   LIBMTP_playlist_t * old = LIBMTP_Get_Playlist(device, newlist->playlist_id);
@@ -283,18 +284,16 @@
 
   // if not, kill the playlist and replace it
   if(delta) {
-    IF_DEBUG() printf("new tracks detected:\n");
-    IF_DEBUG() printf("delete old playlist and build a new one\n");
-    IF_DEBUG() printf(" NOTE: new playlist_id will result!\n");
+    LIBMTP_PLST_DEBUG("new tracks detected:\n");
+    LIBMTP_PLST_DEBUG("delete old playlist and build a new one\n");
+    LIBMTP_PLST_DEBUG(" NOTE: new playlist_id will result!\n");
     if(LIBMTP_Delete_Object(device, old->playlist_id) != 0)
       return -1;
 
-    IF_DEBUG() {
-      if(strcmp(old->name,newlist->name) == 0)
-        printf("name unchanged\n");
-      else
-        printf("name is changing too -> %s\n",newlist->name);
-    }
+    if(strcmp(old->name,newlist->name) == 0)
+      LIBMTP_PLST_DEBUG("name unchanged\n");
+    else
+      LIBMTP_PLST_DEBUG("name is changing too -> %s\n",newlist->name);
 
     return LIBMTP_Create_New_Playlist(device, newlist);
   }
@@ -302,8 +301,8 @@
 
   // update the name only
   if(strcmp(old->name,newlist->name) != 0) {
-    IF_DEBUG() printf("ONLY name is changing -> %s\n",newlist->name);
-    IF_DEBUG() printf("playlist_id will remain unchanged\n");
+    LIBMTP_PLST_DEBUG("ONLY name is changing -> %s\n",newlist->name);
+    LIBMTP_PLST_DEBUG("playlist_id will remain unchanged\n");
     char* s = malloc(sizeof(char)*(strlen(newlist->name)+5));
     strcpy(s, newlist->name);
     strcat(s,".spl"); // FIXME check for success
@@ -312,7 +311,7 @@
     return ret;
   }
 
-  IF_DEBUG() printf("no change\n");
+  LIBMTP_PLST_DEBUG("no change\n");
   return 0; // nothing to be done, success
 }
 
@@ -356,16 +355,16 @@
     it = t; // set ptr to start of buffer
     rdcnt = read(fd, it, sizeof(char)*MAXREAD);
     if(rdcnt < 0)
-      printf("load_spl_fd read err %s\n", strerror(errno));
+      LIBMTP_INFO("load_spl_fd read err %s\n", strerror(errno));
     else if(rdcnt == 0) { // for EOF, fix rdcnt
       if(it-t == MAXREAD)
-        printf("error -- buffer too small to read in .spl playlist entry\n");
+        LIBMTP_ERROR("error -- buffer too small to read in .spl playlist entry\n");
 
       rdcnt = lseek(fd, 0, SEEK_CUR) - offcnt;
       eof = 1;
     }
 
-    IF_DEBUG() printf("read buff= {%dB new, %dB old/left-over}%s\n",(int)rdcnt, (int)(iw-w), eof?", EOF":"");
+    LIBMTP_PLST_DEBUG("read buff= {%dB new, %dB old/left-over}%s\n",(int)rdcnt, (int)(iw-w), eof?", EOF":"");
 
     // while more input bytes
     char* it_end = t + rdcnt;
@@ -407,7 +406,7 @@
         tail->text = utf16_to_utf8(device, (uint16_t*) w);
         iw = w; // start again
 
-        IF_DEBUG() printf("line: %s\n", tail->text);
+        LIBMTP_PLST_DEBUG("line: %s\n", tail->text);
       }
 
       // prevent buffer overflow
@@ -416,7 +415,7 @@
         //   we are dropping all the processed bytes for this line and
         //   proceeding on as if everything is okay, probably losing a track
         //   from the playlist
-        printf("ERROR %s:%u:%s(): buffer overflow! .spl line too long @ %zuB\n",
+        LIBMTP_ERROR("ERROR %s:%u:%s(): buffer overflow! .spl line too long @ %zuB\n",
                __FILE__, __LINE__, __func__, WSIZE);
         iw = w; // reset buffer
       }
@@ -461,16 +460,14 @@
     const size_t len = ucs2_strlen((uint16_t*)t)*sizeof(uint16_t);
     int i;
 
-    IF_DEBUG() {
-      printf("\nutf8=%s ",p->text);
-      for(i=0;i<strlen(p->text);i++)
-        printf("%02x ", p->text[i] & 0xff);
-      printf("\n");
-      printf("ucs2=");
-      for(i=0;i<ucs2_strlen((uint16_t*)t)*sizeof(uint16_t);i++)
-        printf("%02x ", t[i] & 0xff);
-      printf("\n");
-    }
+    LIBMTP_PLST_DEBUG("\nutf8=%s ",p->text);
+    for(i=0;i<strlen(p->text);i++)
+      LIBMTP_PLST_DEBUG("%02x ", p->text[i] & 0xff);
+    LIBMTP_PLST_DEBUG("\n");
+    LIBMTP_PLST_DEBUG("ucs2=");
+    for(i=0;i<ucs2_strlen((uint16_t*)t)*sizeof(uint16_t);i++)
+      LIBMTP_PLST_DEBUG("%02x ", t[i] & 0xff);
+    LIBMTP_PLST_DEBUG("\n");
 
     // write: utf8 -> utf16
     ret += write(fd, t, len);
@@ -480,16 +477,16 @@
 
     // check for failures
     if(ret < 0)
-      printf("write spl file failed: %s\n", strerror(errno));
+      LIBMTP_ERROR("write spl file failed: %s\n", strerror(errno));
     else if(ret != len +2)
-      printf("write spl file wrong number of bytes ret=%d len=%d '%s'\n", (int)ret, (int)len, p->text);
+      LIBMTP_ERROR("write spl file wrong number of bytes ret=%d len=%d '%s'\n", (int)ret, (int)len, p->text);
 
     // write carriage return, line feed in ucs2
     ret = write(fd, "\r\0\n\0", 4);
     if(ret < 0)
-      printf("write spl file failed: %s\n", strerror(errno));
+      LIBMTP_ERROR("write spl file failed: %s\n", strerror(errno));
     else if(ret != 4)
-      printf("failed to write the correct number of bytes '\\n'!\n");
+      LIBMTP_ERROR("failed to write the correct number of bytes '\\n'!\n");
 
     // fake out count (first time through has two extra bytes from BOM)
     ret = 2;
@@ -519,13 +516,14 @@
 
 /**
  * Print a linked-list of strings to stdout.
+ * Used to debug.
  *
  * @param p the list to print
  */
 static void print_spl_text_t(text_t* p)
 {
   while(p != NULL) {
-    printf("%s\n",p->text);
+    LIBMTP_PLST_DEBUG("%s\n",p->text);
     p = p->next;
   }
 }
@@ -569,8 +567,7 @@
   while(p != NULL) {
     if(p->text[0] == '\\' ) {
       tracks[c] = discover_id_from_filepath(p->text, folders, files);
-      IF_DEBUG()
-        printf("track %d = %s (%u)\n", c+1, p->text, tracks[c]);
+      LIBMTP_PLST_DEBUG("track %d = %s (%u)\n", c+1, p->text, tracks[c]);
       c++;
     }
     p = p->next;
@@ -617,11 +614,11 @@
 
     if(f != NULL) {
       append_text_t(&c, f);
-      IF_DEBUG()
-        printf("track %d = %s (%u)\n", i+1, f, tracks[i]);
+      LIBMTP_PLST_DEBUG("track %d = %s (%u)\n", i+1, f, tracks[i]);
+      free(f);
     }
     else
-      printf("failed to find filepath for track=%d\n", tracks[i]);
+      LIBMTP_ERROR("failed to find filepath for track=%d\n", tracks[i]);
   }
 
   // FOOTER
@@ -643,10 +640,8 @@
   c->next = NULL;
 
   // debug
-  IF_DEBUG() {
-    printf(".spl playlist:\n");
-    print_spl_text_t(*p);
-  }
+  LIBMTP_PLST_DEBUG(".spl playlist:\n");
+  print_spl_text_t(*p);
 }
 
 
diff --git a/src/ptp-pack.c b/src/ptp-pack.c
index c6a090c..22b9ae7 100644
--- a/src/ptp-pack.c
+++ b/src/ptp-pack.c
@@ -1,12 +1,39 @@
+/* ptp-pack.c
+ *
+ * Copyright (C) 2001-2004 Mariusz Woloszyn <emsi@ipartners.pl>
+ * Copyright (C) 2003-2016 Marcus Meissner <marcus@jet.franken.de>
+ * Copyright (C) 2006-2008 Linus Walleij <triad@df.lth.se>
+ * Copyright (C) 2007 Tero Saarni <tero.saarni@gmail.com>
+ * Copyright (C) 2009 Axel Waggershauser <awagger@web.de>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA  02110-1301  USA
+ */
+
 /* currently this file is included into ptp.c */
 
-#ifdef HAVE_ICONV
+#ifdef HAVE_LIMITS_H
+#include <limits.h>
+#endif
+#ifndef UINT_MAX
+# define UINT_MAX 0xFFFFFFFF
+#endif
+#if defined(HAVE_ICONV) && defined(HAVE_LANGINFO_H)
 #include <iconv.h>
 #endif
 
-extern void
-ptp_debug (PTPParams *params, const char *format, ...);
-
 static inline uint16_t
 htod16p (PTPParams *params, uint16_t var)
 {
@@ -24,7 +51,7 @@
 {
 	if (params->byteorder==PTP_DL_LE)
 		htole16a(a,val);
-	else 
+	else
 		htobe16a(a,val);
 }
 
@@ -33,7 +60,7 @@
 {
 	if (params->byteorder==PTP_DL_LE)
 		htole32a(a,val);
-	else 
+	else
 		htobe32a(a,val);
 }
 
@@ -42,7 +69,7 @@
 {
 	if (params->byteorder==PTP_DL_LE)
 		htole64a(a,val);
-	else 
+	else
 		htobe64a(a,val);
 }
 
@@ -100,34 +127,40 @@
 
 
 static inline char*
-ptp_unpack_string(PTPParams *params, unsigned char* data, uint16_t offset, uint8_t *len)
+ptp_unpack_string(PTPParams *params, unsigned char* data, uint16_t offset, uint32_t total, uint8_t *len)
 {
 	uint8_t length;
 	uint16_t string[PTP_MAXSTRLEN+1];
 	/* allow for UTF-8: max of 3 bytes per UCS-2 char, plus final null */
-	char loclstr[PTP_MAXSTRLEN*3+1]; 
+	char loclstr[PTP_MAXSTRLEN*3+1];
 	size_t nconv, srclen, destlen;
 	char *src, *dest;
 
+	if (offset + 1 >= total)
+		return NULL;
+
 	length = dtoh8a(&data[offset]);	/* PTP_MAXSTRLEN == 255, 8 bit len */
 	*len = length;
 	if (length == 0)		/* nothing to do? */
-		return(NULL);
+		return NULL;
+
+	if (offset + 1 + length*sizeof(string[0]) > total)
+		return NULL;
 
 	/* copy to string[] to ensure correct alignment for iconv(3) */
 	memcpy(string, &data[offset+1], length * sizeof(string[0]));
 	string[length] = 0x0000U;   /* be paranoid!  add a terminator. */
 	loclstr[0] = '\0';
-    
+
 	/* convert from camera UCS-2 to our locale */
 	src = (char *)string;
 	srclen = length * sizeof(string[0]);
 	dest = loclstr;
 	destlen = sizeof(loclstr)-1;
 	nconv = (size_t)-1;
-#ifdef HAVE_ICONV
-	nconv = iconv(params->cd_ucs2_to_locale, &src, &srclen, 
-			&dest, &destlen);
+#if defined(HAVE_ICONV) && defined(HAVE_LANGINFO_H)
+	if (params->cd_ucs2_to_locale != (iconv_t)-1)
+		nconv = iconv(params->cd_ucs2_to_locale, &src, &srclen, &dest, &destlen);
 #endif
 	if (nconv == (size_t) -1) { /* do it the hard way */
 		int i;
@@ -148,7 +181,7 @@
 static inline int
 ucs2strlen(uint16_t const * const unicstr)
 {
-	int length;
+	int length = 0;
 	
 	/* Unicode strings are terminated with 2 * 0x00 */
 	for(length = 0; unicstr[length] != 0x0000U; length ++);
@@ -159,15 +192,15 @@
 static inline void
 ptp_pack_string(PTPParams *params, char *string, unsigned char* data, uint16_t offset, uint8_t *len)
 {
-	int packedlen;
+	int packedlen = 0;
 	uint16_t ucs2str[PTP_MAXSTRLEN+1];
 	char *ucs2strp = (char *) ucs2str;
 	size_t convlen = strlen(string);
 
 	/* Cannot exceed 255 (PTP_MAXSTRLEN) since it is a single byte, duh ... */
 	memset(ucs2strp, 0, sizeof(ucs2str));  /* XXX: necessary? */
-#ifdef HAVE_ICONV
-	{ 
+#if defined(HAVE_ICONV) && defined(HAVE_LANGINFO_H)
+	if (params->cd_locale_to_ucs2 != (iconv_t)-1) {
 		size_t nconv;
 		size_t convmax = PTP_MAXSTRLEN * 2; /* Includes the terminator */
 		char *stringp = string;
@@ -176,16 +209,16 @@
 			&ucs2strp, &convmax);
 		if (nconv == (size_t) -1)
 			ucs2str[0] = 0x0000U;
-	}
-#else
+	} else
+#endif
 	{
-		int i;
+		unsigned int i;
+
 		for (i=0;i<convlen;i++) {
 			ucs2str[i] = string[i];
 		}
 		ucs2str[convlen] = 0;
 	}
-#endif
 	/*
 	 * XXX: isn't packedlen just ( (uint16_t *)ucs2strp - ucs2str )?
 	 *      why do we need ucs2strlen()?
@@ -231,16 +264,36 @@
 }
 
 static inline uint32_t
-ptp_unpack_uint32_t_array(PTPParams *params, unsigned char* data, uint16_t offset, uint32_t **array)
+ptp_unpack_uint32_t_array(PTPParams *params, unsigned char* data, unsigned int offset, unsigned int datalen, uint32_t **array)
 {
 	uint32_t n, i=0;
 
+	if (!data)
+		return 0;
+
+	if (offset >= datalen)
+		return 0;
+
+	if (offset + sizeof(uint32_t) > datalen)
+		return 0;
+
+	*array = NULL;
 	n=dtoh32a(&data[offset]);
-	*array = malloc (n*sizeof(uint32_t));
-	while (n>i) {
-		(*array)[i]=dtoh32a(&data[offset+(sizeof(uint32_t)*(i+1))]);
-		i++;
+	if (n >= UINT_MAX/sizeof(uint32_t))
+		return 0;
+	if (!n)
+		return 0;
+
+	if (offset + sizeof(uint32_t)*(n+1) > datalen) {
+		ptp_debug (params ,"array runs over datalen bufferend (%d vs %d)", offset + sizeof(uint32_t)*(n+1) , datalen);
+		return 0;
 	}
+
+	*array = malloc (n*sizeof(uint32_t));
+	if (!*array)
+		return 0;
+	for (i=0;i<n;i++)
+		(*array)[i]=dtoh32a(&data[offset+(sizeof(uint32_t)*(i+1))]);
 	return n;
 }
 
@@ -250,6 +303,8 @@
 	uint32_t i=0;
 
 	*data = malloc ((arraylen+1)*sizeof(uint32_t));
+	if (!*data)
+		return 0;
 	htod32a(&(*data)[0],arraylen);
 	for (i=0;i<arraylen;i++)
 		htod32a(&(*data)[sizeof(uint32_t)*(i+1)], array[i]);
@@ -257,16 +312,29 @@
 }
 
 static inline uint32_t
-ptp_unpack_uint16_t_array(PTPParams *params, unsigned char* data, uint16_t offset, uint16_t **array)
+ptp_unpack_uint16_t_array(PTPParams *params, unsigned char* data, unsigned int offset, unsigned int datalen, uint16_t **array)
 {
 	uint32_t n, i=0;
 
+	if (!data)
+		return 0;
+	*array = NULL;
 	n=dtoh32a(&data[offset]);
-	*array = malloc (n*sizeof(uint16_t));
-	while (n>i) {
-		(*array)[i]=dtoh16a(&data[offset+(sizeof(uint16_t)*(i+2))]);
-		i++;
+	if (n >= UINT_MAX/sizeof(uint16_t))
+		return 0;
+	if (!n)
+		return 0;
+	if (offset + sizeof(uint32_t) > datalen)
+		return 0;
+	if (offset + sizeof(uint32_t)+sizeof(uint16_t)*n > datalen) {
+		ptp_debug (params ,"array runs over datalen bufferend (%d vs %d)", offset + sizeof(uint32_t)+n*sizeof(uint16_t) , datalen);
+		return 0;
 	}
+	*array = malloc (n*sizeof(uint16_t));
+	if (!*array)
+		return 0;
+	for (i=0;i<n;i++)
+		(*array)[i]=dtoh16a(&data[offset+(sizeof(uint16_t)*(i+2))]);
 	return n;
 }
 
@@ -279,102 +347,138 @@
 #define PTP_di_FunctionalMode		 8
 #define PTP_di_OperationsSupported	10
 
-static inline void
+static inline int
 ptp_unpack_DI (PTPParams *params, unsigned char* data, PTPDeviceInfo *di, unsigned int datalen)
 {
 	uint8_t len;
 	unsigned int totallen;
 
-	if (!data) return;
-	if (datalen < 12) return;
+	if (!data) return 0;
+	if (datalen < 12) return 0;
+	memset (di, 0, sizeof(*di));
 	di->StandardVersion = dtoh16a(&data[PTP_di_StandardVersion]);
 	di->VendorExtensionID =
 		dtoh32a(&data[PTP_di_VendorExtensionID]);
 	di->VendorExtensionVersion =
 		dtoh16a(&data[PTP_di_VendorExtensionVersion]);
-	di->VendorExtensionDesc = 
+	di->VendorExtensionDesc =
 		ptp_unpack_string(params, data,
-		PTP_di_VendorExtensionDesc, &len); 
+		PTP_di_VendorExtensionDesc,
+		datalen,
+		&len);
 	totallen=len*2+1;
-	di->FunctionalMode = 
+	if (datalen <= totallen) return 0;
+	di->FunctionalMode =
 		dtoh16a(&data[PTP_di_FunctionalMode+totallen]);
 	di->OperationsSupported_len = ptp_unpack_uint16_t_array(params, data,
 		PTP_di_OperationsSupported+totallen,
+		datalen,
 		&di->OperationsSupported);
 	totallen=totallen+di->OperationsSupported_len*sizeof(uint16_t)+sizeof(uint32_t);
+	if (datalen <= totallen+PTP_di_OperationsSupported) return 0;
 	di->EventsSupported_len = ptp_unpack_uint16_t_array(params, data,
 		PTP_di_OperationsSupported+totallen,
+		datalen,
 		&di->EventsSupported);
 	totallen=totallen+di->EventsSupported_len*sizeof(uint16_t)+sizeof(uint32_t);
+	if (datalen <= totallen+PTP_di_OperationsSupported) return 0;
 	di->DevicePropertiesSupported_len =
 		ptp_unpack_uint16_t_array(params, data,
 		PTP_di_OperationsSupported+totallen,
+		datalen,
 		&di->DevicePropertiesSupported);
 	totallen=totallen+di->DevicePropertiesSupported_len*sizeof(uint16_t)+sizeof(uint32_t);
+	if (datalen <= totallen+PTP_di_OperationsSupported) return 0;
 	di->CaptureFormats_len = ptp_unpack_uint16_t_array(params, data,
 		PTP_di_OperationsSupported+totallen,
+		datalen,
 		&di->CaptureFormats);
 	totallen=totallen+di->CaptureFormats_len*sizeof(uint16_t)+sizeof(uint32_t);
+	if (datalen <= totallen+PTP_di_OperationsSupported) return 0;
 	di->ImageFormats_len = ptp_unpack_uint16_t_array(params, data,
 		PTP_di_OperationsSupported+totallen,
+		datalen,
 		&di->ImageFormats);
 	totallen=totallen+di->ImageFormats_len*sizeof(uint16_t)+sizeof(uint32_t);
+	if (datalen <= totallen+PTP_di_OperationsSupported) return 0;
 	di->Manufacturer = ptp_unpack_string(params, data,
 		PTP_di_OperationsSupported+totallen,
+		datalen,
 		&len);
 	totallen+=len*2+1;
+	/* be more relaxed ... as these are optional its ok if they are not here */
+	if (datalen <= totallen+PTP_di_OperationsSupported) return 1;
 	di->Model = ptp_unpack_string(params, data,
 		PTP_di_OperationsSupported+totallen,
+		datalen,
 		&len);
 	totallen+=len*2+1;
+	/* be more relaxed ... as these are optional its ok if they are not here */
+	if (datalen <= totallen+PTP_di_OperationsSupported) return 1;
 	di->DeviceVersion = ptp_unpack_string(params, data,
 		PTP_di_OperationsSupported+totallen,
+		datalen,
 		&len);
 	totallen+=len*2+1;
+	/* be more relaxed ... as these are optional its ok if they are not here */
+	if (datalen <= totallen+PTP_di_OperationsSupported) return 1;
 	di->SerialNumber = ptp_unpack_string(params, data,
 		PTP_di_OperationsSupported+totallen,
+		datalen,
 		&len);
+	return 1;
 }
 
-static void
+inline static void
 ptp_free_DI (PTPDeviceInfo *di) {
-	if (di->SerialNumber) free (di->SerialNumber);
-	if (di->DeviceVersion) free (di->DeviceVersion);
-	if (di->Model) free (di->Model);
-	if (di->Manufacturer) free (di->Manufacturer);
-	if (di->ImageFormats) free (di->ImageFormats);
-	if (di->CaptureFormats) free (di->CaptureFormats);
-	if (di->VendorExtensionDesc) free (di->VendorExtensionDesc);
-	if (di->OperationsSupported) free (di->OperationsSupported);
-	if (di->EventsSupported) free (di->EventsSupported);
-	if (di->DevicePropertiesSupported) free (di->DevicePropertiesSupported);
+	free (di->SerialNumber);
+	free (di->DeviceVersion);
+	free (di->Model);
+	free (di->Manufacturer);
+	free (di->ImageFormats);
+	free (di->CaptureFormats);
+	free (di->VendorExtensionDesc);
+	free (di->OperationsSupported);
+	free (di->EventsSupported);
+	free (di->DevicePropertiesSupported);
+	memset(di, 0, sizeof(*di));
 }
 
 /* EOS Device Info unpack */
-static inline void
+static inline int
 ptp_unpack_EOS_DI (PTPParams *params, unsigned char* data, PTPCanonEOSDeviceInfo *di, unsigned int datalen)
 {
-	int totallen = 4;
-	if (datalen < 8) return;
+	unsigned int totallen = 4;
+
+	memset (di,0, sizeof(*di));
+	if (datalen < 8) return 0;
 
 	/* uint32_t struct len - ignore */
 	di->EventsSupported_len = ptp_unpack_uint32_t_array(params, data,
-		totallen, &di->EventsSupported);
-	if (!di->EventsSupported) return;
+		totallen, datalen, &di->EventsSupported);
+	if (!di->EventsSupported) return 0;
 	totallen += di->EventsSupported_len*sizeof(uint32_t)+4;
-	if (totallen >= datalen) return;
+	if (totallen >= datalen) return 0;
 
 	di->DevicePropertiesSupported_len = ptp_unpack_uint32_t_array(params, data,
-		totallen, &di->DevicePropertiesSupported);
-	if (!di->DevicePropertiesSupported) return;
+		totallen, datalen, &di->DevicePropertiesSupported);
+	if (!di->DevicePropertiesSupported) return 0;
 	totallen += di->DevicePropertiesSupported_len*sizeof(uint32_t)+4;
-	if (totallen >= datalen) return;
+	if (totallen >= datalen) return 0;
 
 	di->unk_len = ptp_unpack_uint32_t_array(params, data,
-		totallen, &di->unk);
-	if (!di->unk) return;
+		totallen, datalen, &di->unk);
+	if (!di->unk) return 0;
 	totallen += di->unk_len*sizeof(uint32_t)+4;
-	return;
+	return 1;
+}
+
+static inline void
+ptp_free_EOS_DI (PTPCanonEOSDeviceInfo *di)
+{
+	free (di->EventsSupported);
+	free (di->DevicePropertiesSupported);
+	free (di->unk);
 }
 	
 /* ObjectHandles array pack/unpack */
@@ -385,7 +489,7 @@
 ptp_unpack_OH (PTPParams *params, unsigned char* data, PTPObjectHandles *oh, unsigned int len)
 {
 	if (len) {
-		oh->n = ptp_unpack_uint32_t_array(params, data, PTP_oh, &oh->Handler);
+		oh->n = ptp_unpack_uint32_t_array(params, data, PTP_oh, len, &oh->Handler);
 	} else {
 		oh->n = 0;
 		oh->Handler = NULL;
@@ -399,8 +503,13 @@
 static inline void
 ptp_unpack_SIDs (PTPParams *params, unsigned char* data, PTPStorageIDs *sids, unsigned int len)
 {
-	sids->n = ptp_unpack_uint32_t_array(params, data, PTP_sids,
-	&sids->Storage);
+	sids->n = 0;
+	sids->Storage = NULL;
+
+	if (!data || !len)
+		return;
+
+	sids->n = ptp_unpack_uint32_t_array(params, data, PTP_sids, len, &sids->Storage);
 }
 
 /* StorageInfo pack/unpack */
@@ -413,22 +522,29 @@
 #define PTP_si_FreeSpaceInImages	22
 #define PTP_si_StorageDescription	26
 
-static inline void
+static inline int
 ptp_unpack_SI (PTPParams *params, unsigned char* data, PTPStorageInfo *si, unsigned int len)
 {
 	uint8_t storagedescriptionlen;
 
+	if (len < 26) return 0;
 	si->StorageType=dtoh16a(&data[PTP_si_StorageType]);
 	si->FilesystemType=dtoh16a(&data[PTP_si_FilesystemType]);
 	si->AccessCapability=dtoh16a(&data[PTP_si_AccessCapability]);
 	si->MaxCapability=dtoh64a(&data[PTP_si_MaxCapability]);
 	si->FreeSpaceInBytes=dtoh64a(&data[PTP_si_FreeSpaceInBytes]);
 	si->FreeSpaceInImages=dtoh32a(&data[PTP_si_FreeSpaceInImages]);
+
+	/* FIXME: check more lengths here */
 	si->StorageDescription=ptp_unpack_string(params, data,
-		PTP_si_StorageDescription, &storagedescriptionlen);
+		PTP_si_StorageDescription,
+		len,
+		&storagedescriptionlen);
 	si->VolumeLabel=ptp_unpack_string(params, data,
 		PTP_si_StorageDescription+storagedescriptionlen*2+1,
+		len,
 		&storagedescriptionlen);
+	return 1;
 }
 
 /* ObjectInfo pack/unpack */
@@ -462,16 +578,19 @@
 	uint8_t filenamelen;
 	uint8_t capturedatelen=0;
 	/* let's allocate some memory first; correct assuming zero length dates */
-	oidata=malloc(PTP_oi_MaxLen);
+	oidata=malloc(PTP_oi_MaxLen + params->ocs64*4);
+	*oidataptr=oidata;
 	/* the caller should free it after use! */
 #if 0
 	char *capture_date="20020101T010101"; /* XXX Fake date */
 #endif
-	memset (oidata, 0, PTP_oi_MaxLen);
+	memset (oidata, 0, PTP_oi_MaxLen + params->ocs64*4);
 	htod32a(&oidata[PTP_oi_StorageID],oi->StorageID);
 	htod16a(&oidata[PTP_oi_ObjectFormat],oi->ObjectFormat);
 	htod16a(&oidata[PTP_oi_ProtectionStatus],oi->ProtectionStatus);
 	htod32a(&oidata[PTP_oi_ObjectCompressedSize],oi->ObjectCompressedSize);
+	if (params->ocs64)
+		oidata += 4;
 	htod16a(&oidata[PTP_oi_ThumbFormat],oi->ThumbFormat);
 	htod32a(&oidata[PTP_oi_ThumbCompressedSize],oi->ThumbCompressedSize);
 	htod32a(&oidata[PTP_oi_ThumbPixWidth],oi->ThumbPixWidth);
@@ -512,16 +631,14 @@
 	}
 #endif
 	/* XXX this function should return dataset length */
-	
-	*oidataptr=oidata;
-	return (PTP_oi_Filename+filenamelen*2+(capturedatelen+1)*3);
+	return (PTP_oi_Filename+filenamelen*2+(capturedatelen+1)*3)+params->ocs64*4;
 }
 
 static time_t
 ptp_unpack_PTPTIME (const char *str) {
 	char ptpdate[40];
 	char tmp[5];
-	int  ptpdatelen;
+	size_t  ptpdatelen;
 	struct tm tm;
 
 	if (!str)
@@ -531,11 +648,12 @@
 		/*ptp_debug (params ,"datelen is larger then size of buffer", ptpdatelen, (int)sizeof(ptpdate));*/
 		return 0;
 	}
-	strcpy (ptpdate, str);
 	if (ptpdatelen<15) {
 		/*ptp_debug (params ,"datelen is less than 15 (%d)", ptpdatelen);*/
 		return 0;
 	}
+	strncpy (ptpdate, str, sizeof(ptpdate));
+	ptpdate[sizeof(ptpdate) - 1] = '\0';
 
 	memset(&tm,0,sizeof(tm));
 	strncpy (tmp, ptpdate, 4);
@@ -556,9 +674,7 @@
 	strncpy (tmp, ptpdate + 13, 2);
 	tmp[2] = 0;
 	tm.tm_sec = atoi (tmp);
-
 	tm.tm_isdst = -1;
-
 	return mktime (&tm);
 }
 
@@ -569,10 +685,22 @@
 	uint8_t capturedatelen;
 	char *capture_date;
 
+	if (len < PTP_oi_SequenceNumber)
+		return;
+
+	oi->Filename = oi->Keywords = NULL;
+
+	/* FIXME: also handle length with all the strings at the end */
 	oi->StorageID=dtoh32a(&data[PTP_oi_StorageID]);
 	oi->ObjectFormat=dtoh16a(&data[PTP_oi_ObjectFormat]);
 	oi->ProtectionStatus=dtoh16a(&data[PTP_oi_ProtectionStatus]);
 	oi->ObjectCompressedSize=dtoh32a(&data[PTP_oi_ObjectCompressedSize]);
+
+	/* Stupid Samsung Galaxy developers emit a 64bit objectcompressedsize */
+	if ((data[PTP_oi_filenamelen] == 0) && (data[PTP_oi_filenamelen+4] != 0)) {
+		params->ocs64 = 1;
+		data += 4;
+	}
 	oi->ThumbFormat=dtoh16a(&data[PTP_oi_ThumbFormat]);
 	oi->ThumbCompressedSize=dtoh32a(&data[PTP_oi_ThumbCompressedSize]);
 	oi->ThumbPixWidth=dtoh32a(&data[PTP_oi_ThumbPixWidth]);
@@ -584,10 +712,11 @@
 	oi->AssociationType=dtoh16a(&data[PTP_oi_AssociationType]);
 	oi->AssociationDesc=dtoh32a(&data[PTP_oi_AssociationDesc]);
 	oi->SequenceNumber=dtoh32a(&data[PTP_oi_SequenceNumber]);
-	oi->Filename= ptp_unpack_string(params, data, PTP_oi_filenamelen, &filenamelen);
+
+	oi->Filename= ptp_unpack_string(params, data, PTP_oi_filenamelen, len, &filenamelen);
 
 	capture_date = ptp_unpack_string(params, data,
-		PTP_oi_filenamelen+filenamelen*2+1, &capturedatelen);
+		PTP_oi_filenamelen+filenamelen*2+1, len, &capturedatelen);
 	/* subset of ISO 8601, without '.s' tenths of second and 
 	 * time zone
 	 */
@@ -597,7 +726,7 @@
 	/* now the modification date ... */
 	capture_date = ptp_unpack_string(params, data,
 		PTP_oi_filenamelen+filenamelen*2
-		+capturedatelen*2+2,&capturedatelen);
+		+capturedatelen*2+2, len, &capturedatelen);
 	oi->ModificationDate = ptp_unpack_PTPTIME(capture_date);
 	free(capture_date);
 }
@@ -611,12 +740,16 @@
 }
 
 #define RARR(val,member,func)	{			\
-	int n,j;					\
+	unsigned int n,j;				\
 	if (total - *offset < sizeof(uint32_t))		\
 		return 0;				\
 	n = dtoh32a (&data[*offset]);			\
 	*offset += sizeof(uint32_t);			\
 							\
+	if (n >= UINT_MAX/sizeof(val->a.v[0]))		\
+		return 0;				\
+	if (n > (total - (*offset))/sizeof(val->a.v[0]))\
+		return 0;				\
 	val->a.count = n;				\
 	val->a.v = malloc(sizeof(val->a.v[0])*n);	\
 	if (!val->a.v) return 0;			\
@@ -624,11 +757,14 @@
 		CTVAL(val->a.v[j].member, func);	\
 }
 
-static inline int
+static inline unsigned int
 ptp_unpack_DPV (
-	PTPParams *params, unsigned char* data, int *offset, int total,
+	PTPParams *params, unsigned char* data, unsigned int *offset, unsigned int total,
 	PTPPropertyValue* value, uint16_t datatype
 ) {
+	if (*offset >= total)	/* we are at the end or over the end of the buffer */
+		return 0;
+
 	switch (datatype) {
 	case PTP_DTC_INT8:
 		CTVAL(value->i8,dtoh8a);
@@ -695,7 +831,11 @@
 	case PTP_DTC_STR: {
 		uint8_t len;
 		/* XXX: max size */
-		value->str = ptp_unpack_string(params,data,*offset,&len);
+
+		if (*offset >= total+1)
+			return 0;
+
+		value->str = ptp_unpack_string(params,data,*offset,total,&len);
 		*offset += len*2+1;
 		if (!value->str)
 			return 1;
@@ -708,7 +848,6 @@
 }
 
 /* Device Property pack/unpack */
-
 #define PTP_dpd_DevicePropertyCode	0
 #define PTP_dpd_DataType		2
 #define PTP_dpd_GetSet			4
@@ -717,9 +856,11 @@
 static inline int
 ptp_unpack_DPD (PTPParams *params, unsigned char* data, PTPDevicePropDesc *dpd, unsigned int dpdlen)
 {
-	int offset=0, ret;
+	unsigned int offset = 0, ret;
 
 	memset (dpd, 0, sizeof(*dpd));
+	if (dpdlen <= 5)
+		return 0;
 	dpd->DevicePropertyCode=dtoh16a(&data[PTP_dpd_DevicePropertyCode]);
 	dpd->DataType=dtoh16a(&data[PTP_dpd_DataType]);
 	dpd->GetSet=dtoh8a(&data[PTP_dpd_GetSet]);
@@ -787,7 +928,163 @@
 	return 0;
 }
 
-/* (MTP) Object Property pack/unpack */
+/* Device Property pack/unpack */
+#define PTP_dpd_Sony_DevicePropertyCode	0
+#define PTP_dpd_Sony_DataType		2
+#define PTP_dpd_Sony_GetSet		4
+#define PTP_dpd_Sony_Unknown		5
+#define PTP_dpd_Sony_FactoryDefaultValue	6
+
+static inline int
+ptp_unpack_Sony_DPD (PTPParams *params, unsigned char* data, PTPDevicePropDesc *dpd, unsigned int dpdlen, unsigned int *poffset)
+{
+	unsigned int ret;
+#if 0
+	unsigned int unk1, unk2;
+#endif
+
+	memset (dpd, 0, sizeof(*dpd));
+	dpd->DevicePropertyCode=dtoh16a(&data[PTP_dpd_Sony_DevicePropertyCode]);
+	dpd->DataType=dtoh16a(&data[PTP_dpd_Sony_DataType]);
+
+#if 0
+	/* get set ? */
+	unk1 = dtoh8a(&data[PTP_dpd_Sony_GetSet]);
+	unk2 = dtoh8a(&data[PTP_dpd_Sony_Unknown]);
+	ptp_debug (params, "prop 0x%04x, datatype 0x%04x, unk1 %d unk2 %d", dpd->DevicePropertyCode, dpd->DataType, unk1, unk2);
+#endif
+	dpd->GetSet=1;
+
+	dpd->FormFlag=PTP_DPFF_None;
+
+	*poffset = PTP_dpd_Sony_FactoryDefaultValue;
+	ret = ptp_unpack_DPV (params, data, poffset, dpdlen, &dpd->FactoryDefaultValue, dpd->DataType);
+	if (!ret) goto outofmemory;
+	if ((dpd->DataType == PTP_DTC_STR) && (*poffset == dpdlen))
+		return 1;
+	ret = ptp_unpack_DPV (params, data, poffset, dpdlen, &dpd->CurrentValue, dpd->DataType);
+	if (!ret) goto outofmemory;
+
+	/* if offset==0 then Data Type format is not supported by this
+	   code or the Data Type is a string (with two empty strings as
+	   values). In both cases Form Flag should be set to 0x00 and FORM is
+	   not present. */
+
+	if (*poffset==PTP_dpd_Sony_FactoryDefaultValue)
+		return 1;
+
+	dpd->FormFlag=dtoh8a(&data[*poffset]);
+	*poffset+=sizeof(uint8_t);
+
+	switch (dpd->FormFlag) {
+	case PTP_DPFF_Range:
+		ret = ptp_unpack_DPV (params, data, poffset, dpdlen, &dpd->FORM.Range.MinimumValue, dpd->DataType);
+		if (!ret) goto outofmemory;
+		ret = ptp_unpack_DPV (params, data, poffset, dpdlen, &dpd->FORM.Range.MaximumValue, dpd->DataType);
+		if (!ret) goto outofmemory;
+		ret = ptp_unpack_DPV (params, data, poffset, dpdlen, &dpd->FORM.Range.StepSize, dpd->DataType);
+		if (!ret) goto outofmemory;
+		break;
+	case PTP_DPFF_Enumeration: {
+		int i;
+#define N	dpd->FORM.Enum.NumberOfValues
+		N = dtoh16a(&data[*poffset]);
+		*poffset+=sizeof(uint16_t);
+		dpd->FORM.Enum.SupportedValue = malloc(N*sizeof(dpd->FORM.Enum.SupportedValue[0]));
+		if (!dpd->FORM.Enum.SupportedValue)
+			goto outofmemory;
+
+		memset (dpd->FORM.Enum.SupportedValue,0 , N*sizeof(dpd->FORM.Enum.SupportedValue[0]));
+		for (i=0;i<N;i++) {
+			ret = ptp_unpack_DPV (params, data, poffset, dpdlen, &dpd->FORM.Enum.SupportedValue[i], dpd->DataType);
+
+			/* Slightly different handling here. The HP PhotoSmart 120
+			 * specifies an enumeration with N in wrong endian
+			 * 00 01 instead of 01 00, so we count the enum just until the
+			 * the end of the packet.
+			 */
+			if (!ret) {
+				if (!i)
+					goto outofmemory;
+				dpd->FORM.Enum.NumberOfValues = i;
+				break;
+			}
+		}
+		}
+	}
+#undef N
+	return 1;
+outofmemory:
+	ptp_free_devicepropdesc(dpd);
+	return 0;
+}
+
+static inline void
+duplicate_PropertyValue (const PTPPropertyValue *src, PTPPropertyValue *dst, uint16_t type) {
+	if (type == PTP_DTC_STR) {
+		if (src->str)
+			dst->str = strdup(src->str);
+		else
+			dst->str = NULL;
+		return;
+	}
+
+	if (type & PTP_DTC_ARRAY_MASK) {
+		unsigned int i;
+
+		dst->a.count = src->a.count;
+		dst->a.v = malloc (sizeof(src->a.v[0])*src->a.count);
+		for (i=0;i<src->a.count;i++)
+			duplicate_PropertyValue (&src->a.v[i], &dst->a.v[i], type & ~PTP_DTC_ARRAY_MASK);
+		return;
+	}
+	switch (type & ~PTP_DTC_ARRAY_MASK) {
+	case PTP_DTC_INT8:	dst->i8 = src->i8; break;
+	case PTP_DTC_UINT8:	dst->u8 = src->u8; break;
+	case PTP_DTC_INT16:	dst->i16 = src->i16; break;
+	case PTP_DTC_UINT16:	dst->u16 = src->u16; break;
+	case PTP_DTC_INT32:	dst->i32 = src->i32; break;
+	case PTP_DTC_UINT32:	dst->u32 = src->u32; break;
+	case PTP_DTC_UINT64:	dst->u64 = src->u64; break;
+	case PTP_DTC_INT64:	dst->i64 = src->i64; break;
+#if 0
+	case PTP_DTC_INT128:	dst->i128 = src->i128; break;
+	case PTP_DTC_UINT128:	dst->u128 = src->u128; break;
+#endif
+	default:		break;
+	}
+	return;
+}
+
+static inline void
+duplicate_DevicePropDesc(const PTPDevicePropDesc *src, PTPDevicePropDesc *dst) {
+	int i;
+
+	dst->DevicePropertyCode	= src->DevicePropertyCode;
+	dst->DataType		= src->DataType;
+	dst->GetSet		= src->GetSet;
+	
+	duplicate_PropertyValue (&src->FactoryDefaultValue, &dst->FactoryDefaultValue, src->DataType);
+	duplicate_PropertyValue (&src->CurrentValue, &dst->CurrentValue, src->DataType);
+
+	dst->FormFlag		= src->FormFlag;
+	switch (src->FormFlag) {
+	case PTP_DPFF_Range:
+		duplicate_PropertyValue (&src->FORM.Range.MinimumValue, &dst->FORM.Range.MinimumValue, src->DataType);
+		duplicate_PropertyValue (&src->FORM.Range.MaximumValue, &dst->FORM.Range.MaximumValue, src->DataType);
+		duplicate_PropertyValue (&src->FORM.Range.StepSize,     &dst->FORM.Range.StepSize,     src->DataType);
+		break;
+	case PTP_DPFF_Enumeration:
+		dst->FORM.Enum.NumberOfValues = src->FORM.Enum.NumberOfValues;
+		dst->FORM.Enum.SupportedValue = malloc (sizeof(dst->FORM.Enum.SupportedValue[0])*src->FORM.Enum.NumberOfValues);
+		for (i = 0; i<src->FORM.Enum.NumberOfValues ; i++)
+			duplicate_PropertyValue (&src->FORM.Enum.SupportedValue[i], &dst->FORM.Enum.SupportedValue[i], src->DataType);
+		break;
+	case PTP_DPFF_None:
+		break;
+	}
+}
+
 #define PTP_opd_ObjectPropertyCode	0
 #define PTP_opd_DataType		2
 #define PTP_opd_GetSet			4
@@ -796,7 +1093,7 @@
 static inline int
 ptp_unpack_OPD (PTPParams *params, unsigned char* data, PTPObjectPropDesc *opd, unsigned int opdlen)
 {
-	int offset=0, ret;
+	unsigned int offset=0, ret;
 
 	memset (opd, 0, sizeof(*opd));
 	opd->ObjectPropertyCode=dtoh16a(&data[PTP_opd_ObjectPropertyCode]);
@@ -823,7 +1120,7 @@
 		if (!ret) goto outofmemory;
 		break;
 	case PTP_OPFF_Enumeration: {
-		int i;
+		unsigned int i;
 #define N	opd->FORM.Enum.NumberOfValues
 		N = dtoh16a(&data[offset]);
 		offset+=sizeof(uint16_t);
@@ -862,7 +1159,7 @@
 {
 	unsigned char* dpv=NULL;
 	uint32_t size=0;
-	int	i;
+	unsigned int i;
 
 	switch (datatype) {
 	case PTP_DTC_INT8:
@@ -1043,10 +1340,13 @@
 { 
 	uint32_t prop_count = dtoh32a(data);
 	MTPProperties *props = NULL;
-	int offset = 0, i;
+	unsigned int offset = 0, i;
 
-	if (prop_count == 0) {
-		*pprops = NULL;
+	*pprops = NULL;
+	if (prop_count == 0)
+		return 0;
+	if (prop_count >= INT_MAX/sizeof(MTPProperties)) {
+		ptp_debug (params ,"prop_count %d is too large", prop_count);
 		return 0;
 	}
 	ptp_debug (params ,"Unpacking MTP OPL, size %d (prop_count %d)", len, prop_count);
@@ -1057,7 +1357,7 @@
 	for (i = 0; i < prop_count; i++) {
 		if (len <= 0) {
 			ptp_debug (params ,"short MTP Object Property List at property %d (of %d)", i, prop_count);
-			ptp_debug (params ,"device probably needs DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL", i);
+			ptp_debug (params ,"device probably needs DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL");
 			ptp_debug (params ,"or even DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST", i);
 			qsort (props, i, sizeof(MTPProperties),_compare_func);
 			*pprops = props;
@@ -1076,7 +1376,12 @@
 		len -= sizeof(uint16_t);
 
 		offset = 0;
-		ptp_unpack_DPV(params, data, &offset, len, &props[i].propval, props[i].datatype);
+		if (!ptp_unpack_DPV(params, data, &offset, len, &props[i].propval, props[i].datatype)) {
+			ptp_debug (params ,"unpacking DPV of property %d encountered insufficient buffer. attack?", i);
+			qsort (props, i, sizeof(MTPProperties),_compare_func);
+			*pprops = props;
+			return i;
+		}
 		data += offset;
 		len -= offset;
 	}
@@ -1101,13 +1406,18 @@
 static inline void
 ptp_unpack_EC (PTPParams *params, unsigned char* data, PTPContainer *ec, unsigned int len)
 {
-	int	length;
+	unsigned int	length;
 	int	type;
 
 	if (data==NULL)
 		return;
 	memset(ec,0,sizeof(*ec));
+
 	length=dtoh32a(&data[PTP_ec_Length]);
+	if (length > len) {
+		ptp_debug (params, "length %d in container, but data only %d bytes?!", length, len);
+		return;
+	}
 	type = dtoh16a(&data[PTP_ec_Type]);
 
 	ec->Code=dtoh16a(&data[PTP_ec_Code]);
@@ -1157,17 +1467,92 @@
 		fe->Filename[i]=(char)dtoh8a(&data[PTP_cfe_Filename+i]);
 }
 
+/*
+    PTP Canon EOS Folder Entry unpack
+0: 00 00 08 a0     objectid
+4: 01 00 02 00     storageid
+8: 01 30 00 00     ofc
+12: 01 00
+14: 00 00
+16: 11 00 00 00
+20: 00 00 00 00
+24: 00 00 00 80
+28: 00 00 08 a0
+32: 4d 49 53 43-00 00 00 00 00 00 00 00     name
+00 00 00 00
+84 bc 74 46     objectime
+
+
+(normal PTP GetObjectInfo)
+ObjectInfo for 'IMG_0199.JPG':
+  Object ID: 0x92740c72
+  StorageID: 0x00020001
+  ObjectFormat: 0x3801
+  ProtectionStatus: 0x0000
+  ObjectCompressedSize: 2217241
+  ThumbFormat: 0x3808
+  ThumbCompressedSize: 5122
+  ThumbPixWidth: 160
+  ThumbPixHeight: 120
+  ImagePixWidth: 4000
+  ImagePixHeight: 3000
+  ImageBitDepth: 24
+  ParentObject: 0x92740000
+  AssociationType: 0x0000
+  AssociationDesc: 0x00000000
+  SequenceNumber: 0x00000000
+  ModificationDate: 0x4d985ff0
+  CaptureDate: 0x4d985ff0
+
+0010  38 00 00 00  Size of this entry
+0014  72 0c 74 92  OID
+0018  01 00 02 00  StorageID
+001c  01 38 00 00  OFC
+0020  00 00 00 00 ??
+0024  21 00 00 00  flags (4 bytes? 1 byte?)
+0028  19 d5 21 00  Size
+002c  00 00 74 92  ?
+0030  70 0c 74 92  OID
+0034  49 4d 47 5f-30 31 39 39 2e 4a 50 47  IMG_0199.JPG
+0040  00 00 00 00
+0044  10 7c 98 4d Time
+
+
+*/
+#define PTP_cefe_ObjectHandle		0
+#define PTP_cefe_StorageID		4
+#define PTP_cefe_ObjectFormatCode	8
+#define PTP_cefe_Flags			16
+#define PTP_cefe_ObjectSize		20
+#define PTP_cefe_Filename		32
+#define PTP_cefe_Time			48
+
+static inline void
+ptp_unpack_Canon_EOS_FE (PTPParams *params, unsigned char* data, PTPCANONFolderEntry *fe)
+{
+	int i;
+
+	fe->ObjectHandle=dtoh32a(&data[PTP_cefe_ObjectHandle]);
+	fe->ObjectFormatCode=dtoh16a(&data[PTP_cefe_ObjectFormatCode]);
+	fe->Flags=dtoh8a(&data[PTP_cefe_Flags]);
+	fe->ObjectSize=dtoh32a((unsigned char*)&data[PTP_cefe_ObjectSize]);
+	fe->Time=(time_t)dtoh32a(&data[PTP_cefe_Time]);
+	for (i=0; i<PTP_CANON_FilenameBufferLen; i++)
+		fe->Filename[i]=(char)data[PTP_cefe_Filename+i];
+}
+
+
 static inline uint16_t
 ptp_unpack_EOS_ImageFormat (PTPParams* params, unsigned char** data )
 {
 	/*
-	  EOS ImageFormat entries (of at least the 5DMII and the 400D ) look like this:
+	  EOS ImageFormat entries (of at least the 5DM2 and the 400D) look like this:
 		uint32: number of entries / generated files (1 or 2)
 		uint32: size of this entry in bytes (most likely allways 0x10)
 		uint32: image type (1 == JPG, 6 == RAW)
-		uint32: image size (0 == Large, 1 == Medium, 2 == Small)
+		uint32: image size (0 == Large, 1 == Medium, 2 == Small, 0xe == S1, 0xf == S2, 0x10 == S3)
 		uint32: image compression (2 == Standard/JPG, 3 == Fine/JPG, 4 == Lossles/RAW)
-	  If number of entries is 2 the last uint32 repeat.
+	  If the number of entries is 2 the last 4 uint32 repeat.
 
 	  example:
 		0: 0x       1
@@ -1176,11 +1561,14 @@
 		3: 0x       1
 		4: 0x       4
 
-	  The idea is to simply 'condense' these values to just one uint16 to be able to conveniontly
+	  The idea is to simply 'condense' these values to just one uint16 to be able to conveniently
 	  use the available enumeration facilities (look-up table). The image size and compression
 	  values fully describe the image format. Hence we generate a uint16 with the four nibles set
 	  as follows: entry 1 size | entry 1 compression | entry 2 size | entry 2 compression.
 	  The above example would result in the value 0x1400.
+
+	  The EOS 5D Mark III (and possibly other high-end EOS as well) added the extra fancy S1, S2
+	  and S3 JPEG options. S1 replaces the old Small. -1 the S1/S2/S3 to prevent the 0x10 overflow.
 	  */
 
 	const unsigned char* d = *data;
@@ -1215,6 +1603,12 @@
 
 	*data = (unsigned char*) d+4;
 
+	/* deal with S1/S2/S3 JPEG sizes, see above. */
+	if( s1 >= 0xe )
+		s1--;
+	if( s2 >= 0xe )
+		s2--;
+
 	return ((s1 & 0xF) << 12) | ((c1 & 0xF) << 8) | ((s2 & 0xF) << 4) | ((c2 & 0xF) << 0);
 }
 
@@ -1227,19 +1621,164 @@
 	if( !data )
 		return s;
 
+#define PACK_5DM3_SMALL_JPEG_SIZE( X ) (X) >= 0xd ? (X)+1 : (X)
+
 	htod32a(data+=0, n);
 	htod32a(data+=4, 0x10);
 	htod32a(data+=4, ((value >> 8) & 0xF) == 4 ? 6 : 1);
-	htod32a(data+=4, (value >> 12) & 0xF);
+	htod32a(data+=4, PACK_5DM3_SMALL_JPEG_SIZE((value >> 12) & 0xF));
 	htod32a(data+=4, (value >> 8) & 0xF);
 
 	if (n==2) {
 		htod32a(data+=4, 0x10);
 		htod32a(data+=4, ((value >> 0) & 0xF) == 4 ? 6 : 1);
-		htod32a(data+=4, (value >> 4) & 0xF);
+		htod32a(data+=4, PACK_5DM3_SMALL_JPEG_SIZE((value >> 4) & 0xF));
 		htod32a(data+=4, (value >> 0) & 0xF);
 	}
 
+#undef PACK_5DM3_SMALL_JPEG_SIZE
+
+	return s;
+}
+
+/* 00: 32 bit size
+ * 04: 16 bit subsize
+ * 08: 16 bit version (?)
+ * 0c: 16 bit focus_points_in_struct
+ * 10: 16 bit focus_points_in_use
+ * 14: variable arrays:
+ * 	16 bit sizex, 16 bit sizey
+ * 	16 bit othersizex, 16 bit othersizey
+ * 	16 bit array height[focus_points_in_struct]
+ * 	16 bit array width[focus_points_in_struct]
+ * 	16 bit array offsetheight[focus_points_in_struct] middle is 0
+ * 	16 bit array offsetwidth[focus_points_in_struct] middle is ?
+ * bitfield of selected focus points, starting with 0 [size focus_points_in_struct in bits]
+ * unknown stuff , likely which are active
+ * 16 bit 0xffff
+ *
+ * size=NxN,size2=NxN,points={NxNxNxN,NxNxNxN,...},selected={0,1,2}
+ */
+static inline char*
+ptp_unpack_EOS_FocusInfoEx (PTPParams* params, unsigned char** data, uint32_t datasize )
+{
+	uint32_t size 			= dtoh32a( *data );
+	uint32_t halfsize		= dtoh16a( (*data) + 4);
+	uint32_t version		= dtoh16a( (*data) + 6);
+	uint32_t focus_points_in_struct	= dtoh16a( (*data) + 8);
+	uint32_t focus_points_in_use	= dtoh16a( (*data) + 10);
+	uint32_t sizeX			= dtoh16a( (*data) + 12);
+	uint32_t sizeY			= dtoh16a( (*data) + 14);
+	uint32_t size2X			= dtoh16a( (*data) + 16);
+	uint32_t size2Y			= dtoh16a( (*data) + 18);
+	uint32_t i;
+	uint32_t maxlen;
+	char	*str, *p;
+
+	if ((size >= datasize) || (size < 20))
+		return strdup("bad size 1");
+	/* every focuspoint gets 4 (16 bit number possible "-" sign and a x) and a ,*/
+	/* inital things around lets say 100 chars at most. 
+	 * FIXME: check selected when we decode it
+	 */
+	if (size < focus_points_in_struct*8) {
+		ptp_error(params, "focus_points_in_struct %d is too large vs size %d", focus_points_in_struct, size);
+		return strdup("bad size 2");
+	}
+	if (focus_points_in_use > focus_points_in_struct) {
+		ptp_error(params, "focus_points_in_use %d is larger than focus_points_in_struct %d", focus_points_in_use, focus_points_in_struct);
+		return strdup("bad size 3");
+	}
+
+	maxlen = focus_points_in_use*32 + 100 + (size - focus_points_in_struct*8)*2;
+	if (halfsize != size-4) {
+		ptp_error(params, "halfsize %d is not expected %d", halfsize, size-4);
+		return strdup("bad size 4");
+	}
+	if (20 + focus_points_in_struct*8 + (focus_points_in_struct+7)/8 > size) {
+		ptp_error(params, "size %d is too large for fp in struct %d", focus_points_in_struct*8 + 20 + (focus_points_in_struct+7)/8, size);
+		return strdup("bad size 5");
+	}
+#if 0
+	ptp_debug(params,"d1d3 content:");
+	for (i=0;i<size;i+=2)
+		ptp_debug(params,"%d: %02x %02x", i, (*data)[i], (*data)[i+1]);
+#endif
+	ptp_debug(params,"d1d3 version %d", version);
+	ptp_debug(params,"d1d3 size %d", size);
+	ptp_debug(params,"d1d3 focus points in struct %d, in use %d", focus_points_in_struct, focus_points_in_use);
+
+	str = (char*)malloc( maxlen );
+	if (!str)
+		return NULL;
+	p = str;
+
+	p += sprintf(p,"eosversion=%d,size=%dx%d,size2=%dx%d,points={", version, sizeX, sizeY, size2X, size2Y);
+	for (i=0;i<focus_points_in_use;i++) {
+		int16_t x = dtoh16a((*data) + focus_points_in_struct*4 + 20 + 2*i);
+		int16_t y = dtoh16a((*data) + focus_points_in_struct*6 + 20 + 2*i);
+		int16_t w = dtoh16a((*data) + focus_points_in_struct*2 + 20 + 2*i);
+		int16_t h = dtoh16a((*data) + focus_points_in_struct*0 + 20 + 2*i);
+
+		p += sprintf(p,"{%d,%d,%d,%d}",x,y,w,h);
+
+		if (i<focus_points_in_use-1)
+			p += sprintf(p,",");
+	}
+	p += sprintf(p,"},select={");
+	for (i=0;i<focus_points_in_use;i++) {
+		if ((1<<(i%8)) & ((*data)[focus_points_in_struct*8+20+i/8]))
+			p+=sprintf(p,"%d,", i);
+	}
+
+	p += sprintf(p,"},unknown={");
+	for (i=focus_points_in_struct*8+(focus_points_in_struct+7)/8+20;i<size;i++) {
+		if ((p-str) > maxlen - 4)
+			break;
+		p+=sprintf(p,"%02x", (*data)[i]);
+	}
+	p += sprintf(p,"}");
+	return str;
+}
+
+
+static inline char*
+ptp_unpack_EOS_CustomFuncEx (PTPParams* params, unsigned char** data )
+{
+	uint32_t s = dtoh32a( *data );
+	uint32_t n = s/4, i;
+	char	*str, *p;
+
+	if (s > 1024) {
+		ptp_debug (params, "customfuncex data is larger than 1k / %d... unexpected?", s);
+		return strdup("bad length");
+	}
+	str = (char*)malloc( s*2+s/4+1 ); /* n is size in uint32, maximum %x len is 8 chars and \0*/
+	if (!str)
+		return strdup("malloc failed");
+
+	p = str;
+	for (i=0; i < n; ++i)
+		p += sprintf(p, "%x,", dtoh32a( *data + 4*i ));
+	return str;
+}
+
+static inline uint32_t
+ptp_pack_EOS_CustomFuncEx (PTPParams* params, unsigned char* data, char* str)
+{
+	uint32_t s = strtoul(str, NULL, 16);
+	uint32_t n = s/4, i, v;
+
+	if (!data)
+		return s;
+
+	for (i=0; i<n; i++)
+	{
+		v = strtoul(str, &str, 16);
+		str++; /* skip the ',' delimiter */
+		htod32a(data + i*4, v);
+	}
+
 	return s;
 }
 
@@ -1269,62 +1808,169 @@
 #define PTP_ece_OA_Parent	0x20
 #define PTP_ece_OA_Name		0x28
 
+#define PTP_ece2_OA_ObjectID	8	/* OK */
+#define PTP_ece2_OA_StorageID	0x0c	/* OK */
+#define PTP_ece2_OA_OFC		0x10	/* OK */
+#define PTP_ece2_OA_Size	0x1c	/* OK, might be 64 bit now? */
+#define PTP_ece2_OA_Parent	0x24
+#define PTP_ece2_OA_2ndOID	0x28
+#define PTP_ece2_OA_Name	0x2c	/* OK */
+
+/* for PTP_EC_CANON_EOS_ObjectAddedNew */
+#define PTP_ece_OAN_OFC		0x0c
+#define PTP_ece_OAN_Size	0x14
+
+static PTPDevicePropDesc*
+_lookup_or_allocate_canon_prop(PTPParams *params, uint16_t proptype)
+{
+	unsigned int j;
+
+	for (j=0;j<params->nrofcanon_props;j++)
+		if (params->canon_props[j].proptype == proptype)
+			break;
+	if (j<params->nrofcanon_props)
+		return &params->canon_props[j].dpd;
+
+	if (j)
+		params->canon_props = realloc(params->canon_props, sizeof(params->canon_props[0])*(j+1));
+	else
+		params->canon_props = malloc(sizeof(params->canon_props[0]));
+	params->canon_props[j].proptype = proptype;
+	params->canon_props[j].size = 0;
+	params->canon_props[j].data = NULL;
+	memset (&params->canon_props[j].dpd,0,sizeof(params->canon_props[j].dpd));
+	params->canon_props[j].dpd.GetSet = 1;
+	params->canon_props[j].dpd.FormFlag = PTP_DPFF_None;
+	params->nrofcanon_props = j+1;
+	return &params->canon_props[j].dpd;
+}
+
+
 static inline int
-ptp_unpack_CANON_changes (PTPParams *params, unsigned char* data, int datasize, PTPCanon_changes_entry **ce)
+ptp_unpack_CANON_changes (PTPParams *params, unsigned char* data, int datasize, PTPCanon_changes_entry **pce)
 {
 	int	i = 0, entries = 0;
 	unsigned char	*curdata = data;
+	PTPCanon_changes_entry *ce;
 
 	if (data==NULL)
 		return 0;
-	while (curdata - data < datasize) {
+	while (curdata - data + 8 < datasize) {
 		uint32_t	size = dtoh32a(&curdata[PTP_ece_Size]);
 		uint32_t	type = dtoh32a(&curdata[PTP_ece_Type]);
 
-		curdata += size;
+		if (size > datasize) {
+			ptp_debug (params, "size %d is larger than datasize %d", size, datasize);
+			break;
+		}
+		if (size < 8) {
+			ptp_debug (params, "size %d is smaller than 8.", size);
+			break;
+		}
 		if ((size == 8) && (type == 0))
 			break;
+		if ((curdata - data) + size >= datasize) {
+			ptp_debug (params, "canon eos event decoder ran over supplied data, skipping entries");
+			break;
+		}
+		if (type == PTP_EC_CANON_EOS_OLCInfoChanged) {
+			unsigned int j;
+
+			entries++;
+			if (size >= 12+2) {
+				for (j=0;j<31;j++)
+					if (dtoh16a(curdata+12) & (1<<j))
+						entries++;
+			}
+		}
+		curdata += size;
 		entries++;
 	}
-	*ce = malloc (sizeof(PTPCanon_changes_entry)*(entries+1));
-	if (!*ce) return 0;
+	ce = malloc (sizeof(PTPCanon_changes_entry)*(entries+1));
+	if (!ce) return 0;
 
 	curdata = data;
-	while (curdata - data < datasize) {
+	while (curdata - data  + 8 < datasize) {
 		uint32_t	size = dtoh32a(&curdata[PTP_ece_Size]);
 		uint32_t	type = dtoh32a(&curdata[PTP_ece_Type]);
 
-		(*ce)[i].type = PTP_CANON_EOS_CHANGES_TYPE_UNKNOWN;
-		switch (type) {
-		case  PTP_EC_CANON_EOS_ObjectAddedEx:
-			(*ce)[i].type = PTP_CANON_EOS_CHANGES_TYPE_OBJECTINFO;
-			(*ce)[i].u.object.oid    		= dtoh32a(&curdata[PTP_ece_OA_ObjectID]);
-			(*ce)[i].u.object.oi.StorageID 		= dtoh32a(&curdata[PTP_ece_OA_StorageID]);
-			(*ce)[i].u.object.oi.ParentObject	= dtoh32a(&curdata[PTP_ece_OA_Parent]);
-			(*ce)[i].u.object.oi.ObjectFormat 	= dtoh16a(&curdata[PTP_ece_OA_OFC]);
-			(*ce)[i].u.object.oi.ObjectCompressedSize= dtoh32a(&curdata[PTP_ece_OA_Size]);
-			(*ce)[i].u.object.oi.Filename 		= strdup(((char*)&curdata[PTP_ece_OA_Name]));
-			ptp_debug (params, "event %d: objectinfo added oid %08lx, parent %08lx, ofc %04x, size %d, filename %s", i, (*ce)[i].u.object.oid, (*ce)[i].u.object.oi.ParentObject, (*ce)[i].u.object.oi.ObjectFormat, (*ce)[i].u.object.oi.ObjectCompressedSize, (*ce)[i].u.object.oi.Filename);
+		if (size > datasize) {
+			ptp_debug (params, "size %d is larger than datasize %d", size, datasize);
 			break;
-		case  PTP_EC_CANON_EOS_RequestObjectTransfer:
-			(*ce)[i].type = PTP_CANON_EOS_CHANGES_TYPE_OBJECTTRANSFER;
-			(*ce)[i].u.object.oid    		= dtoh32a(&curdata[PTP_ece_OI_ObjectID]);
-			(*ce)[i].u.object.oi.StorageID 		= 0; /* use as marker */
-			(*ce)[i].u.object.oi.ObjectFormat 	= dtoh16a(&curdata[PTP_ece_OI_OFC]);
-			(*ce)[i].u.object.oi.ParentObject	= 0; /* check, but use as marker */
-			(*ce)[i].u.object.oi.ObjectCompressedSize = dtoh32a(&curdata[PTP_ece_OI_Size]);
-			(*ce)[i].u.object.oi.Filename 		= strdup(((char*)&curdata[PTP_ece_OI_Name]));
+		}
+		if (size < 8) {
+			ptp_debug (params, "size %d is smaller than 8", size);
+			break;
+		}
 
-			ptp_debug (params, "event %d: request object transfer oid %08lx, ofc %04x, size %d, filename %s", i, (*ce)[i].u.object.oid, (*ce)[i].u.object.oi.ObjectFormat, (*ce)[i].u.object.oi.ObjectCompressedSize, (*ce)[i].u.object.oi.Filename);
+		if ((size == 8) && (type == 0))
 			break;
-		case  PTP_EC_CANON_EOS_AvailListChanged: {	/* property desc */
+
+		if ((curdata - data) + size >= datasize) {
+			ptp_debug (params, "canon eos event decoder ran over supplied data, skipping entries");
+			break;
+		}
+
+		ce[i].type = PTP_CANON_EOS_CHANGES_TYPE_UNKNOWN;
+		ce[i].u.info = NULL;
+		switch (type) {
+		case PTP_EC_CANON_EOS_ObjectAddedEx:
+			if (size < PTP_ece_OA_Name+1) {
+				ptp_debug (params, "size %d is smaller than %d", size, PTP_ece_OA_Name+1);
+				break;
+			}
+			ce[i].type = PTP_CANON_EOS_CHANGES_TYPE_OBJECTINFO;
+			ce[i].u.object.oid    		= dtoh32a(&curdata[PTP_ece_OA_ObjectID]);
+			ce[i].u.object.oi.StorageID	= dtoh32a(&curdata[PTP_ece_OA_StorageID]);
+			ce[i].u.object.oi.ParentObject	= dtoh32a(&curdata[PTP_ece_OA_Parent]);
+			ce[i].u.object.oi.ObjectFormat 	= dtoh16a(&curdata[PTP_ece_OA_OFC]);
+			ce[i].u.object.oi.ObjectCompressedSize= dtoh32a(&curdata[PTP_ece_OA_Size]);
+			ce[i].u.object.oi.Filename 	= strdup(((char*)&curdata[PTP_ece_OA_Name]));
+			ptp_debug (params, "event %d: objectinfo added oid %08lx, parent %08lx, ofc %04x, size %d, filename %s", i, ce[i].u.object.oid, ce[i].u.object.oi.ParentObject, ce[i].u.object.oi.ObjectFormat, ce[i].u.object.oi.ObjectCompressedSize, ce[i].u.object.oi.Filename);
+			break;
+                case PTP_EC_CANON_EOS_ObjectAddedUnknown:	/* FIXME: review if the data used is correct */
+			if (size < PTP_ece2_OA_Name+1) {
+				ptp_debug (params, "size %d is smaller than %d", size, PTP_ece2_OA_Name+1);
+				break;
+			}
+			ce[i].type = PTP_CANON_EOS_CHANGES_TYPE_OBJECTINFO;
+			ce[i].u.object.oid    		= dtoh32a(&curdata[PTP_ece2_OA_ObjectID]);
+			ce[i].u.object.oi.StorageID	= dtoh32a(&curdata[PTP_ece2_OA_StorageID]);
+			ce[i].u.object.oi.ParentObject	= dtoh32a(&curdata[PTP_ece2_OA_Parent]);
+			ce[i].u.object.oi.ObjectFormat 	= dtoh16a(&curdata[PTP_ece2_OA_OFC]);
+			ce[i].u.object.oi.ObjectCompressedSize= dtoh32a(&curdata[PTP_ece2_OA_Size]);	/* FIXME: might be 64bit now */
+			ce[i].u.object.oi.Filename 	= strdup(((char*)&curdata[PTP_ece2_OA_Name]));
+			ptp_debug (params, "event %d: objectinfo added oid %08lx, parent %08lx, ofc %04x, size %d, filename %s", i, ce[i].u.object.oid, ce[i].u.object.oi.ParentObject, ce[i].u.object.oi.ObjectFormat, ce[i].u.object.oi.ObjectCompressedSize, ce[i].u.object.oi.Filename);
+			break;
+		case PTP_EC_CANON_EOS_RequestObjectTransfer:
+		case PTP_EC_CANON_EOS_RequestObjectTransferNew: /* FIXME: confirm */
+			if (size < PTP_ece_OI_Name+1) {
+				ptp_debug (params, "size %d is smaller than %d", size, PTP_ece_OI_Name+1);
+				break;
+			}
+			ce[i].type = PTP_CANON_EOS_CHANGES_TYPE_OBJECTTRANSFER;
+			ce[i].u.object.oid    		= dtoh32a(&curdata[PTP_ece_OI_ObjectID]);
+			ce[i].u.object.oi.StorageID 	= 0; /* use as marker */
+			ce[i].u.object.oi.ObjectFormat 	= dtoh16a(&curdata[PTP_ece_OI_OFC]);
+			ce[i].u.object.oi.ParentObject	= 0; /* check, but use as marker */
+			ce[i].u.object.oi.ObjectCompressedSize = dtoh32a(&curdata[PTP_ece_OI_Size]);
+			ce[i].u.object.oi.Filename 	= strdup(((char*)&curdata[PTP_ece_OI_Name]));
+
+			ptp_debug (params, "event %d: request object transfer oid %08lx, ofc %04x, size %d, filename %p", i, ce[i].u.object.oid, ce[i].u.object.oi.ObjectFormat, ce[i].u.object.oi.ObjectCompressedSize, ce[i].u.object.oi.Filename);
+			break;
+		case PTP_EC_CANON_EOS_AvailListChanged: {	/* property desc */
 			uint32_t	proptype = dtoh32a(&curdata[PTP_ece_Prop_Subtype]);
 			uint32_t	propxtype = dtoh32a(&curdata[PTP_ece_Prop_Desc_Type]);
 			uint32_t	propxcnt = dtoh32a(&curdata[PTP_ece_Prop_Desc_Count]);
-			unsigned char	*data = &curdata[PTP_ece_Prop_Desc_Data];
-			int		j;
+			unsigned char	*xdata = &curdata[PTP_ece_Prop_Desc_Data];
+			unsigned int	j;
 			PTPDevicePropDesc	*dpd;
 
+			if (size < PTP_ece_Prop_Desc_Data) {
+				ptp_debug (params, "size %d is smaller than %d", size, PTP_ece_Prop_Desc_Data);
+				break;
+			}
+
 			ptp_debug (params, "event %d: EOS prop %04x desc record, datasize %d, propxtype %d", i, proptype, size-PTP_ece_Prop_Desc_Data, propxtype);
 			for (j=0;j<params->nrofcanon_props;j++)
 				if (params->canon_props[j].proptype == proptype)
@@ -1339,18 +1985,21 @@
 			 * 7 - string?
 			 */
 			if (propxtype != 3) {
-				ptp_debug (params, "event %d: propxtype is %x for %04x, unhandled.", i, propxtype, proptype);
+				ptp_debug (params, "event %d: propxtype is %x for %04x, unhandled, size %d", i, propxtype, proptype, size);
 				for (j=0;j<size-PTP_ece_Prop_Desc_Data;j++)
-					ptp_debug (params, "    %d: %02x", j, data[j]);
+					ptp_debug (params, "    %d: %02x", j, xdata[j]);
 				break;
 			}
 			if (! propxcnt)
 				break;
+			if (propxcnt >= 2<<16) /* buggy or exploit */
+				break;
 
 			ptp_debug (params, "event %d: propxtype is %x, prop is 0x%04x, data type is 0x%04x, propxcnt is %d.",
 				   i, propxtype, proptype, dpd->DataType, propxcnt);
 			dpd->FormFlag = PTP_DPFF_Enumeration;
 			dpd->FORM.Enum.NumberOfValues = propxcnt;
+			free (dpd->FORM.Enum.SupportedValue);
 			dpd->FORM.Enum.SupportedValue = malloc (sizeof (PTPPropertyValue)*propxcnt);
 
 			switch (proptype) {
@@ -1361,7 +2010,7 @@
 				/* special handling of ImageFormat properties */
 				for (j=0;j<propxcnt;j++) {
 					dpd->FORM.Enum.SupportedValue[j].u16 =
-							dtoh16( ptp_unpack_EOS_ImageFormat( params, &data ) );
+							ptp_unpack_EOS_ImageFormat( params, &xdata );
 					ptp_debug (params, "event %d: suppval[%d] of %x is 0x%x.", i, j, proptype, dpd->FORM.Enum.SupportedValue[j].u16);
 				}
 				break;
@@ -1369,10 +2018,14 @@
 				/* 'normal' enumerated types */
 				switch (dpd->DataType) {
 #define XX( TYPE, CONV )\
-					for (j=0;j<propxcnt;j++) { \
-						dpd->FORM.Enum.SupportedValue[j].TYPE = CONV(data); \
-						ptp_debug (params, "event %d: suppval[%d] of %x is 0x%x.", i, j, proptype, CONV(data)); \
-						data += 4; /* might only be for propxtype 3 */ \
+					if (sizeof(dpd->FORM.Enum.SupportedValue[j].TYPE)*propxcnt + PTP_ece_Prop_Desc_Data > size) {	\
+						ptp_debug (params, "size %d does not match needed %d", sizeof(dpd->FORM.Enum.SupportedValue[j].TYPE)*propxcnt + PTP_ece_Prop_Desc_Data, size);	\
+						break;							\
+					}								\
+					for (j=0;j<propxcnt;j++) { 					\
+						dpd->FORM.Enum.SupportedValue[j].TYPE = CONV(xdata); 	\
+						ptp_debug (params, "event %d: suppval[%d] of %x is 0x%x.", i, j, proptype, CONV(xdata)); \
+						xdata += 4; /* might only be for propxtype 3 */ \
 					} \
 					break;
 
@@ -1382,9 +2035,12 @@
 				case PTP_DTC_UINT8:	XX( u8,  dtoh8a );
 #undef XX
 				default:
-					ptp_debug (params ,"event %d: data type 0x%04x of %x unhandled, raw values:", i, dpd->DataType, proptype, dtoh32a(data));
-					for (j=0;j<(size-PTP_ece_Prop_Desc_Data)/4;j++, data+=4) /* 4 is good for propxtype 3 */
-						ptp_debug (params, "    %3d: 0x%8x", j, dtoh32a(data));
+					free (dpd->FORM.Enum.SupportedValue);
+					dpd->FORM.Enum.SupportedValue = NULL;
+					dpd->FORM.Enum.NumberOfValues = 0;
+					ptp_debug (params ,"event %d: data type 0x%04x of %x unhandled, size %d, raw values:", i, dpd->DataType, proptype, dtoh32a(xdata), size);
+					for (j=0;j<(size-PTP_ece_Prop_Desc_Data)/4;j++, xdata+=4) /* 4 is good for propxtype 3 */
+						ptp_debug (params, "    %3d: 0x%8x", j, dtoh32a(xdata));
 					break;
 				}
 			}
@@ -1392,31 +2048,35 @@
 		}
 		case PTP_EC_CANON_EOS_PropValueChanged:
 			if (size >= 0xc) {	/* property info */
-				int j;
+				unsigned int j;
 				uint32_t	proptype = dtoh32a(&curdata[PTP_ece_Prop_Subtype]);
-				unsigned char	*data = &curdata[PTP_ece_Prop_Val_Data];
+				unsigned char	*xdata = &curdata[PTP_ece_Prop_Val_Data];
 				PTPDevicePropDesc	*dpd;
 
+				if (size < PTP_ece_Prop_Val_Data) {
+					ptp_debug (params, "size %d is smaller than %d", size, PTP_ece_Prop_Val_Data);
+					break;
+				}
 				ptp_debug (params, "event %d: EOS prop %04x info record, datasize is %d", i, proptype, size-PTP_ece_Prop_Val_Data);
 				for (j=0;j<params->nrofcanon_props;j++)
 					if (params->canon_props[j].proptype == proptype)
 						break;
 				if (j<params->nrofcanon_props) {
 					if (	(params->canon_props[j].size != size) ||
-						(memcmp(params->canon_props[j].data,data,size-PTP_ece_Prop_Val_Data))) {
+						(memcmp(params->canon_props[j].data,xdata,size-PTP_ece_Prop_Val_Data))) {
 						params->canon_props[j].data = realloc(params->canon_props[j].data,size-PTP_ece_Prop_Val_Data);
-						memcpy (params->canon_props[j].data,data,size-PTP_ece_Prop_Val_Data);
+						params->canon_props[j].size = size;
+						memcpy (params->canon_props[j].data,xdata,size-PTP_ece_Prop_Val_Data);
 					}
 				} else {
 					if (j)
 						params->canon_props = realloc(params->canon_props, sizeof(params->canon_props[0])*(j+1));
 					else
 						params->canon_props = malloc(sizeof(params->canon_props[0]));
-					params->canon_props[j].type = type;
 					params->canon_props[j].proptype = proptype;
 					params->canon_props[j].size = size;
 					params->canon_props[j].data = malloc(size-PTP_ece_Prop_Val_Data);
-					memcpy(params->canon_props[j].data, data, size-PTP_ece_Prop_Val_Data);
+					memcpy(params->canon_props[j].data, xdata, size-PTP_ece_Prop_Val_Data);
 					memset (&params->canon_props[j].dpd,0,sizeof(params->canon_props[j].dpd));
 					params->canon_props[j].dpd.GetSet = 1;
 					params->canon_props[j].dpd.FormFlag = PTP_DPFF_None;
@@ -1424,6 +2084,9 @@
 				}
 				dpd = &params->canon_props[j].dpd;
 
+				ce[i].type = PTP_CANON_EOS_CHANGES_TYPE_PROPERTY;
+				ce[i].u.propid = proptype;
+
 				/* fix GetSet value */
 				switch (proptype) {
 #define XX(x) case PTP_DPC_CANON_##x:
@@ -1463,36 +2126,51 @@
 				/* set DataType */
 				switch (proptype) {
 				case PTP_DPC_CANON_EOS_CameraTime:
-				case PTP_DPC_CANON_EOS_EVFOutputDevice:
+				case PTP_DPC_CANON_EOS_UTCTime:
+				case PTP_DPC_CANON_EOS_Summertime: /* basical the DST flag */
 				case PTP_DPC_CANON_EOS_AvailableShots:
 				case PTP_DPC_CANON_EOS_CaptureDestination:
 				case PTP_DPC_CANON_EOS_WhiteBalanceXA:
 				case PTP_DPC_CANON_EOS_WhiteBalanceXB:
-				case PTP_DPC_CANON_EOS_QuickReviewTime:
 				case PTP_DPC_CANON_EOS_CurrentStorage:
 				case PTP_DPC_CANON_EOS_CurrentFolder:
 				case PTP_DPC_CANON_EOS_ShutterCounter:
 				case PTP_DPC_CANON_EOS_ModelID:
 				case PTP_DPC_CANON_EOS_LensID:
 				case PTP_DPC_CANON_EOS_StroboFiring:
+				case PTP_DPC_CANON_EOS_AFSelectFocusArea:
+				case PTP_DPC_CANON_EOS_ContinousAFMode:
+				case PTP_DPC_CANON_EOS_MirrorUpSetting:
 					dpd->DataType = PTP_DTC_UINT32;
 					break;
+				/* enumeration for AEM is never provided, but is available to set */
+				case PTP_DPC_CANON_EOS_AutoExposureMode:
+					dpd->DataType = PTP_DTC_UINT16;
+					dpd->FormFlag = PTP_DPFF_Enumeration;
+					dpd->FORM.Enum.NumberOfValues = 0;
+					break;
 				case PTP_DPC_CANON_EOS_Aperture:
 				case PTP_DPC_CANON_EOS_ShutterSpeed:
 				case PTP_DPC_CANON_EOS_ISOSpeed:
 				case PTP_DPC_CANON_EOS_FocusMode:
-				case PTP_DPC_CANON_EOS_AutoExposureMode:
 				case PTP_DPC_CANON_EOS_ColorSpace:
 				case PTP_DPC_CANON_EOS_BatteryPower:
+				case PTP_DPC_CANON_EOS_BatterySelect:
 				case PTP_DPC_CANON_EOS_PTPExtensionVersion:
 				case PTP_DPC_CANON_EOS_DriveMode:
 				case PTP_DPC_CANON_EOS_AEB:
+				case PTP_DPC_CANON_EOS_BracketMode:
+				case PTP_DPC_CANON_EOS_QuickReviewTime:
+				case PTP_DPC_CANON_EOS_EVFMode:
+				case PTP_DPC_CANON_EOS_EVFOutputDevice:
+				case PTP_DPC_CANON_EOS_AutoPowerOff:
+				case PTP_DPC_CANON_EOS_EVFRecordStatus:
 					dpd->DataType = PTP_DTC_UINT16;
 					break;
 				case PTP_DPC_CANON_EOS_PictureStyle:
 				case PTP_DPC_CANON_EOS_WhiteBalance:
 				case PTP_DPC_CANON_EOS_MeteringMode:
-				case PTP_DPC_CANON_EOS_ExpCompensation: /* actually int8 if you calculate */
+				case PTP_DPC_CANON_EOS_ExpCompensation:
 					dpd->DataType = PTP_DTC_UINT8;
 					break;
 				case PTP_DPC_CANON_EOS_Owner:
@@ -1507,14 +2185,11 @@
 					dpd->DataType = PTP_DTC_INT16;
 					break;
 				/* unknown props, listed from dump.... all 16 bit, but vals might be smaller */
-				case PTP_DPC_CANON_EOS_BatterySelect:
-				case 0xd114:
 				case PTP_DPC_CANON_EOS_DPOFVersion:
-				case PTP_DPC_CANON_EOS_BracketMode:
 					dpd->DataType = PTP_DTC_UINT16;
 					ptp_debug (params, "event %d: Unknown EOS property %04x, datasize is %d, using uint16", i ,proptype, size-PTP_ece_Prop_Val_Data);
 					for (j=0;j<size-PTP_ece_Prop_Val_Data;j++)
-						ptp_debug (params, "    %d: %02x", j, data[j]);
+						ptp_debug (params, "    %d: %02x", j, xdata[j]);
 					break;
 				case PTP_DPC_CANON_EOS_CustomFunc1:
 				case PTP_DPC_CANON_EOS_CustomFunc2:
@@ -1530,9 +2205,9 @@
 					dpd->DataType = PTP_DTC_UINT8;
 					ptp_debug (params, "event %d: Unknown EOS property %04x, datasize is %d, using uint8", i ,proptype, size-PTP_ece_Prop_Val_Data);
 					for (j=0;j<size-PTP_ece_Prop_Val_Data;j++)
-						ptp_debug (params, "    %d: %02x", j, data[j]);
+						ptp_debug (params, "    %d: %02x", j, xdata[j]);
 					/* custom func entries look like this on the 400D: '5 0 0 0 ?' = 4 bytes size + 1 byte data */
-					data += 4;
+					xdata += 4;
 					break;
 				/* yet unknown 32bit props */
 				case PTP_DPC_CANON_EOS_ColorTemperature:
@@ -1541,60 +2216,76 @@
 				case PTP_DPC_CANON_EOS_CardExtension:
 				case PTP_DPC_CANON_EOS_TempStatus:
 				case PTP_DPC_CANON_EOS_PhotoStudioMode:
-				case PTP_DPC_CANON_EOS_EVFMode:
 				case PTP_DPC_CANON_EOS_DepthOfFieldPreview:
 				case PTP_DPC_CANON_EOS_EVFSharpness:
 				case PTP_DPC_CANON_EOS_EVFWBMode:
 				case PTP_DPC_CANON_EOS_EVFClickWBCoeffs:
 				case PTP_DPC_CANON_EOS_EVFColorTemp:
-				case PTP_DPC_CANON_EOS_EVFRecordStatus:
 				case PTP_DPC_CANON_EOS_ExposureSimMode:
 				case PTP_DPC_CANON_EOS_LvAfSystem:
 				case PTP_DPC_CANON_EOS_MovSize:
 				case PTP_DPC_CANON_EOS_DepthOfField:
 				case PTP_DPC_CANON_EOS_LvViewTypeSelect:
+				case PTP_DPC_CANON_EOS_AloMode:
+				case PTP_DPC_CANON_EOS_Brightness:
+					dpd->DataType = PTP_DTC_UINT32;
+					ptp_debug (params, "event %d: Unknown EOS property %04x, datasize is %d, using uint32", i ,proptype, size-PTP_ece_Prop_Val_Data);
+					if ((size-PTP_ece_Prop_Val_Data) % sizeof(uint32_t) != 0)
+						ptp_debug (params, "event %d: Warning: datasize modulo sizeof(uint32) is not 0: ", i, (size-PTP_ece_Prop_Val_Data) % sizeof(uint32_t) );
+					for (j=0;j<(size-PTP_ece_Prop_Val_Data)/sizeof(uint32_t);j++)
+						ptp_debug (params, "    %d: 0x%8x", j, dtoh32a(xdata+j*4));
+					break;
+				/* ImageFormat properties have to be ignored here, see special handling below */
 				case PTP_DPC_CANON_EOS_ImageFormat:
 				case PTP_DPC_CANON_EOS_ImageFormatCF:
 				case PTP_DPC_CANON_EOS_ImageFormatSD:
 				case PTP_DPC_CANON_EOS_ImageFormatExtHD:
 				case PTP_DPC_CANON_EOS_CustomFuncEx:
-//					dpd->DataType = PTP_DTC_UINT32;
-					ptp_debug (params, "event %d: Unknown EOS property %04x, datasize is %d, using uint32", i ,proptype, size-PTP_ece_Prop_Val_Data);
-					if ((size-PTP_ece_Prop_Val_Data) % sizeof(uint32_t) != 0)
-						ptp_debug (params, "event %d: Warning: datasize modulo sizeof(uint32) is not 0: ", i, (size-PTP_ece_Prop_Val_Data) % sizeof(uint32_t) );
-					for (j=0;j<(size-PTP_ece_Prop_Val_Data)/sizeof(uint32_t);j++)
-						ptp_debug (params, "    %d: 0x%8x", j, ((uint32_t*)data)[j]);
+				case PTP_DPC_CANON_EOS_FocusInfoEx:
 					break;
 				default:
 					ptp_debug (params, "event %d: Unknown EOS property %04x, datasize is %d", i ,proptype, size-PTP_ece_Prop_Val_Data);
 					for (j=0;j<size-PTP_ece_Prop_Val_Data;j++)
-						ptp_debug (params, "    %d: %02x", j, data[j]);
+						ptp_debug (params, "    %d: %02x", j, xdata[j]);
 					break;
 				}
 				switch (dpd->DataType) {
 				case PTP_DTC_UINT32:
-					dpd->FactoryDefaultValue.u32	= dtoh32a(data);
-					dpd->CurrentValue.u32		= dtoh32a(data);
+					dpd->FactoryDefaultValue.u32	= dtoh32a(xdata);
+					dpd->CurrentValue.u32		= dtoh32a(xdata);
 					ptp_debug (params ,"event %d: currentvalue of %x is %x", i, proptype, dpd->CurrentValue.u32);
 					break;
+				case PTP_DTC_INT16:
+					dpd->FactoryDefaultValue.i16	= dtoh16a(xdata);
+					dpd->CurrentValue.i16		= dtoh16a(xdata);
+					ptp_debug (params,"event %d: currentvalue of %x is %d", i, proptype, dpd->CurrentValue.i16);
+					break;
 				case PTP_DTC_UINT16:
-					dpd->FactoryDefaultValue.u16	= dtoh16a(data);
-					dpd->CurrentValue.u16		= dtoh16a(data);
+					dpd->FactoryDefaultValue.u16	= dtoh16a(xdata);
+					dpd->CurrentValue.u16		= dtoh16a(xdata);
 					ptp_debug (params,"event %d: currentvalue of %x is %x", i, proptype, dpd->CurrentValue.u16);
 					break;
 				case PTP_DTC_UINT8:
-					dpd->FactoryDefaultValue.u8	= dtoh8a(data);
-					dpd->CurrentValue.u8		= dtoh8a(data);
+					dpd->FactoryDefaultValue.u8	= dtoh8a(xdata);
+					dpd->CurrentValue.u8		= dtoh8a(xdata);
 					ptp_debug (params,"event %d: currentvalue of %x is %x", i, proptype, dpd->CurrentValue.u8);
 					break;
+				case PTP_DTC_INT8:
+					dpd->FactoryDefaultValue.i8	= dtoh8a(xdata);
+					dpd->CurrentValue.i8		= dtoh8a(xdata);
+					ptp_debug (params,"event %d: currentvalue of %x is %x", i, proptype, dpd->CurrentValue.i8);
+					break;
 				case PTP_DTC_STR: {
 #if 0 /* 5D MII and 400D aktually store plain ASCII in their string properties */
 					uint8_t len = 0;
 					dpd->FactoryDefaultValue.str	= ptp_unpack_string(params, data, 0, &len);
 					dpd->CurrentValue.str		= ptp_unpack_string(params, data, 0, &len);
 #else
-					dpd->FactoryDefaultValue.str	= strdup( (char*)data );
-					dpd->CurrentValue.str		= strdup( (char*)data );
+					free (dpd->FactoryDefaultValue.str);
+					dpd->FactoryDefaultValue.str	= strdup( (char*)xdata );
+
+					free (dpd->CurrentValue.str);
+					dpd->CurrentValue.str		= strdup( (char*)xdata );
 #endif
 					ptp_debug (params,"event %d: currentvalue of %x is %s", i, proptype, dpd->CurrentValue.str);
 					break;
@@ -1604,37 +2295,282 @@
 					break;
 				}
 
-				/* ImageFormat special handling */
+				/* ImageFormat and customFuncEx special handling (WARNING: dont move this in front of the dpd->DataType switch!) */
 				switch (proptype) {
 				case PTP_DPC_CANON_EOS_ImageFormat:
 				case PTP_DPC_CANON_EOS_ImageFormatCF:
 				case PTP_DPC_CANON_EOS_ImageFormatSD:
 				case PTP_DPC_CANON_EOS_ImageFormatExtHD:
 					dpd->DataType = PTP_DTC_UINT16;
-					dpd->FactoryDefaultValue.u16	= ptp_unpack_EOS_ImageFormat( params, &data );
+					dpd->FactoryDefaultValue.u16	= ptp_unpack_EOS_ImageFormat( params, &xdata );
 					dpd->CurrentValue.u16		= dpd->FactoryDefaultValue.u16;
-					ptp_debug (params,"event %d: currentvalue of %x is %x", i, proptype, dpd->CurrentValue.u8);
+					ptp_debug (params,"event %d: decoded imageformat, currentvalue of %x is %x", i, proptype, dpd->CurrentValue.u16);
+					break;
+				case PTP_DPC_CANON_EOS_CustomFuncEx:
+					dpd->DataType = PTP_DTC_STR;
+					free (dpd->FactoryDefaultValue.str);
+					free (dpd->CurrentValue.str);
+					dpd->FactoryDefaultValue.str	= ptp_unpack_EOS_CustomFuncEx( params, &xdata );
+					dpd->CurrentValue.str		= strdup( (char*)dpd->FactoryDefaultValue.str );
+					ptp_debug (params,"event %d: decoded custom function, currentvalue of %x is %s", i, proptype, dpd->CurrentValue.str);
+					break;
+				case PTP_DPC_CANON_EOS_FocusInfoEx:
+					dpd->DataType = PTP_DTC_STR;
+					free (dpd->FactoryDefaultValue.str);
+					free (dpd->CurrentValue.str);
+					dpd->FactoryDefaultValue.str	= ptp_unpack_EOS_FocusInfoEx( params, &xdata, size );
+					dpd->CurrentValue.str		= strdup( (char*)dpd->FactoryDefaultValue.str );
+					ptp_debug (params,"event %d: decoded focus info, currentvalue of %x is %s", i, proptype, dpd->CurrentValue.str);
 					break;
 				}
 
 				break;
 		}
+		/* one more information record handed to us */
+		case PTP_EC_CANON_EOS_OLCInfoChanged: {
+			uint32_t		len, curoff;
+			uint16_t		mask,proptype;
+			PTPDevicePropDesc	*dpd;
+
+			/* unclear what OLC stands for */
+			ptp_debug (params, "event %d: EOS event OLCInfoChanged (size %d)", i, size);
+			if (size >= 0x8) {	/* event info */
+				unsigned int k;
+				for (k=8;k<size;k++)
+					ptp_debug (params, "    %d: %02x", k-8, curdata[k]);
+			}
+			len = dtoh32a(curdata+8);
+			if ((len != size-8) && (len != size-4)) {
+				ce[i].type = PTP_CANON_EOS_CHANGES_TYPE_UNKNOWN;
+				ce[i].u.info = strdup("OLC size unexpected");
+				ptp_debug (params, "event %d: OLC unexpected size %d for blob len %d (not -4 nor -8)", i, size, len);
+				break;
+			}
+			mask = dtoh16a(curdata+8+4);
+			if (size < 14) {
+				ce[i].type = PTP_CANON_EOS_CHANGES_TYPE_UNKNOWN;
+				ce[i].u.info = strdup("OLC size too small");
+				ptp_debug (params, "event %d: OLC unexpected size %d", i, size);
+				break;
+			}
+			curoff = 8+4+4;
+			if (mask & CANON_EOS_OLC_BUTTON) {
+				ce[i].type = PTP_CANON_EOS_CHANGES_TYPE_UNKNOWN;
+				ce[i].u.info = malloc(strlen("Button 1234567"));
+				sprintf(ce[i].u.info, "Button %d",  dtoh16a(curdata+curoff));
+				i++;
+				curoff += 2;
+			}
+			
+			if (mask & CANON_EOS_OLC_SHUTTERSPEED) {
+				/* 6 bytes: 01 01 98 10 00 60 */
+				/* this seesm to be the shutter speed record */
+				proptype = PTP_DPC_CANON_EOS_ShutterSpeed;
+				dpd = _lookup_or_allocate_canon_prop(params, proptype);
+				dpd->CurrentValue.u16 = curdata[curoff+5]; /* just use last byte */
+
+				ce[i].type = PTP_CANON_EOS_CHANGES_TYPE_PROPERTY;
+				ce[i].u.propid = proptype;
+				curoff += 6;
+				i++;
+			}
+			if (mask & CANON_EOS_OLC_APERTURE) {
+				/* 5 bytes: 01 01 5b 30 30 */
+				/* this seesm to be the aperture record */
+				proptype = PTP_DPC_CANON_EOS_Aperture;
+				dpd = _lookup_or_allocate_canon_prop(params, proptype);
+				dpd->CurrentValue.u16 = curdata[curoff+4]; /* just use last byte */
+
+				ce[i].type = PTP_CANON_EOS_CHANGES_TYPE_PROPERTY;
+				ce[i].u.propid = proptype;
+				curoff += 5;
+				i++;
+			}
+			if (mask & CANON_EOS_OLC_ISO) {
+				/* 5 bytes: 01 01 00 78 */
+				/* this seesm to be the aperture record */
+				proptype = PTP_DPC_CANON_EOS_ISOSpeed;
+				dpd = _lookup_or_allocate_canon_prop(params, proptype);
+				dpd->CurrentValue.u16 = curdata[curoff+3]; /* just use last byte */
+
+				ce[i].type = PTP_CANON_EOS_CHANGES_TYPE_PROPERTY;
+				ce[i].u.propid = proptype;
+				curoff += 4;
+				i++;
+			}
+			if (mask & 0x0010) {
+				/* mask 0x0010: 4 bytes, 04 00 00 00 observed */
+				ce[i].type = PTP_CANON_EOS_CHANGES_TYPE_UNKNOWN;
+				ce[i].u.info = malloc(strlen("OLCInfo event 0x0010 content 01234567")+1); 
+				sprintf(ce[i].u.info,"OLCInfo event 0x0010 content %02x%02x%02x%02x",
+					curdata[curoff],
+					curdata[curoff+1],
+					curdata[curoff+2],
+					curdata[curoff+3]
+				);
+				curoff += 4;
+				i++;
+			}
+			if (mask & 0x0020) {
+				/* mask 0x0020: 6 bytes, 00 00 00 00 00 00 observed */
+				ce[i].type = PTP_CANON_EOS_CHANGES_TYPE_UNKNOWN;
+				ce[i].u.info = malloc(strlen("OLCInfo event 0x0020 content 0123456789ab")+1); 
+				sprintf(ce[i].u.info,"OLCInfo event 0x0020 content %02x%02x%02x%02x%02x%02x",
+					curdata[curoff],
+					curdata[curoff+1],
+					curdata[curoff+2],
+					curdata[curoff+3],
+					curdata[curoff+4],
+					curdata[curoff+5]
+				);
+				curoff += 6;
+				i++;
+			}
+			if (mask & 0x0040) {
+				int	value = (signed char)curdata[curoff+2];
+				/* mask 0x0040: 7 bytes, 01 01 00 00 00 00 00 observed */
+				/* exposure indicator */
+				ce[i].type = PTP_CANON_EOS_CHANGES_TYPE_UNKNOWN;
+				ce[i].u.info = malloc(strlen("OLCInfo exposure indicator 012345678901234567890123456789abcd")+1); 
+				sprintf(ce[i].u.info,"OLCInfo exposure indicator %d,%d,%d.%d (%02x%02x%02x%02x)",
+					curdata[curoff],
+					curdata[curoff+1],
+					value/10,abs(value)%10,
+					curdata[curoff+3],
+					curdata[curoff+4],
+					curdata[curoff+5],
+					curdata[curoff+6]
+				);
+				curoff += 7;
+				i++;
+			}
+			if (mask & 0x0080) {
+				/* mask 0x0080: 4 bytes, 00 00 00 00 observed */
+				ce[i].type = PTP_CANON_EOS_CHANGES_TYPE_UNKNOWN;
+				ce[i].u.info = malloc(strlen("OLCInfo event 0x0080 content 01234567")+1); 
+				sprintf(ce[i].u.info,"OLCInfo event 0x0080 content %02x%02x%02x%02x",
+					curdata[curoff],
+					curdata[curoff+1],
+					curdata[curoff+2],
+					curdata[curoff+3]
+				);
+				curoff += 4;
+				i++;
+			}
+			if (mask & 0x0100) {
+				/* mask 0x0100: 6 bytes, 00 00 00 00 00 00 (before focus) and 00 00 00 00 01 00 (on focus) observed */
+				ce[i].type = PTP_CANON_EOS_CHANGES_TYPE_FOCUSINFO;
+				ce[i].u.info = malloc(strlen("0123456789ab")+1); 
+				sprintf(ce[i].u.info,"%02x%02x%02x%02x%02x%02x",
+					curdata[curoff],
+					curdata[curoff+1],
+					curdata[curoff+2],
+					curdata[curoff+3],
+					curdata[curoff+4],
+					curdata[curoff+5]
+				);
+				curoff += 6;
+				i++;
+			}
+			if (mask & 0x0200) {
+				/* mask 0x0200: 7 bytes, 00 00 00 00 00 00 00 observed */
+				ce[i].type = PTP_CANON_EOS_CHANGES_TYPE_FOCUSMASK;
+				ce[i].u.info = malloc(strlen("0123456789abcd0123456789abcdef")+1); 
+				sprintf(ce[i].u.info,"%02x%02x%02x%02x%02x%02x%02x",
+					curdata[curoff],
+					curdata[curoff+1],
+					curdata[curoff+2],
+					curdata[curoff+3],
+					curdata[curoff+4],
+					curdata[curoff+5],
+					curdata[curoff+6]
+				);
+				curoff += 7;
+				i++;
+			}
+			if (mask & 0x0400) {
+				/* mask 0x0400: 7 bytes, 00 00 00 00 00 00 00 observed */
+				ce[i].type = PTP_CANON_EOS_CHANGES_TYPE_UNKNOWN;
+				ce[i].u.info = malloc(strlen("OLCInfo event 0x0400 content 0123456789abcd")+1); 
+				sprintf(ce[i].u.info,"OLCInfo event 0x0400 content %02x%02x%02x%02x%02x%02x%02x",
+					curdata[curoff],
+					curdata[curoff+1],
+					curdata[curoff+2],
+					curdata[curoff+3],
+					curdata[curoff+4],
+					curdata[curoff+5],
+					curdata[curoff+6]
+				);
+				curoff += 7;
+				i++;
+			}
+			if (mask & 0x0800) {
+				/* mask 0x0800: 8 bytes, 00 00 00 00 00 00 00 00 and 19 01 00 00 00 00 00 00 and others observed */
+				/*   might be mask of focus points selected */
+				ce[i].type = PTP_CANON_EOS_CHANGES_TYPE_UNKNOWN;
+				ce[i].u.info = malloc(strlen("OLCInfo event 0x0800 content 0123456789abcdef")+1); 
+				sprintf(ce[i].u.info,"OLCInfo event 0x0800 content %02x%02x%02x%02x%02x%02x%02x%02x",
+					curdata[curoff],
+					curdata[curoff+1],
+					curdata[curoff+2],
+					curdata[curoff+3],
+					curdata[curoff+4],
+					curdata[curoff+5],
+					curdata[curoff+6],
+					curdata[curoff+7]
+				);
+				curoff += 8;
+				i++;
+			}
+			if (mask & 0x1000) {
+				/* mask 0x1000: 1 byte, 00 observed */
+				ce[i].type = PTP_CANON_EOS_CHANGES_TYPE_UNKNOWN;
+				ce[i].u.info = malloc(strlen("OLCInfo event 0x1000 content 01")+1); 
+				sprintf(ce[i].u.info,"OLCInfo event 0x1000 content %02x",
+					curdata[curoff]
+				);
+				curoff += 1;
+				i++;
+			}
+			/* handle more masks */
+			ce[i].type = PTP_CANON_EOS_CHANGES_TYPE_UNKNOWN;
+			ce[i].u.info = malloc(strlen("OLCInfo event mask 0123456789")+1);
+			sprintf(ce[i].u.info, "OLCInfo event mask=%x",  mask);
+			break;
+		}
+		case PTP_EC_CANON_EOS_CameraStatusChanged:
+			ce[i].type = PTP_CANON_EOS_CHANGES_TYPE_CAMERASTATUS;
+			ce[i].u.status =  dtoh32a(curdata+8);
+			ptp_debug (params, "event %d: EOS event CameraStatusChanged (size %d) = %d", i, size, dtoh32a(curdata+8));
+			params->eos_camerastatus = dtoh32a(curdata+8);
+			break;
 		case 0: /* end marker */
 			if (size == 8) /* no output */
 				break;
 			ptp_debug (params, "event %d: EOS event 0, but size %d", i, size);
 			break;
+		case PTP_EC_CANON_EOS_BulbExposureTime:
+			ce[i].type = PTP_CANON_EOS_CHANGES_TYPE_UNKNOWN;
+			ce[i].u.info = malloc(strlen("BulbExposureTime 123456789012345678"));
+			sprintf (ce[i].u.info, "BulbExposureTime %d",  dtoh32a(curdata+8));
+			break;
+		case PTP_EC_CANON_EOS_ObjectRemoved:
+			ce[i].type = PTP_CANON_EOS_CHANGES_TYPE_OBJECTREMOVED;
+			ce[i].u.object.oid = dtoh32a(curdata+8);
+			break;
 		default:
 			switch (type) {
-#define XX(x)		case PTP_EC_CANON_EOS_##x: ptp_debug (params, "event %d: unhandled EOS event "#x" (size %d)", i, size);break;
+#define XX(x)		case PTP_EC_CANON_EOS_##x: 								\
+				ptp_debug (params, "event %d: unhandled EOS event "#x" (size %d)", i, size); 	\
+				ce[i].u.info = malloc(strlen("unhandled EOS event "#x" (size 123456789)"));	\
+				sprintf (ce[i].u.info, "unhandled EOS event "#x" (size %d)",  size);		\
+				break;
 			XX(RequestGetEvent)
-			XX(ObjectRemoved)
 			XX(RequestGetObjectInfoEx)
 			XX(StorageStatusChanged)
 			XX(StorageInfoChanged)
 			XX(ObjectInfoChangedEx)
 			XX(ObjectContentChanged)
-			XX(CameraStatusChanged)
 			XX(WillSoonShutdown)
 			XX(ShutdownTimerUpdated)
 			XX(RequestCancelTransfer)
@@ -1652,20 +2588,26 @@
 				break;
 			}
 			if (size >= 0x8) {	/* event info */
-				int j;
+				unsigned int j;
+				/*ptp_debug (params, "data=%p, curdata=%p, datsize=%d, size=%d", data, curdata, datasize, size);*/
 				for (j=8;j<size;j++)
 					ptp_debug (params, "    %d: %02x", j, curdata[j]);
 			}
-			(*ce)[i].type = PTP_CANON_EOS_CHANGES_TYPE_UNKNOWN;
+			ce[i].type = PTP_CANON_EOS_CHANGES_TYPE_UNKNOWN;
 			break;
 		}
 		curdata += size;
 		i++;
-		if ((size == 8) && (type == 0))
-			break;
+		if (i >= entries) {
+			ptp_debug (params, "BAD: i %d, entries %d", i, entries);
+		}
 	}
-
-	return entries;
+	if (!i) {
+		free (ce);
+		ce = NULL;
+	}
+	*pce = ce;
+	return i;
 }
 
 /*
@@ -1676,9 +2618,9 @@
 #define PTP_nikon_ec_Param1		4
 #define PTP_nikon_ec_Size		6
 static inline void
-ptp_unpack_Nikon_EC (PTPParams *params, unsigned char* data, unsigned int len, PTPContainer **ec, int *cnt)
+ptp_unpack_Nikon_EC (PTPParams *params, unsigned char* data, unsigned int len, PTPContainer **ec, unsigned int *cnt)
 {
-	int i;
+	unsigned int i;
 
 	*ec = NULL;
 	if (data == NULL)
@@ -1686,8 +2628,13 @@
 	if (len < PTP_nikon_ec_Code)
 		return;
 	*cnt = dtoh16a(&data[PTP_nikon_ec_Length]);
-	if (*cnt > (len-PTP_nikon_ec_Code)/PTP_nikon_ec_Size) /* broken cnt? */
+	if (*cnt > (len-PTP_nikon_ec_Code)/PTP_nikon_ec_Size) { /* broken cnt? */
+		*cnt = 0;
 		return;
+	}
+	if (!*cnt)
+		return;
+
 	*ec = malloc(sizeof(PTPContainer)*(*cnt));
 	
 	for (i=0;i<*cnt;i++) {
@@ -1779,11 +2726,11 @@
 	for (i=0;i<cnt;i++)
 		if (ISOBJECT(dir+i*0x4c)) nrofobs++;
 	handles->n = nrofobs;
-	handles->Handler = calloc(sizeof(handles->Handler[0]),nrofobs);
+	handles->Handler = calloc(nrofobs,sizeof(handles->Handler[0]));
 	if (!handles->Handler) return PTP_RC_GeneralError;
-	*oinfos = calloc(sizeof((*oinfos)[0]),nrofobs);
+	*oinfos = calloc(nrofobs,sizeof((*oinfos)[0]));
 	if (!*oinfos) return PTP_RC_GeneralError;
-	*flags  = calloc(sizeof((*flags)[0]),nrofobs);
+	*flags  = calloc(nrofobs,sizeof((*flags)[0]));
 	if (!*flags) return PTP_RC_GeneralError;
 
 	/* Migrate data into objects ids, handles into
@@ -1824,7 +2771,7 @@
 	}
 	/* Walk over all objects and distribute the storage ids */
 	while (1) {
-		int changed = 0;
+		unsigned int changed = 0;
 		for (i=0;i<cnt;i++) {
 			unsigned char	*cur = dir+i*0x4c;
 			uint32_t	oid = dtoh32a(cur + ptp_canon_dir_objectid);
diff --git a/src/ptp.c b/src/ptp.c
index a8c265b..536160d 100644
--- a/src/ptp.c
+++ b/src/ptp.c
@@ -1,9 +1,10 @@
 /* ptp.c
  *
  * Copyright (C) 2001-2004 Mariusz Woloszyn <emsi@ipartners.pl>
- * Copyright (C) 2003-2009 Marcus Meissner <marcus@jet.franken.de>
+ * Copyright (C) 2003-2017 Marcus Meissner <marcus@jet.franken.de>
  * Copyright (C) 2006-2008 Linus Walleij <triad@df.lth.se>
  * Copyright (C) 2007 Tero Saarni <tero.saarni@gmail.com>
+ * Copyright (C) 2009 Axel Waggershauser <awagger@web.de>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -17,19 +18,25 @@
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  */
 
-#define _BSD_SOURCE
+#define _DEFAULT_SOURCE
 #include "config.h"
 #include "ptp.h"
 
+#ifdef HAVE_LIBXML2
+# include <libxml/parser.h>
+#endif
+
 #include <stdlib.h>
 #include <stdarg.h>
 #include <stdio.h>
 #include <string.h>
-#include <unistd.h>
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif
 
 #ifdef ENABLE_NLS
 #  include <libintl.h>
@@ -50,16 +57,36 @@
 #  define N_(String) (String)
 #endif
 
-#define CHECK_PTP_RC(result)	{uint16_t r=(result); if (r!=PTP_RC_OK) return r;}
+#define CHECK_PTP_RC(RESULT) do { uint16_t r = (RESULT); if (r != PTP_RC_OK) return r; } while(0)
 
-#define PTP_CNT_INIT(cnt) {memset(&cnt,0,sizeof(cnt));}
+static inline void
+ptp_init_container(PTPContainer* ptp, uint16_t code, int n_param, ...)
+{
+	va_list	args;
+	int	i;
+
+	memset(ptp, 0, sizeof(*ptp));
+	ptp->Code = code;
+	ptp->Nparam = n_param;
+
+	va_start(args, n_param);
+	for (i=0; i<n_param; ++i)
+		(&ptp->Param1)[i] = va_arg(args, uint32_t);
+	va_end(args);
+}
+
+#define NARGS_SEQ(_1,_2,_3,_4,_5,_6,_7,_8,N,...) N
+#define NARGS(...) NARGS_SEQ(-1, ##__VA_ARGS__, 7, 6, 5, 4, 3, 2, 1, 0)
+
+#define PTP_CNT_INIT(PTP, CODE, ...) \
+	ptp_init_container(&PTP, CODE, NARGS(__VA_ARGS__), ##__VA_ARGS__)
 
 static uint16_t ptp_exit_recv_memory_handler (PTPDataHandler*,unsigned char**,unsigned long*);
 static uint16_t ptp_init_recv_memory_handler(PTPDataHandler*);
 static uint16_t ptp_init_send_memory_handler(PTPDataHandler*,unsigned char*,unsigned long len);
 static uint16_t ptp_exit_send_memory_handler (PTPDataHandler *handler);
 
-static void
+void
 ptp_debug (PTPParams *params, const char *format, ...)
 {  
         va_list args;
@@ -76,7 +103,7 @@
         va_end (args);
 }  
 
-static void
+void
 ptp_error (PTPParams *params, const char *format, ...)
 {  
         va_list args;
@@ -99,12 +126,6 @@
 
 /* major PTP functions */
 
-/* Transaction data phase description */
-#define PTP_DP_NODATA		0x0000	/* no data phase */
-#define PTP_DP_SENDDATA		0x0001	/* sending data */
-#define PTP_DP_GETDATA		0x0002	/* receiving data */
-#define PTP_DP_DATA_MASK	0x00ff	/* data phase mask */
-
 /**
  * ptp_transaction:
  * params:	PTPParams*
@@ -133,49 +154,38 @@
  * Upon success PTPContainer* ptp contains PTP Response Phase container with
  * all fields filled in.
  **/
-static uint16_t
+uint16_t
 ptp_transaction_new (PTPParams* params, PTPContainer* ptp, 
-		uint16_t flags, unsigned int sendlen,
-		PTPDataHandler *handler
+		     uint16_t flags, uint64_t sendlen,
+		     PTPDataHandler *handler
 ) {
-	int tries;
+	int 		tries;
+	uint16_t	cmd;
 
 	if ((params==NULL) || (ptp==NULL)) 
 		return PTP_ERROR_BADPARAM;
 
+	cmd = ptp->Code;
 	ptp->Transaction_ID=params->transaction_id++;
 	ptp->SessionID=params->session_id;
 	/* send request */
-	CHECK_PTP_RC(params->sendreq_func (params, ptp));
+	CHECK_PTP_RC(params->sendreq_func (params, ptp, flags));
 	/* is there a dataphase? */
 	switch (flags&PTP_DP_DATA_MASK) {
 	case PTP_DP_SENDDATA:
 		{
-			uint16_t ret;
-			ret = params->senddata_func(params, ptp,
-						    sendlen, handler);
-			if (ret == PTP_ERROR_CANCEL) {
-				ret = params->cancelreq_func(params, 
-							     params->transaction_id-1);
-				if (ret == PTP_RC_OK)
-					ret = PTP_ERROR_CANCEL;
-			}
-			if (ret != PTP_RC_OK)
-				return ret;
+			uint16_t ret = params->senddata_func(params, ptp, sendlen, handler);
+			if (ret == PTP_ERROR_CANCEL)
+				CHECK_PTP_RC(params->cancelreq_func(params, params->transaction_id-1));
+			CHECK_PTP_RC(ret);
 		}
 		break;
 	case PTP_DP_GETDATA:
 		{
-			uint16_t ret;
-			ret = params->getdata_func(params, ptp, handler);
-			if (ret == PTP_ERROR_CANCEL) {
-				ret = params->cancelreq_func(params, 
-							     params->transaction_id-1);
-				if (ret == PTP_RC_OK)
-					ret = PTP_ERROR_CANCEL;
-			}
-			if (ret != PTP_RC_OK)
-				return ret;
+			uint16_t ret = params->getdata_func(params, ptp, handler);
+			if (ret == PTP_ERROR_CANCEL)
+				CHECK_PTP_RC(params->cancelreq_func(params, params->transaction_id-1));
+			CHECK_PTP_RC(ret);
 		}
 		break;
 	case PTP_DP_NODATA:
@@ -184,18 +194,39 @@
 		return PTP_ERROR_BADPARAM;
 	}
 	tries = 3;
-	while (1) {
+	while (tries--) {
+		uint16_t ret;
 		/* get response */
-		CHECK_PTP_RC(params->getresp_func(params, ptp));
+		ret = params->getresp_func(params, ptp);
+		if (ret == PTP_ERROR_RESP_EXPECTED) {
+			ptp_debug (params,"PTP: response expected but not got, retrying.");
+			tries++;
+			continue;
+		}
+		CHECK_PTP_RC(ret);
+
+		if (ptp->Transaction_ID < params->transaction_id-1) {
+			/* The Leica uses Transaction ID 0 on result from CloseSession. */
+			if (cmd == PTP_OC_CloseSession)
+				break;
+			tries++;
+			ptp_debug (params,
+				"PTP: Sequence number mismatch %d vs expected %d, suspecting old reply.",
+				ptp->Transaction_ID, params->transaction_id-1
+			);
+			continue;
+		}
 		if (ptp->Transaction_ID != params->transaction_id-1) {
 			/* try to clean up potential left overs from previous session */
-			if ((ptp->Code == PTP_OC_OpenSession) && tries--)
+			if ((cmd == PTP_OC_OpenSession) && tries)
 				continue;
 			ptp_error (params,
 				"PTP: Sequence number mismatch %d vs expected %d.",
 				ptp->Transaction_ID, params->transaction_id-1
 			);
+#ifndef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION
 			return PTP_ERROR_BADPARAM;
+#endif
 		}
 		break;
 	}
@@ -226,26 +257,29 @@
 
 static uint16_t
 memory_putfunc(PTPParams* params, void* private,
-	       unsigned long sendlen, unsigned char *data,
-	       unsigned long *putlen
+	       unsigned long sendlen, unsigned char *data
 ) {
 	PTPMemHandlerPrivate* priv = (PTPMemHandlerPrivate*)private;
 
 	if (priv->curoff + sendlen > priv->size) {
 		priv->data = realloc (priv->data, priv->curoff+sendlen);
+		if (!priv->data)
+			return PTP_RC_GeneralError;
 		priv->size = priv->curoff + sendlen;
 	}
 	memcpy (priv->data + priv->curoff, data, sendlen);
 	priv->curoff += sendlen;
-	*putlen = sendlen;
 	return PTP_RC_OK;
 }
 
 /* init private struct for receiving data. */
 static uint16_t
-ptp_init_recv_memory_handler(PTPDataHandler *handler) {
+ptp_init_recv_memory_handler(PTPDataHandler *handler)
+{
 	PTPMemHandlerPrivate* priv;
 	priv = malloc (sizeof(PTPMemHandlerPrivate));
+	if (!priv)
+		return PTP_RC_GeneralError;
 	handler->priv = priv;
 	handler->getfunc = memory_getfunc;
 	handler->putfunc = memory_putfunc;
@@ -277,7 +311,8 @@
 
 /* free private struct + data */
 static uint16_t
-ptp_exit_send_memory_handler (PTPDataHandler *handler) {
+ptp_exit_send_memory_handler (PTPDataHandler *handler)
+{
 	PTPMemHandlerPrivate* priv = (PTPMemHandlerPrivate*)handler->priv;
 	/* data is owned by caller */
 	free (priv);
@@ -319,24 +354,24 @@
 
 static uint16_t
 fd_putfunc(PTPParams* params, void* private,
-	       unsigned long sendlen, unsigned char *data,
-	       unsigned long *putlen
+	       unsigned long sendlen, unsigned char *data
 ) {
-	int		written;
+	ssize_t		written;
 	PTPFDHandlerPrivate* priv = (PTPFDHandlerPrivate*)private;
 
 	written = write (priv->fd, data, sendlen);
-	if (written != -1)
-		*putlen = written;
-	else
-		return PTP_RC_GeneralError;
+	if (written != sendlen)
+		return PTP_ERROR_IO;
 	return PTP_RC_OK;
 }
 
 static uint16_t
-ptp_init_fd_handler(PTPDataHandler *handler, int fd) {
+ptp_init_fd_handler(PTPDataHandler *handler, int fd)
+{
 	PTPFDHandlerPrivate* priv;
 	priv = malloc (sizeof(PTPFDHandlerPrivate));
+	if (!priv)
+		return PTP_RC_GeneralError;
 	handler->priv = priv;
 	handler->getfunc = fd_getfunc;
 	handler->putfunc = fd_putfunc;
@@ -345,16 +380,25 @@
 }
 
 static uint16_t
-ptp_exit_fd_handler (PTPDataHandler *handler) {
+ptp_exit_fd_handler (PTPDataHandler *handler)
+{
 	PTPFDHandlerPrivate* priv = (PTPFDHandlerPrivate*)handler->priv;
 	free (priv);
 	return PTP_RC_OK;
 }
 
 /* Old style transaction, based on memory */
-static uint16_t
+/* A note on memory management:
+ * If called with the flag PTP_DP_GETDATA, this function will internally
+ * allocate memory as much as necessary. The caller has to free the memory
+ * returned in *data. If the function returns an error, it will free any
+ * memory it might have allocated. The recvlen may be NULL. After the
+ * function returns, *data will be initialized (valid memory pointer or NULL),
+ * i.e. it is not necessary to initialize *data or *recvlen beforehand.
+ */
+uint16_t
 ptp_transaction (PTPParams* params, PTPContainer* ptp, 
-		uint16_t flags, unsigned int sendlen,
+		uint16_t flags, uint64_t sendlen,
 		unsigned char **data, unsigned int *recvlen
 ) {
 	PTPDataHandler	handler;
@@ -362,10 +406,17 @@
 
 	switch (flags & PTP_DP_DATA_MASK) {
 	case PTP_DP_SENDDATA:
-		ptp_init_send_memory_handler (&handler, *data, sendlen);
+		if (!data)
+			return PTP_ERROR_BADPARAM;
+		CHECK_PTP_RC(ptp_init_send_memory_handler (&handler, *data, sendlen));
 		break;
 	case PTP_DP_GETDATA:
-		ptp_init_recv_memory_handler (&handler);
+		if (!data)
+			return PTP_ERROR_BADPARAM;
+		*data = NULL;
+		if (recvlen)
+			*recvlen = 0;
+		CHECK_PTP_RC(ptp_init_recv_memory_handler (&handler));
 		break;
 	default:break;
 	}
@@ -377,6 +428,11 @@
 	case PTP_DP_GETDATA: {
 		unsigned long len;
 		ptp_exit_recv_memory_handler (&handler, data, &len);
+		if (ret != PTP_RC_OK) {
+			len = 0;
+			free(*data);
+			*data = NULL;
+		}
 		if (recvlen)
 			*recvlen = len;
 		break;
@@ -406,45 +462,499 @@
 uint16_t
 ptp_getdeviceinfo (PTPParams* params, PTPDeviceInfo* deviceinfo)
 {
-	uint16_t 	ret;
-	unsigned long	len;
 	PTPContainer	ptp;
-	unsigned char*	di=NULL;
-	PTPDataHandler	handler;
+	unsigned char	*data;
+	unsigned int	size;
+	int		ret;
 
-	ptp_init_recv_memory_handler (&handler);
-	PTP_CNT_INIT(ptp);
-	ptp.Code=PTP_OC_GetDeviceInfo;
-	ptp.Nparam=0;
-	len=0;
-	ret=ptp_transaction_new(params, &ptp, PTP_DP_GETDATA, 0, &handler);
-	ptp_exit_recv_memory_handler (&handler, &di, &len);
-	if (!di) ret = PTP_RC_GeneralError;
-	if (ret == PTP_RC_OK) ptp_unpack_DI(params, di, deviceinfo, len);
-	free(di);
-	return ret;
+	PTP_CNT_INIT(ptp, PTP_OC_GetDeviceInfo);
+	CHECK_PTP_RC(ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &data, &size));
+	ret = ptp_unpack_DI(params, data, deviceinfo, size);
+	free(data);
+	if (ret)
+		return PTP_RC_OK;
+	else
+		return PTP_ERROR_IO;
 }
 
 uint16_t
 ptp_canon_eos_getdeviceinfo (PTPParams* params, PTPCanonEOSDeviceInfo*di)
 {
-	uint16_t 	ret;
 	PTPContainer	ptp;
-	PTPDataHandler	handler;
-	unsigned long	len;
 	unsigned char	*data;
+	unsigned int	size;
+	int		ret;
 
-	ptp_init_recv_memory_handler (&handler);
-	PTP_CNT_INIT(ptp);
-	ptp.Code=PTP_OC_CANON_EOS_GetDeviceInfoEx;
-	ptp.Nparam=0;
-	len=0;
-	data=NULL;
-	ret=ptp_transaction_new(params, &ptp, PTP_DP_GETDATA, 0, &handler);
-	ptp_exit_recv_memory_handler (&handler, &data, &len);
-	if (ret == PTP_RC_OK) ptp_unpack_EOS_DI(params, data, di, len);
+	PTP_CNT_INIT(ptp, PTP_OC_CANON_EOS_GetDeviceInfoEx);
+	CHECK_PTP_RC(ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &data, &size));
+	ret = ptp_unpack_EOS_DI(params, data, di, size);
 	free (data);
+	if (ret)
+		return PTP_RC_OK;
+	else
+		return PTP_ERROR_IO;
+}
+
+#ifdef HAVE_LIBXML2
+static int
+traverse_tree (PTPParams *params, int depth, xmlNodePtr node)
+{
+	xmlNodePtr	next;
+	xmlChar		*xchar;
+	int		n;
+	char 		*xx;
+
+
+	if (!node) return 0;
+	xx = malloc (depth * 4 + 1);
+	memset (xx, ' ', depth*4);
+	xx[depth*4] = 0;
+
+	n = xmlChildElementCount (node);
+
+	next = node;
+	do {
+		fprintf(stderr,"%snode %s\n", xx,next->name);
+		fprintf(stderr,"%selements %d\n", xx,n);
+		xchar = xmlNodeGetContent (next);
+		fprintf(stderr,"%scontent %s\n", xx,xchar);
+		traverse_tree (params, depth+1,xmlFirstElementChild (next));
+	} while ((next = xmlNextElementSibling (next)));
+	free (xx);
+	return PTP_RC_OK;
+}
+
+static int
+parse_9301_cmd_tree (PTPParams *params, xmlNodePtr node, PTPDeviceInfo *di)
+{
+	xmlNodePtr	next;
+	int		cnt;
+
+	cnt = 0;
+	next = xmlFirstElementChild (node);
+	while (next) {
+		cnt++;
+		next = xmlNextElementSibling (next);
+	}
+	di->OperationsSupported_len = cnt;
+	di->OperationsSupported = malloc (cnt*sizeof(di->OperationsSupported[0]));
+	cnt = 0;
+	next = xmlFirstElementChild (node);
+	while (next) {
+		unsigned int p;
+
+		sscanf((char*)next->name, "c%04x", &p);
+		ptp_debug( params, "cmd %s / 0x%04x", next->name, p);
+		di->OperationsSupported[cnt++] = p;
+		next = xmlNextElementSibling (next);
+	}
+	return PTP_RC_OK;
+}
+
+static int
+parse_9301_value (PTPParams *params, const char *str, uint16_t type, PTPPropertyValue *propval)
+{
+	switch (type) {
+	case 6: { /*UINT32*/
+		unsigned int x;
+		if (!sscanf(str,"%08x", &x)) {
+			ptp_debug( params, "could not parse uint32 %s", str);
+			return PTP_RC_GeneralError;
+		}
+		ptp_debug( params, "\t%d", x);
+		propval->u32 = x;
+		break;
+	}
+	case 5: { /*INT32*/
+		int x;
+		if (!sscanf(str,"%08x", &x)) {
+			ptp_debug( params, "could not parse int32 %s", str);
+			return PTP_RC_GeneralError;
+		}
+		ptp_debug( params, "\t%d", x);
+		propval->i32 = x;
+		break;
+	}
+	case 4: { /*UINT16*/
+		unsigned int x;
+		if (!sscanf(str,"%04x", &x)) {
+			ptp_debug( params, "could not parse uint16 %s", str);
+			return PTP_RC_GeneralError;
+		}
+		ptp_debug( params, "\t%d", x);
+		propval->u16 = x;
+		break;
+	}
+	case 3: { /*INT16*/
+		int x;
+		if (!sscanf(str,"%04x", &x)) {
+			ptp_debug( params, "could not parse int16 %s", str);
+			return PTP_RC_GeneralError;
+		}
+		ptp_debug( params, "\t%d", x);
+		propval->i16 = x;
+		break;
+	}
+	case 2: { /*UINT8*/
+		unsigned int x;
+		if (!sscanf(str,"%02x", &x)) {
+			ptp_debug( params, "could not parse uint8 %s", str);
+			return PTP_RC_GeneralError;
+		}
+		ptp_debug( params, "\t%d", x);
+		propval->u8 = x;
+		break;
+	}
+	case 1: { /*INT8*/
+		int x;
+		if (!sscanf(str,"%02x", &x)) {
+			ptp_debug( params, "could not parse int8 %s", str);
+			return PTP_RC_GeneralError;
+		} 
+		ptp_debug( params, "\t%d", x);
+		propval->i8 = x;
+		break;
+	}
+	case 65535: { /* string */
+		int len;
+
+		/* ascii ptp string, 1 byte length, little endian 16 bit chars */
+		if (sscanf(str,"%02x", &len)) {
+			int i;
+			char *xstr = malloc(len+1);
+			for (i=0;i<len;i++) {
+				int xc;
+				if (sscanf(str+2+i*4,"%04x", &xc)) {
+					int cx;
+
+					cx = ((xc>>8) & 0xff) | ((xc & 0xff) << 8);
+					xstr[i] = cx;
+				}
+				xstr[len] = 0;
+			}
+			ptp_debug( params, "\t%s", xstr);
+			propval->str = xstr;
+			break;
+		}
+		ptp_debug( params, "string %s not parseable!", str);
+		return PTP_RC_GeneralError;
+	}
+	case 7: /*INT64*/
+	case 8: /*UINT64*/
+	case 9: /*INT128*/
+	case 10: /*UINT128*/
+	default:
+		ptp_debug( params, "unhandled data type %d!", type);
+		return PTP_RC_GeneralError;
+	}
+	return PTP_RC_OK;
+}
+
+static int
+parse_9301_propdesc (PTPParams *params, xmlNodePtr next, PTPDevicePropDesc *dpd)
+{
+	int type = -1;
+
+	if (!next)
+		return PTP_RC_GeneralError;
+
+	ptp_debug (params, "parse_9301_propdesc");
+	dpd->FormFlag	= PTP_DPFF_None;
+	dpd->GetSet	= PTP_DPGS_Get;
+	do {
+		if (!strcmp((char*)next->name,"type")) {	/* propdesc.DataType */
+			if (!sscanf((char*)xmlNodeGetContent (next), "%04x", &type)) {
+				ptp_debug( params, "\ttype %s not parseable?",xmlNodeGetContent (next));
+				return 0;
+			}
+			ptp_debug( params, "type 0x%x", type);
+			dpd->DataType = type;
+			continue;
+		}
+		if (!strcmp((char*)next->name,"attribute")) {	/* propdesc.GetSet */
+			int attr;
+
+			if (!sscanf((char*)xmlNodeGetContent (next), "%02x", &attr)) {
+				ptp_debug( params, "\tattr %s not parseable",xmlNodeGetContent (next));
+				return 0;
+			}
+			ptp_debug( params, "attribute 0x%x", attr);
+			dpd->GetSet = attr;
+			continue;
+		}
+		if (!strcmp((char*)next->name,"default")) {	/* propdesc.FactoryDefaultValue */
+			ptp_debug( params, "default value");
+			parse_9301_value (params, (char*)xmlNodeGetContent (next), type, &dpd->FactoryDefaultValue);
+			continue;
+		}
+		if (!strcmp((char*)next->name,"value")) {	/* propdesc.CurrentValue */
+			ptp_debug( params, "current value");
+			parse_9301_value (params, (char*)xmlNodeGetContent (next), type, &dpd->CurrentValue);
+			continue;
+		}
+		if (!strcmp((char*)next->name,"enum")) {	/* propdesc.FORM.Enum */
+			int n,i;
+			char *s;
+
+			ptp_debug( params, "enum");
+			dpd->FormFlag = PTP_DPFF_Enumeration;
+			s = (char*)xmlNodeGetContent (next);
+			n = 0;
+			do {
+				s = strchr(s,' ');
+				if (s) s++;
+				n++;
+			} while (s);
+			dpd->FORM.Enum.NumberOfValues = n;
+			dpd->FORM.Enum.SupportedValue = malloc (n * sizeof(PTPPropertyValue));
+			s = (char*)xmlNodeGetContent (next);
+			i = 0;
+			do {
+				parse_9301_value (params, s, type, &dpd->FORM.Enum.SupportedValue[i]); /* should turn ' ' into \0? */
+				i++;
+				s = strchr(s,' ');
+				if (s) s++;
+			} while (s && (i<n));
+			continue;
+		}
+		if (!strcmp((char*)next->name,"range")) {	/* propdesc.FORM.Enum */
+			char *s = (char*)xmlNodeGetContent (next);
+			dpd->FormFlag = PTP_DPFF_Range;
+			ptp_debug( params, "range");
+			parse_9301_value (params, s, type, &dpd->FORM.Range.MinimumValue); /* should turn ' ' into \0? */
+			s = strchr(s,' ');
+			if (!s) continue;
+			s++;
+			parse_9301_value (params, s, type, &dpd->FORM.Range.MaximumValue); /* should turn ' ' into \0? */
+			s = strchr(s,' ');
+			if (!s) continue;
+			s++;
+			parse_9301_value (params, s, type, &dpd->FORM.Range.StepSize); /* should turn ' ' into \0? */
+
+			continue;
+		}
+		ptp_debug (params, "\tpropdescvar: %s", next->name);
+		traverse_tree (params, 3, next);
+	} while ((next = xmlNextElementSibling (next)));
+	return PTP_RC_OK;
+}
+
+static int
+parse_9301_prop_tree (PTPParams *params, xmlNodePtr node, PTPDeviceInfo *di)
+{
+	xmlNodePtr	next;
+	int		cnt;
+	unsigned int	i;
+
+	cnt = 0;
+	next = xmlFirstElementChild (node);
+	while (next) {
+		cnt++;
+		next = xmlNextElementSibling (next);
+	}
+
+	di->DevicePropertiesSupported_len = cnt;
+	di->DevicePropertiesSupported = malloc (cnt*sizeof(di->DevicePropertiesSupported[0]));
+	cnt = 0;
+	next = xmlFirstElementChild (node);
+	while (next) {
+		unsigned int p;
+		PTPDevicePropDesc	dpd;
+
+		sscanf((char*)next->name, "p%04x", &p);
+		ptp_debug( params, "prop %s / 0x%04x", next->name, p);
+		parse_9301_propdesc (params, xmlFirstElementChild (next), &dpd);
+		dpd.DevicePropertyCode = p;
+		di->DevicePropertiesSupported[cnt++] = p;
+
+		/* add to cache of device propdesc */
+		for (i=0;i<params->nrofdeviceproperties;i++)
+			if (params->deviceproperties[i].desc.DevicePropertyCode == p)
+				break;
+		if (i == params->nrofdeviceproperties) {
+			params->deviceproperties = realloc(params->deviceproperties,(i+1)*sizeof(params->deviceproperties[0]));
+			memset(&params->deviceproperties[i],0,sizeof(params->deviceproperties[0]));
+			params->nrofdeviceproperties++;
+		} else {
+			ptp_free_devicepropdesc (&params->deviceproperties[i].desc);
+		}
+		/* FIXME: free old entry */
+		/* we are not using dpd, so copy it directly to the cache */
+		time( &params->deviceproperties[i].timestamp);
+		params->deviceproperties[i].desc = dpd;
+
+		next = xmlNextElementSibling (next);
+	}
+	return PTP_RC_OK;
+}
+
+static int
+parse_9301_event_tree (PTPParams *params, xmlNodePtr node, PTPDeviceInfo *di)
+{
+	xmlNodePtr	next;
+	int		cnt;
+
+	cnt = 0;
+	next = xmlFirstElementChild (node);
+	while (next) {
+		cnt++;
+		next = xmlNextElementSibling (next);
+	}
+	di->EventsSupported_len = cnt;
+	di->EventsSupported = malloc (cnt*sizeof(di->EventsSupported[0]));
+	cnt = 0;
+	next = xmlFirstElementChild (node);
+	while (next) {
+		unsigned int p;
+
+		sscanf((char*)next->name, "e%04x", &p);
+		ptp_debug( params, "event %s / 0x%04x", next->name, p);
+		di->EventsSupported[cnt++] = p;
+		next = xmlNextElementSibling (next);
+	}
+	return PTP_RC_OK;
+}
+
+static int
+parse_9301_tree (PTPParams *params, xmlNodePtr node, PTPDeviceInfo *di)
+{
+	xmlNodePtr	next;
+
+	next = xmlFirstElementChild (node);
+	while (next) {
+		if (!strcmp ((char*)next->name, "cmd")) {
+			parse_9301_cmd_tree (params, next, di);
+			next = xmlNextElementSibling (next);
+			continue;
+		}
+		if (!strcmp ((char*)next->name, "prop")) {
+			parse_9301_prop_tree (params, next, di);
+			next = xmlNextElementSibling (next);
+			continue;
+		}
+		if (!strcmp ((char*)next->name, "event")) {
+			parse_9301_event_tree (params, next, di);
+			next = xmlNextElementSibling (next);
+			continue;
+		}
+		fprintf (stderr,"9301: unhandled type %s\n", next->name);
+		next = xmlNextElementSibling (next);
+	}
+	/*traverse_tree (0, node);*/
+	return PTP_RC_OK;
+}
+
+static uint16_t
+ptp_olympus_parse_output_xml(PTPParams* params, char*data, int len, xmlNodePtr *code)
+{
+        xmlDocPtr       docin;
+        xmlNodePtr      docroot, output, next;
+	int 		result, xcode;
+
+	*code = NULL;
+
+        docin = xmlReadMemory ((char*)data, len, "http://gphoto.org/", "utf-8", 0);
+        if (!docin) return PTP_RC_GeneralError;
+        docroot = xmlDocGetRootElement (docin);
+        if (!docroot) {
+		xmlFreeDoc (docin);
+		return PTP_RC_GeneralError;
+	}
+
+        if (strcmp((char*)docroot->name,"x3c")) {
+                ptp_debug (params, "olympus: docroot is not x3c, but %s", docroot->name);
+		xmlFreeDoc (docin);
+                return PTP_RC_GeneralError;
+        }
+        if (xmlChildElementCount(docroot) != 1) {
+                ptp_debug (params, "olympus: x3c: expected 1 child, got %ld", xmlChildElementCount(docroot));
+		xmlFreeDoc (docin);
+                return PTP_RC_GeneralError;
+        }
+        output = xmlFirstElementChild (docroot);
+        if (strcmp((char*)output->name, "output") != 0) {
+                ptp_debug (params, "olympus: x3c node: expected child 'output', but got %s", (char*)output->name);
+		xmlFreeDoc (docin);
+                return PTP_RC_GeneralError;
+	}
+        next = xmlFirstElementChild (output);
+
+	result = PTP_RC_GeneralError;
+
+	while (next) {
+		if (!strcmp((char*)next->name,"result")) {
+			xmlChar	 *xchar;
+
+			xchar = xmlNodeGetContent (next);
+			if (!sscanf((char*)xchar,"%04x",&result))
+				ptp_debug (params, "failed scanning result from %s", xchar);
+			ptp_debug (params,  "ptp result is 0x%04x", result);
+			next = xmlNextElementSibling (next);
+			continue;
+		}
+		if (sscanf((char*)next->name,"c%x", &xcode)) {
+			ptp_debug (params,  "ptp code node found %s", (char*)next->name);
+			*code = next;
+			next = xmlNextElementSibling (next);
+			continue;
+		}
+		ptp_debug (params, "unhandled node %s", (char*)next->name);
+		next = xmlNextElementSibling (next);
+	}
+
+	if (result != PTP_RC_OK) {
+		*code = NULL;
+		xmlFreeDoc (docin);
+	}
+	return result;
+}
+#endif
+
+uint16_t
+ptp_olympus_getdeviceinfo (PTPParams* params, PTPDeviceInfo *di)
+{
+#ifdef HAVE_LIBXML2
+	PTPContainer	ptp;
+	uint16_t 	ret;
+	unsigned char	*data;
+	unsigned int	size;
+	xmlNodePtr	code;
+
+	memset (di, 0, sizeof(PTPDeviceInfo));
+
+	PTP_CNT_INIT(ptp, PTP_OC_OLYMPUS_GetDeviceInfo);
+	ret=ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &data, &size);
+	/* TODO: check for error, only parse_output_xml if ret == PTP_RC_OK?
+	 * where is 'data' going to be deallocated? */
+	ret = ptp_olympus_parse_output_xml(params,(char*)data,size,&code);
+	if (ret != PTP_RC_OK)
+		return ret;
+
+	ret = parse_9301_tree (params, code, di);
+
+	xmlFreeDoc(code->doc);
 	return ret;
+#else
+	return PTP_RC_GeneralError;
+#endif
+}
+
+uint16_t
+ptp_olympus_opensession (PTPParams* params, unsigned char**data, unsigned int *len)
+{
+	PTPContainer	ptp;
+
+	PTP_CNT_INIT(ptp, PTP_OC_OLYMPUS_OpenSession);
+	return ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, data, len);
+}
+
+uint16_t
+ptp_olympus_getcameraid (PTPParams* params, unsigned char**data, unsigned int *len)
+{
+	PTPContainer	ptp;
+
+	PTP_CNT_INIT(ptp, PTP_OC_OLYMPUS_GetCameraID);
+	return ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, data, len);
 }
 
 /**
@@ -461,14 +971,14 @@
 uint16_t
 ptp_generic_no_data (PTPParams* params, uint16_t code, unsigned int n_param, ...)
 {
-	PTPContainer ptp;
-	va_list args;
-	int i;
+	PTPContainer	ptp;
+	va_list		args;
+	unsigned int	i;
 
 	if( n_param > 5 )
-		return PTP_RC_InvalidParameter;
+		return PTP_ERROR_BADPARAM;
 
-	PTP_CNT_INIT(ptp);
+	memset(&ptp, 0, sizeof(ptp));
 	ptp.Code=code;
 	ptp.Nparam=n_param;
 
@@ -492,8 +1002,8 @@
 uint16_t
 ptp_opensession (PTPParams* params, uint32_t session)
 {
-	uint16_t ret;
-	PTPContainer ptp;
+	PTPContainer	ptp;
+	uint16_t	ret;
 
 	ptp_debug(params,"PTP: Opening session");
 
@@ -508,16 +1018,98 @@
 	/* no split headers */
 	params->split_header_data = 0;
 
-	PTP_CNT_INIT(ptp);
-	ptp.Code=PTP_OC_OpenSession;
-	ptp.Param1=session;
-	ptp.Nparam=1;
+	PTP_CNT_INIT(ptp, PTP_OC_OpenSession, session);
 	ret=ptp_transaction_new(params, &ptp, PTP_DP_NODATA, 0, NULL);
+	/* TODO: check for error */
 	/* now set the global session id to current session number */
 	params->session_id=session;
 	return ret;
 }
 
+void
+ptp_free_devicepropvalue(uint16_t dt, PTPPropertyValue* dpd)
+{
+	switch (dt) {
+	case PTP_DTC_INT8:	case PTP_DTC_UINT8:
+	case PTP_DTC_UINT16:	case PTP_DTC_INT16:
+	case PTP_DTC_UINT32:	case PTP_DTC_INT32:
+	case PTP_DTC_UINT64:	case PTP_DTC_INT64:
+	case PTP_DTC_UINT128:	case PTP_DTC_INT128:
+		/* Nothing to free */
+		break;
+	case PTP_DTC_AINT8:	case PTP_DTC_AUINT8:
+	case PTP_DTC_AUINT16:	case PTP_DTC_AINT16:
+	case PTP_DTC_AUINT32:	case PTP_DTC_AINT32:
+	case PTP_DTC_AUINT64:	case PTP_DTC_AINT64:
+	case PTP_DTC_AUINT128:	case PTP_DTC_AINT128:
+		free(dpd->a.v);
+		break;
+	case PTP_DTC_STR:
+		free(dpd->str);
+		break;
+	}
+}
+
+void
+ptp_free_devicepropdesc(PTPDevicePropDesc* dpd)
+{
+	uint16_t i;
+
+	ptp_free_devicepropvalue (dpd->DataType, &dpd->FactoryDefaultValue);
+	ptp_free_devicepropvalue (dpd->DataType, &dpd->CurrentValue);
+	switch (dpd->FormFlag) {
+	case PTP_DPFF_Range:
+		ptp_free_devicepropvalue (dpd->DataType, &dpd->FORM.Range.MinimumValue);
+		ptp_free_devicepropvalue (dpd->DataType, &dpd->FORM.Range.MaximumValue);
+		ptp_free_devicepropvalue (dpd->DataType, &dpd->FORM.Range.StepSize);
+		break;
+	case PTP_DPFF_Enumeration:
+		if (dpd->FORM.Enum.SupportedValue) {
+			for (i=0;i<dpd->FORM.Enum.NumberOfValues;i++)
+				ptp_free_devicepropvalue (dpd->DataType, dpd->FORM.Enum.SupportedValue+i);
+			free (dpd->FORM.Enum.SupportedValue);
+		}
+	}
+	dpd->DataType = PTP_DTC_UNDEF;
+	dpd->FormFlag = PTP_DPFF_None;
+}
+
+
+void
+ptp_free_objectpropdesc(PTPObjectPropDesc* opd)
+{
+	uint16_t i;
+
+	ptp_free_devicepropvalue (opd->DataType, &opd->FactoryDefaultValue);
+	switch (opd->FormFlag) {
+	case PTP_OPFF_None:
+		break;
+	case PTP_OPFF_Range:
+		ptp_free_devicepropvalue (opd->DataType, &opd->FORM.Range.MinimumValue);
+		ptp_free_devicepropvalue (opd->DataType, &opd->FORM.Range.MaximumValue);
+		ptp_free_devicepropvalue (opd->DataType, &opd->FORM.Range.StepSize);
+		break;
+	case PTP_OPFF_Enumeration:
+		if (opd->FORM.Enum.SupportedValue) {
+			for (i=0;i<opd->FORM.Enum.NumberOfValues;i++)
+				ptp_free_devicepropvalue (opd->DataType, opd->FORM.Enum.SupportedValue+i);
+			free (opd->FORM.Enum.SupportedValue);
+		}
+		break;
+	case PTP_OPFF_DateTime:
+	case PTP_OPFF_FixedLengthArray:
+	case PTP_OPFF_RegularExpression:
+	case PTP_OPFF_ByteArray:
+	case PTP_OPFF_LongString:
+		/* Ignore these presently, we cannot unpack them, so there is nothing to be freed. */
+		break;
+	default:
+		fprintf (stderr, "Unknown OPFF type %d\n", opd->FormFlag);
+		break;
+	}
+}
+
+
 /**
  * ptp_free_params:
  * params:	PTPParams*
@@ -527,14 +1119,28 @@
  * Return values: Some PTP_RC_* code.
  **/
 void
-ptp_free_params (PTPParams *params) {
-	int i;
+ptp_free_params (PTPParams *params)
+{
+	unsigned int i;
 
-	if (params->cameraname) free (params->cameraname);
-	if (params->wifi_profiles) free (params->wifi_profiles);
+	free (params->cameraname);
+	free (params->wifi_profiles);
 	for (i=0;i<params->nrofobjects;i++)
 		ptp_free_object (&params->objects[i]);
 	free (params->objects);
+	free (params->storageids.Storage);
+	free (params->events);
+	for (i=0;i<params->nrofcanon_props;i++) {
+		free (params->canon_props[i].data);
+		ptp_free_devicepropdesc (&params->canon_props[i].dpd);
+	}
+	free (params->canon_props);
+	free (params->backlogentries);
+
+	for (i=0;i<params->nrofdeviceproperties;i++)
+		ptp_free_devicepropdesc (&params->deviceproperties[i].desc);
+	free (params->deviceproperties);
+
 	ptp_free_DI (&params->deviceinfo);
 }
 
@@ -549,19 +1155,15 @@
 uint16_t
 ptp_getstorageids (PTPParams* params, PTPStorageIDs* storageids)
 {
-	uint16_t ret;
-	PTPContainer ptp;
-	unsigned int len;
-	unsigned char* sids=NULL;
+	PTPContainer	ptp;
+	unsigned char	*data;
+	unsigned int	size;
 
-	PTP_CNT_INIT(ptp);
-	ptp.Code=PTP_OC_GetStorageIDs;
-	ptp.Nparam=0;
-	len=0;
-	ret=ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &sids, &len);
-	if (ret == PTP_RC_OK) ptp_unpack_SIDs(params, sids, storageids, len);
-	free(sids);
-	return ret;
+	PTP_CNT_INIT(ptp, PTP_OC_GetStorageIDs);
+	CHECK_PTP_RC(ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &data, &size));
+	ptp_unpack_SIDs(params, data, storageids, size);
+	free(data);
+	return PTP_RC_OK;
 }
 
 /**
@@ -578,20 +1180,21 @@
 ptp_getstorageinfo (PTPParams* params, uint32_t storageid,
 			PTPStorageInfo* storageinfo)
 {
-	uint16_t ret;
-	PTPContainer ptp;
-	unsigned char* si=NULL;
-	unsigned int len;
+	PTPContainer	ptp;
+	unsigned char	*data;
+	unsigned int	size;
 
-	PTP_CNT_INIT(ptp);
-	ptp.Code=PTP_OC_GetStorageInfo;
-	ptp.Param1=storageid;
-	ptp.Nparam=1;
-	len=0;
-	ret=ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &si, &len);
-	if (ret == PTP_RC_OK) ptp_unpack_SI(params, si, storageinfo, len);
-	free(si);
-	return ret;
+	PTP_CNT_INIT(ptp, PTP_OC_GetStorageInfo, storageid);
+	CHECK_PTP_RC(ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &data, &size));
+	if (!data || !size)
+		return PTP_RC_GeneralError;
+	memset(storageinfo, 0, sizeof(*storageinfo));
+	if (!ptp_unpack_SI(params, data, storageinfo, size)) {
+		free(data);
+		return PTP_RC_GeneralError;
+	}
+	free(data);
+	return PTP_RC_OK;
 }
 
 /**
@@ -613,21 +1216,18 @@
 			uint32_t objectformatcode, uint32_t associationOH,
 			PTPObjectHandles* objecthandles)
 {
-	uint16_t ret;
-	PTPContainer ptp;
-	unsigned char* oh=NULL;
-	unsigned int len;
+	PTPContainer	ptp;
+	uint16_t	ret;
+	unsigned char	*data;
+	unsigned int	size;
 
-	PTP_CNT_INIT(ptp);
-	ptp.Code=PTP_OC_GetObjectHandles;
-	ptp.Param1=storage;
-	ptp.Param2=objectformatcode;
-	ptp.Param3=associationOH;
-	ptp.Nparam=3;
-	len=0;
-	ret=ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &oh, &len);
+	objecthandles->Handler = NULL;
+	objecthandles->n = 0;
+
+	PTP_CNT_INIT(ptp, PTP_OC_GetObjectHandles, storage, objectformatcode, associationOH);
+	ret=ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &data, &size);
 	if (ret == PTP_RC_OK) {
-		ptp_unpack_OH(params, oh, objecthandles, len);
+		ptp_unpack_OH(params, data, objecthandles, size);
 	} else {
 		if (	(storage == 0xffffffff) &&
 			(objectformatcode == 0) &&
@@ -641,10 +1241,21 @@
 			ret = PTP_RC_OK;
 		}
 	}
-	free(oh);
+	free(data);
 	return ret;
 }
 
+uint16_t
+ptp_getfilesystemmanifest (PTPParams* params, uint32_t storage,
+			uint32_t objectformatcode, uint32_t associationOH,
+			unsigned char** data)
+{
+	PTPContainer ptp;
+
+	PTP_CNT_INIT(ptp, PTP_OC_GetFilesystemManifest, storage, objectformatcode, associationOH);
+	return ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, data, NULL);
+}
+
 /**
  * ptp_getnumobjects:
  * params:	PTPParams*
@@ -664,25 +1275,79 @@
 			uint32_t objectformatcode, uint32_t associationOH,
 			uint32_t* numobs)
 {
-	uint16_t ret;
-	PTPContainer ptp;
-	int len;
+	PTPContainer	ptp;
 
-	PTP_CNT_INIT(ptp);
-	ptp.Code=PTP_OC_GetNumObjects;
-	ptp.Param1=storage;
-	ptp.Param2=objectformatcode;
-	ptp.Param3=associationOH;
-	ptp.Nparam=3;
-	len=0;
-	ret=ptp_transaction(params, &ptp, PTP_DP_NODATA, 0, NULL, NULL);
-	if (ret == PTP_RC_OK) {
-		if (ptp.Nparam >= 1)
-			*numobs = ptp.Param1;
-		else
-			ret = PTP_RC_GeneralError;
-	}
-	return ret;
+	PTP_CNT_INIT(ptp, PTP_OC_GetNumObjects, storage, objectformatcode, associationOH);
+	CHECK_PTP_RC(ptp_transaction(params, &ptp, PTP_DP_NODATA, 0, NULL, NULL));
+	if (ptp.Nparam >= 1)
+		*numobs = ptp.Param1;
+	else
+		return PTP_RC_GeneralError;
+	return PTP_RC_OK;
+}
+
+/**
+ * ptp_eos_bulbstart:
+ * params:	PTPParams*
+ *
+ * Starts EOS Bulb capture.
+ *
+ * Return values: Some PTP_RC_* code.
+ **/
+uint16_t
+ptp_canon_eos_bulbstart (PTPParams* params)
+{
+	PTPContainer	ptp;
+
+	PTP_CNT_INIT(ptp, PTP_OC_CANON_EOS_BulbStart);
+	CHECK_PTP_RC(ptp_transaction(params, &ptp, PTP_DP_NODATA, 0, NULL, NULL));
+	if ((ptp.Nparam >= 1) && ((ptp.Param1 & 0x7000) == 0x2000))
+		return ptp.Param1;
+	return PTP_RC_OK;
+}
+
+/**
+ * ptp_eos_capture:
+ * params:	PTPParams*
+ *              uint32_t*	result
+ *
+ * This starts a EOS400D style capture. You have to use the
+ * get_eos_events to find out what resulted.
+ * The return value is "0" for all OK, and "1" for capture failed. (not fully confirmed)
+ *
+ * Return values: Some PTP_RC_* code.
+ **/
+uint16_t
+ptp_canon_eos_capture (PTPParams* params, uint32_t *result)
+{
+	PTPContainer	ptp;
+
+	PTP_CNT_INIT(ptp, PTP_OC_CANON_EOS_RemoteRelease);
+	*result = 0;
+	CHECK_PTP_RC(ptp_transaction(params, &ptp, PTP_DP_NODATA, 0, NULL, NULL));
+	if (ptp.Nparam >= 1)
+		*result = ptp.Param1;
+	return PTP_RC_OK;
+}
+
+/**
+ * ptp_canon_eos_bulbend:
+ * params:	PTPParams*
+ *
+ * Starts EOS Bulb capture.
+ *
+ * Return values: Some PTP_RC_* code.
+ **/
+uint16_t
+ptp_canon_eos_bulbend (PTPParams* params)
+{
+	PTPContainer	ptp;
+
+	PTP_CNT_INIT(ptp, PTP_OC_CANON_EOS_BulbEnd);
+	CHECK_PTP_RC(ptp_transaction(params, &ptp, PTP_DP_NODATA, 0, NULL, NULL));
+	if ((ptp.Nparam >= 1) && ((ptp.Param1 & 0x7000) == 0x2000))
+		return ptp.Param1;
+	return PTP_RC_OK;
 }
 
 /**
@@ -699,20 +1364,15 @@
 ptp_getobjectinfo (PTPParams* params, uint32_t handle,
 			PTPObjectInfo* objectinfo)
 {
-	uint16_t ret;
-	PTPContainer ptp;
-	unsigned char* oi=NULL;
-	unsigned int len;
+	PTPContainer	ptp;
+	unsigned char	*data;
+	unsigned int	size;
 
-	PTP_CNT_INIT(ptp);
-	ptp.Code=PTP_OC_GetObjectInfo;
-	ptp.Param1=handle;
-	ptp.Nparam=1;
-	len=0;
-	ret=ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &oi, &len);
-	if (ret == PTP_RC_OK) ptp_unpack_OI(params, oi, objectinfo, len);
-	free(oi);
-	return ret;
+	PTP_CNT_INIT(ptp, PTP_OC_GetObjectInfo, handle);
+	CHECK_PTP_RC(ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &data, &size));
+	ptp_unpack_OI(params, data, objectinfo, size);
+	free(data);
+	return PTP_RC_OK;
 }
 
 /**
@@ -730,14 +1390,30 @@
 ptp_getobject (PTPParams* params, uint32_t handle, unsigned char** object)
 {
 	PTPContainer ptp;
-	unsigned int len;
 
-	PTP_CNT_INIT(ptp);
-	ptp.Code=PTP_OC_GetObject;
-	ptp.Param1=handle;
-	ptp.Nparam=1;
-	len=0;
-	return ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, object, &len);
+	PTP_CNT_INIT(ptp, PTP_OC_GetObject, handle);
+	return ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, object, NULL);
+}
+
+/**
+ * ptp_getobject_with_size:
+ * params:	PTPParams*
+ *		handle			- Object handle
+ *		object			- pointer to data area
+ *		size			- pointer to uint, returns size of object
+ *
+ * Get object 'handle' from device and store the data in newly
+ * allocated 'object'.
+ *
+ * Return values: Some PTP_RC_* code.
+ **/
+uint16_t
+ptp_getobject_with_size (PTPParams* params, uint32_t handle, unsigned char** object, unsigned int *size)
+{
+	PTPContainer ptp;
+
+	PTP_CNT_INIT(ptp, PTP_OC_GetObject, handle);
+	return ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, object, size);
 }
 
 /**
@@ -756,10 +1432,7 @@
 {
 	PTPContainer ptp;
 
-	PTP_CNT_INIT(ptp);
-	ptp.Code=PTP_OC_GetObject;
-	ptp.Param1=handle;
-	ptp.Nparam=1;
+	PTP_CNT_INIT(ptp, PTP_OC_GetObject, handle);
 	return ptp_transaction_new(params, &ptp, PTP_DP_GETDATA, 0, handler);
 }
 
@@ -781,11 +1454,8 @@
 	PTPDataHandler	handler;
 	uint16_t	ret;
 
+	PTP_CNT_INIT(ptp, PTP_OC_GetObject, handle);
 	ptp_init_fd_handler (&handler, fd);
-	PTP_CNT_INIT(ptp);
-	ptp.Code=PTP_OC_GetObject;
-	ptp.Param1=handle;
-	ptp.Nparam=1;
 	ret = ptp_transaction_new(params, &ptp, PTP_DP_GETDATA, 0, &handler);
 	ptp_exit_fd_handler (&handler);
 	return ret;
@@ -798,6 +1468,7 @@
  *		offset			- Offset into object
  *		maxbytes		- Maximum of bytes to read
  *		object			- pointer to data area
+ *		len			- pointer to returned length
  *
  * Get object 'handle' from device and store the data in newly
  * allocated 'object'. Start from offset and read at most maxbytes.
@@ -806,19 +1477,36 @@
  **/
 uint16_t
 ptp_getpartialobject (PTPParams* params, uint32_t handle, uint32_t offset,
-			uint32_t maxbytes, unsigned char** object)
+			uint32_t maxbytes, unsigned char** object,
+			uint32_t *len)
 {
 	PTPContainer ptp;
-	unsigned int len;
 
-	PTP_CNT_INIT(ptp);
-	ptp.Code=PTP_OC_GetPartialObject;
-	ptp.Param1=handle;
-	ptp.Param2=offset;
-	ptp.Param3=maxbytes;
-	ptp.Nparam=3;
-	len=0;
-	return ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, object, &len);
+	PTP_CNT_INIT(ptp, PTP_OC_GetPartialObject, handle, offset, maxbytes);
+	return ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, object, len);
+}
+
+/**
+ * ptp_getpartialobject_to_handler:
+ * params:	PTPParams*
+ *		handle			- Object handle
+ *		offset			- Offset into object
+ *		maxbytes		- Maximum of bytes to read
+ *		handler			- a ptp data handler
+ *
+ * Get object 'handle' from device and send the data to the
+ * data handler. Start from offset and read at most maxbytes.
+ *
+ * Return values: Some PTP_RC_* code.
+ **/
+uint16_t
+ptp_getpartialobject_to_handler (PTPParams* params, uint32_t handle, uint32_t offset,
+			uint32_t maxbytes, PTPDataHandler *handler)
+{
+	PTPContainer ptp;
+
+	PTP_CNT_INIT(ptp, PTP_OC_GetPartialObject, handle, offset, maxbytes);
+	return ptp_transaction_new(params, &ptp, PTP_DP_GETDATA, 0, handler);
 }
 
 /**
@@ -833,16 +1521,12 @@
  * Return values: Some PTP_RC_* code.
  **/
 uint16_t
-ptp_getthumb (PTPParams* params, uint32_t handle, unsigned char** object)
+ptp_getthumb (PTPParams* params, uint32_t handle, unsigned char** object, unsigned int *len)
 {
 	PTPContainer ptp;
-	unsigned int len;
 
-	PTP_CNT_INIT(ptp);
-	ptp.Code=PTP_OC_GetThumb;
-	ptp.Param1=handle;
-	ptp.Nparam=1;
-	return ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, object, &len);
+	PTP_CNT_INIT(ptp, PTP_OC_GetThumb, handle);
+	return ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, object, len);
 }
 
 /**
@@ -859,17 +1543,9 @@
 ptp_deleteobject (PTPParams* params, uint32_t handle, uint32_t ofc)
 {
 	PTPContainer ptp;
-	uint16_t ret;
 
-	PTP_CNT_INIT(ptp);
-	ptp.Code=PTP_OC_DeleteObject;
-	ptp.Param1=handle;
-	ptp.Param2=ofc;
-	ptp.Nparam=2;
-	ret = ptp_transaction(params, &ptp, PTP_DP_NODATA, 0, NULL, NULL);
-	if (ret != PTP_RC_OK) {
-		return ret;
-	}
+	PTP_CNT_INIT(ptp, PTP_OC_DeleteObject, handle, ofc);
+	CHECK_PTP_RC(ptp_transaction(params, &ptp, PTP_DP_NODATA, 0, NULL, NULL));
 	/* If the object is cached and could be removed, cleanse cache. */
 	ptp_remove_object_from_cache(params, handle);
 	return PTP_RC_OK;
@@ -898,20 +1574,15 @@
 			uint32_t* parenthandle, uint32_t* handle,
 			PTPObjectInfo* objectinfo)
 {
-	uint16_t ret;
-	PTPContainer ptp;
-	unsigned char* oidata=NULL;
-	uint32_t size;
+	PTPContainer	ptp;
+	uint16_t	ret;
+	unsigned char	*data = NULL;
+	uint32_t	size;
 
-	PTP_CNT_INIT(ptp);
-	ptp.Code=PTP_OC_SendObjectInfo;
-	ptp.Param1=*store;
-	ptp.Param2=*parenthandle;
-	ptp.Nparam=2;
-	
-	size=ptp_pack_OI(params, objectinfo, &oidata);
-	ret = ptp_transaction(params, &ptp, PTP_DP_SENDDATA, size, &oidata, NULL); 
-	free(oidata);
+	PTP_CNT_INIT(ptp, PTP_OC_SendObjectInfo, *store, *parenthandle);
+	size = ptp_pack_OI(params, objectinfo, &data);
+	ret = ptp_transaction(params, &ptp, PTP_DP_SENDDATA, size, &data, NULL);
+	free(data);
 	*store=ptp.Param1;
 	*parenthandle=ptp.Param2;
 	*handle=ptp.Param3; 
@@ -922,7 +1593,7 @@
  * ptp_sendobject:
  * params:	PTPParams*
  *		char*	object		- contains the object that is to be sent
- *		uint32_t size		- object size
+ *		uint64_t size		- object size
  *		
  * Sends object to Responder.
  *
@@ -930,14 +1601,11 @@
  *
  */
 uint16_t
-ptp_sendobject (PTPParams* params, unsigned char* object, uint32_t size)
+ptp_sendobject (PTPParams* params, unsigned char* object, uint64_t size)
 {
 	PTPContainer ptp;
 
-	PTP_CNT_INIT(ptp);
-	ptp.Code=PTP_OC_SendObject;
-	ptp.Nparam=0;
-
+	PTP_CNT_INIT(ptp, PTP_OC_SendObject);
 	return ptp_transaction(params, &ptp, PTP_DP_SENDDATA, size, &object, NULL);
 }
 
@@ -945,7 +1613,7 @@
  * ptp_sendobject_from_handler:
  * params:	PTPParams*
  *		PTPDataHandler*         - File descriptor to read() object from
- *              uint32_t size           - File/object size
+ *              uint64_t size           - File/object size
  *
  * Sends object from file descriptor by consecutive reads from this
  * descriptor.
@@ -953,13 +1621,11 @@
  * Return values: Some PTP_RC_* code.
  **/
 uint16_t
-ptp_sendobject_from_handler (PTPParams* params, PTPDataHandler *handler, uint32_t size)
+ptp_sendobject_from_handler (PTPParams* params, PTPDataHandler *handler, uint64_t size)
 {
-	PTPContainer	ptp;
+	PTPContainer ptp;
 
-	PTP_CNT_INIT(ptp);
-	ptp.Code=PTP_OC_SendObject;
-	ptp.Nparam=0;
+	PTP_CNT_INIT(ptp, PTP_OC_SendObject);
 	return ptp_transaction_new(params, &ptp, PTP_DP_SENDDATA, size, handler);
 }
 
@@ -968,7 +1634,7 @@
  * ptp_sendobject_fromfd:
  * params:	PTPParams*
  *		fd                      - File descriptor to read() object from
- *              uint32_t size           - File/object size
+ *              uint64_t size           - File/object size
  *
  * Sends object from file descriptor by consecutive reads from this
  * descriptor.
@@ -976,39 +1642,66 @@
  * Return values: Some PTP_RC_* code.
  **/
 uint16_t
-ptp_sendobject_fromfd (PTPParams* params, int fd, uint32_t size)
+ptp_sendobject_fromfd (PTPParams* params, int fd, uint64_t size)
 {
 	PTPContainer	ptp;
 	PTPDataHandler	handler;
 	uint16_t	ret;
 
+	PTP_CNT_INIT(ptp, PTP_OC_SendObject);
 	ptp_init_fd_handler (&handler, fd);
-	PTP_CNT_INIT(ptp);
-	ptp.Code=PTP_OC_SendObject;
-	ptp.Nparam=0;
 	ret = ptp_transaction_new(params, &ptp, PTP_DP_SENDDATA, size, &handler);
 	ptp_exit_fd_handler (&handler);
 	return ret;
 }
 
+#define PROPCACHE_TIMEOUT 5	/* seconds */
 
 uint16_t
 ptp_getdevicepropdesc (PTPParams* params, uint16_t propcode, 
 			PTPDevicePropDesc* devicepropertydesc)
 {
-	PTPContainer ptp;
-	uint16_t ret;
-	unsigned int len;
-	unsigned char* dpd=NULL;
+	PTPContainer	ptp;
+	uint16_t	ret = PTP_RC_OK;
+	unsigned char	*data;
+	unsigned int	size;
 
-	PTP_CNT_INIT(ptp);
-	ptp.Code=PTP_OC_GetDevicePropDesc;
-	ptp.Param1=propcode;
-	ptp.Nparam=1;
-	len=0;
-	ret=ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &dpd, &len);
-	if (ret == PTP_RC_OK) ptp_unpack_DPD(params, dpd, devicepropertydesc, len);
-	free(dpd);
+	PTP_CNT_INIT(ptp, PTP_OC_GetDevicePropDesc, propcode);
+	CHECK_PTP_RC(ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &data, &size));
+
+	if (!data) {
+		ptp_debug (params, "no data received for getdevicepropdesc");
+		return PTP_RC_InvalidDevicePropFormat;
+	}
+
+	if (params->device_flags & DEVICE_FLAG_OLYMPUS_XML_WRAPPED) {
+#ifdef HAVE_LIBXML2
+		xmlNodePtr	code;
+
+		ret = ptp_olympus_parse_output_xml (params,(char*)data,size,&code);
+		if (ret == PTP_RC_OK) {
+			int x;
+
+			if (	(xmlChildElementCount(code) == 1) &&
+					(!strcmp((char*)code->name,"c1014"))
+					) {
+				code = xmlFirstElementChild (code);
+
+				if (	(sscanf((char*)code->name,"p%x", &x)) &&
+						(x == propcode)
+						) {
+					ret = parse_9301_propdesc (params, xmlFirstElementChild (code), devicepropertydesc);
+					xmlFreeDoc(code->doc);
+				}
+			}
+		} else {
+			ptp_debug(params,"failed to parse output xml, ret %x?", ret);
+		}
+#endif
+	} else {
+		ptp_unpack_DPD(params, data, devicepropertydesc, size);
+	}
+	free(data);
 	return ret;
 }
 
@@ -1017,21 +1710,17 @@
 ptp_getdevicepropvalue (PTPParams* params, uint16_t propcode,
 			PTPPropertyValue* value, uint16_t datatype)
 {
-	PTPContainer ptp;
-	uint16_t ret;
-	unsigned int len;
-	int offset;
-	unsigned char* dpv=NULL;
+	PTPContainer	ptp;
+	unsigned char	*data;
+	unsigned int	size, offset = 0;
+	uint16_t	ret;
 
-
-	PTP_CNT_INIT(ptp);
-	ptp.Code=PTP_OC_GetDevicePropValue;
-	ptp.Param1=propcode;
-	ptp.Nparam=1;
-	len=offset=0;
-	ret=ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &dpv, &len);
-	if (ret == PTP_RC_OK) ptp_unpack_DPV(params, dpv, &offset, len, value, datatype);
-	free(dpv);
+	PTP_CNT_INIT(ptp, PTP_OC_GetDevicePropValue, propcode);
+	CHECK_PTP_RC(ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &data, &size));
+	ret = ptp_unpack_DPV(params, data, &offset, size, value, datatype) ? PTP_RC_OK : PTP_RC_GeneralError;
+	if (ret != PTP_RC_OK)
+		ptp_debug (params, "ptp_getdevicepropvalue: unpacking DPV failed");
+	free(data);
 	return ret;
 }
 
@@ -1039,18 +1728,15 @@
 ptp_setdevicepropvalue (PTPParams* params, uint16_t propcode,
 			PTPPropertyValue *value, uint16_t datatype)
 {
-	PTPContainer ptp;
-	uint16_t ret;
-	uint32_t size;
-	unsigned char* dpv=NULL;
+	PTPContainer	ptp;
+	uint16_t	ret;
+	unsigned char	*data = NULL;
+	uint32_t	size;
 
-	PTP_CNT_INIT(ptp);
-	ptp.Code=PTP_OC_SetDevicePropValue;
-	ptp.Param1=propcode;
-	ptp.Nparam=1;
-	size=ptp_pack_DPV(params, value, &dpv, datatype);
-	ret=ptp_transaction(params, &ptp, PTP_DP_SENDDATA, size, &dpv, NULL);
-	free(dpv);
+	PTP_CNT_INIT(ptp, PTP_OC_SetDevicePropValue, propcode);
+	size=ptp_pack_DPV(params, value, &data, datatype);
+	ret=ptp_transaction(params, &ptp, PTP_DP_SENDDATA, size, &data, NULL);
+	free(data);
 	return ret;
 }
 
@@ -1077,20 +1763,15 @@
 			uint32_t* parenthandle, uint32_t* handle,
 			PTPObjectInfo* objectinfo)
 {
-	uint16_t ret;
-	PTPContainer ptp;
-	unsigned char* oidata=NULL;
-	uint32_t size;
+	PTPContainer	ptp;
+	uint16_t	ret;
+	unsigned char	*data = NULL;
+	uint32_t	size;
 
-	PTP_CNT_INIT(ptp);
-	ptp.Code=PTP_OC_EK_SendFileObjectInfo;
-	ptp.Param1=*store;
-	ptp.Param2=*parenthandle;
-	ptp.Nparam=2;
-	
-	size=ptp_pack_OI(params, objectinfo, &oidata);
-	ret=ptp_transaction(params, &ptp, PTP_DP_SENDDATA, size, &oidata, NULL); 
-	free(oidata);
+	PTP_CNT_INIT(ptp, PTP_OC_EK_SendFileObjectInfo, *store, *parenthandle);
+	size=ptp_pack_OI(params, objectinfo, &data);
+	ret=ptp_transaction(params, &ptp, PTP_DP_SENDDATA, size, &data, NULL);
+	free(data);
 	*store=ptp.Param1;
 	*parenthandle=ptp.Param2;
 	*handle=ptp.Param3; 
@@ -1113,9 +1794,7 @@
 {
 	PTPContainer ptp;
 
-	PTP_CNT_INIT(ptp);
-	ptp.Code   = PTP_OC_EK_GetSerial;
-	ptp.Nparam = 0;
+	PTP_CNT_INIT(ptp, PTP_OC_EK_GetSerial);
 	return ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, data, size); 
 }
 
@@ -1135,9 +1814,7 @@
 {
 	PTPContainer ptp;
 
-	PTP_CNT_INIT(ptp);
-	ptp.Code   = PTP_OC_EK_SetSerial;
-	ptp.Nparam = 0;
+	PTP_CNT_INIT(ptp, PTP_OC_EK_SetSerial);
 	return ptp_transaction(params, &ptp, PTP_DP_SENDDATA, size, &data, NULL); 
 }
 
@@ -1147,9 +1824,7 @@
 {
 	PTPContainer ptp;
 
-	PTP_CNT_INIT(ptp);
-	ptp.Code   = 0x9007;
-	ptp.Nparam = 0;
+	PTP_CNT_INIT(ptp, 0x9007);
 	return ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, data, size); 
 }
 
@@ -1158,15 +1833,13 @@
 ptp_ek_9009 (PTPParams* params, uint32_t *p1, uint32_t *p2)
 {
 	PTPContainer	ptp;
-	uint16_t	ret;
 
-	PTP_CNT_INIT(ptp);
-	ptp.Code   = 0x9009;
-	ptp.Nparam = 0;
-	ret = ptp_transaction(params, &ptp, PTP_DP_NODATA, 0, NULL, NULL); 
+	PTP_CNT_INIT(ptp, 0x9009);
+	*p1 = *p2 = 0;
+	CHECK_PTP_RC(ptp_transaction(params, &ptp, PTP_DP_NODATA, 0, NULL, NULL));
 	*p1 = ptp.Param1;
 	*p2 = ptp.Param2;
-	return ret;
+	return PTP_RC_OK;
 }
 
 /* unclear yet, but I guess it returns the info from 9008 */
@@ -1175,9 +1848,7 @@
 {
 	PTPContainer ptp;
 
-	PTP_CNT_INIT(ptp);
-	ptp.Code   = 0x900c;
-	ptp.Nparam = 0;
+	PTP_CNT_INIT(ptp, 0x900c);
 	return ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, data, size); 
 	/* returned data is 16bit,16bit,32bit,32bit */
 }
@@ -1195,17 +1866,15 @@
 uint16_t
 ptp_ek_settext (PTPParams* params, PTPEKTextParams *text)
 {
-	PTPContainer ptp;
-	uint16_t ret;
-	unsigned int size;
-	unsigned char *data;
+	PTPContainer	ptp;
+	uint16_t	ret;
+	unsigned char	*data = 0;
+	uint32_t	size;
 
-	PTP_CNT_INIT(ptp);
-	ptp.Code   = PTP_OC_EK_SetText;
-	ptp.Nparam = 0;
+	PTP_CNT_INIT(ptp, PTP_OC_EK_SetText);
 	if (0 == (size = ptp_pack_EK_text(params, text, &data)))
 		return PTP_ERROR_BADPARAM;
-	ret = ptp_transaction(params, &ptp, PTP_DP_SENDDATA, size, &data, NULL); 
+	ret = ptp_transaction(params, &ptp, PTP_DP_SENDDATA, size, &data, NULL);
 	free(data);
 	return ret;
 }
@@ -1226,10 +1895,7 @@
 {
 	PTPContainer ptp;
 
-	PTP_CNT_INIT(ptp);
-	ptp.Code=PTP_OC_EK_SendFileObject;
-	ptp.Nparam=0;
-
+	PTP_CNT_INIT(ptp, PTP_OC_EK_SendFileObject);
 	return ptp_transaction(params, &ptp, PTP_DP_SENDDATA, size, &object, NULL);
 }
 
@@ -1249,9 +1915,7 @@
 {
 	PTPContainer ptp;
 
-	PTP_CNT_INIT(ptp);
-	ptp.Code=PTP_OC_EK_SendFileObject;
-	ptp.Nparam=0;
+	PTP_CNT_INIT(ptp, PTP_OC_EK_SendFileObject);
 	return ptp_transaction_new(params, &ptp, PTP_DP_SENDDATA, size, handler);
 }
 
@@ -1285,18 +1949,14 @@
 ptp_canon_getpartialobjectinfo (PTPParams* params, uint32_t handle, uint32_t p2, 
 			uint32_t* size, uint32_t* rp2) 
 {
-	uint16_t ret;
-	PTPContainer ptp;
+	PTPContainer	ptp;
 	
-	PTP_CNT_INIT(ptp);
-	ptp.Code=PTP_OC_CANON_GetPartialObjectInfo;
-	ptp.Param1=handle;
-	ptp.Param2=p2;
-	ptp.Nparam=2;
-	ret=ptp_transaction(params, &ptp, PTP_DP_NODATA, 0, NULL, NULL);
+	PTP_CNT_INIT(ptp, PTP_OC_CANON_GetPartialObjectInfo, handle, p2);
+	*size = *rp2 = 0;
+	CHECK_PTP_RC(ptp_transaction(params, &ptp, PTP_DP_NODATA, 0, NULL, NULL));
 	*size=ptp.Param1;
 	*rp2=ptp.Param2;
-	return ret;
+	return PTP_RC_OK;
 }
 
 /**
@@ -1313,13 +1973,9 @@
 ptp_canon_get_mac_address (PTPParams* params, unsigned char **mac)
 {
 	PTPContainer ptp;
-	unsigned int size = 0;
 
-	PTP_CNT_INIT(ptp);
-	ptp.Code=PTP_OC_CANON_GetMACAddress;
-	ptp.Nparam=0;
-	*mac = NULL;
-	return ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, mac, &size);
+        PTP_CNT_INIT(ptp, PTP_OC_CANON_GetMACAddress);
+	return ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, mac, NULL);
 }
 
 /**
@@ -1341,18 +1997,13 @@
 	uint32_t		**flags		/* size(handles->n) */
 ) {
 	PTPContainer	ptp;
-	unsigned char	*dir = NULL;
-	unsigned int	size = 0;
+	unsigned char	*data;
 	uint16_t	ret;
 
-	PTP_CNT_INIT(ptp);
-	ptp.Code=PTP_OC_CANON_GetDirectory;
-	ptp.Nparam=0;
-	ret = ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &dir, &size);
-	if (ret != PTP_RC_OK)
-		return ret;
-	ret = ptp_unpack_canon_directory(params, dir, ptp.Param1, handles, oinfos, flags);
-	free (dir);
+	PTP_CNT_INIT(ptp, PTP_OC_CANON_GetDirectory);
+	CHECK_PTP_RC(ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &data, NULL));
+	ret = ptp_unpack_canon_directory(params, data, ptp.Param1, handles, oinfos, flags);
+	free (data);
 	return ret;
 }
 
@@ -1371,17 +2022,13 @@
 uint16_t
 ptp_canon_gettreeinfo (PTPParams* params, uint32_t *out)
 {
-	PTPContainer ptp;
-	uint16_t ret;
+	PTPContainer	ptp;
 
-	PTP_CNT_INIT(ptp);
-	ptp.Code   = PTP_OC_CANON_GetTreeInfo;
-	ptp.Nparam = 1;
-	ptp.Param1 = 0xf;
-	ret = ptp_transaction(params, &ptp, PTP_DP_NODATA, 0, NULL, NULL);
-	if ((ret == PTP_RC_OK) && (ptp.Nparam>0))
+	PTP_CNT_INIT(ptp, PTP_OC_CANON_GetTreeInfo, 0xf);
+	CHECK_PTP_RC(ptp_transaction(params, &ptp, PTP_DP_NODATA, 0, NULL, NULL));
+	if (ptp.Nparam > 0)
 		*out = ptp.Param1;
-	return ret;
+	return PTP_RC_OK;
 }
 
 /**
@@ -1398,18 +2045,9 @@
 ptp_canon_getpairinginfo (PTPParams* params, uint32_t nr, unsigned char **data, unsigned int *size)
 {
 	PTPContainer ptp;
-	uint16_t ret;
 	
-	PTP_CNT_INIT(ptp);
-	ptp.Code   = PTP_OC_CANON_GetPairingInfo;
-	ptp.Nparam = 1;
-	ptp.Param1 = nr;
-	*data = NULL;
-	*size = 0;
-	ret = ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, data, size);
-	if (ret != PTP_RC_OK)
-		return ret;
-	return PTP_RC_OK;
+	PTP_CNT_INIT(ptp, PTP_OC_CANON_GetPairingInfo, nr);
+	return ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, data, size);
 }
 
 /**
@@ -1428,29 +2066,29 @@
 ptp_canon_gettreesize (PTPParams* params,
 	PTPCanon_directtransfer_entry **entries, unsigned int *cnt)
 {
-	PTPContainer ptp;
-	uint16_t ret;
-	unsigned char *out = NULL, *cur;
-	int i;
-	unsigned int size;
-	
-	PTP_CNT_INIT(ptp);
-	ptp.Code   = PTP_OC_CANON_GetTreeSize;
-	ptp.Nparam = 0;
-	ret = ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &out, &size);
-	if (ret != PTP_RC_OK)
-		return ret;
-	*cnt = dtoh32a(out);
+	PTPContainer	ptp;
+	uint16_t	ret = PTP_RC_OK;
+	unsigned char	*data, *cur;
+	unsigned int	size, i;
+
+	PTP_CNT_INIT(ptp, PTP_OC_CANON_GetTreeSize);
+	CHECK_PTP_RC(ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &data, &size));
+	*cnt = dtoh32a(data);
 	*entries = malloc(sizeof(PTPCanon_directtransfer_entry)*(*cnt));
-	cur = out+4;
+	if (!*entries) {
+		ret = PTP_RC_GeneralError;
+		goto exit;
+	}
+	cur = data+4;
 	for (i=0;i<*cnt;i++) {
 		unsigned char len;
 		(*entries)[i].oid = dtoh32a(cur);
-		(*entries)[i].str = ptp_unpack_string(params, cur, 4, &len);
+		(*entries)[i].str = ptp_unpack_string(params, cur, 4, size-(cur-data-4), &len);
 		cur += 4+(cur[4]*2+1);
 	}
-	free (out);
-	return PTP_RC_OK;
+exit:
+	free (data);
+	return ret;
 }
 
 /**
@@ -1475,90 +2113,204 @@
 uint16_t
 ptp_canon_checkevent (PTPParams* params, PTPContainer* event, int* isevent)
 {
-	uint16_t ret;
-	PTPContainer ptp;
-	unsigned char *evdata = NULL;
-	unsigned int len;
+	PTPContainer	ptp;
+	unsigned char	*data;
+	unsigned int	size;
 	
+	PTP_CNT_INIT(ptp, PTP_OC_CANON_CheckEvent);
 	*isevent=0;
-	PTP_CNT_INIT(ptp);
-	ptp.Code=PTP_OC_CANON_CheckEvent;
-	ptp.Nparam=0;
-	len=0;
-	ret=ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &evdata, &len);
-	if (evdata!=NULL) {
-		if (ret == PTP_RC_OK) {
-        		ptp_unpack_EC(params, evdata, event, len);
-    			*isevent=1;
-        	}
-		free(evdata);
+	CHECK_PTP_RC(ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &data, &size));
+	if (data && size) { /* check if we had a successfull call with data */
+		ptp_unpack_EC(params, data, event, size);
+		*isevent=1;
+		free(data);
 	}
-	return ret;
+	return PTP_RC_OK;
 }
 
 uint16_t
-ptp_check_event (PTPParams *params) {
-	PTPContainer		event;
-	uint16_t		ret;
+ptp_add_event (PTPParams *params, PTPContainer *evt)
+{
+	params->events = realloc(params->events, sizeof(PTPContainer)*(params->nrofevents+1));
+	memcpy (&params->events[params->nrofevents],evt,1*sizeof(PTPContainer));
+	params->nrofevents += 1;
+	return PTP_RC_OK;
+}
 
-	if (	(params->deviceinfo.VendorExtensionID == PTP_VENDOR_NIKON) &&
-		ptp_operation_issupported(params, PTP_OC_NIKON_CheckEvent)
-	) {
-		int evtcnt;
-		PTPContainer	*xevent = NULL;
+static void
+handle_event_internal (PTPParams *params, PTPContainer *event)
+{
+	/* handle some PTP stack internal events */
+	switch (event->Code) {
+	case PTP_EC_DevicePropChanged: {
+		unsigned int i;
 
-		ret = ptp_nikon_check_event(params, &xevent, &evtcnt);
-		if (ret != PTP_RC_OK)
-			return ret;
-
-		if (evtcnt) {
-			if (params->nrofevents)
-				params->events = realloc(params->events, sizeof(PTPContainer)*(evtcnt+params->nrofevents));
-			else
-				params->events = malloc(sizeof(PTPContainer)*evtcnt);
-			memcpy (&params->events[params->nrofevents],xevent,evtcnt*sizeof(PTPContainer));
-			params->nrofevents += evtcnt;
-			free (xevent);
-		}
-		return PTP_RC_OK;
+		/* mark the property for a forced refresh on the next query */
+		for (i=0;i<params->nrofdeviceproperties;i++)
+			if (params->deviceproperties[i].desc.DevicePropertyCode == event->Param1) {
+				params->deviceproperties[i].timestamp = 0;
+				break;
+			}
+		break;
 	}
-	if (	(params->deviceinfo.VendorExtensionID == PTP_VENDOR_CANON) &&
-		ptp_operation_issupported(params, PTP_OC_CANON_CheckEvent)
-	) {
-		int isevent;
+	case PTP_EC_StoreAdded:
+	case PTP_EC_StoreRemoved: {
+		int i;
 
-		ret = ptp_canon_checkevent (params,&event,&isevent);
-		if (ret!=PTP_RC_OK)
-			return ret;
-		if (isevent)
-			goto store_event;
-		/* FIXME: fallthrough or return? */
+		/* refetch storage IDs and also invalidate whole object tree */
+		free (params->storageids.Storage);
+		params->storageids.Storage	= NULL;
+		params->storageids.n 		= 0;
+		ptp_getstorageids (params, &params->storageids);
+
+		/* free object storage as it might be associated with the storage ids */
+		/* FIXME: enhance and just delete the ones from the storage */
+		for (i=0;i<params->nrofobjects;i++)
+			ptp_free_object (&params->objects[i]);
+		free (params->objects);
+		params->objects 		= NULL;
+		params->nrofobjects 		= 0;
+
+		params->storagechanged		= 1;
+		break;
 	}
-	ret = params->event_check(params,&event);
+	default: /* check if we should handle it internally too */
+		break;
+	}
+}
 
-store_event:
+uint16_t
+ptp_check_event_queue (PTPParams *params)
+{
+	PTPContainer	event;
+	uint16_t	ret;
+
+	/* We try to do a event check without I/O */
+	/* Basically this means just looking at the meanwhile queued events */
+
+	ret = params->event_check_queue(params,&event);
+
 	if (ret == PTP_RC_OK) {
 		ptp_debug (params, "event: nparams=0x%X, code=0x%X, trans_id=0x%X, p1=0x%X, p2=0x%X, p3=0x%X", event.Nparam,event.Code,event.Transaction_ID, event.Param1, event.Param2, event.Param3);
-		if (params->nrofevents)
-			params->events = realloc(params->events, sizeof(PTPContainer)*(params->nrofevents+1));
-		else
-			params->events = malloc(sizeof(PTPContainer)*1);
-		memcpy (&params->events[params->nrofevents],&event,1*sizeof(PTPContainer));
-		params->nrofevents += 1;
+		ptp_add_event (params, &event);
+		handle_event_internal (params, &event);
 	}
 	if (ret == PTP_ERROR_TIMEOUT) /* ok, just new events */
 		ret = PTP_RC_OK;
 	return ret;
 }
 
+uint16_t
+ptp_check_event (PTPParams *params)
+{
+	PTPContainer	event;
+	uint16_t	ret;
+
+	/* Method offered by Nikon DSLR, Nikon 1, and some older Nikon Coolpix P*
+	 * The Nikon Coolpix P2 however does not return anything. So if we never get
+	 * events from here, use the ptp "interrupt" method */
+	if (	(params->deviceinfo.VendorExtensionID == PTP_VENDOR_NIKON) &&
+		ptp_operation_issupported(params, PTP_OC_NIKON_CheckEvent)
+	) {
+		unsigned int evtcnt = 0, i;
+		PTPContainer *xevent = NULL;
+
+		ret = ptp_nikon_check_event(params, &xevent, &evtcnt);
+		if (ret != PTP_RC_OperationNotSupported)
+			CHECK_PTP_RC(ret);
+
+		if (evtcnt) {
+			for (i = 0; i < evtcnt; i++)
+				handle_event_internal (params, &xevent[i]);
+			params->events = realloc(params->events, sizeof(PTPContainer)*(evtcnt+params->nrofevents));
+			memcpy (&params->events[params->nrofevents],xevent,evtcnt*sizeof(PTPContainer));
+			params->nrofevents += evtcnt;
+			free (xevent);
+			params->event90c7works = 1;
+		}
+		if (params->event90c7works)
+			return PTP_RC_OK;
+		/* fall through to generic event handling */
+	}
+	/* should not get here ... EOS has no normal PTP events and another queue handling. */
+	if (	(params->deviceinfo.VendorExtensionID == PTP_VENDOR_CANON) &&
+		ptp_operation_issupported(params, PTP_OC_CANON_EOS_GetEvent)
+	) {
+		return PTP_RC_OK;
+	}
+
+	if (	(params->deviceinfo.VendorExtensionID == PTP_VENDOR_CANON) &&
+		ptp_operation_issupported(params, PTP_OC_CANON_CheckEvent)
+	) {
+		int isevent;
+
+		CHECK_PTP_RC(ptp_canon_checkevent (params,&event,&isevent));
+
+		if (isevent) {
+			ret = PTP_RC_OK;
+			goto store_event;
+		}
+		/* Event Emulate Mode 0 (unset) and 1-5 get interrupt events. 6-7 does not. */
+		if (params->canon_event_mode > 5)
+			return PTP_RC_OK;
+
+		/* FIXME: fallthrough or return? */
+#ifdef __APPLE__
+		/* the libusb 1 on darwin currently does not like polling
+		 * for interrupts, they have no timeout for it. 2010/08/23
+		 * Check back in 2011 or so. -Marcus
+		 */
+		return PTP_RC_OK;
+#endif
+	}
+	ret = params->event_check(params,&event);
+
+store_event:
+	if (ret == PTP_RC_OK) {
+		ptp_debug (params, "event: nparams=0x%X, code=0x%X, trans_id=0x%X, p1=0x%X, p2=0x%X, p3=0x%X", event.Nparam,event.Code,event.Transaction_ID, event.Param1, event.Param2, event.Param3);
+		ptp_add_event (params, &event);
+
+		handle_event_internal (params, &event);
+
+	
+	}
+	if (ret == PTP_ERROR_TIMEOUT) /* ok, just new events */
+		ret = PTP_RC_OK;
+	return ret;
+}
+
+uint16_t
+ptp_wait_event (PTPParams *params)
+{
+	PTPContainer	event;
+	uint16_t	ret;
+
+	ret = params->event_wait(params,&event);
+	if (ret == PTP_RC_OK) {
+		ptp_debug (params, "event: nparams=0x%X, code=0x%X, trans_id=0x%X, p1=0x%X, p2=0x%X, p3=0x%X", event.Nparam,event.Code,event.Transaction_ID, event.Param1, event.Param2, event.Param3);
+		ptp_add_event (params, &event);
+
+		handle_event_internal (params, &event);
+	}
+	if (ret == PTP_ERROR_TIMEOUT) /* ok, just new events */
+		ret = PTP_RC_OK;
+	return ret;
+}
+
+
 int
-ptp_get_one_event(PTPParams *params, PTPContainer *event) {
+ptp_get_one_event(PTPParams *params, PTPContainer *event)
+{
 	if (!params->nrofevents)
 		return 0;
 	memcpy (event, params->events, sizeof(PTPContainer));
 	memmove (params->events, params->events+1, sizeof(PTPContainer)*(params->nrofevents-1));
 	/* do not realloc on shrink. */
 	params->nrofevents--;
+	if (!params->nrofevents) {
+		free (params->events);
+		params->events = NULL;
+	}
 	return 1;
 }
 
@@ -1577,27 +2329,69 @@
 uint16_t
 ptp_canon_eos_getevent (PTPParams* params, PTPCanon_changes_entry **entries, int *nrofentries)
 {
-	PTPContainer ptp;
-	uint16_t	ret;
-	unsigned int 	size = 0;
-	unsigned char	*data = NULL;
+	PTPContainer	ptp;
+	unsigned char	*data;
+	unsigned int 	size;
 
+	PTP_CNT_INIT(ptp, PTP_OC_CANON_EOS_GetEvent);
 	*nrofentries = 0;
 	*entries = NULL;
-	PTP_CNT_INIT(ptp);
-	ptp.Code = PTP_OC_CANON_EOS_GetEvent;
-	ptp.Nparam = 0;
-	ret = ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &data, &size);
-	if (ret != PTP_RC_OK) return ret;
-        *nrofentries = ptp_unpack_CANON_changes(params,data,size,entries);
+	CHECK_PTP_RC(ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &data, &size));
+	*nrofentries = ptp_unpack_CANON_changes(params,data,size,entries);
+	free (data);
 	return PTP_RC_OK;
 }
 
 uint16_t
+ptp_check_eos_events (PTPParams *params)
+{
+	PTPCanon_changes_entry	*entries = NULL, *nentries;
+	int			nrofentries = 0;
+
+	while (1) { /* call it repeatedly until the camera does not report any */
+		CHECK_PTP_RC(ptp_canon_eos_getevent (params, &entries, &nrofentries));
+		if (!nrofentries)
+			return PTP_RC_OK;
+
+		if (params->nrofbacklogentries) {
+			nentries = realloc(params->backlogentries,sizeof(entries[0])*(params->nrofbacklogentries+nrofentries));
+			if (!nentries)
+				return PTP_RC_GeneralError;
+			params->backlogentries = nentries;
+			memcpy (nentries+params->nrofbacklogentries, entries, nrofentries*sizeof(entries[0]));
+			params->nrofbacklogentries += nrofentries;
+			free (entries);
+		} else {
+			params->backlogentries = entries;
+			params->nrofbacklogentries = nrofentries;
+		}
+	}
+	return PTP_RC_OK;
+}
+
+int
+ptp_get_one_eos_event (PTPParams *params, PTPCanon_changes_entry *entry)
+{
+	if (!params->nrofbacklogentries)
+		return 0;
+	memcpy (entry, params->backlogentries, sizeof(*entry));
+	if (params->nrofbacklogentries > 1) {
+		memmove (params->backlogentries,params->backlogentries+1,sizeof(*entry)*(params->nrofbacklogentries-1));
+		params->nrofbacklogentries--;
+	} else {
+		free (params->backlogentries);
+		params->backlogentries = NULL;
+		params->nrofbacklogentries = 0;
+	}
+	return 1;
+}
+
+
+uint16_t
 ptp_canon_eos_getdevicepropdesc (PTPParams* params, uint16_t propcode,
 	PTPDevicePropDesc *dpd)
 {
-	int i;
+	unsigned int i;
 
 	for (i=0;i<params->nrofcanon_props;i++)
 		if (params->canon_props[i].proptype == propcode)
@@ -1626,33 +2420,75 @@
 ptp_canon_eos_getstorageids (PTPParams* params, PTPStorageIDs* storageids)
 {
 	PTPContainer	ptp;
-	unsigned int	len = 0;
-	uint16_t	ret;
-	unsigned char*	sids=NULL;
-	
-	PTP_CNT_INIT(ptp);
-	ptp.Code 	= PTP_OC_CANON_EOS_GetStorageIDs;
-	ptp.Nparam	= 0;
-	ret = ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &sids, &len);
-	if (ret == PTP_RC_OK) ptp_unpack_SIDs(params, sids, storageids, len);
-	free(sids);
-	return ret;
+	unsigned char	*data;
+	unsigned int	size;
+
+	PTP_CNT_INIT(ptp, PTP_OC_CANON_EOS_GetStorageIDs);
+	CHECK_PTP_RC(ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &data, &size));
+	ptp_unpack_SIDs(params, data, storageids, size);
+	free(data);
+	return PTP_RC_OK;
 }
 
 uint16_t
-ptp_canon_eos_getstorageinfo (PTPParams* params, uint32_t p1)
+ptp_canon_eos_getstorageinfo (PTPParams* params, uint32_t p1, unsigned char **data, unsigned int *size)
 {
-	PTPContainer ptp;
-	unsigned char	*data = NULL;
-	unsigned int	size = 0;
-	uint16_t	ret;
+	PTPContainer	ptp;
 	
-	PTP_CNT_INIT(ptp);
-	ptp.Code 	= PTP_OC_CANON_EOS_GetStorageInfo;
-	ptp.Nparam	= 1;
-	ptp.Param1	= p1;
-	ret = ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &data, &size);
+	PTP_CNT_INIT(ptp, PTP_OC_CANON_EOS_GetStorageInfo, p1);
+	return ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, data, size);
 	/* FIXME: do stuff with data */
+}
+
+uint16_t
+ptp_canon_eos_getobjectinfoex (
+	PTPParams* params, uint32_t storageid, uint32_t oid, uint32_t unk,
+	PTPCANONFolderEntry **entries, unsigned int *nrofentries
+) {
+	PTPContainer	ptp;
+	uint16_t	ret = PTP_RC_OK;
+	unsigned char	*data, *xdata;
+	unsigned int	size, i;
+
+	PTP_CNT_INIT(ptp, PTP_OC_CANON_EOS_GetObjectInfoEx, storageid, oid, unk);
+	CHECK_PTP_RC(ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &data, &size));
+	if (!data) {
+		*nrofentries = 0;
+		return PTP_RC_OK;
+	}
+
+	if (size < 4) {
+		ret = PTP_RC_GeneralError;
+		goto exit;
+	}
+	/* check for integer overflow */
+	if (dtoh32a(data) >= INT_MAX/sizeof(PTPCANONFolderEntry))  {
+		ret = PTP_RC_GeneralError;
+		goto exit;
+	}
+
+	*nrofentries = dtoh32a(data);
+	*entries = malloc(*nrofentries * sizeof(PTPCANONFolderEntry));
+	if (!*entries) {
+		ret = PTP_RC_GeneralError;
+		goto exit;
+	}
+
+	xdata = data+sizeof(uint32_t);
+	for (i=0;i<*nrofentries;i++) {
+		if ((dtoh32a(xdata) + (xdata-data)) > size) {
+			ptp_debug (params, "reading canon FEs run over read data size?\n");
+			free (*entries);
+			*entries = NULL;
+			*nrofentries = 0;
+			ret = PTP_RC_GeneralError;
+			goto exit;
+		}
+		ptp_unpack_Canon_EOS_FE (params, &xdata[4], &((*entries)[i]));
+		xdata += dtoh32a(xdata);
+	}
+exit:
+	free (data);
 	return ret;
 }
 
@@ -1676,16 +2512,9 @@
 ptp_canon_eos_getpartialobject (PTPParams* params, uint32_t oid, uint32_t offset, uint32_t xsize, unsigned char**data)
 {
 	PTPContainer	ptp;
-	unsigned int	size = 0;
 
-	*data = NULL;
-	PTP_CNT_INIT(ptp);
-	ptp.Code 	= PTP_OC_CANON_EOS_GetPartialObject;
-	ptp.Nparam	= 3;
-	ptp.Param1	= oid;
-	ptp.Param2	= offset;
-	ptp.Param3	= xsize;
-	return ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, data, &size);
+	PTP_CNT_INIT(ptp, PTP_OC_CANON_EOS_GetPartialObject, oid, offset, xsize);
+	return ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, data, NULL);
 }
 
 uint16_t
@@ -1693,9 +2522,7 @@
 {
 	PTPContainer	ptp;
 
-	PTP_CNT_INIT(ptp);
-	ptp.Code 	= PTP_OC_CANON_EOS_SetDevicePropValueEx;
-	ptp.Nparam	= 0;
+	PTP_CNT_INIT(ptp, PTP_OC_CANON_EOS_SetDevicePropValueEx);
 	return ptp_transaction(params, &ptp, PTP_DP_SENDDATA, size, &data, NULL);
 }
 
@@ -1705,13 +2532,11 @@
 ) {
 	PTPContainer	ptp;
 	uint16_t	ret;
-	int 		i;
-	unsigned char	*data;
-	unsigned int	size;
+	unsigned char	*data = NULL;
+	unsigned int	i, size;
 
-	PTP_CNT_INIT(ptp);
-	ptp.Code 	= PTP_OC_CANON_EOS_SetDevicePropValueEx;
-	ptp.Nparam	= 0;
+	PTP_CNT_INIT(ptp, PTP_OC_CANON_EOS_SetDevicePropValueEx);
+
 	for (i=0;i<params->nrofcanon_props;i++)
 		if (params->canon_props[i].proptype == propcode)
 			break;
@@ -1726,28 +2551,43 @@
 		/* special handling of ImageFormat properties */
 		size = 8 + ptp_pack_EOS_ImageFormat( params, NULL, value->u16 );
 		data = malloc( size );
+		if (!data) return PTP_RC_GeneralError;
 		params->canon_props[i].dpd.CurrentValue.u16 = value->u16;
 		ptp_pack_EOS_ImageFormat( params, data + 8, value->u16 );
 		break;
+	case PTP_DPC_CANON_EOS_CustomFuncEx:
+		/* special handling of CustomFuncEx properties */
+		ptp_debug (params, "ptp2/ptp_canon_eos_setdevicepropvalue: setting EOS prop %x to %s",propcode,value->str);
+		size = 8 + ptp_pack_EOS_CustomFuncEx( params, NULL, value->str );
+		data = malloc( size );
+		if (!data) return PTP_RC_GeneralError;
+		params->canon_props[i].dpd.CurrentValue.str = strdup( value->str );
+		ptp_pack_EOS_CustomFuncEx( params, data + 8, value->str );
+		break;
 	default:
 		if (datatype != PTP_DTC_STR) {
-			data = calloc(sizeof(uint32_t),3);
+			data = calloc(3,sizeof(uint32_t));
+			if (!data) return PTP_RC_GeneralError;
 			size = sizeof(uint32_t)*3;
 		} else {
 			size = strlen(value->str) + 1 + 8;
-			data = calloc(sizeof(char),size);
+			data = calloc(size,sizeof(char));
+			if (!data) return PTP_RC_GeneralError;
 		}
 		switch (datatype) {
+		case PTP_DTC_INT8:
 		case PTP_DTC_UINT8:
 			/*fprintf (stderr, "%x -> %d\n", propcode, value->u8);*/
 			htod8a(&data[8], value->u8);
 			params->canon_props[i].dpd.CurrentValue.u8 = value->u8;
 			break;
 		case PTP_DTC_UINT16:
+		case PTP_DTC_INT16:
 			/*fprintf (stderr, "%x -> %d\n", propcode, value->u16);*/
 			htod16a(&data[8], value->u16);
 			params->canon_props[i].dpd.CurrentValue.u16 = value->u16;
 			break;
+		case PTP_DTC_INT32:
 		case PTP_DTC_UINT32:
 			/*fprintf (stderr, "%x -> %d\n", propcode, value->u32);*/
 			htod32a(&data[8], value->u32);
@@ -1793,24 +2633,17 @@
 				uint32_t pos, unsigned char** block, 
 				uint32_t* readnum)
 {
-	uint16_t ret;
-	PTPContainer ptp;
-	unsigned char *data=NULL;
-	unsigned int len;
+	PTPContainer	ptp;
+	uint16_t	ret;
+	unsigned char	*data;
 	
-	PTP_CNT_INIT(ptp);
-	ptp.Code=PTP_OC_CANON_GetPartialObjectEx;
-	ptp.Param1=handle;
-	ptp.Param2=offset;
-	ptp.Param3=size;
-	ptp.Param4=pos;
-	ptp.Nparam=4;
-	len=0;
-	ret=ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &data, &len);
+	PTP_CNT_INIT(ptp, PTP_OC_CANON_GetPartialObjectEx, handle, offset, size, pos);
+	ret=ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &data, NULL);
 	if (ret==PTP_RC_OK) {
 		*block=data;
 		*readnum=ptp.Param1;
 	}
+	free (data);
 	return ret;
 }
 
@@ -1833,15 +2666,13 @@
 uint16_t
 ptp_canon_getviewfinderimage (PTPParams* params, unsigned char** image, uint32_t* size)
 {
-	uint16_t ret;
-	PTPContainer ptp;
-	unsigned int len;
+	PTPContainer	ptp;
+	uint16_t	ret;
 	
-	PTP_CNT_INIT(ptp);
-	ptp.Code=PTP_OC_CANON_GetViewfinderImage;
-	ptp.Nparam=0;
-	ret=ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, image, &len);
-	if (ret==PTP_RC_OK) *size=ptp.Param1;
+	PTP_CNT_INIT(ptp, PTP_OC_CANON_GetViewfinderImage);
+	ret=ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, image, NULL);
+	if (ret==PTP_RC_OK)
+		*size=ptp.Param1;
 	return ret;
 }
 
@@ -1865,20 +2696,15 @@
 uint16_t
 ptp_canon_getchanges (PTPParams* params, uint16_t** props, uint32_t* propnum)
 {
-	uint16_t ret;
-	PTPContainer ptp;
-	unsigned char* data=NULL;
-	unsigned int len;
+	PTPContainer	ptp;
+	unsigned char	*data;
+	unsigned int	size;
 	
-	PTP_CNT_INIT(ptp);
-	ptp.Code=PTP_OC_CANON_GetChanges;
-	ptp.Nparam=0;
-	len=0;
-	ret=ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &data, &len);
-	if (ret == PTP_RC_OK)
-        	*propnum=ptp_unpack_uint16_t_array(params,data,0,props);
+	PTP_CNT_INIT(ptp, PTP_OC_CANON_GetChanges);
+	CHECK_PTP_RC(ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &data, &size));
+	*propnum=ptp_unpack_uint16_t_array(params,data,0,size,props);
 	free(data);
-	return ret;
+	return PTP_RC_OK;
 }
 
 /**
@@ -1909,34 +2735,42 @@
 			    uint32_t parent, uint32_t handle, 
 			    PTPCANONFolderEntry** entries, uint32_t* entnum)
 {
-	uint16_t ret;
-	PTPContainer ptp;
-	unsigned char *data = NULL;
-	unsigned int len;
+	PTPContainer	ptp;
+	uint16_t	ret;
+	unsigned char	*data;
+	unsigned int	i, size;
 	
-	PTP_CNT_INIT(ptp);
-	ptp.Code=PTP_OC_CANON_GetObjectInfoEx;
-	ptp.Param1=store;
-	ptp.Param2=p2;
-	ptp.Param3=parent;
-	ptp.Param4=handle;
-	ptp.Nparam=4;
-	len=0;
-	ret=ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &data, &len);
-	if (ret == PTP_RC_OK) {
-		int i;
-		*entnum=ptp.Param1;
-		*entries=calloc(*entnum, sizeof(PTPCANONFolderEntry));
-		if (*entries!=NULL) {
-			for(i=0; i<(*entnum); i++)
-				ptp_unpack_Canon_FE(params,
-					data+i*PTP_CANON_FolderEntryLen,
-					&((*entries)[i]) );
-		} else {
-			ret=PTP_ERROR_IO; /* Cannot allocate memory */
-		}
+	*entnum = 0;
+	*entries = NULL;
+	PTP_CNT_INIT(ptp, PTP_OC_CANON_GetObjectInfoEx, store, p2, parent, handle);
+	data = NULL;
+	size = 0;
+	ret=ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &data, NULL);
+	if (ret != PTP_RC_OK)
+		goto exit;
+	if (!data)
+		return ret;
+	if (ptp.Param1 > size/PTP_CANON_FolderEntryLen) {
+		ptp_debug (params, "param1 is %d, size is only %d", ptp.Param1, size);
+		ret = PTP_RC_GeneralError;
+		goto exit;
 	}
-	free(data);
+
+	*entnum = ptp.Param1;
+	*entries= calloc(*entnum, sizeof(PTPCANONFolderEntry));
+	if (*entries == NULL) {
+		ret = PTP_RC_GeneralError;
+		goto exit;
+	}
+	for(i=0; i<(*entnum); i++) {
+		if (size < i*PTP_CANON_FolderEntryLen) break;
+		ptp_unpack_Canon_FE(params,
+				    data+i*PTP_CANON_FolderEntryLen,
+				    &((*entries)[i]) );
+	}
+
+exit:
+	free (data);
 	return ret;
 }
 
@@ -1960,16 +2794,14 @@
 uint16_t
 ptp_canon_get_objecthandle_by_name (PTPParams* params, char* name, uint32_t* objectid)
 {
-	uint16_t ret;
-	PTPContainer ptp;
-	unsigned char *data = NULL;
-	uint8_t len;
+	PTPContainer	ptp;
+	uint16_t	ret;
+	unsigned char	*data;
+	uint8_t		len = 0;
 
-	PTP_CNT_INIT (ptp);
-	ptp.Code=PTP_OC_CANON_GetObjectHandleByName;
-	ptp.Nparam=0;
-	len=0;
+	PTP_CNT_INIT(ptp, PTP_OC_CANON_GetObjectHandleByName);
 	data = malloc (2*(strlen(name)+1)+2);
+	if (!data) return PTP_RC_GeneralError;
 	memset (data, 0, 2*(strlen(name)+1)+2);
 	ptp_pack_string (params, name, data, 0, &len);
 	ret=ptp_transaction (params, &ptp, PTP_DP_SENDDATA, (len+1)*2+1, &data, NULL);
@@ -1998,29 +2830,43 @@
 {
 	PTPContainer ptp;
 
-	*data = NULL;
-	*size = 0;
-	PTP_CNT_INIT(ptp);
-	ptp.Code	= PTP_OC_CANON_GetCustomizeData;
-	ptp.Param1	= themenr;
-	ptp.Nparam	= 1;
+	PTP_CNT_INIT(ptp, PTP_OC_CANON_GetCustomizeData, themenr);
 	return ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, data, size); 
 }
 
 
 uint16_t
-ptp_nikon_curve_download (PTPParams* params, unsigned char **data, unsigned int *size) {
+ptp_nikon_curve_download (PTPParams* params, unsigned char **data, unsigned int *size)
+{
 	PTPContainer ptp;
-	*data = NULL;
-	*size = 0;
-	PTP_CNT_INIT(ptp);
-	ptp.Code	= PTP_OC_NIKON_CurveDownload;
-	ptp.Nparam	= 0;
+
+	PTP_CNT_INIT(ptp, PTP_OC_NIKON_CurveDownload);
 	return ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, data, size); 
 }
 
 /**
- * ptp_canon_get_vendorpropcodes:
+ * ptp_sony_sdioconnect:
+ *
+ * This changes modes of the camera
+ *  
+ * params:	PTPParams*
+ *
+ * Return values: Some PTP_RC_* code.
+ *
+ **/
+uint16_t
+ptp_sony_sdioconnect (PTPParams* params, uint32_t p1, uint32_t p2, uint32_t p3)
+{
+	PTPContainer	ptp;
+	unsigned char	*data;
+
+	PTP_CNT_INIT(ptp, PTP_OC_SONY_SDIOConnect, p1, p2, p3);
+	CHECK_PTP_RC(ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &data, NULL));
+	free (data);
+	return PTP_RC_OK;
+}
+/**
+ * ptp_sony_get_vendorpropcodes:
  *
  * This command downloads the vendor specific property codes.
  *  
@@ -2032,37 +2878,385 @@
  *
  **/
 uint16_t
-ptp_nikon_get_vendorpropcodes (PTPParams* params, uint16_t **props, unsigned int *size) {
+ptp_sony_get_vendorpropcodes (PTPParams* params, uint16_t **props, unsigned int *size)
+{
 	PTPContainer	ptp;
-	uint16_t	ret;
-	unsigned char	*xdata;
-	unsigned int 	xsize;
+	unsigned char	*xdata = NULL;
+	unsigned int 	xsize, psize1 = 0, psize2 = 0;
+	uint16_t	*props1 = NULL,*props2 = NULL;
 
 	*props = NULL;
 	*size = 0;
-	PTP_CNT_INIT(ptp);
-	ptp.Code	= PTP_OC_NIKON_GetVendorPropCodes;
-	ptp.Nparam	= 0;
-	ret = ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &xdata, &xsize); 
-	if (ret == PTP_RC_OK)
-        	*size = ptp_unpack_uint16_t_array(params,xdata,0,props);
+	PTP_CNT_INIT(ptp, PTP_OC_SONY_GetSDIOGetExtDeviceInfo, 0xc8 /* unclear */);
+	CHECK_PTP_RC(ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &xdata, &xsize));
+	if (xsize == 0) {
+		ptp_debug (params, "No special operations sent?");
+		return PTP_RC_OK;
+	}
+
+	psize1 = ptp_unpack_uint16_t_array (params, xdata+2, 0, xsize, &props1);
+	ptp_debug (params, "xsize %d, got size %d\n", xsize, psize1*2 + 2 + 4);
+	if (psize1*2 + 2 + 4 < xsize) {
+		psize2 = ptp_unpack_uint16_t_array(params,xdata+2+psize1*2+4, 0, xsize, &props2);
+	}
+	*props = calloc(psize1+psize2, sizeof(uint16_t));
+	if (!*props) {
+		ptp_debug (params, "oom during malloc?");
+		free (props1);
+		free (props2);
+		free (xdata);
+		return PTP_RC_OK;
+	}
+	*size = psize1+psize2;
+	memcpy (*props, props1, psize1*sizeof(uint16_t));
+	memcpy ((*props)+psize1, props2, psize2*sizeof(uint16_t));
+	free (props1);
+	free (props2);
+	free (xdata);
+	return PTP_RC_OK;
+}
+
+uint16_t
+ptp_sony_getdevicepropdesc (PTPParams* params, uint16_t propcode, PTPDevicePropDesc *dpd)
+{
+	PTPContainer	ptp;
+	unsigned char	*data;
+	unsigned int 	size, len = 0;
+	uint16_t	ret;
+
+	PTP_CNT_INIT(ptp, PTP_OC_SONY_GetDevicePropdesc, propcode);
+	CHECK_PTP_RC(ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &data, &size));
+	if (!data) return PTP_RC_GeneralError;
+	/* first 16 bit is 0xc8 0x00, then an array of 16 bit PTP ids */
+	ret = ptp_unpack_Sony_DPD(params,data,dpd,size,&len) ? PTP_RC_OK : PTP_RC_GeneralError;
+	free (data);
 	return ret;
 }
 
 uint16_t
+ptp_sony_getalldevicepropdesc (PTPParams* params)
+{
+	PTPContainer		ptp;
+	unsigned char		*data, *dpddata;
+	unsigned int		size, readlen;
+	PTPDevicePropDesc	dpd;
+
+	PTP_CNT_INIT(ptp, PTP_OC_SONY_GetAllDevicePropData);
+	CHECK_PTP_RC(ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &data, &size));
+	if (!data)
+		return PTP_RC_GeneralError;
+	if (size <= 8) {
+		free (data);
+		return PTP_RC_GeneralError;
+	}
+	dpddata = data+8; /* nr of entries 32bit, 0 32bit */
+	size -= 8;
+	while (size>0) {
+		unsigned int	i;
+		uint16_t	propcode;
+
+		if (!ptp_unpack_Sony_DPD (params, dpddata, &dpd, size, &readlen))
+			break;
+
+		propcode = dpd.DevicePropertyCode;
+
+		for (i=0;i<params->nrofdeviceproperties;i++)
+			if (params->deviceproperties[i].desc.DevicePropertyCode == propcode)
+				break;
+
+		/* debug output to see what changes */
+		if (i != params->nrofdeviceproperties) {
+			switch (dpd.DataType) {
+			case PTP_DTC_INT8:
+#define CHECK_CHANGED(type) \
+				if (params->deviceproperties[i].desc.CurrentValue.type != dpd.CurrentValue.type) \
+					ptp_debug (params, "ptp_sony_getalldevicepropdesc: %04x: value %d -> %d", propcode, params->deviceproperties[i].desc.CurrentValue.type, dpd.CurrentValue.type);
+				CHECK_CHANGED(i8);
+				break;
+			case PTP_DTC_UINT8:
+				CHECK_CHANGED(u8);
+				break;
+			case PTP_DTC_UINT16:
+				CHECK_CHANGED(u16);
+				break;
+			case PTP_DTC_INT16:
+				CHECK_CHANGED(i16);
+				break;
+			case PTP_DTC_INT32:
+				CHECK_CHANGED(i32);
+				break;
+			case PTP_DTC_UINT32:
+				CHECK_CHANGED(u32);
+				break;
+			default:
+				break;
+			}
+		}
+
+		if (i == params->nrofdeviceproperties) {
+			params->deviceproperties = realloc(params->deviceproperties,(i+1)*sizeof(params->deviceproperties[0]));
+			memset(&params->deviceproperties[i],0,sizeof(params->deviceproperties[0]));
+			params->nrofdeviceproperties++;
+		} else {
+			ptp_free_devicepropdesc (&params->deviceproperties[i].desc);
+		}
+		params->deviceproperties[i].desc = dpd;
+#if 0
+		ptp_debug (params, "dpd.DevicePropertyCode %04x, readlen %d, getset %d", dpd.DevicePropertyCode, readlen, dpd.GetSet);
+		switch (dpd.DataType) {
+		case PTP_DTC_INT8:
+			ptp_debug (params, "value %d/%x", dpd.CurrentValue.i8, dpd.CurrentValue.i8);
+			break;
+		case PTP_DTC_UINT8:
+			ptp_debug (params, "value %d/%x", dpd.CurrentValue.u8, dpd.CurrentValue.u8);
+			break;
+		case PTP_DTC_UINT16:
+			ptp_debug (params, "value %d/%x", dpd.CurrentValue.u16, dpd.CurrentValue.u16);
+			break;
+		case PTP_DTC_INT16:
+			ptp_debug (params, "value %d/%x", dpd.CurrentValue.i16, dpd.CurrentValue.i16);
+			break;
+		case PTP_DTC_INT32:
+			ptp_debug (params, "value %d/%x", dpd.CurrentValue.i32, dpd.CurrentValue.i32);
+			break;
+		case PTP_DTC_UINT32:
+			ptp_debug (params, "value %d/%x", dpd.CurrentValue.u32, dpd.CurrentValue.u32);
+			break;
+		default:
+			ptp_debug (params, "unknown type %x", dpd.DataType);
+			break;
+		}
+#endif
+		dpddata += readlen;
+		size -= readlen;
+	}
+	free(data);
+	return PTP_RC_OK;
+}
+
+uint16_t
+ptp_sony_setdevicecontrolvaluea (PTPParams* params, uint16_t propcode,
+			PTPPropertyValue *value, uint16_t datatype)
+{
+	PTPContainer	ptp;
+	uint16_t	ret;
+	unsigned char	*data;
+	uint32_t	size;
+
+	PTP_CNT_INIT(ptp, PTP_OC_SONY_SetControlDeviceA, propcode);
+	size = ptp_pack_DPV(params, value, &data, datatype);
+	ret = ptp_transaction(params, &ptp, PTP_DP_SENDDATA, size, &data, NULL);
+	free(data);
+	return ret;
+}
+
+uint16_t
+ptp_sony_setdevicecontrolvalueb (PTPParams* params, uint16_t propcode,
+			PTPPropertyValue *value, uint16_t datatype)
+{
+	PTPContainer	ptp;
+	uint16_t	ret;
+	unsigned char	*data;
+	uint32_t	size;
+
+	PTP_CNT_INIT(ptp, PTP_OC_SONY_SetControlDeviceB, propcode);
+	size = ptp_pack_DPV(params, value, &data , datatype);
+	ret = ptp_transaction(params, &ptp, PTP_DP_SENDDATA, size, &data, NULL);
+	free(data);
+	return ret;
+}
+
+uint16_t
+ptp_sony_9280 (PTPParams* params, uint32_t param1,
+	uint32_t additional, uint32_t data2, uint32_t data3, uint32_t data4, uint8_t x, uint8_t y)
+{
+	PTPContainer	ptp;
+	unsigned char 	buf[18];
+	unsigned char	*buffer;
+
+	PTP_CNT_INIT(ptp, 0x9280, param1);
+
+	if ((additional != 0) && (additional != 2))
+		return PTP_RC_GeneralError;
+
+	htod32a(&buf[0], additional);
+	htod32a(&buf[4], data2);
+	htod32a(&buf[8], data3);
+	htod32a(&buf[12], data4);
+
+	/* only sent in the case where additional is 2 */
+	buf[16]= x; buf[17]= y;
+
+	buffer=buf;
+	return ptp_transaction(params, &ptp, PTP_DP_SENDDATA, 16+additional, &buffer, NULL);
+}
+
+uint16_t
+ptp_sony_9281 (PTPParams* params, uint32_t param1) {
+	PTPContainer	ptp;
+	unsigned int	size = 0;
+	unsigned char	*buffer = NULL;
+	uint16_t	ret;
+
+	PTP_CNT_INIT(ptp, 0x9281, param1);
+	ret =  ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &buffer, &size);
+	free (buffer);
+	return ret;
+}
+
+/**
+ * ptp_generic_getdevicepropdesc:
+ *
+ * This command gets a propertydesc.
+ * If a vendor specific property desc query is available, it uses that.
+ * If not, it falls back to the generic PTP getdevicepropdesc.
+ *  
+ * params:	PTPParams*
+ *      uint16_t propcode 
+ *      PTPDevicePropDesc *dpd
+ *
+ * Return values: Some PTP_RC_* code.
+ *
+ **/
+/* Cache time in seconds. Should perhaps be more granular... */
+
+uint16_t
+ptp_generic_getdevicepropdesc (PTPParams *params, uint16_t propcode, PTPDevicePropDesc *dpd)
+{
+	unsigned int	i;
+	time_t		now;
+
+	for (i=0;i<params->nrofdeviceproperties;i++)
+		if (params->deviceproperties[i].desc.DevicePropertyCode == propcode)
+			break;
+	if (i == params->nrofdeviceproperties) {
+		params->deviceproperties = realloc(params->deviceproperties,(i+1)*sizeof(params->deviceproperties[0]));
+		memset(&params->deviceproperties[i],0,sizeof(params->deviceproperties[0]));
+		params->nrofdeviceproperties++;
+	}
+
+	if (params->deviceproperties[i].desc.DataType != PTP_DTC_UNDEF) {
+		time(&now);
+		if (params->deviceproperties[i].timestamp + params->cachetime > now) {
+			duplicate_DevicePropDesc(&params->deviceproperties[i].desc, dpd);
+			return PTP_RC_OK;
+		}
+		/* free cached entry as we will refetch it. */
+		ptp_free_devicepropdesc (&params->deviceproperties[i].desc);
+	}
+
+	if (	(params->deviceinfo.VendorExtensionID == PTP_VENDOR_SONY) &&
+		ptp_operation_issupported(params, PTP_OC_SONY_GetAllDevicePropData)
+	) {
+		CHECK_PTP_RC(ptp_sony_getalldevicepropdesc (params));
+
+		for (i=0;i<params->nrofdeviceproperties;i++)
+			if (params->deviceproperties[i].desc.DevicePropertyCode == propcode)
+				break;
+		if (i == params->nrofdeviceproperties) {
+			ptp_debug (params, "property 0x%04x not found?\n", propcode);
+			return PTP_RC_GeneralError;
+		}
+		time(&now);
+		params->deviceproperties[i].timestamp = now;
+		duplicate_DevicePropDesc(&params->deviceproperties[i].desc, dpd);
+		return PTP_RC_OK;
+	}
+	if (	(params->deviceinfo.VendorExtensionID == PTP_VENDOR_SONY) &&
+		ptp_operation_issupported(params, PTP_OC_SONY_GetDevicePropdesc)
+	) {
+		CHECK_PTP_RC(ptp_sony_getdevicepropdesc (params, propcode, &params->deviceproperties[i].desc));
+
+		time(&now);
+		params->deviceproperties[i].timestamp = now;
+		duplicate_DevicePropDesc(&params->deviceproperties[i].desc, dpd);
+		return PTP_RC_OK;
+	}
+
+
+	if (ptp_operation_issupported(params, PTP_OC_GetDevicePropDesc)) {
+		CHECK_PTP_RC(ptp_getdevicepropdesc (params, propcode, &params->deviceproperties[i].desc));
+
+		time(&now);
+		params->deviceproperties[i].timestamp = now;
+		duplicate_DevicePropDesc(&params->deviceproperties[i].desc, dpd);
+		return PTP_RC_OK;
+	}
+
+	return PTP_RC_OK;
+}
+
+/**
+ * ptp_generic_setdevicepropvalue:
+ *
+ * This command sets a property value, device specific.
+ *  
+ * params:	PTPParams*
+ *      uint16_t propcode 
+ *      PTPDevicePropertyValue *value
+ *      uint16_t datatype
+ *
+ * Return values: Some PTP_RC_* code.
+ *
+ **/
+uint16_t
+ptp_generic_setdevicepropvalue (PTPParams* params, uint16_t propcode,
+	PTPPropertyValue *value, uint16_t datatype)
+{
+	unsigned int i;
+
+	/* reset the cache entry */
+	for (i=0;i<params->nrofdeviceproperties;i++)
+		if (params->deviceproperties[i].desc.DevicePropertyCode == propcode)
+			break;
+	if (i != params->nrofdeviceproperties)
+		params->deviceproperties[i].timestamp = 0;
+
+	/* FIXME: change the cache? hmm */
+	/* this works for some methods, but not for all */
+	if (	(params->deviceinfo.VendorExtensionID == PTP_VENDOR_SONY) &&
+		ptp_operation_issupported(params, PTP_OC_SONY_SetControlDeviceA)
+	)
+		return ptp_sony_setdevicecontrolvaluea (params, propcode, value, datatype);
+	return ptp_setdevicepropvalue (params, propcode, value, datatype);
+}
+
+/**
+ * ptp_nikon_get_vendorpropcodes:
+ *
+ * This command downloads the vendor specific property codes.
+ *  
+ * params:	PTPParams*
+ *
+ * Return values: Some PTP_RC_* code.
+ *      unsigned char **data - pointer to data pointer
+ *      unsigned int  *size - size of data returned
+ *
+ **/
+uint16_t
+ptp_nikon_get_vendorpropcodes (PTPParams* params, uint16_t **props, unsigned int *size)
+{
+	PTPContainer	ptp;
+	unsigned char	*data = NULL;
+	unsigned int	xsize = 0;
+
+	*props = NULL;
+	*size = 0;
+	PTP_CNT_INIT(ptp, PTP_OC_NIKON_GetVendorPropCodes);
+	CHECK_PTP_RC(ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &data, &xsize));
+	*size = ptp_unpack_uint16_t_array(params,data,0,xsize,props);
+	free (data);
+	return PTP_RC_OK;
+}
+
+uint16_t
 ptp_nikon_getfileinfoinblock ( PTPParams* params,
 	uint32_t p1, uint32_t p2, uint32_t p3,
 	unsigned char **data, unsigned int *size
 ) {
 	PTPContainer ptp;
-	*data = NULL;
-	*size = 0;
-	PTP_CNT_INIT(ptp);
-	ptp.Code	= PTP_OC_NIKON_GetFileInfoInBlock;
-	ptp.Nparam	= 3;
-	ptp.Param1	= p1;
-	ptp.Param2	= p2;
-	ptp.Param3	= p3;
+
+	PTP_CNT_INIT(ptp, PTP_OC_NIKON_GetFileInfoInBlock, p1, p2, p3);
 	return ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, data, size); 
 }
 
@@ -2081,9 +3275,7 @@
 {
         PTPContainer ptp;
         
-        PTP_CNT_INIT(ptp);
-        ptp.Code=PTP_OC_NIKON_GetLiveViewImg;
-        ptp.Nparam=0;
+        PTP_CNT_INIT(ptp, PTP_OC_NIKON_GetLiveViewImg);
         return ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, data, size);
 }
 
@@ -2101,18 +3293,18 @@
 ptp_nikon_get_preview_image (PTPParams* params, unsigned char **xdata, unsigned int *xsize,
 	uint32_t *handle)
 {
-        PTPContainer	ptp;
-	uint16_t	ret;
-        
-        PTP_CNT_INIT(ptp);
-        ptp.Code=PTP_OC_NIKON_GetPreviewImg;
-        ptp.Nparam=0;
-        ret = ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, xdata, xsize);
-	if (ret == PTP_RC_OK) {
-		if (ptp.Nparam > 0)
-			*handle = ptp.Param1;
-	}
-	return ret;
+	PTPContainer	ptp;
+
+        PTP_CNT_INIT(ptp, PTP_OC_NIKON_GetPreviewImg);
+
+	/* FIXME:
+	 * pdslrdashboard passes 3 parameters:
+	 * objectid, minimum size, maximum size
+	 */
+	CHECK_PTP_RC(ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, xdata, xsize));
+	if (ptp.Nparam > 0)
+		*handle = ptp.Param1;
+	return PTP_RC_OK;
 }
 
 /**
@@ -2130,13 +3322,19 @@
 {
         PTPContainer ptp;
         
-        PTP_CNT_INIT(ptp);
-        ptp.Code=PTP_OC_CANON_EOS_GetViewFinderData;
-        ptp.Nparam=1;
-        ptp.Param1=0x00100000; /* from trace */
+        PTP_CNT_INIT(ptp, PTP_OC_CANON_EOS_GetViewFinderData, 0x00100000 /* from trace */);
         return ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, data, size);
 }
 
+uint16_t
+ptp_canon_eos_get_viewfinder_image_handler (PTPParams* params, PTPDataHandler*handler)
+{
+        PTPContainer ptp;
+        
+        PTP_CNT_INIT(ptp, PTP_OC_CANON_EOS_GetViewFinderData, 0x00100000 /* from trace */);
+        return ptp_transaction_new(params, &ptp, PTP_DP_GETDATA, 0, handler);
+}
+
 /**
  * ptp_nikon_check_event:
  *
@@ -2150,23 +3348,18 @@
  *
  **/
 uint16_t
-ptp_nikon_check_event (PTPParams* params, PTPContainer** event, int* evtcnt)
+ptp_nikon_check_event (PTPParams* params, PTPContainer** event, unsigned int* evtcnt)
 {
-        PTPContainer ptp;
-	uint16_t ret;
-	unsigned char *data = NULL;
-	unsigned int size = 0;
+	PTPContainer	ptp;
+	unsigned char	*data;
+	unsigned int	size;
 
-	PTP_CNT_INIT(ptp);
-	ptp.Code=PTP_OC_NIKON_CheckEvent;
-	ptp.Nparam=0;
+	PTP_CNT_INIT(ptp, PTP_OC_NIKON_CheckEvent);
 	*evtcnt = 0;
-	ret = ptp_transaction (params, &ptp, PTP_DP_GETDATA, 0, &data, &size);
-	if (ret == PTP_RC_OK) {
-		ptp_unpack_Nikon_EC (params, data, size, event, evtcnt);
-		free (data);
-	}
-	return ret;
+	CHECK_PTP_RC(ptp_transaction (params, &ptp, PTP_DP_GETDATA, 0, &data, &size));
+	ptp_unpack_Nikon_EC (params, data, size, event, evtcnt);
+	free (data);
+	return PTP_RC_OK;
 }
 
 /**
@@ -2186,9 +3379,7 @@
 {
         PTPContainer ptp;
         
-        PTP_CNT_INIT(ptp);
-        ptp.Code=PTP_OC_NIKON_GetDevicePTPIPInfo;
-        ptp.Nparam=0;
+        PTP_CNT_INIT(ptp, PTP_OC_NIKON_GetDevicePTPIPInfo);
         return ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, data, size);
 }
 
@@ -2205,28 +3396,24 @@
 uint16_t
 ptp_nikon_getwifiprofilelist (PTPParams* params)
 {
-        PTPContainer ptp;
-	unsigned char* data;
-	unsigned int size;
-	unsigned int pos;
-	unsigned int profn;
-	unsigned int n;
-	char* buffer;
-	uint8_t len;
-	
-        PTP_CNT_INIT(ptp);
-        ptp.Code=PTP_OC_NIKON_GetProfileAllData;
-        ptp.Nparam=0;
-	size = 0;
-	data = NULL;
+	PTPContainer	ptp;
+	uint16_t	ret;
+	unsigned char	*data;
+	unsigned int	size, pos, profn, n;
+	char		*buffer;
+	uint8_t		len;
+
+        PTP_CNT_INIT(ptp, PTP_OC_NIKON_GetProfileAllData);
 	CHECK_PTP_RC(ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &data, &size));
 
-	if (size < 2) return PTP_RC_Undefined; /* FIXME: Add more precise error code */
+	ret = PTP_RC_Undefined; /* FIXME: Add more precise error code */
+
+	if (size < 2)
+		goto exit;
 
 	params->wifi_profiles_version = data[0];
 	params->wifi_profiles_number = data[1];
-	if (params->wifi_profiles)
-		free(params->wifi_profiles);
+	free(params->wifi_profiles);
 	
 	params->wifi_profiles = malloc(params->wifi_profiles_number*sizeof(PTPNIKONWifiProfile));
 	memset(params->wifi_profiles, 0, params->wifi_profiles_number*sizeof(PTPNIKONWifiProfile));
@@ -2234,13 +3421,15 @@
 	pos = 2;
 	profn = 0;
 	while (profn < params->wifi_profiles_number && pos < size) {
-		if (pos+6 >= size) return PTP_RC_Undefined;
+		if (pos+6 >= size)
+			goto exit;
 		params->wifi_profiles[profn].id = data[pos++];
 		params->wifi_profiles[profn].valid = data[pos++];
 
 		n = dtoh32a(&data[pos]);
 		pos += 4;
-		if (pos+n+4 >= size) return PTP_RC_Undefined;
+		if (pos+n+4 >= size)
+			goto exit;
 		strncpy(params->wifi_profiles[profn].profile_name, (char*)&data[pos], n);
 		params->wifi_profiles[profn].profile_name[16] = '\0';
 		pos += n;
@@ -2249,21 +3438,24 @@
 		params->wifi_profiles[profn].device_type = data[pos++];
 		params->wifi_profiles[profn].icon_type = data[pos++];
 
-		buffer = ptp_unpack_string(params, data, pos, &len);
+		buffer = ptp_unpack_string(params, data, pos, size, &len);
 		strncpy(params->wifi_profiles[profn].creation_date, buffer, sizeof(params->wifi_profiles[profn].creation_date));
 		free (buffer);
 		pos += (len*2+1);
-		if (pos+1 >= size) return PTP_RC_Undefined;
+		if (pos+1 >= size)
+			goto exit;
 		/* FIXME: check if it is really last usage date */
-		buffer = ptp_unpack_string(params, data, pos, &len);
+		buffer = ptp_unpack_string(params, data, pos, size, &len);
 		strncpy(params->wifi_profiles[profn].lastusage_date, buffer, sizeof(params->wifi_profiles[profn].lastusage_date));
 		free (buffer);
 		pos += (len*2+1);
-		if (pos+5 >= size) return PTP_RC_Undefined;
+		if (pos+5 >= size)
+			goto exit;
 		
 		n = dtoh32a(&data[pos]);
 		pos += 4;
-		if (pos+n >= size) return PTP_RC_Undefined;
+		if (pos+n >= size)
+			goto exit;
 		strncpy(params->wifi_profiles[profn].essid, (char*)&data[pos], n);
 		params->wifi_profiles[profn].essid[32] = '\0';
 		pos += n;
@@ -2285,8 +3477,11 @@
 
 	ptp_nikon_writewifiprofile(params, &test);
 #endif
-
-	return PTP_RC_OK;
+	/* everything went Ok */
+	ret = PTP_RC_OK;
+exit:
+	free (data);
+	return ret;
 }
 
 /**
@@ -2305,8 +3500,6 @@
 uint16_t
 ptp_nikon_writewifiprofile (PTPParams* params, PTPNIKONWifiProfile* profile)
 {
-	unsigned char guid[16];
-	
 	PTPContainer ptp;
 	unsigned char buffer[1024];
 	unsigned char* data = buffer;
@@ -2314,7 +3507,8 @@
 	int i;
 	uint8_t len;
 	int profilenr = -1;
-	
+	unsigned char guid[16];
+
 	ptp_nikon_getptpipguid(guid);
 
 	if (!params->wifi_profiles)
@@ -2349,9 +3543,11 @@
 	ptp_pack_string(params, "19990909T090909", data, 0x19, &len);
 	
 	/* IP parameters */
-	*((unsigned int*)&buffer[0x3A]) = profile->ip_address; /* Do not reverse bytes */
+	memcpy(&buffer[0x3A],&profile->ip_address,sizeof(profile->ip_address));
+	/**((unsigned int*)&buffer[0x3A]) = profile->ip_address; *//* Do not reverse bytes */
 	buffer[0x3E] = profile->subnet_mask;
-	*((unsigned int*)&buffer[0x3F]) = profile->gateway_address; /* Do not reverse bytes */
+	memcpy(&buffer[0x3F],&profile->gateway_address,sizeof(profile->gateway_address));
+	/**((unsigned int*)&buffer[0x3F]) = profile->gateway_address; */ /* Do not reverse bytes */
 	buffer[0x43] = profile->address_mode;
 	
 	/* Wifi parameters */
@@ -2383,10 +3579,7 @@
 	}
 	size = 0xC4;
 	       
-	PTP_CNT_INIT(ptp);
-	ptp.Code=PTP_OC_NIKON_SendProfileData;
-	ptp.Nparam=1;
-	ptp.Param1=profilenr;
+	PTP_CNT_INIT(ptp, PTP_OC_NIKON_SendProfileData, profilenr);
 	return ptp_transaction(params, &ptp, PTP_DP_SENDDATA, size, &data, NULL);
 }
 
@@ -2407,20 +3600,16 @@
 ptp_mtp_getobjectpropssupported (PTPParams* params, uint16_t ofc,
 		 uint32_t *propnum, uint16_t **props
 ) {
-        PTPContainer ptp;
-	uint16_t ret;
-	unsigned char *data = NULL;
-	unsigned int size = 0;
-        
-        PTP_CNT_INIT(ptp);
-        ptp.Code=PTP_OC_MTP_GetObjectPropsSupported;
-        ptp.Nparam = 1;
-        ptp.Param1 = ofc;
-        ret = ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &data, &size);
-	if (ret == PTP_RC_OK)
-        	*propnum=ptp_unpack_uint16_t_array(params,data,0,props);
+	PTPContainer	ptp;
+	unsigned char	*data = NULL;
+	unsigned int	xsize = 0;
+
+        PTP_CNT_INIT(ptp, PTP_OC_MTP_GetObjectPropsSupported, ofc);
+	CHECK_PTP_RC(ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &data, &xsize));
+	if (!data) return PTP_RC_GeneralError;
+	*propnum=ptp_unpack_uint16_t_array (params, data, 0, xsize, props);
 	free(data);
-	return ret;
+	return PTP_RC_OK;
 }
 
 /**
@@ -2439,21 +3628,15 @@
 ptp_mtp_getobjectpropdesc (
 	PTPParams* params, uint16_t opc, uint16_t ofc, PTPObjectPropDesc *opd
 ) {
-        PTPContainer ptp;
-	uint16_t ret;
-	unsigned char *data = NULL;
-	unsigned int size = 0;
-        
-        PTP_CNT_INIT(ptp);
-        ptp.Code=PTP_OC_MTP_GetObjectPropDesc;
-        ptp.Nparam = 2;
-        ptp.Param1 = opc;
-        ptp.Param2 = ofc;
-        ret = ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &data, &size);
-	if (ret == PTP_RC_OK)
-		ptp_unpack_OPD (params, data, opd, size);
+	PTPContainer	ptp;
+	unsigned char	*data;
+	unsigned int	size;
+
+        PTP_CNT_INIT(ptp, PTP_OC_MTP_GetObjectPropDesc, opc, ofc);
+        CHECK_PTP_RC(ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &data, &size));
+	ptp_unpack_OPD (params, data, opd, size);
 	free(data);
-	return ret;
+	return PTP_RC_OK;
 }
 
 /**
@@ -2473,20 +3656,17 @@
 	PTPParams* params, uint32_t oid, uint16_t opc,
 	PTPPropertyValue *value, uint16_t datatype
 ) {
-        PTPContainer ptp;
-	uint16_t ret;
-	unsigned char *data = NULL;
-	unsigned int size = 0;
-	int offset = 0;
+	PTPContainer	ptp;
+	uint16_t	ret = PTP_RC_OK;
+	unsigned char	*data;
+	unsigned int	size, offset = 0;
         
-        PTP_CNT_INIT(ptp);
-        ptp.Code=PTP_OC_MTP_GetObjectPropValue;
-        ptp.Nparam = 2;
-        ptp.Param1 = oid;
-        ptp.Param2 = opc;
-        ret = ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &data, &size);
-	if (ret == PTP_RC_OK)
-		ptp_unpack_DPV(params, data, &offset, size, value, datatype);
+        PTP_CNT_INIT(ptp, PTP_OC_MTP_GetObjectPropValue, oid, opc);
+        CHECK_PTP_RC(ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &data, &size));
+        if (!ptp_unpack_DPV(params, data, &offset, size, value, datatype)) {
+                ptp_debug (params, "ptp_mtp_getobjectpropvalue: unpacking DPV failed");
+                ret = PTP_RC_GeneralError;
+        }
 	free(data);
 	return ret;
 }
@@ -2508,16 +3688,12 @@
 	PTPParams* params, uint32_t oid, uint16_t opc,
 	PTPPropertyValue *value, uint16_t datatype
 ) {
-        PTPContainer ptp;
-	uint16_t ret;
-	unsigned char *data = NULL;
-	unsigned int size ;
-        
-        PTP_CNT_INIT(ptp);
-        ptp.Code=PTP_OC_MTP_SetObjectPropValue;
-        ptp.Nparam = 2;
-        ptp.Param1 = oid;
-        ptp.Param2 = opc;
+	PTPContainer	ptp;
+	uint16_t	ret;
+	unsigned char	*data = NULL;
+	uint32_t	size;
+
+        PTP_CNT_INIT(ptp, PTP_OC_MTP_SetObjectPropValue, oid, opc);
 	size = ptp_pack_DPV(params, value, &data, datatype);
         ret = ptp_transaction(params, &ptp, PTP_DP_SENDDATA, size, &data, NULL);
 	free(data);
@@ -2527,93 +3703,94 @@
 uint16_t
 ptp_mtp_getobjectreferences (PTPParams* params, uint32_t handle, uint32_t** ohArray, uint32_t* arraylen)
 {
-	PTPContainer ptp;
-	uint16_t ret;
-	unsigned char* dpv=NULL;
-	unsigned int dpvlen = 0;
+	PTPContainer	ptp;
+	unsigned char	*data;
+	unsigned int	size;
 
-	PTP_CNT_INIT(ptp);
-	ptp.Code=PTP_OC_MTP_GetObjectReferences;
-	ptp.Param1=handle;
-	ptp.Nparam=1;
-	ret=ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &dpv, &dpvlen);
-	if (ret == PTP_RC_OK) {
-		/* Sandisk Sansa skips the DATA phase, but returns OK as response.
+	PTP_CNT_INIT(ptp, PTP_OC_MTP_GetObjectReferences, handle);
+	CHECK_PTP_RC(ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &data , &size));
+	/* Sandisk Sansa skips the DATA phase, but returns OK as response.
 		 * this will gives us a NULL here. Handle it. -Marcus */
-		if ((dpv == NULL) || (dpvlen == 0)) {
-			*arraylen = 0;
-			*ohArray = NULL;
-		} else {
-			*arraylen = ptp_unpack_uint32_t_array(params, dpv, 0, ohArray);
-		}
+	if ((data == NULL) || (size == 0)) {
+		*arraylen = 0;
+		*ohArray = NULL;
+	} else {
+		*arraylen = ptp_unpack_uint32_t_array(params, data , 0, size, ohArray);
 	}
-	free(dpv);
-	return ret;
+	free(data);
+	return PTP_RC_OK;
 }
 
 uint16_t
 ptp_mtp_setobjectreferences (PTPParams* params, uint32_t handle, uint32_t* ohArray, uint32_t arraylen)
 {
-	PTPContainer ptp;
-	uint16_t ret;
-	uint32_t size;
-	unsigned char* dpv=NULL;
+	PTPContainer	ptp;
+	uint16_t	ret;
+	unsigned char	*data = NULL;
+	uint32_t	size;
 
-	PTP_CNT_INIT(ptp);
-	ptp.Code   = PTP_OC_MTP_SetObjectReferences;
-	ptp.Param1 = handle;
-	ptp.Nparam = 1;
-	size = ptp_pack_uint32_t_array(params, ohArray, arraylen, &dpv);
-	ret = ptp_transaction(params, &ptp, PTP_DP_SENDDATA, size, (unsigned char **)&dpv, NULL);
-	free(dpv);
+	PTP_CNT_INIT(ptp, PTP_OC_MTP_SetObjectReferences, handle);
+	size = ptp_pack_uint32_t_array(params, ohArray, arraylen, &data);
+	ret = ptp_transaction(params, &ptp, PTP_DP_SENDDATA, size, &data, NULL);
+	free(data);
 	return ret;
 }
 
 uint16_t
 ptp_mtp_getobjectproplist (PTPParams* params, uint32_t handle, MTPProperties **props, int *nrofprops)
 {
-	uint16_t ret;
-	PTPContainer ptp;
-	unsigned char* opldata = NULL;
-	unsigned int oplsize;
+	PTPContainer	ptp;
+	unsigned char	*data;
+	unsigned int	size;
 
-	PTP_CNT_INIT(ptp);
-	ptp.Code = PTP_OC_MTP_GetObjPropList;
-	ptp.Param1 = handle;
-	ptp.Param2 = 0x00000000U;  /* 0x00000000U should be "all formats" */
-	ptp.Param3 = 0xFFFFFFFFU;  /* 0xFFFFFFFFU should be "all properties" */
-	ptp.Param4 = 0x00000000U;
-	ptp.Param5 = 0x00000000U;
-	ptp.Nparam = 5;
-	ret = ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &opldata, &oplsize);  
-	if (ret == PTP_RC_OK) *nrofprops = ptp_unpack_OPL(params, opldata, props, oplsize);
-	if (opldata != NULL)
-		free(opldata);
-	return ret;
+	PTP_CNT_INIT(ptp, PTP_OC_MTP_GetObjPropList, handle,
+		     0x00000000U,  /* 0x00000000U should be "all formats" */
+		     0xFFFFFFFFU,  /* 0xFFFFFFFFU should be "all properties" */
+		     0x00000000U,
+		     0xFFFFFFFFU  /* means - return full tree below the Param1 handle */
+	);
+	CHECK_PTP_RC(ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &data, &size));
+	*nrofprops = ptp_unpack_OPL(params, data, props, size);
+	free(data);
+	return PTP_RC_OK;
+}
+
+uint16_t
+ptp_mtp_getobjectproplist_single (PTPParams* params, uint32_t handle, MTPProperties **props, int *nrofprops)
+{
+	PTPContainer	ptp;
+	unsigned char	*data;
+	unsigned int	size;
+
+	PTP_CNT_INIT(ptp, PTP_OC_MTP_GetObjPropList, handle,
+		     0x00000000U,  /* 0x00000000U should be "all formats" */
+		     0xFFFFFFFFU,  /* 0xFFFFFFFFU should be "all properties" */
+		     0x00000000U,
+		     0x00000000U  /* means - return single tree below the Param1 handle */
+	);
+	CHECK_PTP_RC(ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &data, &size));
+	*nrofprops = ptp_unpack_OPL(params, data, props, size);
+	free(data);
+	return PTP_RC_OK;
 }
 
 uint16_t
 ptp_mtp_sendobjectproplist (PTPParams* params, uint32_t* store, uint32_t* parenthandle, uint32_t* handle,
 			    uint16_t objecttype, uint64_t objectsize, MTPProperties *props, int nrofprops)
 {
-	uint16_t ret;
-	PTPContainer ptp;
-	unsigned char* opldata=NULL;
-	uint32_t oplsize;
+	PTPContainer	ptp;
+	uint16_t	ret;
+	unsigned char	*data = NULL;
+	uint32_t	size;
 
-	PTP_CNT_INIT(ptp);
-	ptp.Code = PTP_OC_MTP_SendObjectPropList;
-	ptp.Param1 = *store;
-	ptp.Param2 = *parenthandle;
-	ptp.Param3 = (uint32_t) objecttype;
-	ptp.Param4 = (uint32_t) (objectsize >> 32);
-	ptp.Param5 = (uint32_t) (objectsize & 0xffffffffU);
-	ptp.Nparam = 5;
+	PTP_CNT_INIT(ptp, PTP_OC_MTP_SendObjectPropList, *store, *parenthandle, (uint32_t) objecttype,
+		     (uint32_t) (objectsize >> 32), (uint32_t) (objectsize & 0xffffffffU)
+	);
 
 	/* Set object handle to 0 for a new object */
-	oplsize = ptp_pack_OPL(params,props,nrofprops,&opldata);
-	ret = ptp_transaction(params, &ptp, PTP_DP_SENDDATA, oplsize, &opldata, NULL); 
-	free(opldata);
+	size = ptp_pack_OPL(params,props,nrofprops,&data);
+	ret = ptp_transaction(params, &ptp, PTP_DP_SENDDATA, size, &data, NULL);
+	free(data);
 	*store = ptp.Param1;
 	*parenthandle = ptp.Param2;
 	*handle = ptp.Param3; 
@@ -2624,42 +3801,335 @@
 uint16_t
 ptp_mtp_setobjectproplist (PTPParams* params, MTPProperties *props, int nrofprops)
 {
-	uint16_t ret;
+	PTPContainer	ptp;
+	unsigned char	*data = NULL;
+	uint32_t	size;
+
+	PTP_CNT_INIT(ptp, PTP_OC_MTP_SetObjPropList);
+	size = ptp_pack_OPL(params,props,nrofprops,&data);
+	CHECK_PTP_RC(ptp_transaction(params, &ptp, PTP_DP_SENDDATA, size, &data, NULL));
+	free(data);
+	return PTP_RC_OK;
+}
+
+uint16_t
+ptp_mtpz_sendwmdrmpdapprequest (PTPParams* params, unsigned char *appcertmsg, uint32_t size)
+{
 	PTPContainer ptp;
-	unsigned char* opldata=NULL;
-	uint32_t oplsize;
-  
-	PTP_CNT_INIT(ptp);
-	ptp.Code = PTP_OC_MTP_SetObjPropList;
-	ptp.Nparam = 0;
-  
-	oplsize = ptp_pack_OPL(params,props,nrofprops,&opldata);
-	ret = ptp_transaction(params, &ptp, PTP_DP_SENDDATA, oplsize, &opldata, NULL); 
-	free(opldata);
+
+	PTP_CNT_INIT(ptp, PTP_OC_MTP_WMDRMPD_SendWMDRMPDAppRequest);
+	return ptp_transaction (params, &ptp, PTP_DP_SENDDATA, size, &appcertmsg, NULL);
+}
+
+uint16_t
+ptp_mtpz_getwmdrmpdappresponse (PTPParams* params, unsigned char **response, uint32_t *size)
+{
+	PTPContainer ptp;
+
+	PTP_CNT_INIT(ptp, PTP_OC_MTP_WMDRMPD_GetWMDRMPDAppResponse);
+	*size = 0;
+	*response = NULL;
+	return ptp_transaction (params, &ptp, PTP_DP_GETDATA, 0, response, size);
+}
+
+/****** CHDK interface ******/
+
+uint16_t
+ptp_chdk_get_memory(PTPParams* params, int start, int num, unsigned char **buf)
+{
+	PTPContainer ptp;
+
+	PTP_CNT_INIT(ptp, PTP_OC_CHDK, PTP_CHDK_GetMemory, start, num);
+	return ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, buf, NULL);
+}
+
+uint16_t
+ptp_chdk_set_memory_long(PTPParams* params, int addr, int val)
+{
+	PTPContainer ptp;
+	unsigned char *buf = (unsigned char *) &val; /* FIXME ... endianness? */
+
+	PTP_CNT_INIT(ptp, PTP_OC_CHDK, PTP_CHDK_SetMemory, addr, 4);
+	return ptp_transaction(params, &ptp, PTP_DP_SENDDATA, 4, &buf, NULL);
+}
+
+uint16_t
+ptp_chdk_download(PTPParams* params, char *remote_fn, PTPDataHandler *handler)
+{
+	PTPContainer ptp;
+
+	PTP_CNT_INIT(ptp, PTP_OC_CHDK, PTP_CHDK_TempData, 0);
+	CHECK_PTP_RC (ptp_transaction(params, &ptp, PTP_DP_SENDDATA, strlen(remote_fn), (unsigned char**)&remote_fn, NULL));
+
+	PTP_CNT_INIT(ptp, PTP_OC_CHDK, PTP_CHDK_DownloadFile);
+	return ptp_transaction_new (params, &ptp, PTP_DP_GETDATA, 0, handler);
+}
+
+#if 0
+int ptp_chdk_upload(PTPParams* params, char *local_fn, char *remote_fn)
+{
+  uint16_t ret;
+  PTPContainer ptp;
+  char *buf = NULL;
+  FILE *f;
+  unsigned file_len,data_len,file_name_len;
+
+  PTP_CNT_INIT(ptp, PTP_OC_CHDK, PTP_CHDK_UploadFile);
+
+  f = fopen(local_fn,"rb");
+  if ( f == NULL )
+  {
+    ptp_error(params,"could not open file \'%s\'",local_fn);
+    return 0;
+  }
+
+  fseek(f,0,SEEK_END);
+  file_len = ftell(f);
+  fseek(f,0,SEEK_SET);
+
+  file_name_len = strlen(remote_fn);
+  data_len = 4 + file_name_len + file_len;
+  buf = malloc(data_len);
+  memcpy(buf,&file_name_len,4);
+  memcpy(buf+4,remote_fn,file_name_len);
+  fread(buf+4+file_name_len,1,file_len,f);
+
+  fclose(f);
+
+  ret=ptp_transaction(params, &ptp, PTP_DP_SENDDATA, data_len, &buf, NULL);
+
+  free(buf);
+
+  if ( ret != PTP_RC_OK )
+  {
+    ptp_error(params,"unexpected return code 0x%x",ret);
+    return 0;
+  }
+  return 1;
+}
+
+#endif
+
+/*
+ * Preliminary remote capture over USB code. Corresponding CHDK code is in the ptp-remote-capture-test
+ * This is under development and should not be included in builds for general distribution
+ */
+/*
+ * isready: 0: not ready, lowest 2 bits: available image formats, 0x10000000: error
+ */
+uint16_t
+ptp_chdk_rcisready(PTPParams* params, int *isready, int *imgnum)
+{
+	PTPContainer ptp;
+
+	PTP_CNT_INIT(ptp, PTP_OC_CHDK, PTP_CHDK_RemoteCaptureIsReady);
+	*isready = *imgnum = 0;
+	CHECK_PTP_RC(ptp_transaction(params, &ptp, PTP_DP_NODATA, 0, NULL, NULL));
+	*isready=ptp.Param1;
+	*imgnum=ptp.Param2;
+	return PTP_RC_OK;
+}
+
+uint16_t
+ptp_chdk_rcgetchunk(PTPParams* params, int fmt, ptp_chdk_rc_chunk *chunk)
+{
+	PTPContainer ptp;
+
+	PTP_CNT_INIT(ptp, PTP_OC_CHDK, PTP_CHDK_RemoteCaptureGetData, fmt); //get chunk
+
+	chunk->data = NULL;
+	chunk->size = 0;
+	chunk->offset = 0;
+	chunk->last = 0;
+	// TODO should allow ptp_getdata_transaction to send chunks directly to file, or to mem
+	CHECK_PTP_RC(ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &chunk->data, NULL));
+	chunk->size = ptp.Param1;
+	chunk->last = (ptp.Param2 == 0);
+  	chunk->offset = ptp.Param3; //-1 for none
+	return PTP_RC_OK;
+}
+
+uint16_t
+ptp_chdk_exec_lua(PTPParams* params, char *script, int flags, int *script_id, int *status)
+{
+	PTPContainer ptp;
+
+	PTP_CNT_INIT(ptp, PTP_OC_CHDK, PTP_CHDK_ExecuteScript, PTP_CHDK_SL_LUA | flags);
+	*script_id = 0;
+	*status = 0;
+	CHECK_PTP_RC(ptp_transaction(params, &ptp, PTP_DP_SENDDATA, strlen(script)+1, (unsigned char**)&script, NULL));
+	*script_id = ptp.Param1;
+	*status = ptp.Param2;
+	return PTP_RC_OK;
+}
+
+uint16_t
+ptp_chdk_get_version(PTPParams* params, int *major, int *minor)
+{
+	PTPContainer ptp;
+
+	PTP_CNT_INIT(ptp, PTP_OC_CHDK, PTP_CHDK_Version);
+	CHECK_PTP_RC(ptp_transaction(params, &ptp, PTP_DP_NODATA, 0, NULL, NULL));
+	*major = ptp.Param1;
+	*minor = ptp.Param2;
+	return PTP_RC_OK;
+}
+
+uint16_t
+ptp_chdk_get_script_status(PTPParams* params, unsigned *status)
+{
+	PTPContainer ptp;
+
+	PTP_CNT_INIT(ptp, PTP_OC_CHDK, PTP_CHDK_ScriptStatus);
+	CHECK_PTP_RC(ptp_transaction(params, &ptp, PTP_DP_NODATA, 0, NULL, NULL));
+	*status = ptp.Param1;
+	return PTP_RC_OK;
+}
+uint16_t
+ptp_chdk_get_script_support(PTPParams* params, unsigned *status)
+{
+	PTPContainer ptp;
+
+	PTP_CNT_INIT(ptp, PTP_OC_CHDK, PTP_CHDK_ScriptSupport);
+	CHECK_PTP_RC(ptp_transaction(params, &ptp, PTP_DP_NODATA, 0, NULL, NULL));
+	*status = ptp.Param1;
+	return PTP_RC_OK;
+}
+
+uint16_t
+ptp_chdk_write_script_msg(PTPParams* params, char *data, unsigned size, int target_script_id, int *status)
+{
+	PTPContainer ptp;
+
+	// a zero length data phase appears to do bad things, camera stops responding to PTP
+	if(!size) {
+		ptp_error(params,"zero length message not allowed");
+		*status = 0;
+		return PTP_ERROR_BADPARAM;
+	}
+	PTP_CNT_INIT(ptp, PTP_OC_CHDK, PTP_CHDK_WriteScriptMsg, target_script_id);
+	*status = 0;
+	CHECK_PTP_RC(ptp_transaction(params, &ptp, PTP_DP_SENDDATA, size, (unsigned char**)&data, NULL));
+	*status = ptp.Param1;
+	return PTP_RC_OK;
+}
+uint16_t
+ptp_chdk_read_script_msg(PTPParams* params, ptp_chdk_script_msg **msg)
+{
+	PTPContainer	ptp;
+	unsigned char	*data;
+
+	PTP_CNT_INIT(ptp, PTP_OC_CHDK, PTP_CHDK_ReadScriptMsg);
+
+	*msg = NULL;
+
+	/* camera will always send data, otherwise getdata will cause problems */
+	CHECK_PTP_RC(ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &data, NULL));
+	if (!data) {
+		ptp_error(params,"no data received");
+		return PTP_ERROR_BADPARAM;
+	}
+
+	/* for convenience, always allocate an extra byte and null it*/
+	*msg = malloc(sizeof(ptp_chdk_script_msg) + ptp.Param4 + 1);
+	(*msg)->type = ptp.Param1;
+	(*msg)->subtype = ptp.Param2;
+	(*msg)->script_id = ptp.Param3;
+	(*msg)->size = ptp.Param4;
+	memcpy((*msg)->data,data,(*msg)->size);
+	(*msg)->data[(*msg)->size] = 0;
+	free(data);
+	return PTP_RC_OK;
+}
+
+uint16_t
+ptp_chdk_get_live_data(PTPParams* params, unsigned flags, unsigned char **data, unsigned int *data_size)
+{
+	PTPContainer ptp;
+
+	PTP_CNT_INIT(ptp, PTP_OC_CHDK, PTP_CHDK_GetDisplayData, flags);
+	*data_size = 0;
+	CHECK_PTP_RC(ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, data, NULL));
+	*data_size = ptp.Param1;
+	return PTP_RC_OK;
+}
+
+uint16_t
+ptp_chdk_call_function(PTPParams* params, int *args, int size, int *ret)
+{
+	PTPContainer ptp;
+
+	PTP_CNT_INIT(ptp, PTP_OC_CHDK, PTP_CHDK_CallFunction);
+	CHECK_PTP_RC(ptp_transaction(params, &ptp, PTP_DP_SENDDATA, size*sizeof(int), (unsigned char **) &args, NULL));
+	if (ret)
+		*ret = ptp.Param1;
+	return PTP_RC_OK;
+}
+
+
+
+
+/**
+ * Android MTP Extensions
+ */
+
+/**
+ * ptp_android_getpartialobject64:
+ * params:	PTPParams*
+ *		handle			- Object handle
+ *		offset			- Offset into object
+ *		maxbytes		- Maximum of bytes to read
+ *		object			- pointer to data area
+ *		len			- pointer to returned length
+ *
+ * Get object 'handle' from device and store the data in newly
+ * allocated 'object'. Start from offset and read at most maxbytes.
+ *
+ * This is a 64bit offset version of the standard GetPartialObject.
+ *
+ * Return values: Some PTP_RC_* code.
+ **/
+uint16_t
+ptp_android_getpartialobject64 (PTPParams* params, uint32_t handle, uint64_t offset,
+				uint32_t maxbytes, unsigned char** object,
+				uint32_t *len)
+{
+	PTPContainer ptp;
+
+	/* casts due to varargs otherwise pushing 64bit values on the stack */
+	PTP_CNT_INIT(ptp, PTP_OC_ANDROID_GetPartialObject64, handle, ((uint32_t)offset & 0xFFFFFFFF), (uint32_t)(offset >> 32), maxbytes);
+	return ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, object, len);
+}
+
+uint16_t
+ptp_android_sendpartialobject (PTPParams* params, uint32_t handle, uint64_t offset,
+				unsigned char* object,	uint32_t len)
+{
+	PTPContainer	ptp;
+	uint16_t	ret;
+
+	PTP_CNT_INIT(ptp, PTP_OC_ANDROID_SendPartialObject, handle, (uint32_t)(offset & 0xFFFFFFFF), (uint32_t)(offset >> 32), len);
+
+	/*
+	 * MtpServer.cpp is buggy: it uses write() without offset
+	 * rather than pwrite to send the data for data coming with
+	 * the header packet
+	 */
+	params->split_header_data = 1;
+	ret=ptp_transaction(params, &ptp, PTP_DP_SENDDATA, len, &object, NULL);
+	params->split_header_data = 0;
 
 	return ret;
 }
 
+
 /* Non PTP protocol functions */
 /* devinfo testing functions */
 
 int
-ptp_operation_issupported(PTPParams* params, uint16_t operation)
-{
-	int i=0;
-
-	for (;i<params->deviceinfo.OperationsSupported_len;i++) {
-		if (params->deviceinfo.OperationsSupported[i]==operation)
-			return 1;
-	}
-	return 0;
-}
-
-
-int
 ptp_event_issupported(PTPParams* params, uint16_t event)
 {
-	int i=0;
+	unsigned int i=0;
 
 	for (;i<params->deviceinfo.EventsSupported_len;i++) {
 		if (params->deviceinfo.EventsSupported[i]==event)
@@ -2672,7 +4142,7 @@
 int
 ptp_property_issupported(PTPParams* params, uint16_t property)
 {
-	int i;
+	unsigned int i;
 
 	for (i=0;i<params->deviceinfo.DevicePropertiesSupported_len;i++)
 		if (params->deviceinfo.DevicePropertiesSupported[i]==property)
@@ -2680,88 +4150,6 @@
 	return 0;
 }
 
-/* ptp structures freeing functions */
-void
-ptp_free_devicepropvalue(uint16_t dt, PTPPropertyValue* dpd) {
-	switch (dt) {
-	case PTP_DTC_INT8:	case PTP_DTC_UINT8:
-	case PTP_DTC_UINT16:	case PTP_DTC_INT16:
-	case PTP_DTC_UINT32:	case PTP_DTC_INT32:
-	case PTP_DTC_UINT64:	case PTP_DTC_INT64:
-	case PTP_DTC_UINT128:	case PTP_DTC_INT128:
-		/* Nothing to free */
-		break;
-	case PTP_DTC_AINT8:	case PTP_DTC_AUINT8:
-	case PTP_DTC_AUINT16:	case PTP_DTC_AINT16:
-	case PTP_DTC_AUINT32:	case PTP_DTC_AINT32:
-	case PTP_DTC_AUINT64:	case PTP_DTC_AINT64:
-	case PTP_DTC_AUINT128:	case PTP_DTC_AINT128:
-		if (dpd->a.v)
-			free(dpd->a.v);
-		break;
-	case PTP_DTC_STR:
-		if (dpd->str)
-			free(dpd->str);
-		break;
-	}
-}
-
-void
-ptp_free_devicepropdesc(PTPDevicePropDesc* dpd)
-{
-	uint16_t i;
-
-	ptp_free_devicepropvalue (dpd->DataType, &dpd->FactoryDefaultValue);
-	ptp_free_devicepropvalue (dpd->DataType, &dpd->CurrentValue);
-	switch (dpd->FormFlag) {
-	case PTP_DPFF_Range:
-		ptp_free_devicepropvalue (dpd->DataType, &dpd->FORM.Range.MinimumValue);
-		ptp_free_devicepropvalue (dpd->DataType, &dpd->FORM.Range.MaximumValue);
-		ptp_free_devicepropvalue (dpd->DataType, &dpd->FORM.Range.StepSize);
-		break;
-	case PTP_DPFF_Enumeration:
-		if (dpd->FORM.Enum.SupportedValue) {
-			for (i=0;i<dpd->FORM.Enum.NumberOfValues;i++)
-				ptp_free_devicepropvalue (dpd->DataType, dpd->FORM.Enum.SupportedValue+i);
-			free (dpd->FORM.Enum.SupportedValue);
-		}
-	}
-}
-
-void
-ptp_free_objectpropdesc(PTPObjectPropDesc* opd)
-{
-	uint16_t i;
-
-	ptp_free_devicepropvalue (opd->DataType, &opd->FactoryDefaultValue);
-	switch (opd->FormFlag) {
-	case PTP_OPFF_None:
-		break;
-	case PTP_OPFF_Range:
-		ptp_free_devicepropvalue (opd->DataType, &opd->FORM.Range.MinimumValue);
-		ptp_free_devicepropvalue (opd->DataType, &opd->FORM.Range.MaximumValue);
-		ptp_free_devicepropvalue (opd->DataType, &opd->FORM.Range.StepSize);
-		break;
-	case PTP_OPFF_Enumeration:
-		if (opd->FORM.Enum.SupportedValue) {
-			for (i=0;i<opd->FORM.Enum.NumberOfValues;i++)
-				ptp_free_devicepropvalue (opd->DataType, opd->FORM.Enum.SupportedValue+i);
-			free (opd->FORM.Enum.SupportedValue);
-		}
-		break;
-	case PTP_OPFF_DateTime:
-	case PTP_OPFF_FixedLengthArray:
-	case PTP_OPFF_RegularExpression:
-	case PTP_OPFF_ByteArray:
-	case PTP_OPFF_LongString:
-		/* Ignore these presently, we cannot unpack them, so there is nothing to be freed. */
-		break;
-	default:
-		fprintf (stderr, "Unknown OPFF type %d\n", opd->FormFlag);
-		break;
-	}
-}
-
 void
 ptp_free_objectinfo (PTPObjectInfo *oi)
 {
@@ -2773,7 +4161,7 @@
 void
 ptp_free_object (PTPObject *ob)
 {
-	int i;
+	unsigned int i;
 	if (!ob) return;
 
 	ptp_free_objectinfo (&ob->oi);
@@ -2782,65 +4170,89 @@
 	ob->flags = 0;
 }
 
-void 
-ptp_perror(PTPParams* params, uint16_t error) {
+/* PTP error descriptions */
+static struct {
+	uint16_t rc;
+	uint16_t vendor;
+	const char *txt;
+} ptp_errors[] = {
+	{PTP_RC_Undefined,		0, N_("PTP Undefined Error")},
+	{PTP_RC_OK,			0, N_("PTP OK!")},
+	{PTP_RC_GeneralError,		0, N_("PTP General Error")},
+	{PTP_RC_SessionNotOpen,		0, N_("PTP Session Not Open")},
+	{PTP_RC_InvalidTransactionID,	0, N_("PTP Invalid Transaction ID")},
+	{PTP_RC_OperationNotSupported,	0, N_("PTP Operation Not Supported")},
+	{PTP_RC_ParameterNotSupported,	0, N_("PTP Parameter Not Supported")},
+	{PTP_RC_IncompleteTransfer,	0, N_("PTP Incomplete Transfer")},
+	{PTP_RC_InvalidStorageId,	0, N_("PTP Invalid Storage ID")},
+	{PTP_RC_InvalidObjectHandle,	0, N_("PTP Invalid Object Handle")},
+	{PTP_RC_DevicePropNotSupported,	0, N_("PTP Device Prop Not Supported")},
+	{PTP_RC_InvalidObjectFormatCode,0, N_("PTP Invalid Object Format Code")},
+	{PTP_RC_StoreFull,		0, N_("PTP Store Full")},
+	{PTP_RC_ObjectWriteProtected,	0, N_("PTP Object Write Protected")},
+	{PTP_RC_StoreReadOnly,		0, N_("PTP Store Read Only")},
+	{PTP_RC_AccessDenied,		0, N_("PTP Access Denied")},
+	{PTP_RC_NoThumbnailPresent,	0, N_("PTP No Thumbnail Present")},
+	{PTP_RC_SelfTestFailed,		0, N_("PTP Self Test Failed")},
+	{PTP_RC_PartialDeletion,	0, N_("PTP Partial Deletion")},
+	{PTP_RC_StoreNotAvailable,	0, N_("PTP Store Not Available")},
+	{PTP_RC_SpecificationByFormatUnsupported, 0, N_("PTP Specification By Format Unsupported")},
+	{PTP_RC_NoValidObjectInfo,	0, N_("PTP No Valid Object Info")},
+	{PTP_RC_InvalidCodeFormat,	0, N_("PTP Invalid Code Format")},
+	{PTP_RC_UnknownVendorCode,	0, N_("PTP Unknown Vendor Code")},
+	{PTP_RC_CaptureAlreadyTerminated, 0, N_("PTP Capture Already Terminated")},
+	{PTP_RC_DeviceBusy,		0, N_("PTP Device Busy")},
+	{PTP_RC_InvalidParentObject,	0, N_("PTP Invalid Parent Object")},
+	{PTP_RC_InvalidDevicePropFormat,0, N_("PTP Invalid Device Prop Format")},
+	{PTP_RC_InvalidDevicePropValue,	0, N_("PTP Invalid Device Prop Value")},
+	{PTP_RC_InvalidParameter,	0, N_("PTP Invalid Parameter")},
+	{PTP_RC_SessionAlreadyOpened,	0, N_("PTP Session Already Opened")},
+	{PTP_RC_TransactionCanceled,	0, N_("PTP Transaction Canceled")},
+	{PTP_RC_SpecificationOfDestinationUnsupported, 0, N_("PTP Specification Of Destination Unsupported")},
 
-	int i;
-	/* PTP error descriptions */
-	static struct {
-		short n;
-		const char *txt;
-	} ptp_errors[] = {
-	{PTP_RC_Undefined, 		N_("PTP: Undefined Error")},
-	{PTP_RC_OK, 			N_("PTP: OK!")},
-	{PTP_RC_GeneralError, 		N_("PTP: General Error")},
-	{PTP_RC_SessionNotOpen, 	N_("PTP: Session Not Open")},
-	{PTP_RC_InvalidTransactionID, 	N_("PTP: Invalid Transaction ID")},
-	{PTP_RC_OperationNotSupported, 	N_("PTP: Operation Not Supported")},
-	{PTP_RC_ParameterNotSupported, 	N_("PTP: Parameter Not Supported")},
-	{PTP_RC_IncompleteTransfer, 	N_("PTP: Incomplete Transfer")},
-	{PTP_RC_InvalidStorageId, 	N_("PTP: Invalid Storage ID")},
-	{PTP_RC_InvalidObjectHandle, 	N_("PTP: Invalid Object Handle")},
-	{PTP_RC_DevicePropNotSupported, N_("PTP: Device Prop Not Supported")},
-	{PTP_RC_InvalidObjectFormatCode, N_("PTP: Invalid Object Format Code")},
-	{PTP_RC_StoreFull, 		N_("PTP: Store Full")},
-	{PTP_RC_ObjectWriteProtected, 	N_("PTP: Object Write Protected")},
-	{PTP_RC_StoreReadOnly, 		N_("PTP: Store Read Only")},
-	{PTP_RC_AccessDenied,		N_("PTP: Access Denied")},
-	{PTP_RC_NoThumbnailPresent, 	N_("PTP: No Thumbnail Present")},
-	{PTP_RC_SelfTestFailed, 	N_("PTP: Self Test Failed")},
-	{PTP_RC_PartialDeletion, 	N_("PTP: Partial Deletion")},
-	{PTP_RC_StoreNotAvailable, 	N_("PTP: Store Not Available")},
-	{PTP_RC_SpecificationByFormatUnsupported,
-				N_("PTP: Specification By Format Unsupported")},
-	{PTP_RC_NoValidObjectInfo, 	N_("PTP: No Valid Object Info")},
-	{PTP_RC_InvalidCodeFormat, 	N_("PTP: Invalid Code Format")},
-	{PTP_RC_UnknownVendorCode, 	N_("PTP: Unknown Vendor Code")},
-	{PTP_RC_CaptureAlreadyTerminated,
-					N_("PTP: Capture Already Terminated")},
-	{PTP_RC_DeviceBusy, 		N_("PTP: Device Busy")},
-	{PTP_RC_InvalidParentObject, 	N_("PTP: Invalid Parent Object")},
-	{PTP_RC_InvalidDevicePropFormat, N_("PTP: Invalid Device Prop Format")},
-	{PTP_RC_InvalidDevicePropValue, N_("PTP: Invalid Device Prop Value")},
-	{PTP_RC_InvalidParameter, 	N_("PTP: Invalid Parameter")},
-	{PTP_RC_SessionAlreadyOpened, 	N_("PTP: Session Already Opened")},
-	{PTP_RC_TransactionCanceled, 	N_("PTP: Transaction Canceled")},
-	{PTP_RC_SpecificationOfDestinationUnsupported,
-			N_("PTP: Specification Of Destination Unsupported")},
-	{PTP_RC_EK_FilenameRequired,	N_("PTP: EK Filename Required")},
-	{PTP_RC_EK_FilenameConflicts,	N_("PTP: EK Filename Conflicts")},
-	{PTP_RC_EK_FilenameInvalid,	N_("PTP: EK Filename Invalid")},
+	{PTP_RC_EK_FilenameRequired,	PTP_VENDOR_EASTMAN_KODAK, N_("Filename Required")},
+	{PTP_RC_EK_FilenameConflicts,	PTP_VENDOR_EASTMAN_KODAK, N_("Filename Conflicts")},
+	{PTP_RC_EK_FilenameInvalid,	PTP_VENDOR_EASTMAN_KODAK, N_("Filename Invalid")},
 
-	{PTP_ERROR_IO,		  N_("PTP: I/O error")},
-	{PTP_ERROR_BADPARAM,	  N_("PTP: Error: bad parameter")},
-	{PTP_ERROR_DATA_EXPECTED, N_("PTP: Protocol error, data expected")},
-	{PTP_ERROR_RESP_EXPECTED, N_("PTP: Protocol error, response expected")},
-	{0, NULL}
+	{PTP_RC_NIKON_HardwareError,		PTP_VENDOR_NIKON, N_("Hardware Error")},
+	{PTP_RC_NIKON_OutOfFocus,		PTP_VENDOR_NIKON, N_("Out of Focus")},
+	{PTP_RC_NIKON_ChangeCameraModeFailed,	PTP_VENDOR_NIKON, N_("Change Camera Mode Failed")},
+	{PTP_RC_NIKON_InvalidStatus,		PTP_VENDOR_NIKON, N_("Invalid Status")},
+	{PTP_RC_NIKON_SetPropertyNotSupported,	PTP_VENDOR_NIKON, N_("Set Property Not Supported")},
+	{PTP_RC_NIKON_WbResetError,		PTP_VENDOR_NIKON, N_("Whitebalance Reset Error")},
+	{PTP_RC_NIKON_DustReferenceError,	PTP_VENDOR_NIKON, N_("Dust Reference Error")},
+	{PTP_RC_NIKON_ShutterSpeedBulb,		PTP_VENDOR_NIKON, N_("Shutter Speed Bulb")},
+	{PTP_RC_NIKON_MirrorUpSequence,		PTP_VENDOR_NIKON, N_("Mirror Up Sequence")},
+	{PTP_RC_NIKON_CameraModeNotAdjustFNumber, PTP_VENDOR_NIKON, N_("Camera Mode Not Adjust FNumber")},
+	{PTP_RC_NIKON_NotLiveView,		PTP_VENDOR_NIKON, N_("Not in Liveview")},
+	{PTP_RC_NIKON_MfDriveStepEnd,		PTP_VENDOR_NIKON, N_("Mf Drive Step End")},
+	{PTP_RC_NIKON_MfDriveStepInsufficiency,	PTP_VENDOR_NIKON, N_("Mf Drive Step Insufficiency")},
+	{PTP_RC_NIKON_AdvancedTransferCancel,	PTP_VENDOR_NIKON, N_("Advanced Transfer Cancel")},
+
+	{PTP_RC_CANON_UNKNOWN_COMMAND,	PTP_VENDOR_CANON, N_("Unknown Command")},
+	{PTP_RC_CANON_OPERATION_REFUSED,PTP_VENDOR_CANON, N_("Operation Refused")},
+	{PTP_RC_CANON_LENS_COVER,	PTP_VENDOR_CANON, N_("Lens Cover Present")},
+	{PTP_RC_CANON_BATTERY_LOW,	PTP_VENDOR_CANON, N_("Battery Low")},
+	{PTP_RC_CANON_NOT_READY,	PTP_VENDOR_CANON, N_("Camera Not Ready")},
+
+	{PTP_ERROR_TIMEOUT,		0, N_("PTP Timeout")},
+	{PTP_ERROR_CANCEL,		0, N_("PTP Cancel Request")},
+	{PTP_ERROR_BADPARAM,		0, N_("PTP Invalid Parameter")},
+	{PTP_ERROR_RESP_EXPECTED,	0, N_("PTP Response Expected")},
+	{PTP_ERROR_DATA_EXPECTED,	0, N_("PTP Data Expected")},
+	{PTP_ERROR_IO,			0, N_("PTP I/O Error")},
+	{0, 0, NULL}
 };
 
-	for (i=0; ptp_errors[i].txt!=NULL; i++)
-		if (ptp_errors[i].n == error)
-			ptp_error(params, ptp_errors[i].txt);
+const char *
+ptp_strerror(uint16_t ret, uint16_t vendor)
+{
+	int i;
+
+	for (i=0; ptp_errors[i].txt != NULL; i++)
+		if ((ptp_errors[i].rc == ret) && ((ptp_errors[i].vendor == 0) || (ptp_errors[i].vendor == vendor)))
+			return ptp_errors[i].txt;
+	return NULL;
 }
 
 const char*
@@ -2886,6 +4298,19 @@
 		{PTP_DPC_UploadURL,		N_("Upload URL")},
 		{PTP_DPC_Artist,		N_("Artist")},
 		{PTP_DPC_CopyrightInfo,		N_("Copyright Info")},
+		{PTP_DPC_SupportedStreams,	N_("Supported Streams")},
+		{PTP_DPC_EnabledStreams,	N_("Enabled Streams")},
+		{PTP_DPC_VideoFormat,		N_("Video Format")},
+		{PTP_DPC_VideoResolution,	N_("Video Resolution")},
+		{PTP_DPC_VideoQuality,		N_("Video Quality")},
+		{PTP_DPC_VideoFrameRate,	N_("Video Framerate")},
+		{PTP_DPC_VideoContrast,		N_("Video Contrast")},
+		{PTP_DPC_VideoBrightness,	N_("Video Brightness")},
+		{PTP_DPC_AudioFormat,		N_("Audio Format")},
+		{PTP_DPC_AudioBitrate,		N_("Audio Bitrate")},
+		{PTP_DPC_AudioSamplingRate,	N_("Audio Samplingrate")},
+		{PTP_DPC_AudioBitPerSample,	N_("Audio Bits per sample")},
+		{PTP_DPC_AudioVolume,		N_("Audio Volume")},
 		{0,NULL}
 	};
 	struct {
@@ -3057,6 +4482,14 @@
 		 N_("Color Space")},
 		{PTP_DPC_NIKON_AutoDXCrop,			/* 0xD033 */
 		 N_("Auto DX Crop")},
+		{PTP_DPC_NIKON_FlickerReduction,		/* 0xD034 */
+		 N_("Flicker Reduction")},
+		{PTP_DPC_NIKON_RemoteMode,			/* 0xD035 */
+		 N_("Remote Mode")},
+		{PTP_DPC_NIKON_VideoMode,			/* 0xD036 */
+		 N_("Video Mode")},
+		{PTP_DPC_NIKON_EffectMode,			/* 0xD037 */
+		 N_("Effect Mode")},
 		{PTP_DPC_NIKON_CSMMenuBankSelect,		/* 0xD040 */
 		 "PTP_DPC_NIKON_CSMMenuBankSelect"},
 		{PTP_DPC_NIKON_MenuBankNameA,			/* 0xD041 */
@@ -3111,12 +4544,14 @@
 		 N_("Exposure Base Center")},
 		{PTP_DPC_NIKON_ExposureBaseSpot,		/* 0xD05C */
 		 N_("Exposure Base Spot")},
-		{PTP_DPC_NIKON_LiveViewAF,			/* 0xD05D */
-		 N_("Live View AF")},
+		{PTP_DPC_NIKON_LiveViewAFArea,			/* 0xD05D */
+		 N_("Live View AF Area")},
 		{PTP_DPC_NIKON_AELockMode,			/* 0xD05E */
 		 N_("Exposure Lock")},
 		{PTP_DPC_NIKON_AELAFLMode,			/* 0xD05F */
 		 N_("Focus Lock")},
+		{PTP_DPC_NIKON_LiveViewAFFocus,			/* 0xD061 */
+		 N_("Live View AF Focus")},
 		{PTP_DPC_NIKON_MeterOff,			/* 0xD062 */
 		 N_("Auto Meter Off Time")},
 		{PTP_DPC_NIKON_SelfTimer,			/* 0xD063 */
@@ -3125,13 +4560,15 @@
 		 N_("LCD Off Time")},
 		{PTP_DPC_NIKON_ImgConfTime,			/* 0xD065 */
 		 N_("Img Conf Time")},
+		{PTP_DPC_NIKON_AutoOffTimers,			/* 0xD066 */
+		 N_("Auto Off Timers")},
 		{PTP_DPC_NIKON_AngleLevel,			/* 0xD067 */
 		 N_("Angle Level")},
 		{PTP_DPC_NIKON_D1ShootingSpeed,			/* 0xD068 */
 		 N_("Shooting Speed")},
 		{PTP_DPC_NIKON_D2MaximumShots,			/* 0xD069 */
 		 N_("Maximum Shots")},
-		{PTP_DPC_NIKON_D3ExpDelayMode,			/* 0xD06A */
+		{PTP_DPC_NIKON_ExposureDelayMode,		/* 0xD06A */
 		 N_("Exposure delay mode")},
 		{PTP_DPC_NIKON_LongExposureNoiseReduction,	/* 0xD06B */
 		 N_("Long Exposure Noise Reduction")},
@@ -3198,6 +4635,8 @@
 		 N_("AF Area Point")},
 		{PTP_DPC_NIKON_NormalAFOn,			/* 0xD08E */
 		 N_("Normal AF On")},
+		{PTP_DPC_NIKON_CleanImageSensor,		/* 0xD08F */
+		 N_("Clean Image Sensor")},
 		{PTP_DPC_NIKON_ImageCommentString,		/* 0xD090 */
 		 N_("Image Comment String")},
 		{PTP_DPC_NIKON_ImageCommentEnable,		/* 0xD091 */
@@ -3210,6 +4649,16 @@
 		 N_("Movie Screen Size")},
 		{PTP_DPC_NIKON_MovVoice,			/* 0xD0A1 */
 		 N_("Movie Voice")},
+		{PTP_DPC_NIKON_MovMicrophone,			/* 0xD0A2 */
+		 N_("Movie Microphone")},
+		{PTP_DPC_NIKON_MovFileSlot,			/* 0xD0A3 */
+		 N_("Movie Card Slot")},
+		{PTP_DPC_NIKON_ManualMovieSetting,		/* 0xD0A6 */
+		 N_("Manual Movie Setting")},
+		{PTP_DPC_NIKON_MovQuality,			/* 0xD0A7 */
+		 N_("Movie Quality")},
+		{PTP_DPC_NIKON_MonitorOffDelay,			/* 0xD0B3 */
+		 N_("Monitor Off Delay")},
 		{PTP_DPC_NIKON_Bracketing,			/* 0xD0C0 */
 		 N_("Bracketing Enable")},
 		{PTP_DPC_NIKON_AutoExposureBracketStep,		/* 0xD0C1 */
@@ -3246,6 +4695,10 @@
 		 N_("Self Timer Shot Number")},
 		{PTP_DPC_NIKON_VignetteCtrl,			/* 0xD0F7 */
 		 N_("Vignette Control")},
+		{PTP_DPC_NIKON_AutoDistortionControl,		/* 0xD0F8 */
+		 N_("Auto Distortion Control")},
+		{PTP_DPC_NIKON_SceneMode,			/* 0xD0F9 */
+		 N_("Scene Mode")},
 		{PTP_DPC_NIKON_ExposureTime,			/* 0xD100 */
 		 N_("Nikon Exposure Time")},
 		{PTP_DPC_NIKON_ACPower, N_("AC Power")},	/* 0xD101 */
@@ -3299,6 +4752,12 @@
 		 N_("External Flash Mode")},
 		{PTP_DPC_NIKON_FlashExposureCompensation,	/* 0xD126 */
 		 N_("Flash Exposure Compensation")},
+		{PTP_DPC_NIKON_HDRMode,				/* 0xD130 */
+		 N_("HDR Mode")},
+		{PTP_DPC_NIKON_HDRHighDynamic,			/* 0xD131 */
+		 N_("HDR High Dynamic")},
+		{PTP_DPC_NIKON_HDRSmoothing,			/* 0xD132 */
+		 N_("HDR Smoothing")},
 		{PTP_DPC_NIKON_OptimizeImage,			/* 0xD140 */
 		 N_("Optimize Image")},
 		{PTP_DPC_NIKON_Saturation,			/* 0xD142 */
@@ -3315,8 +4774,8 @@
 		 N_("Slot 2 Save Mode")},
 		{PTP_DPC_NIKON_RawBitMode,			/* 0xD149 */
 		 N_("Raw Bit Mode")},
-		{PTP_DPC_NIKON_ISOAutoTime,			/* 0xD14E */
-		 N_("ISO Auto Time")},
+		{PTP_DPC_NIKON_ActiveDLighting,			/* 0xD14E */
+		 N_("Active D-Lighting")},
 		{PTP_DPC_NIKON_FlourescentType,			/* 0xD14F */
 		 N_("Flourescent Type")},
 		{PTP_DPC_NIKON_TuneColourTemperature,		/* 0xD150 */
@@ -3349,7 +4808,7 @@
 		 N_("Flash Commander Mode")},
 		{PTP_DPC_NIKON_FlashSign,			/* 0xD169 */
 		 N_("Flash Sign")},
-		{PTP_DPC_NIKON_ISOAuto,				/* 0xD16A */
+		{PTP_DPC_NIKON_ISO_Auto,			/* 0xD16A */
 		 N_("ISO Auto")},
 		{PTP_DPC_NIKON_RemoteTimeout,			/* 0xD16B */
 		 N_("Remote Timeout")},
@@ -3401,7 +4860,9 @@
 		 N_("Exposure Display Status")},
 		{PTP_DPC_NIKON_ExposureIndicateStatus,		/* 0xD1B1 */
 		 N_("Exposure Indicate Status")},
-		{PTP_DPC_NIKON_ExposureIndicateLightup,		/* 0xD1B2 */
+		{PTP_DPC_NIKON_InfoDispErrStatus,		/* 0xD1B2 */
+		 N_("Info Display Error Status")},
+		{PTP_DPC_NIKON_ExposureIndicateLightup,		/* 0xD1B3 */
 		 N_("Exposure Indicate Lightup")},
 		{PTP_DPC_NIKON_FlashOpen,			/* 0xD1C0 */
 		 N_("Flash Open")},
@@ -3437,6 +4898,23 @@
 		 N_("Active Pic Ctrl Item")},
 		{PTP_DPC_NIKON_ChangePicCtrlItem,		/* 0xD201 */
 		 N_("Change Pic Ctrl Item")},
+		/* nikon 1 stuff */
+		{PTP_DPC_NIKON_1_ISO,				/* 0xf002 */
+		 N_("ISO")},
+		{PTP_DPC_NIKON_1_ImageSize,			/* 0xf00a */
+		 N_("Image Size")},
+		{PTP_DPC_NIKON_1_LongExposureNoiseReduction,    /* 0xF00D */
+		 N_("Long Exposure Noise Reduction")},
+		{PTP_DPC_NIKON_1_MovQuality,                    /* 0xF01C */
+		 N_("Movie Quality")},
+		{PTP_DPC_NIKON_1_HiISONoiseReduction,           /* 0xF00E */
+		 N_("High ISO Noise Reduction")},
+		{PTP_DPC_NIKON_1_WhiteBalance,           	/* 0xF00C */
+		 N_("White Balance")},
+		{PTP_DPC_NIKON_1_ImageCompression,           	/* 0xF009 */
+		 N_("Image Compression")},
+		{PTP_DPC_NIKON_1_ActiveDLighting,           	/* 0xF00F */
+		 N_("Active D-Lighting")},
 		{0,NULL}
 	};
         struct {
@@ -3462,6 +4940,73 @@
 		{PTP_DPC_MTP_PlaysForSureID,    N_("PlaysForSure ID")},		/* D131 (?) */
 		{0,NULL}
         };
+        struct {
+		uint16_t dpc;
+		const char *txt;
+        } ptp_device_properties_FUJI[] = {
+		{PTP_DPC_FUJI_ColorTemperature, N_("Color Temperature")},	/* 0xD017 */
+		{PTP_DPC_FUJI_Quality, N_("Quality")},				/* 0xD018 */
+		{PTP_DPC_FUJI_Quality, N_("Release Mode")},			/* 0xD201 */
+		{PTP_DPC_FUJI_Quality, N_("Focus Areas")},			/* 0xD206 */
+		{PTP_DPC_FUJI_Quality, N_("AE Lock")},				/* 0xD213 */
+		{PTP_DPC_FUJI_Quality, N_("Aperture")},				/* 0xD218 */
+		{PTP_DPC_FUJI_Quality, N_("Shutter Speed")},			/* 0xD219 */
+		{0,NULL}
+        };
+
+        struct {
+		uint16_t dpc;
+		const char *txt;
+        } ptp_device_properties_SONY[] = {
+		{PTP_DPC_SONY_DPCCompensation, ("DOC Compensation")},	/* 0xD200 */
+		{PTP_DPC_SONY_DRangeOptimize, ("DRangeOptimize")},	/* 0xD201 */
+		{PTP_DPC_SONY_ImageSize, N_("Image size")},		/* 0xD203 */
+		{PTP_DPC_SONY_ShutterSpeed, N_("Shutter speed")},	/* 0xD20D */
+		{PTP_DPC_SONY_ColorTemp, N_("Color temperature")},	/* 0xD20F */
+		{PTP_DPC_SONY_CCFilter, ("CC Filter")},			/* 0xD210 */
+		{PTP_DPC_SONY_AspectRatio, N_("Aspect Ratio")}, 	/* 0xD211 */
+		{PTP_DPC_SONY_FocusFound, N_("Focus status")},		/* 0xD213 */
+		{PTP_DPC_SONY_ObjectInMemory, N_("Objects in memory")},	/* 0xD215 */
+		{PTP_DPC_SONY_ExposeIndex, N_("Expose Index")},		/* 0xD216 */
+		{PTP_DPC_SONY_BatteryLevel, N_("Battery Level")},	/* 0xD218 */
+		{PTP_DPC_SONY_PictureEffect, N_("Picture Effect")},	/* 0xD21B */
+		{PTP_DPC_SONY_ABFilter, N_("AB Filter")},		/* 0xD21C */
+		{PTP_DPC_SONY_ISO, N_("ISO")},				/* 0xD21E */
+		{PTP_DPC_SONY_Movie, N_("Movie")},			/* 0xD2C8 */
+		{PTP_DPC_SONY_StillImage, N_("Still Image")},		/* 0xD2C7 */
+		{0,NULL}
+        };
+
+        struct {
+		uint16_t dpc;
+		const char *txt;
+        } ptp_device_properties_PARROT[] = {
+		{PTP_DPC_PARROT_PhotoSensorEnableMask,		"PhotoSensorEnableMask"}, /* 0xD201 */
+		{PTP_DPC_PARROT_PhotoSensorsKeepOn,		"PhotoSensorsKeepOn"}, /* 0xD202 */
+		{PTP_DPC_PARROT_MultispectralImageSize,		"MultispectralImageSize"}, /* 0xD203 */
+		{PTP_DPC_PARROT_MainBitDepth,			"MainBitDepth"}, /* 0xD204 */
+		{PTP_DPC_PARROT_MultispectralBitDepth,		"MultispectralBitDepth"}, /* 0xD205 */
+		{PTP_DPC_PARROT_HeatingEnable,			"HeatingEnable"}, /* 0xD206 */
+		{PTP_DPC_PARROT_WifiStatus,			"WifiStatus"}, /* 0xD207 */
+		{PTP_DPC_PARROT_WifiSSID,			"WifiSSID"}, /* 0xD208 */
+		{PTP_DPC_PARROT_WifiEncryptionType,		"WifiEncryptionType"}, /* 0xD209 */
+		{PTP_DPC_PARROT_WifiPassphrase,			"WifiPassphrase"}, /* 0xD20A */
+		{PTP_DPC_PARROT_WifiChannel,			"WifiChannel"}, /* 0xD20B */
+		{PTP_DPC_PARROT_Localization,			"Localization"}, /* 0xD20C */
+		{PTP_DPC_PARROT_WifiMode,			"WifiMode"}, /* 0xD20D */
+		{PTP_DPC_PARROT_AntiFlickeringFrequency,	"AntiFlickeringFrequency"}, /* 0xD210 */
+		{PTP_DPC_PARROT_DisplayOverlayMask,		"DisplayOverlayMask"}, /* 0xD211 */
+		{PTP_DPC_PARROT_GPSInterval,			"GPSInterval"}, /* 0xD212 */
+		{PTP_DPC_PARROT_MultisensorsExposureMeteringMode,"MultisensorsExposureMeteringMode"}, /* 0xD213 */
+		{PTP_DPC_PARROT_MultisensorsExposureTime,	"MultisensorsExposureTime"}, /* 0xD214 */
+		{PTP_DPC_PARROT_MultisensorsExposureProgramMode,"MultisensorsExposureProgramMode"}, /* 0xD215 */
+		{PTP_DPC_PARROT_MultisensorsExposureIndex,	"MultisensorsExposureIndex"}, /* 0xD216 */
+		{PTP_DPC_PARROT_MultisensorsIrradianceGain,	"MultisensorsIrradianceGain"}, /* 0xD217 */
+		{PTP_DPC_PARROT_MultisensorsIrradianceIntegrationTime,"MultisensorsIrradianceIntegrationTime"}, /* 0xD218 */
+		{PTP_DPC_PARROT_OverlapRate,			"OverlapRate"}, /* 0xD219 */
+		{0,NULL}
+        };
+
 
 	for (i=0; ptp_device_properties[i].txt!=NULL; i++)
 		if (ptp_device_properties[i].dpc==dpc)
@@ -3488,6 +5033,21 @@
 			if (ptp_device_properties_Nikon[i].dpc==dpc)
 				return (ptp_device_properties_Nikon[i].txt);
 
+	if (params->deviceinfo.VendorExtensionID==PTP_VENDOR_FUJI)
+		for (i=0; ptp_device_properties_FUJI[i].txt!=NULL; i++)
+			if (ptp_device_properties_FUJI[i].dpc==dpc)
+				return (ptp_device_properties_FUJI[i].txt);
+
+	if (params->deviceinfo.VendorExtensionID==PTP_VENDOR_SONY)
+		for (i=0; ptp_device_properties_SONY[i].txt!=NULL; i++)
+			if (ptp_device_properties_SONY[i].dpc==dpc)
+				return (ptp_device_properties_SONY[i].txt);
+	if (params->deviceinfo.VendorExtensionID==PTP_VENDOR_PARROT)
+		for (i=0; ptp_device_properties_PARROT[i].txt!=NULL; i++)
+			if (ptp_device_properties_PARROT[i].dpc==dpc)
+				return (ptp_device_properties_PARROT[i].txt);
+
+
 	return NULL;
 }
 
@@ -3537,9 +5097,9 @@
 
 int
 ptp_render_property_value(PTPParams* params, uint16_t dpc,
-			  PTPDevicePropDesc *dpd, int length, char *out)
+			  PTPDevicePropDesc *dpd, unsigned int length, char *out)
 {
-	int i;
+	unsigned int i;
 	int64_t	kval;
 
 	struct {
@@ -3556,7 +5116,9 @@
 		{PTP_DPC_ExposureTime, 0, 0.00001, 0.0, "%.2g sec"},	/* 500D */
 		{PTP_DPC_ExposureIndex, 0, 1.0, 0.0, "ISO %.0f"},	/* 500F */
 		{PTP_DPC_ExposureBiasCompensation, 0, 0.001, 0.0, N_("%.1f stops")},/* 5010 */
+		{PTP_DPC_CaptureDelay, 0, 0.001, 0.0, "%.1fs"},		/* 5012 */
 		{PTP_DPC_DigitalZoom, 0, 0.1, 0.0, "%.1f"},		/* 5016 */
+		{PTP_DPC_BurstInterval, 0, 0.001, 0.0, "%.1fs"},	/* 5019 */
 
 		/* Nikon device properties */
 		{PTP_DPC_NIKON_LightMeter, PTP_VENDOR_NIKON, 0.08333, 0.0, N_("%.1f stops")},/* D10A */
@@ -3568,6 +5130,7 @@
 		{PTP_DPC_NIKON_MaxApAtMaxFocalLength, PTP_VENDOR_NIKON, 0.01, 0.0, "f/%.2g"}, /* D0E6 */
 		{PTP_DPC_NIKON_ExternalFlashCompensation, PTP_VENDOR_NIKON, 1.0/6.0, 0.0,"%.0f"}, /* D124 */
 		{PTP_DPC_NIKON_ExposureIndicateStatus, PTP_VENDOR_NIKON, 0.08333, 0.0, N_("%.1f stops")},/* D1B1 - FIXME: check if correct. */
+		{PTP_DPC_NIKON_AngleLevel, PTP_VENDOR_NIKON, 1.0/65536, 0.0, "%.1f'"},/* 0xD067 */
 		{0, 0, 0.0, 0.0, NULL}
 	};
 
@@ -3610,8 +5173,8 @@
 		{PTP_DPC_FlashMode, 0, 4, N_("Automatic Red-eye Reduction")},
 		{PTP_DPC_FlashMode, 0, 5, N_("Red-eye fill flash")},
 		{PTP_DPC_FlashMode, 0, 6, N_("External sync")},
-		{PTP_DPC_FlashMode, PTP_VENDOR_NIKON, 32784, N_("Default")},
-		{PTP_DPC_FlashMode, PTP_VENDOR_NIKON, 32785, N_("Slow Sync")},
+		{PTP_DPC_FlashMode, PTP_VENDOR_NIKON, 32784, N_("Auto")},
+		{PTP_DPC_FlashMode, PTP_VENDOR_NIKON, 32785, N_("Auto Slow Sync")},
 		{PTP_DPC_FlashMode, PTP_VENDOR_NIKON, 32786, N_("Rear Curtain Sync + Slow Sync")},
 		{PTP_DPC_FlashMode, PTP_VENDOR_NIKON, 32787, N_("Red-eye Reduction + Slow Sync")},
 		{PTP_DPC_ExposureProgramMode, 0, 1, "M"},		/* 500E */
@@ -3715,7 +5278,7 @@
 		{PTP_DPC_NIKON_MonitorOff, PTP_VENDOR_NIKON, 4, N_("10 minutes")},
 		{PTP_DPC_NIKON_MonitorOff, PTP_VENDOR_NIKON, 5, N_("5 seconds")}, /* d80 observed */
 
-		PTP_VENDOR_VAL_BOOL(PTP_DPC_NIKON_D3ExpDelayMode,PTP_VENDOR_NIKON),	/* D06A */
+		PTP_VENDOR_VAL_BOOL(PTP_DPC_NIKON_ExposureDelayMode,PTP_VENDOR_NIKON),	/* D06A */
 		PTP_VENDOR_VAL_BOOL(PTP_DPC_NIKON_LongExposureNoiseReduction,PTP_VENDOR_NIKON),	/* D06B */
 		PTP_VENDOR_VAL_BOOL(PTP_DPC_NIKON_FileNumberSequence,PTP_VENDOR_NIKON),	/* D06C */
 		PTP_VENDOR_VAL_BOOL(PTP_DPC_NIKON_D7Illumination,PTP_VENDOR_NIKON),	/* D06F */
@@ -3759,10 +5322,11 @@
 		PTP_VENDOR_VAL_BOOL(PTP_DPC_NIKON_ImageCommentEnable,PTP_VENDOR_NIKON),	/* D091 */
 		PTP_VENDOR_VAL_RBOOL(PTP_DPC_NIKON_ImageRotation,PTP_VENDOR_NIKON),	/* D092 */
 
-		PTP_VENDOR_VAL_BOOL(PTP_DPC_NIKON_MovVoice,PTP_VENDOR_NIKON),		/* D0A1 */
+		PTP_VENDOR_VAL_RBOOL(PTP_DPC_NIKON_MovVoice,PTP_VENDOR_NIKON),		/* D0A1 */
 
 		PTP_VENDOR_VAL_BOOL(PTP_DPC_NIKON_Bracketing,PTP_VENDOR_NIKON),		/* D0C0 */
 
+		/* http://www.rottmerhusen.com/objektives/lensid/nikkor.html is complete */
 		{PTP_DPC_NIKON_LensID, PTP_VENDOR_NIKON, 0, N_("Unknown")},		/* D0E0 */
 		{PTP_DPC_NIKON_LensID, PTP_VENDOR_NIKON, 38, "Sigma 70-300mm 1:4-5.6 D APO Macro"},
 		{PTP_DPC_NIKON_LensID, PTP_VENDOR_NIKON, 83, "AF Nikkor 80-200mm 1:2.8 D ED"},
@@ -3771,10 +5335,14 @@
 		{PTP_DPC_NIKON_LensID, PTP_VENDOR_NIKON, 139, "AF-S Nikkor 18-200mm 1:3.5-5.6 GED DX VR"},
 		{PTP_DPC_NIKON_LensID, PTP_VENDOR_NIKON, 147, "AF-S Nikkor 24-70mm 1:2.8G ED DX"},
 		{PTP_DPC_NIKON_LensID, PTP_VENDOR_NIKON, 154, "AF-S Nikkor 18-55mm 1:3.5-F5.6G DX VR"},
+		{PTP_DPC_NIKON_LensID, PTP_VENDOR_NIKON, 159, "AF-S Nikkor 35mm 1:1.8G DX"},
 		{PTP_DPC_NIKON_FinderISODisp, PTP_VENDOR_NIKON, 0, "Show ISO sensitivity"},/* 0xD0F0 */
 		{PTP_DPC_NIKON_FinderISODisp, PTP_VENDOR_NIKON, 1, "Show ISO/Easy ISO"},
 		{PTP_DPC_NIKON_FinderISODisp, PTP_VENDOR_NIKON, 2, "Show frame count"},
 
+		{PTP_DPC_NIKON_RawCompression, PTP_VENDOR_NIKON, 0, N_("Lossless")},	/* D016 */
+		{PTP_DPC_NIKON_RawCompression, PTP_VENDOR_NIKON, 1, N_("Lossy")},
+
 		PTP_VENDOR_VAL_YN(PTP_DPC_NIKON_ACPower,PTP_VENDOR_NIKON),		/* D101 */
 		PTP_VENDOR_VAL_YN(PTP_DPC_NIKON_AFLockStatus,PTP_VENDOR_NIKON),		/* D104 */
 		PTP_VENDOR_VAL_YN(PTP_DPC_NIKON_AELockStatus,PTP_VENDOR_NIKON),		/* D105 */
@@ -3896,6 +5464,7 @@
 		{PTP_DPC_NIKON_ISOAutoHiLimit, PTP_VENDOR_NIKON, 2, "1600"},
 		{PTP_DPC_NIKON_ISOAutoHiLimit, PTP_VENDOR_NIKON, 3, "3200"},
 		{PTP_DPC_NIKON_ISOAutoHiLimit, PTP_VENDOR_NIKON, 4, "Hi 1"},
+		{PTP_DPC_NIKON_ISOAutoHiLimit, PTP_VENDOR_NIKON, 5, "Hi 2"},
 
 		{PTP_DPC_NIKON_InfoDispSetting, PTP_VENDOR_NIKON, 0, N_("Auto")},	/* 0xD187 */
 		{PTP_DPC_NIKON_InfoDispSetting, PTP_VENDOR_NIKON, 1, N_("Dark on light")},
@@ -3912,6 +5481,22 @@
 		PTP_VENDOR_VAL_YN(PTP_DPC_NIKON_FlashOpen,PTP_VENDOR_NIKON),		/* D1C0 */
 		PTP_VENDOR_VAL_YN(PTP_DPC_NIKON_FlashCharged,PTP_VENDOR_NIKON),		/* D1C1 */
 
+		PTP_VENDOR_VAL_YN(PTP_DPC_NIKON_ManualMovieSetting,PTP_VENDOR_NIKON),	/* 0xD0A6 */
+
+		{PTP_DPC_NIKON_FlickerReduction, PTP_VENDOR_NIKON, 0, "50Hz"},		/* 0xD034 */
+		{PTP_DPC_NIKON_FlickerReduction, PTP_VENDOR_NIKON, 1, "60Hz"},
+
+		{PTP_DPC_NIKON_RemoteMode, PTP_VENDOR_NIKON, 0, N_("Delayed Remote")},	/* 0xD035 */
+		{PTP_DPC_NIKON_RemoteMode, PTP_VENDOR_NIKON, 1, N_("Quick Response")},	/* 0xD035 */
+		{PTP_DPC_NIKON_RemoteMode, PTP_VENDOR_NIKON, 2, N_("Remote Mirror Up")},/* 0xD035 */
+
+		{PTP_DPC_NIKON_MonitorOffDelay, PTP_VENDOR_NIKON, 0, "5min"},	/* 0xD0b3 */
+		{PTP_DPC_NIKON_MonitorOffDelay, PTP_VENDOR_NIKON, 1, "10min"},	/* 0xD0b3 */
+		{PTP_DPC_NIKON_MonitorOffDelay, PTP_VENDOR_NIKON, 2, "15min"},	/* 0xD0b3 */
+		{PTP_DPC_NIKON_MonitorOffDelay, PTP_VENDOR_NIKON, 3, "20min"},	/* 0xD0b3 */
+		{PTP_DPC_NIKON_MonitorOffDelay, PTP_VENDOR_NIKON, 4, "30min"},	/* 0xD0b3 */
+
+
 		/* Canon stuff */
 		PTP_VENDOR_VAL_BOOL(PTP_DPC_CANON_AssistLight,PTP_VENDOR_CANON),
 		PTP_VENDOR_VAL_RBOOL(PTP_DPC_CANON_RotationScene,PTP_VENDOR_CANON),
@@ -4150,9 +5735,14 @@
 		switch (dpc) {
 		case PTP_DPC_MTP_SynchronizationPartner:
 		case PTP_DPC_MTP_DeviceFriendlyName:
-			return snprintf(out, length, "%s", dpd->CurrentValue.str);
+			if (dpd->DataType == PTP_DTC_STR)
+				return snprintf(out, length, "%s", dpd->CurrentValue.str);
+			else
+				return snprintf(out, length, "invalid type, expected STR");
 		case PTP_DPC_MTP_SecureTime:
 		case PTP_DPC_MTP_DeviceCertificate: {
+			if (dpd->DataType != PTP_DTC_AUINT16)
+				return snprintf(out, length, "invalid type, expected AUINT16");
 			/* FIXME: Convert to use unicode demux functions */
 			for (i=0;(i<dpd->CurrentValue.a.count) && (i<length);i++)
 				out[i] = dpd->CurrentValue.a.v[i].u16;
@@ -4227,6 +5817,7 @@
 	{PTP_OFC_MTP_AAC,"AAC"},
 	{PTP_OFC_MTP_AudibleCodec,N_("Audible.com Codec")},
 	{PTP_OFC_MTP_FLAC,"FLAC"},
+	{PTP_OFC_MTP_SamsungPlaylist,N_("Samsung Playlist")},
 	{PTP_OFC_MTP_UndefinedVideo,N_("Undefined Video")},
 	{PTP_OFC_MTP_WMV,"WMV"},
 	{PTP_OFC_MTP_MP4,"MP4"},
@@ -4274,8 +5865,8 @@
 int
 ptp_render_ofc(PTPParams* params, uint16_t ofc, int spaceleft, char *txt)
 {
-	int i;
-	
+	unsigned int i;
+
 	if (!(ofc & 0x8000)) {
 		for (i=0;i<sizeof(ptp_ofc_trans)/sizeof(ptp_ofc_trans[0]);i++)
 			if (ofc == ptp_ofc_trans[i].ofc)
@@ -4298,6 +5889,14 @@
 				break;
 			}
 			break;
+		case PTP_VENDOR_SONY:
+			switch (ofc) {
+			case PTP_OFC_SONY_RAW:
+				return snprintf (txt, spaceleft,"ARW");
+			default:
+				break;
+			}
+			break;
 		case PTP_VENDOR_MICROSOFT:
 		case PTP_VENDOR_MTP:		  
 			for (i=0;i<sizeof(ptp_ofc_mtp_trans)/sizeof(ptp_ofc_mtp_trans[0]);i++)
@@ -4310,12 +5909,14 @@
 	return snprintf (txt, spaceleft,_("Unknown(%04x)"), ofc);
 }
 
-struct {
+typedef struct {
 	uint16_t opcode;
 	const char *name;
-} ptp_opcode_trans[] = {
+} ptp_opcode_trans_t;
+
+ptp_opcode_trans_t ptp_opcode_trans[] = {
 	{PTP_OC_Undefined,N_("Undefined")},
-	{PTP_OC_GetDeviceInfo,N_("get device info")},
+	{PTP_OC_GetDeviceInfo,N_("Get device info")},
 	{PTP_OC_OpenSession,N_("Open session")},
 	{PTP_OC_CloseSession,N_("Close session")},
 	{PTP_OC_GetStorageIDs,N_("Get storage IDs")},
@@ -4342,13 +5943,20 @@
 	{PTP_OC_MoveObject,N_("Move object")},
 	{PTP_OC_CopyObject,N_("Copy object")},
 	{PTP_OC_GetPartialObject,N_("Get partial object")},
-	{PTP_OC_InitiateOpenCapture,N_("Initiate open capture")}
+	{PTP_OC_InitiateOpenCapture,N_("Initiate open capture")},
+	/* PTP v1.1 operation codes */
+	{PTP_OC_StartEnumHandles,N_("Start Enumerate Handles")},
+	{PTP_OC_EnumHandles,N_("Enumerate Handles")},
+	{PTP_OC_StopEnumHandles,N_("Stop Enumerate Handles")},
+	{PTP_OC_GetVendorExtensionMaps,N_("Get Vendor Extension Maps")},
+	{PTP_OC_GetVendorDeviceInfo,N_("Get Vendor Device Info")},
+	{PTP_OC_GetResizedImageObject,N_("Get Resized Image Object")},
+	{PTP_OC_GetFilesystemManifest,N_("Get Filesystem Manifest")},
+	{PTP_OC_GetStreamInfo,N_("Get Stream Info")},
+	{PTP_OC_GetStream,N_("Get Stream")},
 };
 
-struct {
-	uint16_t opcode;
-	const char *name;
-} ptp_opcode_mtp_trans[] = {
+ptp_opcode_trans_t ptp_opcode_mtp_trans[] = {
 	{PTP_OC_MTP_GetObjectPropsSupported,N_("Get object properties supported")},
 	{PTP_OC_MTP_GetObjectPropDesc,N_("Get object property description")},
 	{PTP_OC_MTP_GetObjectPropValue,N_("Get object property value")},
@@ -4402,30 +6010,258 @@
 	{PTP_OC_MTP_WMDRMND_GetWMDRMNDLicenseResponse,N_("Get WMDRM-ND License Response")},
 
 	/* WiFi Provisioning MTP Extension Codes (microsoft.com/WPDWCN: 1.0) */
-	{PTP_OC_MTP_WPDWCN_ProcessWFCObject,N_("Process WFC Object")}
+	{PTP_OC_MTP_WPDWCN_ProcessWFCObject,N_("Process WFC Object")},
+
+	/* Android Direct I/O Extensions */
+	{PTP_OC_ANDROID_GetPartialObject64,N_("Get Partial Object (64bit Offset)")},
+	{PTP_OC_ANDROID_SendPartialObject,N_("Send Partial Object")},
+	{PTP_OC_ANDROID_TruncateObject,N_("Truncate Object")},
+	{PTP_OC_ANDROID_BeginEditObject,N_("Begin Edit Object")},
+	{PTP_OC_ANDROID_EndEditObject,N_("End Edit Object")},
 };
 
-int
-ptp_render_opcode(PTPParams* params, uint16_t opcode, int spaceleft, char *txt)
-{
-	int i;
+ptp_opcode_trans_t ptp_opcode_nikon_trans[] = {
+	{PTP_OC_NIKON_GetProfileAllData,"PTP_OC_NIKON_GetProfileAllData"},
+	{PTP_OC_NIKON_SendProfileData,"PTP_OC_NIKON_SendProfileData"},
+	{PTP_OC_NIKON_DeleteProfile,"PTP_OC_NIKON_DeleteProfile"},
+	{PTP_OC_NIKON_SetProfileData,"PTP_OC_NIKON_SetProfileData"},
+	{PTP_OC_NIKON_AdvancedTransfer,"PTP_OC_NIKON_AdvancedTransfer"},
+	{PTP_OC_NIKON_GetFileInfoInBlock,"PTP_OC_NIKON_GetFileInfoInBlock"},
+	{PTP_OC_NIKON_Capture,"PTP_OC_NIKON_Capture"},
+	{PTP_OC_NIKON_AfDrive,"PTP_OC_NIKON_AfDrive"},
+	{PTP_OC_NIKON_SetControlMode,"PTP_OC_NIKON_SetControlMode"},
+	{PTP_OC_NIKON_DelImageSDRAM,"PTP_OC_NIKON_DelImageSDRAM"},
+	{PTP_OC_NIKON_GetLargeThumb,"PTP_OC_NIKON_GetLargeThumb"},
+	{PTP_OC_NIKON_CurveDownload,"PTP_OC_NIKON_CurveDownload"},
+	{PTP_OC_NIKON_CurveUpload,"PTP_OC_NIKON_CurveUpload"},
+	{PTP_OC_NIKON_CheckEvent,"PTP_OC_NIKON_CheckEvent"},
+	{PTP_OC_NIKON_DeviceReady,"PTP_OC_NIKON_DeviceReady"},
+	{PTP_OC_NIKON_SetPreWBData,"PTP_OC_NIKON_SetPreWBData"},
+	{PTP_OC_NIKON_GetVendorPropCodes,"PTP_OC_NIKON_GetVendorPropCodes"},
+	{PTP_OC_NIKON_AfCaptureSDRAM,"PTP_OC_NIKON_AfCaptureSDRAM"},
+	{PTP_OC_NIKON_GetPictCtrlData,"PTP_OC_NIKON_GetPictCtrlData"},
+	{PTP_OC_NIKON_SetPictCtrlData,"PTP_OC_NIKON_SetPictCtrlData"},
+	{PTP_OC_NIKON_DelCstPicCtrl,"PTP_OC_NIKON_DelCstPicCtrl"},
+	{PTP_OC_NIKON_GetPicCtrlCapability,"PTP_OC_NIKON_GetPicCtrlCapability"},
+	{PTP_OC_NIKON_GetPreviewImg,"PTP_OC_NIKON_GetPreviewImg"},
+	{PTP_OC_NIKON_StartLiveView,"PTP_OC_NIKON_StartLiveView"},
+	{PTP_OC_NIKON_EndLiveView,"PTP_OC_NIKON_EndLiveView"},
+	{PTP_OC_NIKON_GetLiveViewImg,"PTP_OC_NIKON_GetLiveViewImg"},
+	{PTP_OC_NIKON_MfDrive,"PTP_OC_NIKON_MfDrive"},
+	{PTP_OC_NIKON_ChangeAfArea,"PTP_OC_NIKON_ChangeAfArea"},
+	{PTP_OC_NIKON_AfDriveCancel,"PTP_OC_NIKON_AfDriveCancel"},
+	{PTP_OC_NIKON_InitiateCaptureRecInMedia,"PTP_OC_NIKON_InitiateCaptureRecInMedia"},
+	{PTP_OC_NIKON_GetVendorStorageIDs,"PTP_OC_NIKON_GetVendorStorageIDs"},
+	{PTP_OC_NIKON_StartMovieRecInCard,"PTP_OC_NIKON_StartMovieRecInCard"},
+	{PTP_OC_NIKON_EndMovieRec,"PTP_OC_NIKON_EndMovieRec"},
+	{PTP_OC_NIKON_TerminateCapture,"PTP_OC_NIKON_TerminateCapture"},
+	{PTP_OC_NIKON_GetDevicePTPIPInfo,"PTP_OC_NIKON_GetDevicePTPIPInfo"},
+	{PTP_OC_NIKON_GetPartialObjectHiSpeed,"PTP_OC_NIKON_GetPartialObjectHiSpeed"},
+	{PTP_OC_NIKON_GetDevicePropEx,"PTP_OC_NIKON_GetDevicePropEx"},
+};
 
-	if (!(opcode & 0x8000)) {
-		for (i=0;i<sizeof(ptp_opcode_trans)/sizeof(ptp_opcode_trans[0]);i++)
-			if (opcode == ptp_opcode_trans[i].opcode)
-				return snprintf(txt, spaceleft, "%s", _(ptp_opcode_trans[i].name));
-	} else {
-		switch (params->deviceinfo.VendorExtensionID) {
-		case PTP_VENDOR_MICROSOFT:
-		case PTP_VENDOR_MTP:
-			for (i=0;i<sizeof(ptp_opcode_mtp_trans)/sizeof(ptp_opcode_mtp_trans[0]);i++)
-				if (opcode == ptp_opcode_mtp_trans[i].opcode)
-					return snprintf(txt, spaceleft, "%s", _(ptp_opcode_mtp_trans[i].name));
-			break;
-		default:break;
-		}
+ptp_opcode_trans_t ptp_opcode_canon_trans[] = {
+	{PTP_OC_CANON_GetPartialObjectInfo,"PTP_OC_CANON_GetPartialObjectInfo"},
+	{PTP_OC_CANON_SetObjectArchive,"PTP_OC_CANON_SetObjectArchive"},
+	{PTP_OC_CANON_KeepDeviceOn,"PTP_OC_CANON_KeepDeviceOn"},
+	{PTP_OC_CANON_LockDeviceUI,"PTP_OC_CANON_LockDeviceUI"},
+	{PTP_OC_CANON_UnlockDeviceUI,"PTP_OC_CANON_UnlockDeviceUI"},
+	{PTP_OC_CANON_GetObjectHandleByName,"PTP_OC_CANON_GetObjectHandleByName"},
+	{PTP_OC_CANON_InitiateReleaseControl,"PTP_OC_CANON_InitiateReleaseControl"},
+	{PTP_OC_CANON_TerminateReleaseControl,"PTP_OC_CANON_TerminateReleaseControl"},
+	{PTP_OC_CANON_TerminatePlaybackMode,"PTP_OC_CANON_TerminatePlaybackMode"},
+	{PTP_OC_CANON_ViewfinderOn,"PTP_OC_CANON_ViewfinderOn"},
+	{PTP_OC_CANON_ViewfinderOff,"PTP_OC_CANON_ViewfinderOff"},
+	{PTP_OC_CANON_DoAeAfAwb,"PTP_OC_CANON_DoAeAfAwb"},
+	{PTP_OC_CANON_GetCustomizeSpec,"PTP_OC_CANON_GetCustomizeSpec"},
+	{PTP_OC_CANON_GetCustomizeItemInfo,"PTP_OC_CANON_GetCustomizeItemInfo"},
+	{PTP_OC_CANON_GetCustomizeData,"PTP_OC_CANON_GetCustomizeData"},
+	{PTP_OC_CANON_SetCustomizeData,"PTP_OC_CANON_SetCustomizeData"},
+	{PTP_OC_CANON_GetCaptureStatus,"PTP_OC_CANON_GetCaptureStatus"},
+	{PTP_OC_CANON_CheckEvent,"PTP_OC_CANON_CheckEvent"},
+	{PTP_OC_CANON_FocusLock,"PTP_OC_CANON_FocusLock"},
+	{PTP_OC_CANON_FocusUnlock,"PTP_OC_CANON_FocusUnlock"},
+	{PTP_OC_CANON_GetLocalReleaseParam,"PTP_OC_CANON_GetLocalReleaseParam"},
+	{PTP_OC_CANON_SetLocalReleaseParam,"PTP_OC_CANON_SetLocalReleaseParam"},
+	{PTP_OC_CANON_AskAboutPcEvf,"PTP_OC_CANON_AskAboutPcEvf"},
+	{PTP_OC_CANON_SendPartialObject,"PTP_OC_CANON_SendPartialObject"},
+	{PTP_OC_CANON_InitiateCaptureInMemory,"PTP_OC_CANON_InitiateCaptureInMemory"},
+	{PTP_OC_CANON_GetPartialObjectEx,"PTP_OC_CANON_GetPartialObjectEx"},
+	{PTP_OC_CANON_SetObjectTime,"PTP_OC_CANON_SetObjectTime"},
+	{PTP_OC_CANON_GetViewfinderImage,"PTP_OC_CANON_GetViewfinderImage"},
+	{PTP_OC_CANON_GetObjectAttributes,"PTP_OC_CANON_GetObjectAttributes"},
+	{PTP_OC_CANON_ChangeUSBProtocol,"PTP_OC_CANON_ChangeUSBProtocol"},
+	{PTP_OC_CANON_GetChanges,"PTP_OC_CANON_GetChanges"},
+	{PTP_OC_CANON_GetObjectInfoEx,"PTP_OC_CANON_GetObjectInfoEx"},
+	{PTP_OC_CANON_InitiateDirectTransfer,"PTP_OC_CANON_InitiateDirectTransfer"},
+	{PTP_OC_CANON_TerminateDirectTransfer ,"PTP_OC_CANON_TerminateDirectTransfer "},
+	{PTP_OC_CANON_SendObjectInfoByPath ,"PTP_OC_CANON_SendObjectInfoByPath "},
+	{PTP_OC_CANON_SendObjectByPath ,"PTP_OC_CANON_SendObjectByPath "},
+	{PTP_OC_CANON_InitiateDirectTansferEx,"PTP_OC_CANON_InitiateDirectTansferEx"},
+	{PTP_OC_CANON_GetAncillaryObjectHandles,"PTP_OC_CANON_GetAncillaryObjectHandles"},
+	{PTP_OC_CANON_GetTreeInfo ,"PTP_OC_CANON_GetTreeInfo "},
+	{PTP_OC_CANON_GetTreeSize ,"PTP_OC_CANON_GetTreeSize "},
+	{PTP_OC_CANON_NotifyProgress ,"PTP_OC_CANON_NotifyProgress "},
+	{PTP_OC_CANON_NotifyCancelAccepted,"PTP_OC_CANON_NotifyCancelAccepted"},
+	{PTP_OC_CANON_902C,"PTP_OC_CANON_902C"},
+	{PTP_OC_CANON_GetDirectory,"PTP_OC_CANON_GetDirectory"},
+	{PTP_OC_CANON_SetPairingInfo,"PTP_OC_CANON_SetPairingInfo"},
+	{PTP_OC_CANON_GetPairingInfo,"PTP_OC_CANON_GetPairingInfo"},
+	{PTP_OC_CANON_DeletePairingInfo,"PTP_OC_CANON_DeletePairingInfo"},
+	{PTP_OC_CANON_GetMACAddress,"PTP_OC_CANON_GetMACAddress"},
+	{PTP_OC_CANON_SetDisplayMonitor,"PTP_OC_CANON_SetDisplayMonitor"},
+	{PTP_OC_CANON_PairingComplete,"PTP_OC_CANON_PairingComplete"},
+	{PTP_OC_CANON_GetWirelessMAXChannel,"PTP_OC_CANON_GetWirelessMAXChannel"},
+	{PTP_OC_CANON_GetWebServiceSpec,"PTP_OC_CANON_GetWebServiceSpec"},
+	{PTP_OC_CANON_GetWebServiceData,"PTP_OC_CANON_GetWebServiceData"},
+	{PTP_OC_CANON_SetWebServiceData,"PTP_OC_CANON_SetWebServiceData"},
+	{PTP_OC_CANON_GetRootCertificateSpec,"PTP_OC_CANON_GetRootCertificateSpec"},
+	{PTP_OC_CANON_GetRootCertificateData,"PTP_OC_CANON_GetRootCertificateData"},
+	{PTP_OC_CANON_SetRootCertificateData,"PTP_OC_CANON_SetRootCertificateData"},
+	{PTP_OC_CANON_EOS_GetStorageIDs,"PTP_OC_CANON_EOS_GetStorageIDs"},
+	{PTP_OC_CANON_EOS_GetStorageInfo,"PTP_OC_CANON_EOS_GetStorageInfo"},
+	{PTP_OC_CANON_EOS_GetObjectInfo,"PTP_OC_CANON_EOS_GetObjectInfo"},
+	{PTP_OC_CANON_EOS_GetObject,"PTP_OC_CANON_EOS_GetObject"},
+	{PTP_OC_CANON_EOS_DeleteObject,"PTP_OC_CANON_EOS_DeleteObject"},
+	{PTP_OC_CANON_EOS_FormatStore,"PTP_OC_CANON_EOS_FormatStore"},
+	{PTP_OC_CANON_EOS_GetPartialObject,"PTP_OC_CANON_EOS_GetPartialObject"},
+	{PTP_OC_CANON_EOS_GetDeviceInfoEx,"PTP_OC_CANON_EOS_GetDeviceInfoEx"},
+	{PTP_OC_CANON_EOS_GetObjectInfoEx,"PTP_OC_CANON_EOS_GetObjectInfoEx"},
+	{PTP_OC_CANON_EOS_GetThumbEx,"PTP_OC_CANON_EOS_GetThumbEx"},
+	{PTP_OC_CANON_EOS_SendPartialObject,"PTP_OC_CANON_EOS_SendPartialObject"},
+	{PTP_OC_CANON_EOS_SetObjectAttributes,"PTP_OC_CANON_EOS_SetObjectAttributes"},
+	{PTP_OC_CANON_EOS_GetObjectTime,"PTP_OC_CANON_EOS_GetObjectTime"},
+	{PTP_OC_CANON_EOS_SetObjectTime,"PTP_OC_CANON_EOS_SetObjectTime"},
+	{PTP_OC_CANON_EOS_RemoteRelease,"PTP_OC_CANON_EOS_RemoteRelease"},
+	{PTP_OC_CANON_EOS_SetDevicePropValueEx,"PTP_OC_CANON_EOS_SetDevicePropValueEx"},
+	{PTP_OC_CANON_EOS_GetRemoteMode,"PTP_OC_CANON_EOS_GetRemoteMode"},
+	{PTP_OC_CANON_EOS_SetRemoteMode,"PTP_OC_CANON_EOS_SetRemoteMode"},
+	{PTP_OC_CANON_EOS_SetEventMode,"PTP_OC_CANON_EOS_SetEventMode"},
+	{PTP_OC_CANON_EOS_GetEvent,"PTP_OC_CANON_EOS_GetEvent"},
+	{PTP_OC_CANON_EOS_TransferComplete,"PTP_OC_CANON_EOS_TransferComplete"},
+	{PTP_OC_CANON_EOS_CancelTransfer,"PTP_OC_CANON_EOS_CancelTransfer"},
+	{PTP_OC_CANON_EOS_ResetTransfer,"PTP_OC_CANON_EOS_ResetTransfer"},
+	{PTP_OC_CANON_EOS_PCHDDCapacity,"PTP_OC_CANON_EOS_PCHDDCapacity"},
+	{PTP_OC_CANON_EOS_SetUILock,"PTP_OC_CANON_EOS_SetUILock"},
+	{PTP_OC_CANON_EOS_ResetUILock,"PTP_OC_CANON_EOS_ResetUILock"},
+	{PTP_OC_CANON_EOS_KeepDeviceOn,"PTP_OC_CANON_EOS_KeepDeviceOn"},
+	{PTP_OC_CANON_EOS_SetNullPacketMode,"PTP_OC_CANON_EOS_SetNullPacketMode"},
+	{PTP_OC_CANON_EOS_UpdateFirmware,"PTP_OC_CANON_EOS_UpdateFirmware"},
+	{PTP_OC_CANON_EOS_TransferCompleteDT,"PTP_OC_CANON_EOS_TransferCompleteDT"},
+	{PTP_OC_CANON_EOS_CancelTransferDT,"PTP_OC_CANON_EOS_CancelTransferDT"},
+	{PTP_OC_CANON_EOS_SetWftProfile,"PTP_OC_CANON_EOS_SetWftProfile"},
+	{PTP_OC_CANON_EOS_GetWftProfile,"PTP_OC_CANON_EOS_GetWftProfile"},
+	{PTP_OC_CANON_EOS_SetProfileToWft,"PTP_OC_CANON_EOS_SetProfileToWft"},
+	{PTP_OC_CANON_EOS_BulbStart,"PTP_OC_CANON_EOS_BulbStart"},
+	{PTP_OC_CANON_EOS_BulbEnd,"PTP_OC_CANON_EOS_BulbEnd"},
+	{PTP_OC_CANON_EOS_RequestDevicePropValue,"PTP_OC_CANON_EOS_RequestDevicePropValue"},
+	{PTP_OC_CANON_EOS_RemoteReleaseOn,"PTP_OC_CANON_EOS_RemoteReleaseOn"},
+	{PTP_OC_CANON_EOS_RemoteReleaseOff,"PTP_OC_CANON_EOS_RemoteReleaseOff"},
+	{PTP_OC_CANON_EOS_RegistBackgroundImage,"PTP_OC_CANON_EOS_RegistBackgroundImage"},
+	{PTP_OC_CANON_EOS_ChangePhotoStudioMode,"PTP_OC_CANON_EOS_ChangePhotoStudioMode"},
+	{PTP_OC_CANON_EOS_GetPartialObjectEx,"PTP_OC_CANON_EOS_GetPartialObjectEx"},
+	{PTP_OC_CANON_EOS_ResetMirrorLockupState,"PTP_OC_CANON_EOS_ResetMirrorLockupState"},
+	{PTP_OC_CANON_EOS_PopupBuiltinFlash,"PTP_OC_CANON_EOS_PopupBuiltinFlash"},
+	{PTP_OC_CANON_EOS_EndGetPartialObjectEx,"PTP_OC_CANON_EOS_EndGetPartialObjectEx"},
+	{PTP_OC_CANON_EOS_MovieSelectSWOn,"PTP_OC_CANON_EOS_MovieSelectSWOn"},
+	{PTP_OC_CANON_EOS_MovieSelectSWOff,"PTP_OC_CANON_EOS_MovieSelectSWOff"},
+	{PTP_OC_CANON_EOS_GetCTGInfo,"PTP_OC_CANON_EOS_GetCTGInfo"},
+	{PTP_OC_CANON_EOS_GetLensAdjust,"PTP_OC_CANON_EOS_GetLensAdjust"},
+	{PTP_OC_CANON_EOS_SetLensAdjust,"PTP_OC_CANON_EOS_SetLensAdjust"},
+	{PTP_OC_CANON_EOS_GetMusicInfo,"PTP_OC_CANON_EOS_GetMusicInfo"},
+	{PTP_OC_CANON_EOS_CreateHandle,"PTP_OC_CANON_EOS_CreateHandle"},
+	{PTP_OC_CANON_EOS_SendPartialObjectEx,"PTP_OC_CANON_EOS_SendPartialObjectEx"},
+	{PTP_OC_CANON_EOS_EndSendPartialObjectEx,"PTP_OC_CANON_EOS_EndSendPartialObjectEx"},
+	{PTP_OC_CANON_EOS_SetCTGInfo,"PTP_OC_CANON_EOS_SetCTGInfo"},
+	{PTP_OC_CANON_EOS_SetRequestOLCInfoGroup,"PTP_OC_CANON_EOS_SetRequestOLCInfoGroup"},
+	{PTP_OC_CANON_EOS_SetRequestRollingPitchingLevel,"PTP_OC_CANON_EOS_SetRequestRollingPitchingLevel"},
+	{PTP_OC_CANON_EOS_GetCameraSupport,"PTP_OC_CANON_EOS_GetCameraSupport"},
+	{PTP_OC_CANON_EOS_SetRating,"PTP_OC_CANON_EOS_SetRating"},
+	{PTP_OC_CANON_EOS_RequestInnerDevelopStart,"PTP_OC_CANON_EOS_RequestInnerDevelopStart"},
+	{PTP_OC_CANON_EOS_RequestInnerDevelopParamChange,"PTP_OC_CANON_EOS_RequestInnerDevelopParamChange"},
+	{PTP_OC_CANON_EOS_RequestInnerDevelopEnd,"PTP_OC_CANON_EOS_RequestInnerDevelopEnd"},
+	{PTP_OC_CANON_EOS_GpsLoggingDataMode,"PTP_OC_CANON_EOS_GpsLoggingDataMode"},
+	{PTP_OC_CANON_EOS_GetGpsLogCurrentHandle,"PTP_OC_CANON_EOS_GetGpsLogCurrentHandle"},
+	{PTP_OC_CANON_EOS_InitiateViewfinder,"PTP_OC_CANON_EOS_InitiateViewfinder"},
+	{PTP_OC_CANON_EOS_TerminateViewfinder,"PTP_OC_CANON_EOS_TerminateViewfinder"},
+	{PTP_OC_CANON_EOS_GetViewFinderData,"PTP_OC_CANON_EOS_GetViewFinderData"},
+	{PTP_OC_CANON_EOS_DoAf,"PTP_OC_CANON_EOS_DoAf"},
+	{PTP_OC_CANON_EOS_DriveLens,"PTP_OC_CANON_EOS_DriveLens"},
+	{PTP_OC_CANON_EOS_DepthOfFieldPreview,"PTP_OC_CANON_EOS_DepthOfFieldPreview"},
+	{PTP_OC_CANON_EOS_ClickWB,"PTP_OC_CANON_EOS_ClickWB"},
+	{PTP_OC_CANON_EOS_Zoom,"PTP_OC_CANON_EOS_Zoom"},
+	{PTP_OC_CANON_EOS_ZoomPosition,"PTP_OC_CANON_EOS_ZoomPosition"},
+	{PTP_OC_CANON_EOS_SetLiveAfFrame,"PTP_OC_CANON_EOS_SetLiveAfFrame"},
+	{PTP_OC_CANON_EOS_TouchAfPosition,"PTP_OC_CANON_EOS_TouchAfPosition"},
+	{PTP_OC_CANON_EOS_SetLvPcFlavoreditMode,"PTP_OC_CANON_EOS_SetLvPcFlavoreditMode"},
+	{PTP_OC_CANON_EOS_SetLvPcFlavoreditParam,"PTP_OC_CANON_EOS_SetLvPcFlavoreditParam"},
+	{PTP_OC_CANON_EOS_AfCancel,"PTP_OC_CANON_EOS_AfCancel"},
+	{PTP_OC_CANON_EOS_SetDefaultCameraSetting,"PTP_OC_CANON_EOS_SetDefaultCameraSetting"},
+	{PTP_OC_CANON_EOS_GetAEData,"PTP_OC_CANON_EOS_GetAEData"},
+	{PTP_OC_CANON_EOS_NotifyNetworkError,"PTP_OC_CANON_EOS_NotifyNetworkError"},
+	{PTP_OC_CANON_EOS_AdapterTransferProgress,"PTP_OC_CANON_EOS_AdapterTransferProgress"},
+	{PTP_OC_CANON_EOS_TransferComplete2,"PTP_OC_CANON_EOS_TransferComplete2"},
+	{PTP_OC_CANON_EOS_CancelTransfer2,"PTP_OC_CANON_EOS_CancelTransfer2"},
+	{PTP_OC_CANON_EOS_FAPIMessageTX,"PTP_OC_CANON_EOS_FAPIMessageTX"},
+	{PTP_OC_CANON_EOS_FAPIMessageRX,"PTP_OC_CANON_EOS_FAPIMessageRX"},
+};
+
+ptp_opcode_trans_t ptp_opcode_sony_trans[] = {
+	{PTP_OC_SONY_SDIOConnect,"PTP_OC_SONY_SDIOConnect"},
+	{PTP_OC_SONY_GetSDIOGetExtDeviceInfo,"PTP_OC_SONY_GetSDIOGetExtDeviceInfo"},
+	{PTP_OC_SONY_GetDevicePropdesc,"PTP_OC_SONY_GetDevicePropdesc"},
+	{PTP_OC_SONY_GetDevicePropertyValue,"PTP_OC_SONY_GetDevicePropertyValue"},
+	{PTP_OC_SONY_SetControlDeviceA,"PTP_OC_SONY_SetControlDeviceA"},
+	{PTP_OC_SONY_GetControlDeviceDesc,"PTP_OC_SONY_GetControlDeviceDesc"},
+	{PTP_OC_SONY_SetControlDeviceB,"PTP_OC_SONY_SetControlDeviceB"},
+	{PTP_OC_SONY_GetAllDevicePropData,"PTP_OC_SONY_GetAllDevicePropData"},
+};
+
+ptp_opcode_trans_t ptp_opcode_parrot_trans[] = {
+	{PTP_OC_PARROT_GetSunshineValues,"PTP_OC_PARROT_GetSunshineValues"},
+	{PTP_OC_PARROT_GetTemperatureValues,"PTP_OC_PARROT_GetTemperatureValues"},
+	{PTP_OC_PARROT_GetAngleValues,"PTP_OC_PARROT_GetAngleValues"},
+	{PTP_OC_PARROT_GetGpsValues,"PTP_OC_PARROT_GetGpsValues"},
+	{PTP_OC_PARROT_GetGyroscopeValues,"PTP_OC_PARROT_GetGyroscopeValues"},
+	{PTP_OC_PARROT_GetAccelerometerValues,"PTP_OC_PARROT_GetAccelerometerValues"},
+	{PTP_OC_PARROT_GetMagnetometerValues,"PTP_OC_PARROT_GetMagnetometerValues"},
+	{PTP_OC_PARROT_GetImuValues,"PTP_OC_PARROT_GetImuValues"},
+	{PTP_OC_PARROT_GetStatusMask,"PTP_OC_PARROT_GetStatusMask"},
+	{PTP_OC_PARROT_EjectStorage,"PTP_OC_PARROT_EjectStorage"},
+	{PTP_OC_PARROT_StartMagnetoCalib,"PTP_OC_PARROT_StartMagnetoCalib"},
+	{PTP_OC_PARROT_StopMagnetoCalib,"PTP_OC_PARROT_StopMagnetoCalib"},
+	{PTP_OC_PARROT_MagnetoCalibStatus,"PTP_OC_PARROT_MagnetoCalibStatus"},
+	{PTP_OC_PARROT_SendFirmwareUpdate,"PTP_OC_PARROT_SendFirmwareUpdate"},
+};
+
+const char*
+ptp_get_opcode_name(PTPParams* params, uint16_t opcode)
+{
+#define RETURN_NAME_FROM_TABLE(TABLE, OPCODE) \
+{ \
+	unsigned int i; \
+	for (i=0; i<sizeof(TABLE)/sizeof(TABLE[0]); i++) \
+		if (OPCODE == TABLE[i].opcode) \
+			return _(TABLE[i].name); \
+	return _("Unknown PTP_OC"); \
+}
+
+	if (!(opcode & 0x8000))
+		RETURN_NAME_FROM_TABLE(ptp_opcode_trans, opcode);
+
+	switch (params->deviceinfo.VendorExtensionID) {
+	case PTP_VENDOR_MICROSOFT:
+	case PTP_VENDOR_MTP:	RETURN_NAME_FROM_TABLE(ptp_opcode_mtp_trans, opcode);
+	case PTP_VENDOR_NIKON:	RETURN_NAME_FROM_TABLE(ptp_opcode_nikon_trans, opcode);
+	case PTP_VENDOR_CANON:	RETURN_NAME_FROM_TABLE(ptp_opcode_canon_trans, opcode);
+	case PTP_VENDOR_SONY:	RETURN_NAME_FROM_TABLE(ptp_opcode_sony_trans, opcode);
+	case PTP_VENDOR_PARROT:	RETURN_NAME_FROM_TABLE(ptp_opcode_parrot_trans, opcode);
+	default:
+		break;
 	}
-	return snprintf (txt, spaceleft,_("Unknown (%04x)"), opcode);
+#undef RETURN_NAME_FROM_TABLE
+
+	return _("Unknown VendorExtensionID");
 }
 
 
@@ -4604,8 +6440,9 @@
 };
 
 int
-ptp_render_mtp_propname(uint16_t propid, int spaceleft, char *txt) {
-	int i;
+ptp_render_mtp_propname(uint16_t propid, int spaceleft, char *txt)
+{
+	unsigned int i;
 	for (i=0;i<sizeof(ptp_opc_trans)/sizeof(ptp_opc_trans[0]);i++)
 		if (propid == ptp_opc_trans[i].id)
 			return snprintf(txt, spaceleft, "%s", ptp_opc_trans[i].name);
@@ -4616,15 +6453,12 @@
  * Allocate and default-initialize a few object properties.
  */
 MTPProperties *
-ptp_get_new_object_prop_entry(MTPProperties **props, int *nrofprops) {
+ptp_get_new_object_prop_entry(MTPProperties **props, int *nrofprops)
+{
 	MTPProperties *newprops;
 	MTPProperties *prop;
 
-	if (*props == NULL) {
-		newprops = malloc(sizeof(MTPProperties)*(*nrofprops+1));
-	} else {
-		newprops = realloc(*props,sizeof(MTPProperties)*(*nrofprops+1));
-	}
+	newprops = realloc(*props,sizeof(MTPProperties)*(*nrofprops+1));
 	if (newprops == NULL)
 		return NULL;
 	prop = &newprops[*nrofprops];
@@ -4672,7 +6506,7 @@
 MTPProperties *
 ptp_find_object_prop_in_cache(PTPParams *params, uint32_t const handle, uint32_t const attribute_id)
 {
-	int	i;
+	unsigned int	i;
 	MTPProperties	*prop;
 	PTPObject	*ob;
 	uint16_t	ret;
@@ -4689,16 +6523,13 @@
 	return NULL;
 }
 
-void
+uint16_t
 ptp_remove_object_from_cache(PTPParams *params, uint32_t handle)
 {
-	int i;
+	unsigned int i;
 	PTPObject	*ob;
-	uint16_t	ret;
 
-	ret = ptp_object_find (params, handle, &ob);
-	if (ret != PTP_RC_OK)
-		return;
+	CHECK_PTP_RC(ptp_object_find (params, handle, &ob));
 	i = ob-params->objects;
 	/* remove object from object info cache */
 	ptp_free_object (ob);
@@ -4708,23 +6539,32 @@
 	params->nrofobjects--;
 	/* We use less memory than before so this shouldn't fail */
 	params->objects = realloc(params->objects, sizeof(PTPObject)*params->nrofobjects);
+	return PTP_RC_OK;
 }
 
-static int _cmp_ob (const void *a, const void *b) {
+static int _cmp_ob (const void *a, const void *b)
+{
 	PTPObject *oa = (PTPObject*)a;
 	PTPObject *ob = (PTPObject*)b;
 
-	return oa->oid - ob->oid;
+	/* Do not subtract the oids and return ...
+	 * the unsigned int -> int conversion will overflow in cases
+	 * like 0xfffc0000 vs 0x0004000. */
+	if (oa->oid > ob->oid) return 1;
+	if (oa->oid < ob->oid) return -1;
+	return 0;
 }
 	
 void
-ptp_objects_sort (PTPParams *params) {
+ptp_objects_sort (PTPParams *params)
+{
 	qsort (params->objects, params->nrofobjects, sizeof(PTPObject), _cmp_ob);
 }
 
 /* Binary search in objects. Needs "objects" to be a sorted by objectid list!  */
 uint16_t
-ptp_object_find (PTPParams *params, uint32_t handle, PTPObject **retob) {
+ptp_object_find (PTPParams *params, uint32_t handle, PTPObject **retob)
+{
 	PTPObject	tmpob;
 
 	tmpob.oid = handle;
@@ -4736,9 +6576,10 @@
 
 /* Binary search in objects + insert of not found. Needs "objects" to be a sorted by objectid list!  */
 uint16_t
-ptp_object_find_or_insert (PTPParams *params, uint32_t handle, PTPObject **retob) {
-	int 		begin, end, cursor;
-	int		insertat;
+ptp_object_find_or_insert (PTPParams *params, uint32_t handle, PTPObject **retob)
+{
+	unsigned int 	begin, end, cursor;
+	unsigned int	insertat;
 	PTPObject	*newobs;
 
 	if (!handle) return PTP_RC_GeneralError;
@@ -4787,7 +6628,7 @@
 	newobs = realloc (params->objects, sizeof(PTPObject)*(params->nrofobjects+1));
 	if (!newobs) return PTP_RC_GeneralError;
 	params->objects = newobs;
-	if (insertat<=params->nrofobjects)
+	if (insertat<params->nrofobjects)
 		memmove (&params->objects[insertat+1],&params->objects[insertat],(params->nrofobjects-insertat)*sizeof(PTPObject));
 	memset(&params->objects[insertat],0,sizeof(PTPObject));
 	params->objects[insertat].oid = handle;
@@ -4797,19 +6638,22 @@
 }
 
 uint16_t
-ptp_object_want (PTPParams *params, uint32_t handle, int want, PTPObject **retob) {
+ptp_object_want (PTPParams *params, uint32_t handle, unsigned int want, PTPObject **retob)
+{
 	uint16_t	ret;
 	PTPObject	*ob;
-	//Camera 		*camera = ((PTPData *)params->data)->camera;
+	/*Camera 		*camera = ((PTPData *)params->data)->camera;*/
+
+	/* If GetObjectInfo is broken, force GetPropList */
+	if (params->device_flags & DEVICE_FLAG_PROPLIST_OVERRIDES_OI)
+		want |= PTPOBJECT_MTPPROPLIST_LOADED;
 
 	*retob = NULL;
 	if (!handle) {
 		ptp_debug (params, "ptp_object_want: querying handle 0?\n");
 		return PTP_RC_GeneralError;
 	}
-	ret = ptp_object_find_or_insert (params, handle, &ob);
-	if (ret != PTP_RC_OK)
-		return PTP_RC_GeneralError;
+	CHECK_PTP_RC(ptp_object_find_or_insert (params, handle, &ob));
 	*retob = ob;
 	/* Do we have all of it already? */
 	if ((ob->flags & want) == want)
@@ -4824,8 +6668,11 @@
 			saveparent = ob->oi.ParentObject;
 
 		ret = ptp_getobjectinfo (params, handle, &ob->oi);
-		if (ret != PTP_RC_OK)
+		if (ret != PTP_RC_OK) {
+			/* kill it from the internal list ... */
+			ptp_remove_object_from_cache(params, handle);
 			return ret;
+		}
 		if (!ob->oi.Filename) ob->oi.Filename=strdup("<none>");
 		if (ob->flags & PTPOBJECT_PARENTOBJECT_LOADED)
 			ob->oi.ParentObject = saveparent;
@@ -4833,9 +6680,24 @@
 		/* Second EOS issue, 0x20000000 has 0x20000000 as parent */
 		if (ob->oi.ParentObject == handle)
 			ob->oi.ParentObject = 0;
-		ob->flags |= X;
 
-		/* EOS bug, DCIM links back to itself. */
+		/* Read out the canon special flags */
+		if ((params->deviceinfo.VendorExtensionID == PTP_VENDOR_CANON) &&
+		    ptp_operation_issupported(params,PTP_OC_CANON_GetObjectInfoEx)) {
+			PTPCANONFolderEntry *ents = NULL;
+			uint32_t            numents = 0;
+
+			ret = ptp_canon_getobjectinfo(params,
+				ob->oi.StorageID,0,
+				ob->oi.ParentObject,handle,
+				&ents,&numents
+			);
+			if ((ret == PTP_RC_OK) && (numents >= 1))
+				ob->canon_flags = ents[0].Flags;
+			free (ents);
+		}
+
+		ob->flags |= X;
 	}
 #undef X
 	if (	(want & PTPOBJECT_MTPPROPLIST_LOADED) &&
@@ -4848,7 +6710,6 @@
 			want &= ~PTPOBJECT_MTPPROPLIST_LOADED;
 			goto fallback;
 		}
-
 		/* Microsoft/MTP has fast directory retrieval. */
 		if (!ptp_operation_issupported(params,PTP_OC_MTP_GetObjPropList)) {
 			want &= ~PTPOBJECT_MTPPROPLIST_LOADED;
@@ -4856,12 +6717,73 @@
 		}
 
 		ptp_debug (params, "ptp2/mtpfast: reading mtp proplist of %08x", handle);
-		ret = ptp_mtp_getobjectproplist (params, handle, &props, &nrofprops);
+		/* We just want this one object, not all at once. */
+		ret = ptp_mtp_getobjectproplist_single (params, handle, &props, &nrofprops);
 		if (ret != PTP_RC_OK)
 			goto fallback;
 		ob->mtpprops = props;
 		ob->nrofmtpprops = nrofprops;
 
+		/* Override the ObjectInfo data with data from properties */
+		if (params->device_flags & DEVICE_FLAG_PROPLIST_OVERRIDES_OI) {
+			unsigned int i;
+			MTPProperties *prop = ob->mtpprops;
+
+			for (i=0;i<ob->nrofmtpprops;i++,prop++) {
+				/* in case we got all subtree objects */
+				if (prop->ObjectHandle != handle) continue;
+
+				switch (prop->property) {
+				case PTP_OPC_StorageID:
+					ob->oi.StorageID = prop->propval.u32;
+					break;
+				case PTP_OPC_ObjectFormat:
+					ob->oi.ObjectFormat = prop->propval.u16;
+					break;
+				case PTP_OPC_ProtectionStatus:
+					ob->oi.ProtectionStatus = prop->propval.u16;
+					break;
+				case PTP_OPC_ObjectSize:
+					if (prop->datatype == PTP_DTC_UINT64) {
+						if (prop->propval.u64 > 0xFFFFFFFFU)
+							ob->oi.ObjectCompressedSize = 0xFFFFFFFFU;
+						else
+							ob->oi.ObjectCompressedSize = (uint32_t)prop->propval.u64;
+					} else if (prop->datatype == PTP_DTC_UINT32) {
+						ob->oi.ObjectCompressedSize = prop->propval.u32;
+					}
+					break;
+				case PTP_OPC_AssociationType:
+					ob->oi.AssociationType = prop->propval.u16;
+					break;
+				case PTP_OPC_AssociationDesc:
+					ob->oi.AssociationDesc = prop->propval.u32;
+					break;
+				case PTP_OPC_ObjectFileName:
+					if (prop->propval.str) {
+						free(ob->oi.Filename);
+						ob->oi.Filename = strdup(prop->propval.str);
+					}
+					break;
+				case PTP_OPC_DateCreated:
+					ob->oi.CaptureDate = ptp_unpack_PTPTIME(prop->propval.str);
+					break;
+				case PTP_OPC_DateModified:
+					ob->oi.ModificationDate = ptp_unpack_PTPTIME(prop->propval.str);
+					break;
+				case PTP_OPC_Keywords:
+					if (prop->propval.str) {
+						free(ob->oi.Keywords);
+						ob->oi.Keywords = strdup(prop->propval.str);
+					}
+					break;
+				case PTP_OPC_ParentObject:
+					ob->oi.ParentObject = prop->propval.u32;
+					break;
+				}
+			}
+		}
+
 #if 0
 		MTPProperties 	*xpl;
 		int j;
diff --git a/src/ptp.h b/src/ptp.h
index a558ff5..eda3e1b 100644
--- a/src/ptp.h
+++ b/src/ptp.h
@@ -1,7 +1,7 @@
 /* ptp.h
  *
  * Copyright (C) 2001 Mariusz Woloszyn <emsi@ipartners.pl>
- * Copyright (C) 2003-2009 Marcus Meissner <marcus@jet.franken.de>
+ * Copyright (C) 2003-2014 Marcus Meissner <marcus@jet.franken.de>
  * Copyright (C) 2006-2008 Linus Walleij <triad@df.lth.se>
  *
  * This library is free software; you can redistribute it and/or
@@ -16,8 +16,8 @@
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ * Boston, MA  02110-1301  USA
  */
 
 #ifndef __PTP_H__
@@ -25,7 +25,7 @@
 
 #include <stdarg.h>
 #include <time.h>
-#ifdef HAVE_ICONV
+#if defined(HAVE_ICONV) && defined(HAVE_LANGINFO_H)
 #include <iconv.h>
 #endif
 #include "gphoto2-endian.h"
@@ -74,12 +74,16 @@
  *
  * Previously we had this as 4096 for MTP devices. We have found
  * and fixed the bugs that made this necessary and it can be 512 again.
+ *
+ * USB 3.0 has now 1024 byte EPs.
  */
 #define PTP_USB_BULK_HS_MAX_PACKET_LEN_WRITE	512
 #define PTP_USB_BULK_HS_MAX_PACKET_LEN_READ   512
+#define PTP_USB_BULK_SS_MAX_PACKET_LEN_WRITE	1024
+#define PTP_USB_BULK_SS_MAX_PACKET_LEN_READ   1024
 #define PTP_USB_BULK_HDR_LEN		(2*sizeof(uint32_t)+2*sizeof(uint16_t))
-#define PTP_USB_BULK_PAYLOAD_LEN_WRITE	(PTP_USB_BULK_HS_MAX_PACKET_LEN_WRITE-PTP_USB_BULK_HDR_LEN)
-#define PTP_USB_BULK_PAYLOAD_LEN_READ	(PTP_USB_BULK_HS_MAX_PACKET_LEN_READ-PTP_USB_BULK_HDR_LEN)
+#define PTP_USB_BULK_PAYLOAD_LEN_WRITE	(PTP_USB_BULK_SS_MAX_PACKET_LEN_WRITE-PTP_USB_BULK_HDR_LEN)
+#define PTP_USB_BULK_PAYLOAD_LEN_READ	(PTP_USB_BULK_SS_MAX_PACKET_LEN_READ-PTP_USB_BULK_HDR_LEN)
 #define PTP_USB_BULK_REQ_LEN	(PTP_USB_BULK_HDR_LEN+5*sizeof(uint32_t))
 
 struct _PTPUSBBulkContainer {
@@ -162,10 +166,19 @@
 #define PTP_VENDOR_STMICROELECTRONICS	0x00000009
 #define PTP_VENDOR_NIKON		0x0000000A
 #define PTP_VENDOR_CANON		0x0000000B
-  
-/* Vendor extension ID used for MTP */
+#define PTP_VENDOR_FOTONATION		0x0000000C
+#define PTP_VENDOR_PENTAX		0x0000000D
+#define PTP_VENDOR_FUJI			0x0000000E
+/* not from standards papers, but from traces: */
+#define PTP_VENDOR_SONY			0x00000011 /* observed in the A900 */
+#define PTP_VENDOR_SAMSUNG		0x0000001a /* observed in the Samsung NX1000 */
+#define PTP_VENDOR_PARROT		0x0000001b /* observed in the Parrot Sequoia */
+/* Vendor extension ID used for MTP (occasionaly, usualy 6 is used) */
 #define PTP_VENDOR_MTP			0xffffffff  
 
+/* gphoto overrides */
+#define PTP_VENDOR_GP_OLYMPUS		0xfffffffe
+
 /* Operation Codes */
 
 /* PTP v1.0 operation codes */
@@ -266,6 +279,8 @@
 /* 902c: no parms, read 3 uint32 in data, no response parms */
 #define PTP_OC_CANON_902C			0x902C
 #define PTP_OC_CANON_GetDirectory		0x902D
+#define PTP_OC_CANON_902E			0x902E
+#define PTP_OC_CANON_902F			0x902F	/* used during camera init */
 
 #define PTP_OC_CANON_SetPairingInfo		0x9030
 #define PTP_OC_CANON_GetPairingInfo		0x9031
@@ -276,6 +291,13 @@
 #define PTP_OC_CANON_PairingComplete		0x9035
 #define PTP_OC_CANON_GetWirelessMAXChannel	0x9036
 
+#define PTP_OC_CANON_GetWebServiceSpec		0x9068
+#define PTP_OC_CANON_GetWebServiceData		0x9069
+#define PTP_OC_CANON_SetWebServiceData		0x906B
+#define PTP_OC_CANON_GetRootCertificateSpec	0x906C
+#define PTP_OC_CANON_GetRootCertificateData	0x906D
+#define PTP_OC_CANON_SetRootCertificateData	0x906F
+
 /* 9101: no args, 8 byte data (01 00 00 00 00 00 00 00), no resp data. */
 #define PTP_OC_CANON_EOS_GetStorageIDs		0x9101
 /* 9102: 1 arg (0)
@@ -357,7 +379,7 @@
 #define PTP_OC_CANON_EOS_TransferCompleteDT	0x9120
 #define PTP_OC_CANON_EOS_CancelTransferDT	0x9121
 #define PTP_OC_CANON_EOS_SetWftProfile		0x9122
-#define PTP_OC_CANON_EOS_GetWftProfile		0x9122
+#define PTP_OC_CANON_EOS_GetWftProfile		0x9123
 #define PTP_OC_CANON_EOS_SetProfileToWft	0x9124
 #define PTP_OC_CANON_EOS_BulbStart		0x9125
 #define PTP_OC_CANON_EOS_BulbEnd		0x9126
@@ -368,20 +390,60 @@
 /* 0x9129 args (0x1/0x2), no data, no resp args */
 #define PTP_OC_CANON_EOS_RemoteReleaseOff	0x9129
 
+#define PTP_OC_CANON_EOS_RegistBackgroundImage	0x912A
+#define PTP_OC_CANON_EOS_ChangePhotoStudioMode	0x912B
+#define PTP_OC_CANON_EOS_GetPartialObjectEx	0x912C
+#define PTP_OC_CANON_EOS_ResetMirrorLockupState	0x9130
+#define PTP_OC_CANON_EOS_PopupBuiltinFlash	0x9131
+#define PTP_OC_CANON_EOS_EndGetPartialObjectEx	0x9132
+#define PTP_OC_CANON_EOS_MovieSelectSWOn	0x9133
+#define PTP_OC_CANON_EOS_MovieSelectSWOff	0x9134
+#define PTP_OC_CANON_EOS_GetCTGInfo		0x9135
+#define PTP_OC_CANON_EOS_GetLensAdjust		0x9136
+#define PTP_OC_CANON_EOS_SetLensAdjust		0x9137
+#define PTP_OC_CANON_EOS_GetMusicInfo		0x9138
+/* 3 paramaeters, no data, OFC, size, unknown */
+#define PTP_OC_CANON_EOS_CreateHandle		0x9139
+#define PTP_OC_CANON_EOS_SendPartialObjectEx	0x913A
+#define PTP_OC_CANON_EOS_EndSendPartialObjectEx	0x913B
+#define PTP_OC_CANON_EOS_SetCTGInfo		0x913C
+#define PTP_OC_CANON_EOS_SetRequestOLCInfoGroup	0x913D
+#define PTP_OC_CANON_EOS_SetRequestRollingPitchingLevel	0x913E
+/* 3 args, 0x21201020, 0x110, 0x1000000 (potentially reverse order) */
+#define PTP_OC_CANON_EOS_GetCameraSupport	0x913F
+#define PTP_OC_CANON_EOS_SetRating		0x9140 /* 2 args */
+#define PTP_OC_CANON_EOS_RequestInnerDevelopStart	0x9141 /* 2 args: 1 type, 1 object? */
+#define PTP_OC_CANON_EOS_RequestInnerDevelopParamChange	0x9142
+#define PTP_OC_CANON_EOS_RequestInnerDevelopEnd		0x9143
+#define PTP_OC_CANON_EOS_GpsLoggingDataMode		0x9144 /* 1 arg */
+#define PTP_OC_CANON_EOS_GetGpsLogCurrentHandle		0x9145
+
 #define PTP_OC_CANON_EOS_InitiateViewfinder	0x9151
 #define PTP_OC_CANON_EOS_TerminateViewfinder	0x9152
+/* EOS M2 wlan: 2 params, 0x00200000 0x01000000 */
 #define PTP_OC_CANON_EOS_GetViewFinderData	0x9153
 #define PTP_OC_CANON_EOS_DoAf			0x9154
 #define PTP_OC_CANON_EOS_DriveLens		0x9155
-#define PTP_OC_CANON_EOS_DepthOfFieldPreview	0x9156
-#define PTP_OC_CANON_EOS_ClickWB		0x9157
-#define PTP_OC_CANON_EOS_Zoom			0x9158
-#define PTP_OC_CANON_EOS_ZoomPosition		0x9159
-#define PTP_OC_CANON_EOS_SetLiveAfFrame		0x915a
+#define PTP_OC_CANON_EOS_DepthOfFieldPreview	0x9156 /* 1 arg */
+#define PTP_OC_CANON_EOS_ClickWB		0x9157 /* 2 args: x,y */
+#define PTP_OC_CANON_EOS_Zoom			0x9158 /* 1 arg */
+#define PTP_OC_CANON_EOS_ZoomPosition		0x9159 /* 2 args: x,y */
+#define PTP_OC_CANON_EOS_SetLiveAfFrame		0x915A
+#define PTP_OC_CANON_EOS_TouchAfPosition	0x915B /* 3 args: type,x,y */
+#define PTP_OC_CANON_EOS_SetLvPcFlavoreditMode	0x915C /* 1 arg */
+#define PTP_OC_CANON_EOS_SetLvPcFlavoreditParam	0x915D /* 1 arg */
 #define PTP_OC_CANON_EOS_AfCancel		0x9160
+#define PTP_OC_CANON_EOS_SetDefaultCameraSetting		0x91BE
+#define PTP_OC_CANON_EOS_GetAEData		0x91BF
+#define PTP_OC_CANON_EOS_NotifyNetworkError	0x91E8
+#define PTP_OC_CANON_EOS_AdapterTransferProgress	0x91E9
+#define PTP_OC_CANON_EOS_TransferComplete2	0x91F0
+#define PTP_OC_CANON_EOS_CancelTransfer2	0x91F1
 #define PTP_OC_CANON_EOS_FAPIMessageTX		0x91FE
 #define PTP_OC_CANON_EOS_FAPIMessageRX		0x91FF
 
+/* A1E8 ... also seen? is an error code? */
+
 /* Nikon extension Operation Codes */
 #define PTP_OC_NIKON_GetProfileAllData	0x9006
 #define PTP_OC_NIKON_SendProfileData	0x9007
@@ -391,8 +453,8 @@
 #define PTP_OC_NIKON_GetFileInfoInBlock	0x9011
 #define PTP_OC_NIKON_Capture		0x90C0	/* 1 param,   no data */
 #define PTP_OC_NIKON_AfDrive		0x90C1	/* no params, no data */
-#define PTP_OC_NIKON_SetControlMode	0x90C2	/* 1 param,   no data */
-#define PTP_OC_NIKON_DelImageSDRAM	0x90C3	/* no params, no data */
+#define PTP_OC_NIKON_SetControlMode	0x90C2	/* 1 param,  no data */
+#define PTP_OC_NIKON_DelImageSDRAM	0x90C3	/* 1 param,  no data */
 #define PTP_OC_NIKON_GetLargeThumb	0x90C4
 #define PTP_OC_NIKON_CurveDownload	0x90C5	/* 1 param,   data in */
 #define PTP_OC_NIKON_CurveUpload	0x90C6	/* 1 param,   data out */
@@ -401,22 +463,94 @@
 #define PTP_OC_NIKON_SetPreWBData	0x90C9	/* 3 params,  data out */
 #define PTP_OC_NIKON_GetVendorPropCodes	0x90CA	/* 0 params, data in */
 #define PTP_OC_NIKON_AfCaptureSDRAM	0x90CB	/* no params, no data */
-#define PTP_OC_NIKON_GetPictCtrlData	0x90CC
-#define PTP_OC_NIKON_SetPictCtrlData	0x90CD
-#define PTP_OC_NIKON_DelCstPicCtrl	0x90CE
-#define PTP_OC_NIKON_GetPicCtrlCapability	0x90CF
+#define PTP_OC_NIKON_GetPictCtrlData	0x90CC	/* 2 params, data in */
+#define PTP_OC_NIKON_SetPictCtrlData	0x90CD	/* 2 params, data out */
+#define PTP_OC_NIKON_DelCstPicCtrl	0x90CE	/* 1 param, no data */
+#define PTP_OC_NIKON_GetPicCtrlCapability	0x90CF	/* 1 param, data in */
 
 /* Nikon Liveview stuff */
 #define PTP_OC_NIKON_GetPreviewImg	0x9200
-#define PTP_OC_NIKON_StartLiveView	0x9201
-#define PTP_OC_NIKON_EndLiveView	0x9202
-#define PTP_OC_NIKON_GetLiveViewImg	0x9203
-#define PTP_OC_NIKON_MfDrive		0x9204
-#define PTP_OC_NIKON_ChangeAfArea	0x9205
-#define PTP_OC_NIKON_AfDriveCancel	0x9206
+#define PTP_OC_NIKON_StartLiveView	0x9201	/* no params */
+#define PTP_OC_NIKON_EndLiveView	0x9202	/* no params */
+#define PTP_OC_NIKON_GetLiveViewImg	0x9203	/* no params, data in */
+#define PTP_OC_NIKON_MfDrive		0x9204	/* 2 params */
+#define PTP_OC_NIKON_ChangeAfArea	0x9205	/* 2 params */
+#define PTP_OC_NIKON_AfDriveCancel	0x9206	/* no params */
+/* 2 params:
+ * 0xffffffff == No AF before,  0xfffffffe == AF before capture
+ * sdram=1, card=0
+ */
+#define PTP_OC_NIKON_InitiateCaptureRecInMedia	0x9207	/* 1 params */
+
+#define PTP_OC_NIKON_GetVendorStorageIDs	0x9209	/* no params, data in */
+
+#define PTP_OC_NIKON_StartMovieRecInCard	0x920a	/* no params, no data */
+#define PTP_OC_NIKON_EndMovieRec		0x920b	/* no params, no data */
+
+#define PTP_OC_NIKON_TerminateCapture		0x920c	/* 2 params */
 
 #define PTP_OC_NIKON_GetDevicePTPIPInfo	0x90E0
 
+#define PTP_OC_NIKON_GetPartialObjectHiSpeed	0x9400	/* 3 params, data in */
+
+/* From Nikon V1 Trace */
+#define PTP_OC_NIKON_GetDevicePropEx		0x9504	/* gets device prop dataa */
+
+/* Casio EX-F1 (from http://code.google.com/p/exf1ctrl/ ) */
+#define PTP_OC_CASIO_STILL_START	0x9001
+#define PTP_OC_CASIO_STILL_STOP		0x9002
+
+#define PTP_OC_CASIO_FOCUS		0x9007
+#define PTP_OC_CASIO_CF_PRESS		0x9009
+#define PTP_OC_CASIO_CF_RELEASE		0x900A
+#define PTP_OC_CASIO_GET_OBJECT_INFO	0x900C
+
+#define PTP_OC_CASIO_SHUTTER		0x9024
+#define PTP_OC_CASIO_GET_STILL_HANDLES	0x9027
+#define PTP_OC_CASIO_STILL_RESET	0x9028
+#define PTP_OC_CASIO_HALF_PRESS		0x9029
+#define PTP_OC_CASIO_HALF_RELEASE	0x902A
+#define PTP_OC_CASIO_CS_PRESS		0x902B
+#define PTP_OC_CASIO_CS_RELEASE		0x902C
+
+#define PTP_OC_CASIO_ZOOM		0x902D
+#define PTP_OC_CASIO_CZ_PRESS		0x902E
+#define PTP_OC_CASIO_CZ_RELEASE		0x902F
+
+#define PTP_OC_CASIO_MOVIE_START	0x9041
+#define PTP_OC_CASIO_MOVIE_STOP		0x9042
+#define PTP_OC_CASIO_MOVIE_PRESS	0x9043
+#define PTP_OC_CASIO_MOVIE_RELEASE	0x9044
+#define PTP_OC_CASIO_GET_MOVIE_HANDLES	0x9045
+#define PTP_OC_CASIO_MOVIE_RESET	0x9046
+
+#define PTP_OC_CASIO_GET_OBJECT		0x9025
+#define PTP_OC_CASIO_GET_THUMBNAIL	0x9026
+
+/* Sony stuff */
+/* 9201:
+ *  3 params: 1,0,0 ; IN: data 8 bytes all 0
+ * or:
+ *  3 params: 2,0,0 ; IN: data 8 bytes all 0 
+ * or
+ *  3 params: 3,0,0,: IN: data 8 butes all 0
+ */
+#define PTP_OC_SONY_SDIOConnect			0x9201
+/* 9202: 1 param, 0xc8; IN data: 
+ * 16 bit: 0xc8
+ * ptp array 32 bit: index, 16 bit values of propcodes  */
+#define PTP_OC_SONY_GetSDIOGetExtDeviceInfo	0x9202
+
+#define PTP_OC_SONY_GetDevicePropdesc		0x9203
+#define PTP_OC_SONY_GetDevicePropertyValue	0x9204
+/* 1 param, 16bit propcode, SEND DATA: propvalue */
+#define PTP_OC_SONY_SetControlDeviceA		0x9205
+#define PTP_OC_SONY_GetControlDeviceDesc	0x9206
+/* 1 param, 16bit propcode, SEND DATA: propvalue */
+#define PTP_OC_SONY_SetControlDeviceB		0x9207
+/* get all device property data at once */
+#define PTP_OC_SONY_GetAllDevicePropData	0x9209	/* gets a 4126 byte blob of device props ?*/
+
 /* Microsoft / MTP extension codes */
 
 #define PTP_OC_MTP_GetObjectPropsSupported	0x9801
@@ -498,6 +632,64 @@
 /* WiFi Provisioning MTP Extension Codes (microsoft.com/WPDWCN: 1.0) */
 #define PTP_OC_MTP_WPDWCN_ProcessWFCObject		0x9122
 
+
+/* Olympus E series commands */
+#define PTP_OC_OLYMPUS_Capture				0x9101
+#define PTP_OC_OLYMPUS_SelfCleaning			0x9103
+#define PTP_OC_OLYMPUS_SetRGBGain			0x9106
+#define PTP_OC_OLYMPUS_SetPresetMode			0x9107
+#define PTP_OC_OLYMPUS_SetWBBiasAll			0x9108
+#define PTP_OC_OLYMPUS_GetCameraControlMode		0x910a
+#define PTP_OC_OLYMPUS_SetCameraControlMode		0x910b
+#define PTP_OC_OLYMPUS_SetWBRGBGain			0x910c
+#define PTP_OC_OLYMPUS_GetDeviceInfo			0x9301
+#define PTP_OC_OLYMPUS_OpenSession			0x9302
+#define PTP_OC_OLYMPUS_SetDateTime			0x9402
+#define PTP_OC_OLYMPUS_GetDateTime			0x9482
+#define PTP_OC_OLYMPUS_SetCameraID			0x9501
+#define PTP_OC_OLYMPUS_GetCameraID			0x9581
+
+/* Android Random I/O Extensions Codes */
+#define PTP_OC_ANDROID_GetPartialObject64		0x95C1
+#define PTP_OC_ANDROID_SendPartialObject		0x95C2
+#define PTP_OC_ANDROID_TruncateObject			0x95C3
+#define PTP_OC_ANDROID_BeginEditObject			0x95C4
+#define PTP_OC_ANDROID_EndEditObject			0x95C5
+
+/* Leica opcodes, from Lightroom tether plugin */
+#define PTP_OC_LEICA_SetCameraSettings			0x9001
+#define PTP_OC_LEICA_GetCameraSettings			0x9002
+#define PTP_OC_LEICA_GetLensParameter			0x9003
+/* probably 2 arguments.
+ * generic: releaseStage, stepSize
+ * Release(releasestage) = (releasestage,0)
+ * Release() = (0,0)
+ * AEStart() = (1,0)
+ * Autofocusrelease() = (2,0)
+ * AutofocusPush() = (1,0) ... same as AEStart?
+ * KeepCameraActive() = (0xe,0)
+ */
+#define PTP_OC_LEICA_Release				0x9004
+#define PTP_OC_LEICA_OpenLESession			0x9005
+#define PTP_OC_LEICA_CloseLESession			0x9006
+#define PTP_OC_LEICA_RequestObjectTransferReady		0x9007
+
+#define PTP_OC_PARROT_GetSunshineValues		0x9201
+#define PTP_OC_PARROT_GetTemperatureValues	0x9202
+#define PTP_OC_PARROT_GetAngleValues		0x9203
+#define PTP_OC_PARROT_GetGpsValues		0x9204
+#define PTP_OC_PARROT_GetGyroscopeValues	0x9205
+#define PTP_OC_PARROT_GetAccelerometerValues	0x9206
+#define PTP_OC_PARROT_GetMagnetometerValues	0x9207
+#define PTP_OC_PARROT_GetImuValues		0x9208
+#define PTP_OC_PARROT_GetStatusMask		0x9209
+#define PTP_OC_PARROT_EjectStorage		0x920A
+#define PTP_OC_PARROT_StartMagnetoCalib		0x9210
+#define PTP_OC_PARROT_StopMagnetoCalib		0x9211
+#define PTP_OC_PARROT_MagnetoCalibStatus	0x9212
+#define PTP_OC_PARROT_SendFirmwareUpdate	0x9213
+
+
 /* Proprietary vendor extension operations mask */
 #define PTP_OC_EXTENSION_MASK           0xF000
 #define PTP_OC_EXTENSION                0x9000
@@ -509,7 +701,7 @@
 #define PTP_RC_OK                       0x2001
 #define PTP_RC_GeneralError             0x2002
 #define PTP_RC_SessionNotOpen           0x2003
-#define PTP_RC_InvalidTransactionID	0x2004
+#define PTP_RC_InvalidTransactionID     0x2004
 #define PTP_RC_OperationNotSupported    0x2005
 #define PTP_RC_ParameterNotSupported    0x2006
 #define PTP_RC_IncompleteTransfer       0x2007
@@ -565,7 +757,22 @@
 #define PTP_RC_NIKON_AdvancedTransferCancel	0xA022
 
 /* Canon specific response codes */
-#define PTP_RC_CANON_A009		0xA009
+#define PTP_RC_CANON_UNKNOWN_COMMAND		0xA001
+#define PTP_RC_CANON_OPERATION_REFUSED		0xA005
+#define PTP_RC_CANON_LENS_COVER			0xA006
+#define PTP_RC_CANON_BATTERY_LOW		0xA101
+#define PTP_RC_CANON_NOT_READY			0xA102
+
+#define PTP_RC_CANON_A009			0xA009
+
+#define PTP_RC_CANON_EOS_UnknownCommand		0xA001
+#define PTP_RC_CANON_EOS_OperationRefused	0xA005
+#define PTP_RC_CANON_EOS_LensCoverClosed	0xA006
+#define PTP_RC_CANON_EOS_LowBattery		0xA101
+#define PTP_RC_CANON_EOS_ObjectNotReady		0xA102
+#define PTP_RC_CANON_EOS_CannotMakeObject	0xA104
+#define PTP_RC_CANON_EOS_MemoryStatusNotReady	0xA106
+
 
 /* Microsoft/MTP specific codes */
 #define PTP_RC_MTP_Undefined			0xA800
@@ -590,12 +797,12 @@
 #define PTP_RC_MTP_WFC_Version_Not_Supported	0xA122
 
 /* libptp2 extended ERROR codes */
-#define PTP_ERROR_IO			0x02FF
-#define PTP_ERROR_DATA_EXPECTED		0x02FE
-#define PTP_ERROR_RESP_EXPECTED		0x02FD
-#define PTP_ERROR_BADPARAM		0x02FC
-#define PTP_ERROR_CANCEL		0x02FB
 #define PTP_ERROR_TIMEOUT		0x02FA
+#define PTP_ERROR_CANCEL		0x02FB
+#define PTP_ERROR_BADPARAM		0x02FC
+#define PTP_ERROR_RESP_EXPECTED		0x02FD
+#define PTP_ERROR_DATA_EXPECTED		0x02FE
+#define PTP_ERROR_IO			0x02FF
 
 /* PTP Event Codes */
 
@@ -619,36 +826,42 @@
 #define PTP_EC_CANON_ExtendedErrorcode		0xC005	/* ? */
 #define PTP_EC_CANON_ObjectInfoChanged		0xC008
 #define PTP_EC_CANON_RequestObjectTransfer	0xC009
+#define PTP_EC_CANON_ShutterButtonPressed0	0xC00B
 #define PTP_EC_CANON_CameraModeChanged		0xC00C
-#define PTP_EC_CANON_ShutterButtonPressed	0xC00E
+#define PTP_EC_CANON_ShutterButtonPressed1	0xC00E
 
 #define PTP_EC_CANON_StartDirectTransfer	0xC011
 #define PTP_EC_CANON_StopDirectTransfer		0xC013
 
 /* Canon EOS events */
-#define PTP_EC_CANON_EOS_RequestGetEvent	0xc101
-#define PTP_EC_CANON_EOS_ObjectAddedEx		0xc181
-#define PTP_EC_CANON_EOS_ObjectRemoved		0xc182
-#define PTP_EC_CANON_EOS_RequestGetObjectInfoEx	0xc183
-#define PTP_EC_CANON_EOS_StorageStatusChanged	0xc184
-#define PTP_EC_CANON_EOS_StorageInfoChanged	0xc185
-#define PTP_EC_CANON_EOS_RequestObjectTransfer	0xc186
-#define PTP_EC_CANON_EOS_ObjectInfoChangedEx	0xc187
-#define PTP_EC_CANON_EOS_ObjectContentChanged	0xc188
-#define PTP_EC_CANON_EOS_PropValueChanged	0xc189
-#define PTP_EC_CANON_EOS_AvailListChanged	0xc18a
-#define PTP_EC_CANON_EOS_CameraStatusChanged	0xc18b
-#define PTP_EC_CANON_EOS_WillSoonShutdown	0xc18d
-#define PTP_EC_CANON_EOS_ShutdownTimerUpdated	0xc18e
-#define PTP_EC_CANON_EOS_RequestCancelTransfer	0xc18f
+#define PTP_EC_CANON_EOS_RequestGetEvent		0xc101
+#define PTP_EC_CANON_EOS_ObjectAddedEx			0xc181
+#define PTP_EC_CANON_EOS_ObjectRemoved			0xc182
+#define PTP_EC_CANON_EOS_RequestGetObjectInfoEx		0xc183
+#define PTP_EC_CANON_EOS_StorageStatusChanged		0xc184
+#define PTP_EC_CANON_EOS_StorageInfoChanged		0xc185
+#define PTP_EC_CANON_EOS_RequestObjectTransfer		0xc186
+#define PTP_EC_CANON_EOS_ObjectInfoChangedEx		0xc187
+#define PTP_EC_CANON_EOS_ObjectContentChanged		0xc188
+#define PTP_EC_CANON_EOS_PropValueChanged		0xc189
+#define PTP_EC_CANON_EOS_AvailListChanged		0xc18a
+#define PTP_EC_CANON_EOS_CameraStatusChanged		0xc18b
+#define PTP_EC_CANON_EOS_WillSoonShutdown		0xc18d
+#define PTP_EC_CANON_EOS_ShutdownTimerUpdated		0xc18e
+#define PTP_EC_CANON_EOS_RequestCancelTransfer		0xc18f
 #define PTP_EC_CANON_EOS_RequestObjectTransferDT	0xc190
 #define PTP_EC_CANON_EOS_RequestCancelTransferDT	0xc191
-#define PTP_EC_CANON_EOS_StoreAdded		0xc192
-#define PTP_EC_CANON_EOS_StoreRemoved		0xc193
-#define PTP_EC_CANON_EOS_BulbExposureTime	0xc194
-#define PTP_EC_CANON_EOS_RecordingTime		0xc195
-#define PTP_EC_CANON_EOS_RequestObjectTransferTS		0xC1a2
-#define PTP_EC_CANON_EOS_AfResult		0xc1a3
+#define PTP_EC_CANON_EOS_StoreAdded			0xc192
+#define PTP_EC_CANON_EOS_StoreRemoved			0xc193
+#define PTP_EC_CANON_EOS_BulbExposureTime		0xc194
+#define PTP_EC_CANON_EOS_RecordingTime			0xc195
+#define PTP_EC_CANON_EOS_RequestObjectTransferTS	0xc1a2
+#define PTP_EC_CANON_EOS_AfResult			0xc1a3
+#define PTP_EC_CANON_EOS_CTGInfoCheckComplete		0xc1a4
+#define PTP_EC_CANON_EOS_OLCInfoChanged			0xc1a5
+#define PTP_EC_CANON_EOS_ObjectAddedUnknown		0xc1a7
+#define PTP_EC_CANON_EOS_RequestObjectTransferNew	0xc1a9
+#define PTP_EC_CANON_EOS_RequestObjectTransferFTP	0xc1f1
 
 /* Nikon extension Event Codes */
 
@@ -659,11 +872,24 @@
 #define PTP_EC_Nikon_AdvancedTransfer		0xC103
 #define PTP_EC_Nikon_PreviewImageAdded		0xC104
 
+/* Olympus E series */
+#define PTP_EC_Olympus_PropertyChanged		0xC102
+#define PTP_EC_Olympus_CaptureComplete		0xC103
+
+/* Sony */
+#define PTP_EC_Sony_ObjectAdded			0xC201
+#define PTP_EC_Sony_ObjectRemoved		0xC202
+#define PTP_EC_Sony_PropertyChanged		0xC203
+
 /* MTP Event codes */
 #define PTP_EC_MTP_ObjectPropChanged		0xC801
 #define PTP_EC_MTP_ObjectPropDescChanged	0xC802
 #define PTP_EC_MTP_ObjectReferencesChanged	0xC803
 
+#define PTP_EC_PARROT_Status			0xC201
+#define PTP_EC_PARROT_MagnetoCalibrationStatus	0xC202
+
+
 /* constants for GetObjectHandles */
 #define PTP_GOH_ALL_STORAGE 0xffffffff
 #define PTP_GOH_ALL_FORMATS 0x00000000
@@ -734,7 +960,11 @@
 	uint32_t StorageID;
 	uint16_t ObjectFormat;
 	uint16_t ProtectionStatus;
-	uint32_t ObjectCompressedSize;
+	/* In the regular objectinfo this is 32bit,
+	 * but we keep the general object size here
+	 * that also arrives via other methods and so
+	 * use 64bit */
+	uint64_t ObjectCompressedSize;
 	uint16_t ThumbFormat;
 	uint32_t ThumbCompressedSize;
 	uint32_t ThumbPixWidth;
@@ -800,6 +1030,11 @@
 #define PTP_OFC_CANON_CRW			0xb101
 #define PTP_OFC_CANON_CRW3			0xb103
 #define PTP_OFC_CANON_MOV			0xb104
+#define PTP_OFC_CANON_MOV2			0xb105
+/* CHDK specific raw mode */
+#define PTP_OFC_CANON_CHDK_CRW			0xb1ff
+/* Sony */
+#define PTP_OFC_SONY_RAW			0xb101
 /* MTP extensions */
 #define PTP_OFC_MTP_MediaCard			0xb211
 #define PTP_OFC_MTP_MediaCardGroup		0xb212
@@ -815,6 +1050,7 @@
 #define PTP_OFC_MTP_AAC				0xb903
 #define PTP_OFC_MTP_AudibleCodec		0xb904
 #define PTP_OFC_MTP_FLAC			0xb906
+#define PTP_OFC_MTP_SamsungPlaylist		0xb909
 #define PTP_OFC_MTP_UndefinedVideo		0xb980
 #define PTP_OFC_MTP_WMV				0xb981
 #define PTP_OFC_MTP_MP4				0xb982
@@ -985,6 +1221,8 @@
 	uint32_t	ObjectSize;
 	time_t		Time;
 	char		Filename[PTP_CANON_FilenameBufferLen];
+
+	uint32_t	StorageID;
 };
 typedef struct _PTPCANONFolderEntry PTPCANONFolderEntry;
 
@@ -1054,31 +1292,40 @@
 	uint8_t   encryption; /* 0 - None, 1 - WEP 64bit, 2 - WEP 128bit (not supported: 3 - TKIP) */
 	uint8_t   key[64];
 	uint8_t   key_nr;
-//	char      guid[16];
+/*	char      guid[16]; */
 };
 
 typedef struct _PTPNIKONWifiProfile PTPNIKONWifiProfile;
 
-#define PTP_CANON_EOS_CHANGES_TYPE_UNKNOWN		0
-#define PTP_CANON_EOS_CHANGES_TYPE_OBJECTINFO		1
-#define PTP_CANON_EOS_CHANGES_TYPE_OBJECTTRANSFER	2
+enum _PTPCanon_changes_types {
+	PTP_CANON_EOS_CHANGES_TYPE_UNKNOWN,
+	PTP_CANON_EOS_CHANGES_TYPE_OBJECTINFO,
+	PTP_CANON_EOS_CHANGES_TYPE_OBJECTTRANSFER,
+	PTP_CANON_EOS_CHANGES_TYPE_PROPERTY,
+	PTP_CANON_EOS_CHANGES_TYPE_CAMERASTATUS,
+	PTP_CANON_EOS_CHANGES_TYPE_FOCUSINFO,
+	PTP_CANON_EOS_CHANGES_TYPE_FOCUSMASK,
+	PTP_CANON_EOS_CHANGES_TYPE_OBJECTREMOVED
+};
 
 struct _PTPCanon_New_Object {
-	uint32_t		oid;
+	uint32_t	oid;
 	PTPObjectInfo	oi;
 };
 
 struct _PTPCanon_changes_entry {
-	int	type;
+	enum _PTPCanon_changes_types	type;
 	union {
 		struct _PTPCanon_New_Object	object;	/* TYPE_OBJECTINFO */
+		char				*info;
+		uint16_t			propid;
+		int				status;
 	} u;
 };
 typedef struct _PTPCanon_changes_entry PTPCanon_changes_entry;
 
 typedef struct _PTPCanon_Property {
 	uint32_t		size;
-	uint32_t		type;
 	uint32_t		proptype;
 	unsigned char		*data;
 
@@ -1283,7 +1530,7 @@
 #define PTP_DPC_CANON_EOS_ExpCompensation	0xD104
 #define PTP_DPC_CANON_EOS_AutoExposureMode	0xD105
 #define PTP_DPC_CANON_EOS_DriveMode		0xD106
-#define PTP_DPC_CANON_EOS_MeteringMode		0xD107 
+#define PTP_DPC_CANON_EOS_MeteringMode		0xD107
 #define PTP_DPC_CANON_EOS_FocusMode		0xD108
 #define PTP_DPC_CANON_EOS_WhiteBalance		0xD109
 #define PTP_DPC_CANON_EOS_ColorTemperature	0xD10A
@@ -1296,11 +1543,13 @@
 #define PTP_DPC_CANON_EOS_BatteryPower		0xD111
 #define PTP_DPC_CANON_EOS_BatterySelect		0xD112
 #define PTP_DPC_CANON_EOS_CameraTime		0xD113
+#define PTP_DPC_CANON_EOS_AutoPowerOff		0xD114
 #define PTP_DPC_CANON_EOS_Owner			0xD115
 #define PTP_DPC_CANON_EOS_ModelID		0xD116
 #define PTP_DPC_CANON_EOS_PTPExtensionVersion	0xD119
 #define PTP_DPC_CANON_EOS_DPOFVersion		0xD11A
 #define PTP_DPC_CANON_EOS_AvailableShots	0xD11B
+#define PTP_CANON_EOS_CAPTUREDEST_HD		4
 #define PTP_DPC_CANON_EOS_CaptureDestination	0xD11C
 #define PTP_DPC_CANON_EOS_BracketMode		0xD11D
 #define PTP_DPC_CANON_EOS_CurrentStorage	0xD11E
@@ -1313,25 +1562,41 @@
 #define PTP_DPC_CANON_EOS_CompressionM1		0xD131
 #define PTP_DPC_CANON_EOS_CompressionM2		0xD132
 #define PTP_DPC_CANON_EOS_CompressionL		0xD133
+#define PTP_DPC_CANON_EOS_AEModeDial		0xD138
+#define PTP_DPC_CANON_EOS_AEModeCustom		0xD139
+#define PTP_DPC_CANON_EOS_MirrorUpSetting	0xD13A
+#define PTP_DPC_CANON_EOS_HighlightTonePriority	0xD13B
+#define PTP_DPC_CANON_EOS_AFSelectFocusArea	0xD13C
+#define PTP_DPC_CANON_EOS_HDRSetting		0xD13D
 #define PTP_DPC_CANON_EOS_PCWhiteBalance1	0xD140
 #define PTP_DPC_CANON_EOS_PCWhiteBalance2	0xD141
 #define PTP_DPC_CANON_EOS_PCWhiteBalance3	0xD142
 #define PTP_DPC_CANON_EOS_PCWhiteBalance4	0xD143
 #define PTP_DPC_CANON_EOS_PCWhiteBalance5	0xD144
 #define PTP_DPC_CANON_EOS_MWhiteBalance		0xD145
+#define PTP_DPC_CANON_EOS_MWhiteBalanceEx	0xD146
+#define PTP_DPC_CANON_EOS_UnknownPropD14D	0xD14D  /*found in Canon EOS 5D M3*/
 #define PTP_DPC_CANON_EOS_PictureStyleStandard	0xD150
 #define PTP_DPC_CANON_EOS_PictureStylePortrait	0xD151
 #define PTP_DPC_CANON_EOS_PictureStyleLandscape	0xD152
 #define PTP_DPC_CANON_EOS_PictureStyleNeutral	0xD153
 #define PTP_DPC_CANON_EOS_PictureStyleFaithful	0xD154
 #define PTP_DPC_CANON_EOS_PictureStyleBlackWhite	0xD155
+#define PTP_DPC_CANON_EOS_PictureStyleAuto	0xD156
 #define PTP_DPC_CANON_EOS_PictureStyleUserSet1	0xD160
 #define PTP_DPC_CANON_EOS_PictureStyleUserSet2	0xD161
 #define PTP_DPC_CANON_EOS_PictureStyleUserSet3	0xD162
 #define PTP_DPC_CANON_EOS_PictureStyleParam1	0xD170
 #define PTP_DPC_CANON_EOS_PictureStyleParam2	0xD171
 #define PTP_DPC_CANON_EOS_PictureStyleParam3	0xD172
-#define PTP_DPC_CANON_EOS_FlavorLUTParams	0xD17f
+#define PTP_DPC_CANON_EOS_HighISOSettingNoiseReduction	0xD178
+#define PTP_DPC_CANON_EOS_MovieServoAF		0xD179
+#define PTP_DPC_CANON_EOS_ContinuousAFValid	0xD17A
+#define PTP_DPC_CANON_EOS_Attenuator		0xD17B
+#define PTP_DPC_CANON_EOS_UTCTime		0xD17C
+#define PTP_DPC_CANON_EOS_Timezone		0xD17D
+#define PTP_DPC_CANON_EOS_Summertime		0xD17E
+#define PTP_DPC_CANON_EOS_FlavorLUTParams	0xD17F
 #define PTP_DPC_CANON_EOS_CustomFunc1		0xD180
 #define PTP_DPC_CANON_EOS_CustomFunc2		0xD181
 #define PTP_DPC_CANON_EOS_CustomFunc3		0xD182
@@ -1352,6 +1617,16 @@
 #define PTP_DPC_CANON_EOS_CustomFunc18		0xD191
 #define PTP_DPC_CANON_EOS_CustomFunc19		0xD192
 #define PTP_DPC_CANON_EOS_CustomFunc19		0xD192
+#define PTP_DPC_CANON_EOS_InnerDevelop		0xD193
+#define PTP_DPC_CANON_EOS_MultiAspect		0xD194
+#define PTP_DPC_CANON_EOS_MovieSoundRecord	0xD195
+#define PTP_DPC_CANON_EOS_MovieRecordVolume	0xD196
+#define PTP_DPC_CANON_EOS_WindCut		0xD197
+#define PTP_DPC_CANON_EOS_ExtenderType		0xD198
+#define PTP_DPC_CANON_EOS_OLCInfoVersion	0xD199
+#define PTP_DPC_CANON_EOS_UnknownPropD19A	0xD19A /*found in Canon EOS 5D M3*/
+#define PTP_DPC_CANON_EOS_UnknownPropD19C	0xD19C /*found in Canon EOS 5D M3*/
+#define PTP_DPC_CANON_EOS_UnknownPropD19D	0xD19D /*found in Canon EOS 5D M3*/
 #define PTP_DPC_CANON_EOS_CustomFuncEx		0xD1a0
 #define PTP_DPC_CANON_EOS_MyMenu		0xD1a1
 #define PTP_DPC_CANON_EOS_MyMenuList		0xD1a2
@@ -1380,6 +1655,23 @@
 #define PTP_DPC_CANON_EOS_LvAfSystem		0xD1ba
 #define PTP_DPC_CANON_EOS_MovSize		0xD1bb
 #define PTP_DPC_CANON_EOS_LvViewTypeSelect	0xD1bc
+#define PTP_DPC_CANON_EOS_MirrorDownStatus	0xD1bd
+#define PTP_DPC_CANON_EOS_MovieParam		0xD1be
+#define PTP_DPC_CANON_EOS_MirrorLockupState	0xD1bf
+#define PTP_DPC_CANON_EOS_FlashChargingState	0xD1C0
+#define PTP_DPC_CANON_EOS_AloMode		0xD1C1
+#define PTP_DPC_CANON_EOS_FixedMovie		0xD1C2
+#define PTP_DPC_CANON_EOS_OneShotRawOn		0xD1C3
+#define PTP_DPC_CANON_EOS_ErrorForDisplay	0xD1C4
+#define PTP_DPC_CANON_EOS_AEModeMovie		0xD1C5
+#define PTP_DPC_CANON_EOS_BuiltinStroboMode	0xD1C6
+#define PTP_DPC_CANON_EOS_StroboDispState	0xD1C7
+#define PTP_DPC_CANON_EOS_StroboETTL2Metering	0xD1C8
+#define PTP_DPC_CANON_EOS_ContinousAFMode	0xD1C9
+#define PTP_DPC_CANON_EOS_MovieParam2		0xD1CA
+#define PTP_DPC_CANON_EOS_StroboSettingExpComposition		0xD1CB
+#define PTP_DPC_CANON_EOS_MovieParam3		0xD1CC
+#define PTP_DPC_CANON_EOS_LVMedicalRotate	0xD1CF
 #define PTP_DPC_CANON_EOS_Artist		0xD1d0
 #define PTP_DPC_CANON_EOS_Copyright		0xD1d1
 #define PTP_DPC_CANON_EOS_BracketValue		0xD1d2
@@ -1394,6 +1686,8 @@
 #define PTP_DPC_CANON_EOS_StroboWirelessSetting	0xD1db
 #define PTP_DPC_CANON_EOS_StroboFiring		0xD1dc
 #define PTP_DPC_CANON_EOS_LensID		0xD1dd
+#define PTP_DPC_CANON_EOS_LCDBrightness		0xD1de
+#define PTP_DPC_CANON_EOS_CADarkBright		0xD1df
 
 /* Nikon extension device property codes */
 #define PTP_DPC_NIKON_ShootingBank			0xD010
@@ -1432,6 +1726,11 @@
 #define PTP_DPC_NIKON_JPEG_Compression_Policy		0xD031
 #define PTP_DPC_NIKON_ColorSpace			0xD032
 #define PTP_DPC_NIKON_AutoDXCrop			0xD033
+#define PTP_DPC_NIKON_FlickerReduction			0xD034
+#define PTP_DPC_NIKON_RemoteMode			0xD035
+#define PTP_DPC_NIKON_VideoMode				0xD036
+#define PTP_DPC_NIKON_EffectMode			0xD037
+#define PTP_DPC_NIKON_1_Mode				0xD038
 #define PTP_DPC_NIKON_CSMMenuBankSelect			0xD040
 #define PTP_DPC_NIKON_MenuBankNameA			0xD041
 #define PTP_DPC_NIKON_MenuBankNameB			0xD042
@@ -1459,17 +1758,19 @@
 #define PTP_DPC_NIKON_ExposureBaseMatrix		0xD05A
 #define PTP_DPC_NIKON_ExposureBaseCenter		0xD05B
 #define PTP_DPC_NIKON_ExposureBaseSpot			0xD05C
-#define PTP_DPC_NIKON_LiveViewAF			0xD05D
+#define PTP_DPC_NIKON_LiveViewAFArea			0xD05D /* FIXME: AfAtLiveview? */
 #define PTP_DPC_NIKON_AELockMode			0xD05E
 #define PTP_DPC_NIKON_AELAFLMode			0xD05F
+#define PTP_DPC_NIKON_LiveViewAFFocus			0xD061
 #define PTP_DPC_NIKON_MeterOff				0xD062
 #define PTP_DPC_NIKON_SelfTimer				0xD063
 #define PTP_DPC_NIKON_MonitorOff			0xD064
 #define PTP_DPC_NIKON_ImgConfTime			0xD065
+#define PTP_DPC_NIKON_AutoOffTimers			0xD066
 #define PTP_DPC_NIKON_AngleLevel			0xD067
 #define PTP_DPC_NIKON_D1ShootingSpeed			0xD068 /* continous speed low */
 #define PTP_DPC_NIKON_D2MaximumShots			0xD069
-#define PTP_DPC_NIKON_D3ExpDelayMode			0xD06A
+#define PTP_DPC_NIKON_ExposureDelayMode			0xD06A
 #define PTP_DPC_NIKON_LongExposureNoiseReduction	0xD06B
 #define PTP_DPC_NIKON_FileNumberSequence		0xD06C
 #define PTP_DPC_NIKON_ControlPanelFinderRearControl	0xD06D
@@ -1503,12 +1804,20 @@
 #define PTP_DPC_NIKON_FunctionButton2			0xD08C
 #define PTP_DPC_NIKON_AFAreaPoint			0xD08D
 #define PTP_DPC_NIKON_NormalAFOn			0xD08E
+#define PTP_DPC_NIKON_CleanImageSensor			0xD08F
 #define PTP_DPC_NIKON_ImageCommentString		0xD090
 #define PTP_DPC_NIKON_ImageCommentEnable		0xD091
 #define PTP_DPC_NIKON_ImageRotation			0xD092
 #define PTP_DPC_NIKON_ManualSetLensNo			0xD093
 #define PTP_DPC_NIKON_MovScreenSize			0xD0A0
 #define PTP_DPC_NIKON_MovVoice				0xD0A1
+#define PTP_DPC_NIKON_MovMicrophone			0xD0A2
+#define PTP_DPC_NIKON_MovFileSlot			0xD0A3
+#define PTP_DPC_NIKON_MovRecProhibitCondition		0xD0A4
+#define PTP_DPC_NIKON_ManualMovieSetting		0xD0A6
+#define PTP_DPC_NIKON_MovQuality			0xD0A7
+#define PTP_DPC_NIKON_LiveViewScreenDisplaySetting	0xD0B2
+#define PTP_DPC_NIKON_MonitorOffDelay			0xD0B3
 #define PTP_DPC_NIKON_Bracketing			0xD0C0
 #define PTP_DPC_NIKON_AutoExposureBracketStep		0xD0C1
 #define PTP_DPC_NIKON_AutoExposureBracketProgram	0xD0C2
@@ -1528,6 +1837,10 @@
 #define PTP_DPC_NIKON_AutoOffInfo			0xD0F4
 #define PTP_DPC_NIKON_SelfTimerShootNum			0xD0F5
 #define PTP_DPC_NIKON_VignetteCtrl			0xD0F7
+#define PTP_DPC_NIKON_AutoDistortionControl		0xD0F8
+#define PTP_DPC_NIKON_SceneMode				0xD0F9
+#define PTP_DPC_NIKON_SceneMode2			0xD0FD
+#define PTP_DPC_NIKON_SelfTimerInterval			0xD0FE
 #define PTP_DPC_NIKON_ExposureTime			0xD100	/* Shutter Speed */
 #define PTP_DPC_NIKON_ACPower				0xD101
 #define PTP_DPC_NIKON_WarningStatus			0xD102
@@ -1557,6 +1870,9 @@
 #define PTP_DPC_NIKON_ExternalFlashCompensation		0xD124
 #define PTP_DPC_NIKON_NewExternalFlashMode		0xD125
 #define PTP_DPC_NIKON_FlashExposureCompensation		0xD126
+#define PTP_DPC_NIKON_HDRMode				0xD130
+#define PTP_DPC_NIKON_HDRHighDynamic			0xD131
+#define PTP_DPC_NIKON_HDRSmoothing			0xD132
 #define PTP_DPC_NIKON_OptimizeImage			0xD140
 #define PTP_DPC_NIKON_Saturation			0xD142
 #define PTP_DPC_NIKON_BW_FillerEffect			0xD143
@@ -1565,7 +1881,7 @@
 #define PTP_DPC_NIKON_BW_Setting_Type			0xD146
 #define PTP_DPC_NIKON_Slot2SaveMode			0xD148
 #define PTP_DPC_NIKON_RawBitMode			0xD149
-#define PTP_DPC_NIKON_ISOAutoTime			0xD14E
+#define PTP_DPC_NIKON_ActiveDLighting			0xD14E /* was PTP_DPC_NIKON_ISOAutoTime */
 #define PTP_DPC_NIKON_FlourescentType			0xD14F
 #define PTP_DPC_NIKON_TuneColourTemperature		0xD150
 #define PTP_DPC_NIKON_TunePreset0			0xD151
@@ -1588,6 +1904,11 @@
 #define PTP_DPC_NIKON_FlashModeManualPower		0xD16D
 #define PTP_DPC_NIKON_FlashModeCommanderPower		0xD16E
 #define PTP_DPC_NIKON_AutoFP				0xD16F
+#define PTP_DPC_NIKON_DateImprintSetting		0xD170
+#define PTP_DPC_NIKON_DateCounterSelect			0xD171
+#define PTP_DPC_NIKON_DateCountData			0xD172
+#define PTP_DPC_NIKON_DateCountDisplaySetting		0xD173
+#define PTP_DPC_NIKON_RangeFinderSetting		0xD174
 #define PTP_DPC_NIKON_CSMMenu				0xD180
 #define PTP_DPC_NIKON_WarningDisplay			0xD181
 #define PTP_DPC_NIKON_BatteryCellKind			0xD182
@@ -1606,6 +1927,10 @@
 #define PTP_DPC_NIKON_LiveViewStatus			0xD1A2
 #define PTP_DPC_NIKON_LiveViewImageZoomRatio		0xD1A3
 #define PTP_DPC_NIKON_LiveViewProhibitCondition		0xD1A4
+#define PTP_DPC_NIKON_MovieShutterSpeed			0xD1A8
+#define PTP_DPC_NIKON_MovieFNumber			0xD1A9
+#define PTP_DPC_NIKON_MovieISO				0xD1AA
+#define PTP_DPC_NIKON_LiveViewMovieMode			0xD1AC /* ? */
 #define PTP_DPC_NIKON_ExposureDisplayStatus		0xD1B0
 #define PTP_DPC_NIKON_ExposureIndicateStatus		0xD1B1
 #define PTP_DPC_NIKON_InfoDispErrStatus			0xD1B2
@@ -1625,8 +1950,45 @@
 #define PTP_DPC_NIKON_FlashCommandBMode			0xD1DA
 #define PTP_DPC_NIKON_FlashCommandBCompensation		0xD1DB
 #define PTP_DPC_NIKON_FlashCommandBValue		0xD1DC
+#define PTP_DPC_NIKON_ApplicationMode			0xD1F0
+#define PTP_DPC_NIKON_ActiveSlot			0xD1F2
 #define PTP_DPC_NIKON_ActivePicCtrlItem			0xD200
 #define PTP_DPC_NIKON_ChangePicCtrlItem			0xD201
+#define PTP_DPC_NIKON_MovieNrHighISO			0xD236
+
+
+/* Nikon V1 (or WU adapter?) Trace */
+/* d241 - gets string "Nikon_WU2_0090B5123C61" */
+#define PTP_DPC_NIKON_D241				0xD241
+/* d244 - gets a single byte 0x00 */
+#define PTP_DPC_NIKON_D244				0xD244
+/* d247 - gets 3 bytes 0x01 0x00 0x00 */
+#define PTP_DPC_NIKON_D247				0xD247
+/* S9700 */
+#define PTP_DPC_NIKON_GUID				0xD24F
+/* d250 - gets a string "0000123C61" */
+#define PTP_DPC_NIKON_D250				0xD250
+/* d251 - gets a 0x0100000d */
+#define PTP_DPC_NIKON_D251				0xD251
+
+/* this is irregular, as it should be -0x5000 or 0xD000 based */
+#define PTP_DPC_NIKON_1_ISO				0xF002
+#define PTP_DPC_NIKON_1_ImageCompression		0xF009
+#define PTP_DPC_NIKON_1_ImageSize			0xF00A
+#define PTP_DPC_NIKON_1_WhiteBalance			0xF00C
+#define PTP_DPC_NIKON_1_LongExposureNoiseReduction	0xF00D
+#define PTP_DPC_NIKON_1_HiISONoiseReduction		0xF00E
+#define PTP_DPC_NIKON_1_ActiveDLighting			0xF00F
+#define PTP_DPC_NIKON_1_MovQuality			0xF01C
+
+/* Fuji specific */
+#define PTP_DPC_FUJI_ColorTemperature			0xD017
+#define PTP_DPC_FUJI_Quality				0xD018
+#define PTP_DPC_FUJI_ReleaseMode			0xD201
+#define PTP_DPC_FUJI_FocusAreas				0xD206
+#define PTP_DPC_FUJI_AELock				0xD213
+#define PTP_DPC_FUJI_Aperture				0xD218
+#define PTP_DPC_FUJI_ShutterSpeed			0xD219
 
 /* Microsoft/MTP specific */
 #define PTP_DPC_MTP_SecureTime				0xD101
@@ -1647,6 +2009,172 @@
 /* Zune specific property codes */
 #define PTP_DPC_MTP_Zune_UnknownVersion			0xD181
 
+/* Olympus */
+#define PTP_DPC_OLYMPUS_ResolutionMode			0xD102
+#define PTP_DPC_OLYMPUS_FocusPriority			0xD103
+#define PTP_DPC_OLYMPUS_DriveMode			0xD104
+#define PTP_DPC_OLYMPUS_DateTimeFormat			0xD105
+#define PTP_DPC_OLYMPUS_ExposureBiasStep		0xD106
+#define PTP_DPC_OLYMPUS_WBMode				0xD107
+#define PTP_DPC_OLYMPUS_OneTouchWB			0xD108
+#define PTP_DPC_OLYMPUS_ManualWB			0xD109
+#define PTP_DPC_OLYMPUS_ManualWBRBBias			0xD10A
+#define PTP_DPC_OLYMPUS_CustomWB			0xD10B
+#define PTP_DPC_OLYMPUS_CustomWBValue			0xD10C
+#define PTP_DPC_OLYMPUS_ExposureTimeEx			0xD10D
+#define PTP_DPC_OLYMPUS_BulbMode			0xD10E
+#define PTP_DPC_OLYMPUS_AntiMirrorMode			0xD10F
+#define PTP_DPC_OLYMPUS_AEBracketingFrame		0xD110
+#define PTP_DPC_OLYMPUS_AEBracketingStep		0xD111
+#define PTP_DPC_OLYMPUS_WBBracketingFrame		0xD112
+#define PTP_DPC_OLYMPUS_WBBracketingRBFrame		0xD112 /* dup ? */
+#define PTP_DPC_OLYMPUS_WBBracketingRBRange		0xD113
+#define PTP_DPC_OLYMPUS_WBBracketingGMFrame		0xD114
+#define PTP_DPC_OLYMPUS_WBBracketingGMRange		0xD115
+#define PTP_DPC_OLYMPUS_FLBracketingFrame		0xD118
+#define PTP_DPC_OLYMPUS_FLBracketingStep		0xD119
+#define PTP_DPC_OLYMPUS_FlashBiasCompensation		0xD11A
+#define PTP_DPC_OLYMPUS_ManualFocusMode			0xD11B
+#define PTP_DPC_OLYMPUS_RawSaveMode			0xD11D
+#define PTP_DPC_OLYMPUS_AUXLightMode			0xD11E
+#define PTP_DPC_OLYMPUS_LensSinkMode			0xD11F
+#define PTP_DPC_OLYMPUS_BeepStatus			0xD120
+#define PTP_DPC_OLYMPUS_ColorSpace			0xD122
+#define PTP_DPC_OLYMPUS_ColorMatching			0xD123
+#define PTP_DPC_OLYMPUS_Saturation			0xD124
+#define PTP_DPC_OLYMPUS_NoiseReductionPattern		0xD126
+#define PTP_DPC_OLYMPUS_NoiseReductionRandom		0xD127
+#define PTP_DPC_OLYMPUS_ShadingMode			0xD129
+#define PTP_DPC_OLYMPUS_ISOBoostMode			0xD12A
+#define PTP_DPC_OLYMPUS_ExposureIndexBiasStep		0xD12B
+#define PTP_DPC_OLYMPUS_FilterEffect			0xD12C
+#define PTP_DPC_OLYMPUS_ColorTune			0xD12D
+#define PTP_DPC_OLYMPUS_Language			0xD12E
+#define PTP_DPC_OLYMPUS_LanguageCode			0xD12F
+#define PTP_DPC_OLYMPUS_RecviewMode			0xD130
+#define PTP_DPC_OLYMPUS_SleepTime			0xD131
+#define PTP_DPC_OLYMPUS_ManualWBGMBias			0xD132
+#define PTP_DPC_OLYMPUS_AELAFLMode			0xD135
+#define PTP_DPC_OLYMPUS_AELButtonStatus			0xD136
+#define PTP_DPC_OLYMPUS_CompressionSettingEx		0xD137
+#define PTP_DPC_OLYMPUS_ToneMode			0xD139
+#define PTP_DPC_OLYMPUS_GradationMode			0xD13A
+#define PTP_DPC_OLYMPUS_DevelopMode			0xD13B
+#define PTP_DPC_OLYMPUS_ExtendInnerFlashMode		0xD13C
+#define PTP_DPC_OLYMPUS_OutputDeviceMode		0xD13D
+#define PTP_DPC_OLYMPUS_LiveViewMode			0xD13E
+#define PTP_DPC_OLYMPUS_LCDBacklight			0xD140
+#define PTP_DPC_OLYMPUS_CustomDevelop			0xD141
+#define PTP_DPC_OLYMPUS_GradationAutoBias		0xD142
+#define PTP_DPC_OLYMPUS_FlashRCMode			0xD143
+#define PTP_DPC_OLYMPUS_FlashRCGroupValue		0xD144
+#define PTP_DPC_OLYMPUS_FlashRCChannelValue		0xD145
+#define PTP_DPC_OLYMPUS_FlashRCFPMode			0xD146
+#define PTP_DPC_OLYMPUS_FlashRCPhotoChromicMode		0xD147
+#define PTP_DPC_OLYMPUS_FlashRCPhotoChromicBias		0xD148
+#define PTP_DPC_OLYMPUS_FlashRCPhotoChromicManualBias	0xD149
+#define PTP_DPC_OLYMPUS_FlashRCQuantityLightLevel	0xD14A
+#define PTP_DPC_OLYMPUS_FocusMeteringValue		0xD14B
+#define PTP_DPC_OLYMPUS_ISOBracketingFrame		0xD14C
+#define PTP_DPC_OLYMPUS_ISOBracketingStep		0xD14D
+#define PTP_DPC_OLYMPUS_BulbMFMode			0xD14E
+#define PTP_DPC_OLYMPUS_BurstFPSValue			0xD14F
+#define PTP_DPC_OLYMPUS_ISOAutoBaseValue		0xD150
+#define PTP_DPC_OLYMPUS_ISOAutoMaxValue			0xD151
+#define PTP_DPC_OLYMPUS_BulbLimiterValue		0xD152
+#define PTP_DPC_OLYMPUS_DPIMode				0xD153
+#define PTP_DPC_OLYMPUS_DPICustomValue			0xD154
+#define PTP_DPC_OLYMPUS_ResolutionValueSetting		0xD155
+#define PTP_DPC_OLYMPUS_AFTargetSize			0xD157
+#define PTP_DPC_OLYMPUS_LightSensorMode			0xD158
+#define PTP_DPC_OLYMPUS_AEBracket			0xD159
+#define PTP_DPC_OLYMPUS_WBRBBracket			0xD15A
+#define PTP_DPC_OLYMPUS_WBGMBracket			0xD15B
+#define PTP_DPC_OLYMPUS_FlashBracket			0xD15C
+#define PTP_DPC_OLYMPUS_ISOBracket			0xD15D
+#define PTP_DPC_OLYMPUS_MyModeStatus			0xD15E
+
+/* Sony A900 */
+#define PTP_DPC_SONY_DPCCompensation			0xD200
+#define PTP_DPC_SONY_DRangeOptimize			0xD201
+#define PTP_DPC_SONY_ImageSize				0xD203
+#define PTP_DPC_SONY_ShutterSpeed			0xD20D
+#define PTP_DPC_SONY_ColorTemp				0xD20F
+#define PTP_DPC_SONY_CCFilter				0xD210
+#define PTP_DPC_SONY_AspectRatio			0xD211
+#define PTP_DPC_SONY_FocusFound     			0xD213 /* seems to be signaled (1->2) when focus is achieved */
+#define PTP_DPC_SONY_ObjectInMemory     		0xD215 /* used to signal when to retrieve new object */
+#define PTP_DPC_SONY_ExposeIndex			0xD216
+#define PTP_DPC_SONY_BatteryLevel			0xD218
+#define PTP_DPC_SONY_PictureEffect			0xD21B
+#define PTP_DPC_SONY_ABFilter				0xD21C
+#define PTP_DPC_SONY_ISO				0xD21E /* ? */
+#define PTP_DPC_SONY_AutoFocus				0xD2C1 /* ? half-press */
+#define PTP_DPC_SONY_Capture				0xD2C2 /* ? full-press */
+/* also seen: D2C3 D2C4 */
+/* semi control opcodes */
+#define PTP_DPC_SONY_Movie				0xD2C8 /* ? */
+#define PTP_DPC_SONY_StillImage				0xD2C7 /* ? */
+
+
+
+/* Casio EX-F1 */
+#define PTP_DPC_CASIO_MONITOR		0xD001 
+#define PTP_DPC_CASIO_STORAGE		0xD002 //Not reported by DeviceInfo?
+#define PTP_DPC_CASIO_UNKNOWN_1		0xD004
+#define PTP_DPC_CASIO_UNKNOWN_2		0xD005
+#define PTP_DPC_CASIO_UNKNOWN_3		0xD007
+#define PTP_DPC_CASIO_RECORD_LIGHT	0xD008
+#define PTP_DPC_CASIO_UNKNOWN_4		0xD009
+#define PTP_DPC_CASIO_UNKNOWN_5		0xD00A
+#define PTP_DPC_CASIO_MOVIE_MODE	0xD00B
+#define PTP_DPC_CASIO_HD_SETTING	0xD00C
+#define PTP_DPC_CASIO_HS_SETTING	0xD00D
+#define PTP_DPC_CASIO_CS_HIGH_SPEED	0xD00F
+#define PTP_DPC_CASIO_CS_UPPER_LIMIT	0xD010
+#define PTP_DPC_CASIO_CS_SHOT		0xD011
+#define PTP_DPC_CASIO_UNKNOWN_6		0xD012
+#define PTP_DPC_CASIO_UNKNOWN_7		0xD013
+#define PTP_DPC_CASIO_UNKNOWN_8		0xD015
+#define PTP_DPC_CASIO_UNKNOWN_9		0xD017
+#define PTP_DPC_CASIO_UNKNOWN_10	0xD018
+#define PTP_DPC_CASIO_UNKNOWN_11	0xD019
+#define PTP_DPC_CASIO_UNKNOWN_12	0xD01A
+#define PTP_DPC_CASIO_UNKNOWN_13	0xD01B
+#define PTP_DPC_CASIO_UNKNOWN_14	0xD01C
+#define PTP_DPC_CASIO_UNKNOWN_15	0xD01D
+#define PTP_DPC_CASIO_UNKNOWN_16	0xD020
+#define PTP_DPC_CASIO_UNKNOWN_17	0xD030
+#define PTP_DPC_CASIO_UNKNOWN_18	0xD080
+
+#define PTP_DPC_RICOH_ShutterSpeed	0xD00F
+
+/* https://github.com/Parrot-Developers/sequoia-ptpy */
+#define PTP_DPC_PARROT_PhotoSensorEnableMask			0xD201
+#define PTP_DPC_PARROT_PhotoSensorsKeepOn			0xD202
+#define PTP_DPC_PARROT_MultispectralImageSize			0xD203
+#define PTP_DPC_PARROT_MainBitDepth				0xD204
+#define PTP_DPC_PARROT_MultispectralBitDepth			0xD205
+#define PTP_DPC_PARROT_HeatingEnable				0xD206
+#define PTP_DPC_PARROT_WifiStatus				0xD207
+#define PTP_DPC_PARROT_WifiSSID					0xD208
+#define PTP_DPC_PARROT_WifiEncryptionType			0xD209
+#define PTP_DPC_PARROT_WifiPassphrase				0xD20A
+#define PTP_DPC_PARROT_WifiChannel				0xD20B
+#define PTP_DPC_PARROT_Localization				0xD20C
+#define PTP_DPC_PARROT_WifiMode					0xD20D
+#define PTP_DPC_PARROT_AntiFlickeringFrequency			0xD210
+#define PTP_DPC_PARROT_DisplayOverlayMask			0xD211
+#define PTP_DPC_PARROT_GPSInterval				0xD212
+#define PTP_DPC_PARROT_MultisensorsExposureMeteringMode		0xD213
+#define PTP_DPC_PARROT_MultisensorsExposureTime			0xD214
+#define PTP_DPC_PARROT_MultisensorsExposureProgramMode		0xD215
+#define PTP_DPC_PARROT_MultisensorsExposureIndex		0xD216
+#define PTP_DPC_PARROT_MultisensorsIrradianceGain		0xD217
+#define PTP_DPC_PARROT_MultisensorsIrradianceIntegrationTime	0xD218
+#define PTP_DPC_PARROT_OverlapRate				0xD219
+
+
 /* MTP specific Object Properties */
 #define PTP_OPC_StorageID				0xDC01
 #define PTP_OPC_ObjectFormat				0xDC02
@@ -1850,7 +2378,7 @@
 
 typedef uint16_t (* PTPDataPutFunc)	(PTPParams* params, void*priv,
 					unsigned long sendlen,
-	                                unsigned char *data, unsigned long *putlen);
+	                                unsigned char *data);
 typedef struct _PTPDataHandler {
 	PTPDataGetFunc		getfunc;
 	PTPDataPutFunc		putfunc;
@@ -1861,9 +2389,9 @@
  * This functions take PTP oriented arguments and send them over an
  * appropriate data layer doing byteorder conversion accordingly.
  */
-typedef uint16_t (* PTPIOSendReq)	(PTPParams* params, PTPContainer* req);
+typedef uint16_t (* PTPIOSendReq)	(PTPParams* params, PTPContainer* req, int dataphase);
 typedef uint16_t (* PTPIOSendData)	(PTPParams* params, PTPContainer* ptp,
-					 unsigned long size, PTPDataHandler*getter);
+					 uint64_t size, PTPDataHandler*getter);
 
 typedef uint16_t (* PTPIOGetResp)	(PTPParams* params, PTPContainer* resp);
 typedef uint16_t (* PTPIOGetData)	(PTPParams* params, PTPContainer* ptp,
@@ -1895,10 +2423,24 @@
 	PTPObjectInfo	oi;
 	uint32_t	canon_flags;
 	MTPProperties	*mtpprops;
-	int		nrofmtpprops;
+	unsigned int	nrofmtpprops;
 };
 typedef struct _PTPObject PTPObject;
 
+/* The Device Property Cache */
+struct _PTPDeviceProperty {
+	time_t			timestamp;
+	PTPDevicePropDesc	desc;
+	PTPPropertyValue	value;
+};
+typedef struct _PTPDeviceProperty PTPDeviceProperty;
+
+/* Transaction data phase description, internal flags to sendreq / transaction driver. */
+#define PTP_DP_NODATA           0x0000  /* no data phase */
+#define PTP_DP_SENDDATA         0x0001  /* sending data */
+#define PTP_DP_GETDATA          0x0002  /* receiving data */
+#define PTP_DP_DATA_MASK        0x00ff  /* data phase mask */
+
 struct _PTPParams {
 	/* device flags */
 	uint32_t	device_flags;
@@ -1913,6 +2455,7 @@
 	PTPIOGetResp	getresp_func;
 	PTPIOGetData	getdata_func;
 	PTPIOGetResp	event_check;
+	PTPIOGetResp	event_check_queue;
 	PTPIOGetResp	event_wait;
 	PTPIOCancelReq	cancelreq_func;
 
@@ -1928,12 +2471,16 @@
 	/* ptp session ID */
 	uint32_t	session_id;
 
+	/* used for open capture */
+	uint32_t	opencapture_transid;
+
 	/* PTP IO: if we have MTP style split header/data transfers */
 	int		split_header_data;
+	int		ocs64; /* 64bit objectsize */
 
 	/* PTP: internal structures used by ptp driver */
 	PTPObject	*objects;
-	int		nrofobjects;
+	unsigned int	nrofobjects;
 
 	PTPDeviceInfo	deviceinfo;
 
@@ -1941,15 +2488,36 @@
 	PTPContainer	*events;
 	int		nrofevents;
 
+	/* live view enabled */
+	int			inliveview;
+
+	/* PTP: caching time for properties, default 2 */
+	int			cachetime;
+
+	/* PTP: Storage Caching */
+	PTPStorageIDs		storageids;
+	int			storagechanged;
+
+	/* PTP: Device Property Caching */
+	PTPDeviceProperty	*deviceproperties;
+	unsigned int		nrofdeviceproperties;
+
 	/* PTP: Canon specific flags list */
 	PTPCanon_Property	*canon_props;
-	int			nrofcanon_props;
+	unsigned int		nrofcanon_props;
 	int			canon_viewfinder_on;
+	int			canon_event_mode;
 
 	/* PTP: Canon EOS event queue */
 	PTPCanon_changes_entry	*backlogentries;
-	int			nrofbacklogentries;
+	unsigned int		nrofbacklogentries;
 	int			eos_captureenabled;
+	int			eos_camerastatus;
+
+	/* PTP: Nikon specifics */
+	int			controlmode;
+	int			event90c7works;
+	int			deletesdramfails;
 
 	/* PTP: Wifi profiles */
 	uint8_t 	wifi_profiles_version;
@@ -1962,7 +2530,13 @@
 	uint32_t	eventpipeid;
 	char		*cameraname;
 
-#ifdef HAVE_ICONV
+	/* Olympus UMS wrapping related data */
+	PTPDeviceInfo	outer_deviceinfo;
+	char		*olympus_cmd;
+	char		*olympus_reply;
+	struct _PTPParams *outer_params;
+
+#if defined(HAVE_ICONV) && defined(HAVE_LANGINFO_H)
 	/* PTP: iconv converters */
 	iconv_t	cd_locale_to_ucs2;
 	iconv_t cd_ucs2_to_locale;
@@ -1975,15 +2549,20 @@
 	uint16_t	response_packet_size;
 };
 
+/* Asynchronous event callback */
+typedef void (*PTPEventCbFn)(PTPParams *params, uint16_t code, PTPContainer *event, void *user_data);
+
 /* last, but not least - ptp functions */
-uint16_t ptp_usb_sendreq	(PTPParams* params, PTPContainer* req);
+uint16_t ptp_usb_sendreq	(PTPParams* params, PTPContainer* req, int dataphase);
 uint16_t ptp_usb_senddata	(PTPParams* params, PTPContainer* ptp,
-				 unsigned long size, PTPDataHandler *handler);
+				 uint64_t size, PTPDataHandler *handler);
 uint16_t ptp_usb_getresp	(PTPParams* params, PTPContainer* resp);
 uint16_t ptp_usb_getdata	(PTPParams* params, PTPContainer* ptp, 
 	                         PTPDataHandler *handler);
-uint16_t ptp_usb_event_check	(PTPParams* params, PTPContainer* event);
+uint16_t ptp_usb_event_async	(PTPParams *params, PTPEventCbFn cb, void *user_data);
 uint16_t ptp_usb_event_wait	(PTPParams* params, PTPContainer* event);
+uint16_t ptp_usb_event_check	(PTPParams* params, PTPContainer* event);
+uint16_t ptp_usb_event_check_queue	(PTPParams* params, PTPContainer* event);
 
 uint16_t ptp_usb_control_get_extended_event_data (PTPParams *params, char *buffer, int *size);
 uint16_t ptp_usb_control_device_reset_request (PTPParams *params);
@@ -1992,14 +2571,15 @@
 
 
 int      ptp_ptpip_connect	(PTPParams* params, const char *port);
-uint16_t ptp_ptpip_sendreq	(PTPParams* params, PTPContainer* req);
+uint16_t ptp_ptpip_sendreq	(PTPParams* params, PTPContainer* req, int dataphase);
 uint16_t ptp_ptpip_senddata	(PTPParams* params, PTPContainer* ptp,
-				unsigned long size, PTPDataHandler *handler);
+				uint64_t size, PTPDataHandler *handler);
 uint16_t ptp_ptpip_getresp	(PTPParams* params, PTPContainer* resp);
 uint16_t ptp_ptpip_getdata	(PTPParams* params, PTPContainer* ptp, 
 	                         PTPDataHandler *handler);
 uint16_t ptp_ptpip_event_wait	(PTPParams* params, PTPContainer* event);
 uint16_t ptp_ptpip_event_check	(PTPParams* params, PTPContainer* event);
+uint16_t ptp_ptpip_event_check_queue	(PTPParams* params, PTPContainer* event);
 
 uint16_t ptp_getdeviceinfo	(PTPParams* params, PTPDeviceInfo* deviceinfo);
 
@@ -2007,6 +2587,15 @@
 
 uint16_t ptp_opensession	(PTPParams *params, uint32_t session);
 
+uint16_t ptp_transaction_new (PTPParams* params, PTPContainer* ptp, 
+                uint16_t flags, uint64_t sendlen,
+                PTPDataHandler *handler
+);
+uint16_t ptp_transaction (PTPParams* params, PTPContainer* ptp,
+                uint16_t flags, uint64_t sendlen,
+                unsigned char **data, unsigned int *recvlen
+);
+
 /**
  * ptp_closesession:
  * params:      PTPParams*
@@ -2016,6 +2605,16 @@
  * Return values: Some PTP_RC_* code.
  **/
 #define ptp_closesession(params) ptp_generic_no_data(params,PTP_OC_CloseSession,0)
+
+/**
+ * ptp_powerdown:
+ * params:      PTPParams*
+ *
+ * Powers down device.
+ *
+ * Return values: Some PTP_RC_* code.
+ **/
+#define ptp_powerdown(params) ptp_generic_no_data(params,PTP_OC_PowerDown,0)
 /**
  * ptp_resetdevice:
  * params:      PTPParams*
@@ -2046,6 +2645,7 @@
 				uint32_t associationOH,
 				PTPObjectHandles* objecthandles);
 
+
 uint16_t ptp_getnumobjects 	(PTPParams* params, uint32_t storage,
 				uint32_t objectformatcode,
 				uint32_t associationOH,
@@ -2056,12 +2656,18 @@
 
 uint16_t ptp_getobject		(PTPParams *params, uint32_t handle,
 				unsigned char** object);
+uint16_t ptp_getobject_with_size	(PTPParams *params, uint32_t handle,
+				unsigned char** object, unsigned int *size);
 uint16_t ptp_getobject_tofd     (PTPParams* params, uint32_t handle, int fd);
 uint16_t ptp_getobject_to_handler (PTPParams* params, uint32_t handle, PTPDataHandler*);
 uint16_t ptp_getpartialobject	(PTPParams* params, uint32_t handle, uint32_t offset,
-				uint32_t maxbytes, unsigned char** object);
+				uint32_t maxbytes, unsigned char** object,
+				uint32_t *len);
+uint16_t ptp_getpartialobject_to_handler (PTPParams* params, uint32_t handle, uint32_t offset,
+                        	uint32_t maxbytes, PTPDataHandler *handler);
+
 uint16_t ptp_getthumb		(PTPParams *params, uint32_t handle,
-				unsigned char** object);
+				unsigned char** object, unsigned int *len);
 
 uint16_t ptp_deleteobject	(PTPParams* params, uint32_t handle,
 				uint32_t ofc);
@@ -2081,9 +2687,9 @@
  */
 #define ptp_setobjectprotection(params,oid,newprot) ptp_generic_no_data(params,PTP_OC_SetObjectProtection,2,oid,newprot)
 uint16_t ptp_sendobject		(PTPParams* params, unsigned char* object,
-				 uint32_t size);
-uint16_t ptp_sendobject_fromfd  (PTPParams* params, int fd, uint32_t size);
-uint16_t ptp_sendobject_from_handler  (PTPParams* params, PTPDataHandler*, uint32_t size);
+				 uint64_t size);
+uint16_t ptp_sendobject_fromfd  (PTPParams* params, int fd, uint64_t size);
+uint16_t ptp_sendobject_from_handler  (PTPParams* params, PTPDataHandler*, uint64_t size);
 /**
  * ptp_initiatecapture:
  * params:      PTPParams*
@@ -2100,16 +2706,33 @@
  **/
 #define ptp_initiatecapture(params,storageid,ofc) ptp_generic_no_data(params,PTP_OC_InitiateCapture,2,storageid,ofc)
 
+#define ptp_initiateopencapture(params,storageid,ofc)	ptp_generic_no_data(params,PTP_OC_InitiateOpenCapture,2,storageid,ofc)
+#define ptp_terminateopencapture(params,transid)	ptp_generic_no_data(params,PTP_OC_TerminateOpenCapture,1,transid)
+
 uint16_t ptp_getdevicepropdesc	(PTPParams* params, uint16_t propcode,
 				PTPDevicePropDesc *devicepropertydesc);
+uint16_t ptp_generic_getdevicepropdesc (PTPParams *params, uint16_t propcode,
+				PTPDevicePropDesc *dpd);
 uint16_t ptp_getdevicepropvalue	(PTPParams* params, uint16_t propcode,
 				PTPPropertyValue* value, uint16_t datatype);
 uint16_t ptp_setdevicepropvalue (PTPParams* params, uint16_t propcode,
                         	PTPPropertyValue* value, uint16_t datatype);
+uint16_t ptp_generic_setdevicepropvalue (PTPParams* params, uint16_t propcode,
+                        	PTPPropertyValue* value, uint16_t datatype);
+uint16_t ptp_getfilesystemmanifest (PTPParams* params, uint32_t storage,
+                        uint32_t objectformatcode, uint32_t associationOH,
+                        unsigned char** data);
+
 
 
 uint16_t ptp_check_event (PTPParams *params);
+uint16_t ptp_check_event_queue (PTPParams *params);
+uint16_t ptp_wait_event (PTPParams *params);
+uint16_t ptp_add_event (PTPParams *params, PTPContainer *evt);
 int ptp_get_one_event (PTPParams *params, PTPContainer *evt);
+uint16_t ptp_check_eos_events (PTPParams *params);
+int ptp_get_one_eos_event (PTPParams *params, PTPCanon_changes_entry *entry);
+
 
 /* Microsoft MTP extensions */
 uint16_t ptp_mtp_getobjectpropdesc (PTPParams* params, uint16_t opc, uint16_t ofc,
@@ -2121,10 +2744,19 @@
 uint16_t ptp_mtp_getobjectreferences (PTPParams* params, uint32_t handle, uint32_t** ohArray, uint32_t* arraylen);
 uint16_t ptp_mtp_setobjectreferences (PTPParams* params, uint32_t handle, uint32_t* ohArray, uint32_t arraylen);
 uint16_t ptp_mtp_getobjectproplist (PTPParams* params, uint32_t handle, MTPProperties **props, int *nrofprops);
+uint16_t ptp_mtp_getobjectproplist_single (PTPParams* params, uint32_t handle, MTPProperties **props, int *nrofprops);
 uint16_t ptp_mtp_sendobjectproplist (PTPParams* params, uint32_t* store, uint32_t* parenthandle, uint32_t* handle,
 				     uint16_t objecttype, uint64_t objectsize, MTPProperties *props, int nrofprops);
 uint16_t ptp_mtp_setobjectproplist (PTPParams* params, MTPProperties *props, int nrofprops);
 
+/* Microsoft MTPZ (Zune) extensions */
+uint16_t ptp_mtpz_sendwmdrmpdapprequest (PTPParams*, unsigned char *, uint32_t);
+#define  ptp_mtpz_resethandshake(params) ptp_generic_no_data(params, PTP_OC_MTP_WMDRMPD_EndTrustedAppSession, 0)
+uint16_t ptp_mtpz_getwmdrmpdappresponse (PTPParams*, unsigned char **, uint32_t*);
+#define  ptp_mtpz_wmdrmpd_enabletrustedfilesoperations(params,hash1,hash2,hash3,hash4) \
+	 ptp_generic_no_data(params, PTP_OC_MTP_WMDRMPD_EnableTrustedFilesOperations, 4,\
+		hash1, hash2, hash3, hash4)
+
 /* Eastman Kodak extensions */
 uint16_t ptp_ek_9007 (PTPParams* params, unsigned char **serial, unsigned int *size);
 uint16_t ptp_ek_9009 (PTPParams* params, uint32_t*, uint32_t*);
@@ -2294,20 +2926,14 @@
  * Return values: Some PTP_RC_* code.
  *
  **/
+#define CANON_EOS_OLC_BUTTON 		0x0001
+#define CANON_EOS_OLC_SHUTTERSPEED 	0x0002
+#define CANON_EOS_OLC_APERTURE 		0x0004
+#define CANON_EOS_OLC_ISO 		0x0008
+
+#define ptp_canon_eos_setrequestolcinfogroup(params,igmask) ptp_generic_no_data(params,PTP_OC_CANON_EOS_SetRequestOLCInfoGroup,1,igmask)
 #define ptp_canon_eos_requestdevicepropvalue(params,prop) ptp_generic_no_data(params,PTP_OC_CANON_EOS_RequestDevicePropValue,1,prop)
-/**
- * ptp_canon_eos_capture:
- * 
- * This starts a EOS400D style capture. You have to use the
- * 0x9116 command to poll for its completion.
- * The image is saved on the CF Card currently.
- *
- * params:      PTPParams*
- *
- * Return values: Some PTP_RC_* code.
- *
- **/
-#define ptp_canon_eos_capture(params) ptp_generic_no_data(params,PTP_OC_CANON_EOS_RemoteRelease,0)
+uint16_t ptp_canon_eos_capture (PTPParams* params, uint32_t *result);
 uint16_t ptp_canon_eos_getevent (PTPParams* params, PTPCanon_changes_entry **entries, int *nrofentries);
 uint16_t ptp_canon_getpartialobject (PTPParams* params, uint32_t handle, 
 				uint32_t offset, uint32_t size,
@@ -2368,6 +2994,7 @@
  **/
 #define ptp_canon_eos_end_viewfinder(params) ptp_generic_no_data(params,PTP_OC_CANON_EOS_TerminateViewfinder,0)
 uint16_t ptp_canon_eos_get_viewfinder_image (PTPParams* params, unsigned char **data, unsigned int *size);
+uint16_t ptp_canon_eos_get_viewfinder_image_handler (PTPParams* params, PTPDataHandler*);
 uint16_t ptp_canon_get_objecthandle_by_name (PTPParams* params, char* name, uint32_t* objectid);
 uint16_t ptp_canon_get_directory (PTPParams* params, PTPObjectHandles *handles, PTPObjectInfo **oinfos, uint32_t **flags);
 /**
@@ -2381,13 +3008,16 @@
  *
  **/
 #define ptp_canon_setobjectarchive(params,oid,flags) ptp_generic_no_data(params,PTP_OC_CANON_SetObjectArchive,2,oid,flags)
+#define ptp_canon_eos_setobjectattributes(params,oid,flags) ptp_generic_no_data(params,PTP_OC_CANON_EOS_SetObjectAttributes,2,oid,flags)
 uint16_t ptp_canon_get_customize_data (PTPParams* params, uint32_t themenr,
 				unsigned char **data, unsigned int *size);
 uint16_t ptp_canon_getpairinginfo (PTPParams* params, uint32_t nr, unsigned char**, unsigned int*);
 
 uint16_t ptp_canon_eos_getstorageids (PTPParams* params, PTPStorageIDs* storageids);
-uint16_t ptp_canon_eos_getstorageinfo (PTPParams* params, uint32_t p1);
+uint16_t ptp_canon_eos_getstorageinfo (PTPParams* params, uint32_t p1, unsigned char**, unsigned int*);
 uint16_t ptp_canon_eos_getpartialobject (PTPParams* params, uint32_t oid, uint32_t off, uint32_t xsize, unsigned char**data);
+uint16_t ptp_canon_eos_getobjectinfoex (PTPParams* params, uint32_t storageid, uint32_t objectid, uint32_t unk,
+        PTPCANONFolderEntry **entries, unsigned int *nrofentries);
 uint16_t ptp_canon_eos_setdevicepropvalueex (PTPParams* params, unsigned char* data, unsigned int size);
 #define ptp_canon_eos_setremotemode(params,p1) ptp_generic_no_data(params,PTP_OC_CANON_EOS_SetRemoteMode,1,p1)
 #define ptp_canon_eos_seteventmode(params,p1) ptp_generic_no_data(params,PTP_OC_CANON_EOS_SetEventMode,1,p1)
@@ -2405,8 +3035,8 @@
 #define ptp_canon_eos_transfercomplete(params,oid) ptp_generic_no_data(params,PTP_OC_CANON_EOS_TransferComplete,1,oid)
 /* inHDD = %d, inLength =%d, inReset = %d */
 #define ptp_canon_eos_pchddcapacity(params,p1,p2,p3) ptp_generic_no_data(params,PTP_OC_CANON_EOS_PCHDDCapacity,3,p1,p2,p3)
-#define ptp_canon_eos_bulbstart(params) ptp_generic_no_data(params,PTP_OC_CANON_EOS_BulbStart,1)
-#define ptp_canon_eos_bulbend(params) ptp_generic_no_data(params,PTP_OC_CANON_EOS_BulbEnd,1)
+uint16_t ptp_canon_eos_bulbstart (PTPParams* params);
+uint16_t ptp_canon_eos_bulbend (PTPParams* params);
 uint16_t ptp_canon_eos_getdevicepropdesc (PTPParams* params, uint16_t propcode,
 				PTPDevicePropDesc *devicepropertydesc);
 uint16_t ptp_canon_eos_setdevicepropvalue (PTPParams* params, uint16_t propcode,
@@ -2417,6 +3047,18 @@
 uint16_t ptp_nikon_getptpipinfo (PTPParams* params, unsigned char **data, unsigned int *size);
 uint16_t ptp_nikon_getwifiprofilelist (PTPParams* params);
 uint16_t ptp_nikon_writewifiprofile (PTPParams* params, PTPNIKONWifiProfile* profile);
+
+uint16_t ptp_sony_sdioconnect (PTPParams* params, uint32_t p1, uint32_t p2, uint32_t p3);
+uint16_t ptp_sony_get_vendorpropcodes (PTPParams* params, uint16_t **props, unsigned int *size);
+uint16_t ptp_sony_getdevicepropdesc (PTPParams* params, uint16_t propcode,
+				PTPDevicePropDesc *devicepropertydesc);
+uint16_t ptp_sony_getalldevicepropdesc (PTPParams* params);
+uint16_t ptp_sony_setdevicecontrolvaluea (PTPParams* params, uint16_t propcode,
+                        	PTPPropertyValue* value, uint16_t datatype);
+uint16_t ptp_sony_setdevicecontrolvalueb (PTPParams* params, uint16_t propcode,
+                        	PTPPropertyValue* value, uint16_t datatype);
+uint16_t ptp_sony_9280 (PTPParams* params, uint32_t additional, uint32_t data1, uint32_t data2, uint32_t data3, uint32_t data4, uint8_t x, uint8_t y);
+uint16_t ptp_sony_9281 (PTPParams* params, uint32_t param1);
 /**
  * ptp_nikon_deletewifiprofile:
  *
@@ -2442,6 +3084,19 @@
  **/
 #define ptp_nikon_setcontrolmode(params,mode) ptp_generic_no_data(params,PTP_OC_NIKON_SetControlMode,1,mode)
 /**
+ * ptp_nikon_terminatecapture:
+ *
+ * This command appears to terminate a longer capture
+ *  
+ * params:      PTPParams*
+ *      uint32_t a 
+ *      uint32_t b 
+ *
+ * Return values: Some PTP_RC_* code.
+ *
+ **/
+#define ptp_nikon_terminatecapture(params,p1,p2) ptp_generic_no_data(params,PTP_OC_NIKON_TerminateCapture,2,p1,p2)
+/**
  * ptp_nikon_afdrive:
  *
  * This command runs (drives) the lens autofocus.
@@ -2453,11 +3108,84 @@
  **/
 #define ptp_nikon_afdrive(params) ptp_generic_no_data(params,PTP_OC_NIKON_AfDrive,0)
 /**
- * ptp_nikon_mfdrive:
+ * ptp_nikon_changeafarea:
+ *
+ * This command starts movie capture (to card)
+ *  
+ * params:      PTPParams*
+ * x: x coordinate
+ * y: y coordinate
+ *
+ * Return values: Some PTP_RC_* code.
+ *
+ **/
+#define ptp_nikon_changeafarea(params,x,y) ptp_generic_no_data(params,PTP_OC_NIKON_ChangeAfArea,2,x,y)
+/**
+ * ptp_nikon_startmovie:
+ *
+ * This command starts movie capture (to card)
+ *  
+ * params:      PTPParams*
+ *
+ * Return values: Some PTP_RC_* code.
+ *
+ **/
+#define ptp_nikon_startmovie(params) ptp_generic_no_data(params,PTP_OC_NIKON_StartMovieRecInCard,0)
+/**
+ * ptp_nikon_stopmovie:
+ *
+ * This command stops movie capture (to card)
+ *  
+ * params:      PTPParams*
+ *
+ * Return values: Some PTP_RC_* code.
+ *
+ **/
+#define ptp_nikon_stopmovie(params) ptp_generic_no_data(params,PTP_OC_NIKON_EndMovieRec,0)
+/**
+ * ptp_canon_eos_afdrive:
  *
  * This command runs (drives) the lens autofocus.
  *  
  * params:      PTPParams*
+ *
+ * Return values: Some PTP_RC_* code.
+ *
+ **/
+#define ptp_canon_eos_afdrive(params) ptp_generic_no_data(params,PTP_OC_CANON_EOS_DoAf,0)
+/**
+ * ptp_canon_eos_afcancel:
+ *
+ * This command cancels the lens autofocus.
+ *  
+ * params:      PTPParams*
+ *
+ * Return values: Some PTP_RC_* code.
+ *
+ **/
+#define ptp_canon_eos_afcancel(params) ptp_generic_no_data(params,PTP_OC_CANON_EOS_AfCancel,0)
+/**
+ * ptp_canon_eos_zoom:
+ *
+ * This command runs (drives) the lens autofocus.
+ *  
+ * params:      PTPParams*
+ * params:      arg1 unknown
+ *
+ * Return values: Some PTP_RC_* code.
+ *
+ **/
+#define ptp_canon_eos_zoom(params,x) ptp_generic_no_data(params,PTP_OC_CANON_EOS_Zoom,1,x)
+#define ptp_canon_eos_zoomposition(params,x,y) ptp_generic_no_data(params,PTP_OC_CANON_EOS_ZoomPosition,2,x,y)
+
+#define ptp_canon_eos_remotereleaseon(params,x,y) ptp_generic_no_data(params,PTP_OC_CANON_EOS_RemoteReleaseOn,2,x,y)
+#define ptp_canon_eos_remotereleaseoff(params,x) ptp_generic_no_data(params,PTP_OC_CANON_EOS_RemoteReleaseOff,1,x)
+/**
+ * ptp_nikon_mfdrive:
+ *
+ * This command runs (drives) the lens focus manually.
+ *  
+ * params:      PTPParams*
  * flag:        0x1 for (no limit - closest), 0x2 for (closest - no limit)
  * amount:      amount of steps
  *
@@ -2465,18 +3193,47 @@
  *
  **/
 #define ptp_nikon_mfdrive(params,flag,amount) ptp_generic_no_data(params,PTP_OC_NIKON_MfDrive,2,flag,amount)
+
+/**
+ * ptp_canon_eos_drivelens:
+ *
+ * This command runs (drives) the lens focus manually.
+ *  
+ * params:      PTPParams*
+ * amount:      0x1-0x3 for near range, 0x8001-0x8003 for far range.
+ *
+ * Return values: Some PTP_RC_* code.
+ *
+ **/
+#define ptp_canon_eos_drivelens(params,amount) ptp_generic_no_data(params,PTP_OC_CANON_EOS_DriveLens,1,amount)
 /**
  * ptp_nikon_capture:
  *
  * This command captures a picture on the Nikon.
  *  
  * params:      PTPParams*
- *      uint32_t x - unknown parameter. seen to be -1.
+ *      uint32_t x: unknown parameter. seen to be -1.
  *
  * Return values: Some PTP_RC_* code.
  *
  **/
 #define ptp_nikon_capture(params,x) ptp_generic_no_data(params,PTP_OC_NIKON_Capture,1,x)
+
+/**
+ * ptp_nikon_capture2:
+ *
+ * This command captures a picture on the Nikon.
+ *  
+ * params:      PTPParams*
+ * af: 		autofocus before capture (1 yes , 0 no)
+ * target:	sdram 1, card 0
+ *
+ * Return values: Some PTP_RC_* code.
+ * 2 params:
+ * 0xffffffff == No AF before,  0xfffffffe == AF before capture
+ * sdram=1, card=0
+ */
+#define ptp_nikon_capture2(params,af,target) ptp_generic_no_data(params,PTP_OC_NIKON_InitiateCaptureRecInMedia,2,af?0xfffffffe:0xffffffff,target)
 /**
  * ptp_nikon_capture_sdram:
  *
@@ -2489,6 +3246,18 @@
  **/
 #define ptp_nikon_capture_sdram(params) ptp_generic_no_data(params,PTP_OC_NIKON_AfCaptureSDRAM,0)
 /**
+ * ptp_nikon_delete_sdram_image:
+ *
+ * This command deletes the current SDRAM image
+ *  
+ * params:      PTPParams*
+ * uint32_t	oid
+ *
+ * Return values: Some PTP_RC_* code.
+ *
+ **/
+#define ptp_nikon_delete_sdram_image(params,oid) ptp_generic_no_data(params,PTP_OC_NIKON_DelImageSDRAM,1,oid)
+/**
  * ptp_nikon_start_liveview:
  *
  * This command starts LiveView mode of newer Nikons DSLRs.
@@ -2512,7 +3281,7 @@
  *
  **/
 #define ptp_nikon_end_liveview(params) ptp_generic_no_data(params,PTP_OC_NIKON_EndLiveView,0)
-uint16_t ptp_nikon_check_event (PTPParams* params, PTPContainer **evt, int *evtcnt);
+uint16_t ptp_nikon_check_event (PTPParams* params, PTPContainer **evt, unsigned int *evtcnt);
 uint16_t ptp_nikon_getfileinfoinblock (PTPParams* params, uint32_t p1, uint32_t p2, uint32_t p3,
 					unsigned char **data, unsigned int *size);
 /**
@@ -2529,42 +3298,136 @@
 #define ptp_nikon_device_ready(params) ptp_generic_no_data (params, PTP_OC_NIKON_DeviceReady, 0)
 uint16_t ptp_mtp_getobjectpropssupported (PTPParams* params, uint16_t ofc, uint32_t *propnum, uint16_t **props);
 
+
+/* Android MTP Extensions */
+uint16_t ptp_android_getpartialobject64	(PTPParams* params, uint32_t handle, uint64_t offset,
+					uint32_t maxbytes, unsigned char** object,
+					uint32_t *len);
+#define ptp_android_begineditobject(params,handle) ptp_generic_no_data (params, PTP_OC_ANDROID_BeginEditObject, 1, handle)
+#define ptp_android_truncate(params,handle,offset) ptp_generic_no_data (params, PTP_OC_ANDROID_TruncateObject, 3, handle, (offset & 0xFFFFFFFF), (offset >> 32))
+uint16_t ptp_android_sendpartialobject (PTPParams *params, uint32_t handle,
+					uint64_t offset, unsigned char *object, uint32_t len);
+#define ptp_android_endeditobject(params,handle) ptp_generic_no_data (params, PTP_OC_ANDROID_EndEditObject, 1, handle)
+
+uint16_t ptp_olympus_getdeviceinfo (PTPParams*, PTPDeviceInfo*);
+#define ptp_olympus_setcameracontrolmode(params,p1) ptp_generic_no_data (params, PTP_OC_OLYMPUS_SetCameraControlMode, 1, p1)
+uint16_t ptp_olympus_opensession (PTPParams*, unsigned char**, unsigned int *);
+#define ptp_olympus_capture(params,p1) ptp_generic_no_data (params, PTP_OC_OLYMPUS_Capture, 1, p1)
+uint16_t ptp_olympus_getcameraid (PTPParams*, unsigned char**, unsigned int *);
+
 /* Non PTP protocol functions */
-int ptp_operation_issupported	(PTPParams* params, uint16_t operation);
+static inline int
+ptp_operation_issupported(PTPParams* params, uint16_t operation)
+{
+	unsigned int i=0;
+
+	for (;i<params->deviceinfo.OperationsSupported_len;i++) {
+		if (params->deviceinfo.OperationsSupported[i]==operation)
+			return 1;
+	}
+	return 0;
+}
+
 int ptp_event_issupported	(PTPParams* params, uint16_t event);
 int ptp_property_issupported	(PTPParams* params, uint16_t property);
 
-void ptp_free_devicepropdesc	(PTPDevicePropDesc* dpd);
-void ptp_free_devicepropvalue	(uint16_t dt, PTPPropertyValue* dpd);
-void ptp_free_objectpropdesc	(PTPObjectPropDesc* dpd);
 void ptp_free_params		(PTPParams *params);
+void ptp_free_objectpropdesc	(PTPObjectPropDesc*);
+void ptp_free_devicepropdesc	(PTPDevicePropDesc*);
+void ptp_free_devicepropvalue	(uint16_t, PTPPropertyValue*);
 void ptp_free_objectinfo	(PTPObjectInfo *oi);
 void ptp_free_object		(PTPObject *oi);
 
-void ptp_perror			(PTPParams* params, uint16_t error);
+const char *ptp_strerror	(uint16_t ret, uint16_t vendor);
+void ptp_debug			(PTPParams *params, const char *format, ...);
+void ptp_error			(PTPParams *params, const char *format, ...);
 
-const char*
-ptp_get_property_description(PTPParams* params, uint16_t dpc);
+
+const char* ptp_get_property_description(PTPParams* params, uint16_t dpc);
+
+const char* ptp_get_opcode_name(PTPParams* params, uint16_t opcode);
 
 int
 ptp_render_property_value(PTPParams* params, uint16_t dpc,
-                          PTPDevicePropDesc *dpd, int length, char *out);
+                          PTPDevicePropDesc *dpd, unsigned int length, char *out);
 int ptp_render_ofc(PTPParams* params, uint16_t ofc, int spaceleft, char *txt);
-int ptp_render_opcode(PTPParams* params, uint16_t opcode, int spaceleft, char *txt);
 int ptp_render_mtp_propname(uint16_t propid, int spaceleft, char *txt);
 MTPProperties *ptp_get_new_object_prop_entry(MTPProperties **props, int *nrofprops);
 void ptp_destroy_object_prop(MTPProperties *prop);
 void ptp_destroy_object_prop_list(MTPProperties *props, int nrofprops);
 MTPProperties *ptp_find_object_prop_in_cache(PTPParams *params, uint32_t const handle, uint32_t const attribute_id);
-void ptp_remove_object_from_cache(PTPParams *params, uint32_t handle);
+uint16_t ptp_remove_object_from_cache(PTPParams *params, uint32_t handle);
 uint16_t ptp_add_object_to_cache(PTPParams *params, uint32_t handle);
-uint16_t ptp_object_want (PTPParams *, uint32_t handle, int want, PTPObject**retob);
+uint16_t ptp_object_want (PTPParams *, uint32_t handle, unsigned int want, PTPObject**retob);
 void ptp_objects_sort (PTPParams *);
 uint16_t ptp_object_find (PTPParams *params, uint32_t handle, PTPObject **retob);
 uint16_t ptp_object_find_or_insert (PTPParams *params, uint32_t handle, PTPObject **retob);
 /* ptpip.c */
 void ptp_nikon_getptpipguid (unsigned char* guid);
 
+/* CHDK specifics */
+#define PTP_OC_CHDK	0x9999
+typedef struct tagptp_chdk_videosettings {
+	long live_image_buffer_width;
+	long live_image_width;
+	long live_image_height;
+	long bitmap_buffer_width;
+	long bitmap_width;
+	long bitmap_height;
+	unsigned palette[16]; 
+} ptp_chdk_videosettings;
+
+/* Nafraf: Test this!!!*/
+#define ptp_chdk_switch_mode(params,mode) ptp_generic_no_data(params,PTP_OC_CHDK,2,PTP_CHDK_SwitchMode,mode)
+
+/* include CHDK ptp protocol definitions from a CHDK source tree */
+#include "chdk_ptp.h"
+#if (PTP_CHDK_VERSION_MAJOR < 2 || (PTP_CHDK_VERSION_MAJOR == 2 && PTP_CHDK_VERSION_MINOR < 5))
+#error your chdk headers are too old, unset CHDK_SRC_DIR in config.mk
+#endif
+#include "chdk_live_view.h"
+
+/* the following happens to match what is used in CHDK, but is not part of the protocol */
+typedef struct {
+    unsigned size;
+    unsigned script_id; /* id of script message is to/from  */
+    unsigned type;
+    unsigned subtype;
+    char data[];
+} ptp_chdk_script_msg;
+
+/*
+chunk for remote capture
+*/
+typedef struct {
+	uint32_t size; /* length of data */
+	int last; /* is it the last chunk? */
+	uint32_t offset; /* offset within file, or -1 */
+	unsigned char *data; /* data, must be free'd by caller when done */
+} ptp_chdk_rc_chunk;
+
+
+uint16_t ptp_chdk_get_memory(PTPParams* params, int start, int num, unsigned char **);
+uint16_t ptp_chdk_set_memory_long(PTPParams* params, int addr, int val);
+int ptp_chdk_upload(PTPParams* params, char *local_fn, char *remote_fn);
+uint16_t ptp_chdk_download(PTPParams* params, char *remote_fn, PTPDataHandler *handler);
+
+/* remote capture */
+uint16_t ptp_chdk_rcisready(PTPParams* params, int *isready,int *imgnum);
+uint16_t ptp_chdk_rcgetchunk(PTPParams* params,int fmt, ptp_chdk_rc_chunk *chunk);
+
+uint16_t ptp_chdk_exec_lua(PTPParams* params, char *script, int flags, int *script_id,int *status);
+uint16_t ptp_chdk_get_version(PTPParams* params, int *major, int *minor);
+uint16_t ptp_chdk_get_script_support(PTPParams* params, unsigned *status);
+uint16_t ptp_chdk_get_script_status(PTPParams* params, unsigned *status);
+uint16_t ptp_chdk_write_script_msg(PTPParams* params, char *data, unsigned size, int target_script_id, int *status);
+uint16_t ptp_chdk_read_script_msg(PTPParams* params, ptp_chdk_script_msg **msg);
+uint16_t ptp_chdk_get_live_data(PTPParams* params, unsigned flags, unsigned char **data, unsigned int *data_size);
+uint16_t ptp_chdk_call_function(PTPParams* params, int *args, int size, int *ret);
+
+/*uint16_t ptp_chdk_get_script_output(PTPParams* params, char **output ); */
+/*uint16_t ptp_chdk_get_video_settings(PTPParams* params, ptp_chdk_videosettings* vsettings);*/
+
 #ifdef __cplusplus
 }
 #endif /* __cplusplus */
diff --git a/src/unicode.c b/src/unicode.c
index 9b17c2b..89c2cbe 100644
--- a/src/unicode.c
+++ b/src/unicode.c
@@ -29,7 +29,8 @@
  *
  */
 
-#include <config.h>
+#include "config.h"
+
 #include <stdlib.h>
 #include <string.h>
 #ifdef HAVE_ICONV
diff --git a/src/util.c b/src/util.c
index 79ad79c..7f778a5 100644
--- a/src/util.c
+++ b/src/util.c
@@ -33,9 +33,37 @@
 #include <errno.h>
 #include <sys/stat.h>
 #include <fcntl.h>
+#include <string.h>
+#include "config.h"
 #include "libmtp.h"
 #include "util.h"
 
+
+/**
+ * This prints to stdout info about device being UNKNOWN, its
+ * ids, and libmtp's version number.
+ *
+ * @param dev_number the device number
+ * @param id_vendor vendor ID from the usb_device_desc struct
+ * @param id_product product ID from the usb_device_desc struct
+ */
+void device_unknown(const int dev_number, const int id_vendor, const int id_product)
+{
+  // This device is unknown to the developers
+  LIBMTP_ERROR("Device %d (VID=%04x and PID=%04x) is UNKNOWN in libmtp v%s.\n",
+    dev_number,
+    id_vendor,
+    id_product,
+    LIBMTP_VERSION_STRING);
+  LIBMTP_ERROR("Please report this VID/PID and the device model to the "
+               "libmtp development team\n");
+  /*
+   * Trying to get iManufacturer or iProduct from the device at this
+   * point would require opening a device handle, that we don't want
+   * to do right now. (Takes time for no good enough reason.)
+   */
+}
+
 /**
  * This dumps out a number of bytes to a textual, hexadecimal
  * dump.
@@ -49,7 +77,7 @@
 {
   unsigned char *bp = (unsigned char *) buf;
   uint32_t i;
-  
+
   for (i = 0; i < n; i++) {
     fprintf(f, "%02x ", *bp);
     bp++;
@@ -75,33 +103,50 @@
   uint32_t ln, lc;
   int i;
   unsigned char *bp = (unsigned char *) buf;
-  
+
   lc = 0;
   while (remain) {
     fprintf(f, "\t%04x:", dump_boundry-0x10);
-    
+
     ln = ( remain > 16 ) ? 16 : remain;
-    
+
     for (i = 0; i < ln; i++) {
       if ( ! (i%2) ) fprintf(f, " ");
       fprintf(f, "%02x", bp[16*lc+i]);
     }
-    
+
     if ( ln < 16 ) {
       int width = ((16-ln)/2)*5 + (2*(ln%2));
       fprintf(f, "%*.*s", width, width, "");
     }
-    
+
     fprintf(f, "\t");
     for (i = 0; i < ln; i++) {
       unsigned char ch= bp[16*lc+i];
-      fprintf(f, "%c", ( ch >= 0x20 && ch <= 0x7e ) ? 
+      fprintf(f, "%c", ( ch >= 0x20 && ch <= 0x7e ) ?
 	      ch : '.');
     }
     fprintf(f, "\n");
-    
+
     lc++;
     remain -= ln;
     dump_boundry += ln;
   }
 }
+
+#ifndef HAVE_STRNDUP
+char *strndup (const char *s, size_t n)
+{
+  size_t len = strlen (s);
+  char *ret;
+
+  if (len <= n)
+    return strdup (s);
+
+  ret = malloc(n + 1);
+  strncpy(ret, s, n);
+  ret[n] = '\0';
+  return ret;
+}
+#endif
+
diff --git a/src/util.h b/src/util.h
index 8066a60..0a2d941 100644
--- a/src/util.h
+++ b/src/util.h
@@ -22,8 +22,36 @@
 
 #ifndef __MTP__UTIL__H
 #define __MTP__UTIL__H
+#include "config.h" // To get HAVE_STRNDUP
 
 void data_dump(FILE *f, void *buf, uint32_t nbytes);
 void data_dump_ascii (FILE *f, void *buf, uint32_t n, uint32_t dump_boundry);
+#ifndef HAVE_STRNDUP
+char *strndup (const char *s, size_t n);
+#endif
+void device_unknown(const int dev_number, const int id_vendor, const int id_product);
+
+/**
+ * Info macro
+ */
+#define LIBMTP_INFO(format, args...) \
+  do { \
+    if (LIBMTP_debug != 0) \
+      fprintf(stdout, "LIBMTP %s[%d]: " format, __FUNCTION__, __LINE__, ##args); \
+	else \
+      fprintf(stdout, format, ##args); \
+  } while (0)
+
+/**
+ * Error macro
+ */
+#define LIBMTP_ERROR(format, args...) \
+  do { \
+    if (LIBMTP_debug != 0) \
+      fprintf(stderr, "LIBMTP %s[%d]: " format, __FUNCTION__, __LINE__, ##args); \
+	else \
+      fprintf(stderr, format, ##args); \
+  } while (0)
+
 
 #endif //__MTP__UTIL__H
diff --git a/sync-usbids.sh b/sync-usbids.sh
new file mode 100755
index 0000000..45e9314
--- /dev/null
+++ b/sync-usbids.sh
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+# Script to compare the USB ID list from linux-usb
+# with the internal list of libmtp.
+
+WGET=`which wget`
+if [ "x$WGET" != "x" ]; then
+    wget -O usb.ids http://www.linux-usb.org/usb.ids
+    examples/hotplug -i > usb.ids-libmtp
+    echo "OK now compare usb.ids and usb.ids-libmtp..."
+else
+    echo "Could not sync to linux-usb USB ID list. No WGET."
+fi
diff --git a/util/.gitignore b/util/.gitignore
new file mode 100644
index 0000000..48dcf6f
--- /dev/null
+++ b/util/.gitignore
@@ -0,0 +1,4 @@
+.deps
+.libs
+mtp-hotplug
+mtp-probe
diff --git a/util/Makefile.am b/util/Makefile.am
new file mode 100644
index 0000000..11f3640
--- /dev/null
+++ b/util/Makefile.am
@@ -0,0 +1,11 @@
+if USE_LINUX
+bin_PROGRAMS=mtp-hotplug
+mtp_hotplug_SOURCES=mtp-hotplug.c
+
+mtp_probedir=@UDEV@
+mtp_probe_PROGRAMS=mtp-probe
+mtp_probe_SOURCES=mtp-probe.c
+endif
+
+AM_CPPFLAGS=-I$(top_builddir)/src
+LDADD=../src/libmtp.la
diff --git a/util/mtp-hotplug.c b/util/mtp-hotplug.c
new file mode 100644
index 0000000..8e118ae
--- /dev/null
+++ b/util/mtp-hotplug.c
@@ -0,0 +1,293 @@
+/**
+ * \file mtp-hotplug.c
+ * Program to create hotplug scripts.
+ *
+ * Copyright (C) 2005-2012 Linus Walleij <triad@df.lth.se>
+ * Copyright (C) 2006-2008 Marcus Meissner <marcus@jet.franken.de>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+#include <libmtp.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+
+static void usage(void)
+{
+  fprintf(stderr, "usage: hotplug [-u -H -i -a\"ACTION\"] -p\"DIR\" -g\"GROUP\" -m\"MODE\"\n");
+  fprintf(stderr, "       -w:  use hwdb syntax\n");
+  fprintf(stderr, "       -u:  use udev syntax\n");
+  fprintf(stderr, "       -o:  use old udev syntax\n");
+  fprintf(stderr, "       -H:  use hal syntax\n");
+  fprintf(stderr, "       -i:  use usb.ids simple list syntax\n");
+  fprintf(stderr, "       -a\"ACTION\": perform udev action ACTION on attachment\n");
+  fprintf(stderr, "       -p\"DIR\": directory where mtp-probe will be installed\n");
+  fprintf(stderr, "       -g\"GROUP\": file group for device nodes\n");
+  fprintf(stderr, "       -m\"MODE\": file mode for device nodes\n");
+  exit(1);
+}
+
+enum style {
+  style_usbmap,
+  style_udev,
+  style_udev_old,
+  style_hal,
+  style_usbids,
+  style_hwdb
+};
+
+int main (int argc, char **argv)
+{
+  LIBMTP_device_entry_t *entries;
+  int numentries;
+  int i;
+  int ret;
+  enum style style = style_usbmap;
+  int opt;
+  extern int optind;
+  extern char *optarg;
+  char *udev_action = NULL;
+  /*
+   * You could tag on MODE="0666" here to enfore writeable
+   * device nodes, use the command line argument for that.
+   * Current udev default rules will make any device tagged
+   * with ENV{ID_MEDIA_PLAYER}=1 writable for the console
+   * user.
+   */
+  char default_udev_action[] = "SYMLINK+=\"libmtp-%k\", ENV{ID_MTP_DEVICE}=\"1\", ENV{ID_MEDIA_PLAYER}=\"1\"";
+  char *action; // To hold the action actually used.
+  uint16_t last_vendor = 0x0000U;
+  char mtp_probe_dir[256];
+  char *udev_group= NULL;
+  char *udev_mode = NULL;
+
+  while ( (opt = getopt(argc, argv, "wuoiHa:p:g:m:")) != -1 ) {
+    switch (opt) {
+    case 'a':
+      udev_action = strdup(optarg);
+      break;
+    case 'u':
+      style = style_udev;
+      break;
+    case 'o':
+      style = style_udev_old;
+      break;
+    case 'H':
+      style = style_hal;
+      break;
+    case 'i':
+      style = style_usbids;
+      break;
+    case 'w':
+      style = style_hwdb;
+      break;
+    case 'p':
+      strncpy(mtp_probe_dir,optarg,sizeof(mtp_probe_dir));
+      mtp_probe_dir[sizeof(mtp_probe_dir)-1] = '\0';
+      if (strlen(mtp_probe_dir) <= 1) {
+	printf("Supply some sane mtp-probe dir\n");
+	exit(1);
+      }
+      /* Make sure the dir ends with '/' */
+      if (mtp_probe_dir[strlen(mtp_probe_dir)-1] != '/') {
+	int index = strlen(mtp_probe_dir);
+	if (index >= (sizeof(mtp_probe_dir)-1)) {
+	  exit(1);
+	}
+	mtp_probe_dir[index] = '/';
+	mtp_probe_dir[index+1] = '\0';
+      }
+      /* Don't add the standard udev path... */
+      if (!strcmp(mtp_probe_dir, "/lib/udev/")) {
+	mtp_probe_dir[0] = '\0';
+      }
+      break;
+    case 'g':
+      udev_group = strdup(optarg);
+      break;
+    case 'm':
+      udev_mode = strdup(optarg);
+      break;
+ default:
+      usage();
+    }
+  }
+
+  if (udev_action != NULL) {
+    action = udev_action;
+  } else {
+    action = default_udev_action;
+  }
+
+  LIBMTP_Init();
+  ret = LIBMTP_Get_Supported_Devices_List(&entries, &numentries);
+  if (ret == 0) {
+    switch (style) {
+    case style_udev:
+      printf("# UDEV-style hotplug map for libmtp\n");
+      printf("# Put this file in /etc/udev/rules.d\n\n");
+      printf("ACTION!=\"add\", GOTO=\"libmtp_rules_end\"\n");
+      printf("ENV{MAJOR}!=\"?*\", GOTO=\"libmtp_rules_end\"\n");
+      printf("SUBSYSTEM==\"usb\", GOTO=\"libmtp_usb_rules\"\n"
+	     "GOTO=\"libmtp_rules_end\"\n\n"
+	     "LABEL=\"libmtp_usb_rules\"\n\n");
+      printf("# Some sensitive devices we surely don\'t wanna probe\n");
+      printf("# Color instruments\n");
+      printf("ATTR{idVendor}==\"0670\", GOTO=\"libmtp_rules_end\"\n");
+      printf("ATTR{idVendor}==\"0765\", GOTO=\"libmtp_rules_end\"\n");
+      printf("ATTR{idVendor}==\"085c\", GOTO=\"libmtp_rules_end\"\n");
+      printf("ATTR{idVendor}==\"0971\", GOTO=\"libmtp_rules_end\"\n");
+      printf("# Canon scanners that look like MTP devices (PID 0x22nn)\n");
+      printf("ATTR{idVendor}==\"04a9\", ATTR{idProduct}==\"22*\", GOTO=\"libmtp_rules_end\"\n");
+      printf("# Canon digital camera (EOS 3D) that looks like MTP device (PID 0x3113)\n");
+      printf("ATTR{idVendor}==\"04a9\", ATTR{idProduct}==\"3113\", GOTO=\"libmtp_rules_end\"\n");
+      printf("# Sensitive Atheros devices that look like MTP devices\n");
+      printf("ATTR{idVendor}==\"0cf3\", GOTO=\"libmtp_rules_end\"\n");
+      printf("# Sensitive Atmel JTAG programmers\n");
+      printf("ATTR{idVendor}==\"03eb\", GOTO=\"libmtp_rules_end\"\n");
+      printf("# Sensitive Philips device\n");
+      printf("ATTR{idVendor}==\"0471\", ATTR{idProduct}==\"083f\", GOTO=\"libmtp_rules_end\"\n");
+      break;
+    case style_udev_old:
+      printf("# UDEV-style hotplug map for libmtp\n");
+      printf("# Put this file in /etc/udev/rules.d\n\n");
+      printf("ACTION!=\"add\", GOTO=\"libmtp_rules_end\"\n");
+      printf("ENV{MAJOR}!=\"?*\", GOTO=\"libmtp_rules_end\"\n");
+      printf("SUBSYSTEM==\"usb_device\", GOTO=\"libmtp_usb_device_rules\"\n"
+	     "GOTO=\"libmtp_rules_end\"\n\n"
+	     "LABEL=\"libmtp_usb_device_rules\"\n\n");
+      break;
+    case style_usbmap:
+      printf("# This usermap will call the script \"libmtp.sh\" whenever a known MTP device is attached.\n\n");
+      break;
+    case style_hal:
+      printf("<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?> <!-- -*- SGML -*- -->\n");
+      printf("<!-- This file was generated by %s - - fdi -->\n", argv[0]);
+      printf("<deviceinfo version=\"0.2\">\n");
+      printf("  <device>\n");
+      printf("    <match key=\"info.subsystem\" string=\"usb\">\n");
+      break;
+    case style_usbids:
+      printf("# usb.ids style device list from libmtp\n");
+      printf("# Compare: http://www.linux-usb.org/usb.ids\n");
+      break;
+    case style_hwdb:
+      printf("# hardware database file for libmtp supported devices\n");
+      break;
+    }
+
+    for (i = 0; i < numentries; i++) {
+      LIBMTP_device_entry_t * entry = &entries[i];
+
+      switch (style) {
+      case style_udev:
+      case style_udev_old:
+	printf("# %s %s\n", entry->vendor, entry->product);
+	printf("ATTR{idVendor}==\"%04x\", ATTR{idProduct}==\"%04x\", %s", entry->vendor_id, entry->product_id, action);
+	if (udev_group != NULL) printf(", GROUP=\"%s\"", udev_group);
+	if (udev_mode != NULL) printf(", MODE=\"%s\"", udev_mode);
+	printf("\n");
+	break;
+      case style_usbmap:
+          printf("# %s %s\n", entry->vendor, entry->product);
+          printf("libmtp.sh    0x0003  0x%04x  0x%04x  0x0000  0x0000  0x00    0x00    0x00    0x00    0x00    0x00    0x00000000\n", entry->vendor_id, entry->product_id);
+          break;
+      case style_hal:
+          printf("      <!-- %s %s -->\n", entry->vendor, entry->product);
+          printf("      <match key=\"usb.vendor_id\" int=\"0x%04x\">\n", entry->vendor_id);
+          printf("        <match key=\"usb.product_id\" int=\"0x%04x\">\n", entry->product_id);
+          /* FIXME: If hal >=0.5.10 can be depended upon, the matches below with contains_not can instead use addset */
+          printf("          <match key=\"info.capabilities\" contains_not=\"portable_audio_player\">\n");
+          printf("            <append key=\"info.capabilities\" type=\"strlist\">portable_audio_player</append>\n");
+          printf("          </match>\n");
+          printf("          <merge key=\"info.vendor\" type=\"string\">%s</merge>\n", entry->vendor);
+          printf("          <merge key=\"info.product\" type=\"string\">%s</merge>\n", entry->product);
+          printf("          <merge key=\"info.category\" type=\"string\">portable_audio_player</merge>\n");
+          printf("          <merge key=\"portable_audio_player.access_method\" type=\"string\">user</merge>\n");
+          printf("          <match key=\"portable_audio_player.access_method.protocols\" contains_not=\"mtp\">\n");
+          printf("            <append key=\"portable_audio_player.access_method.protocols\" type=\"strlist\">mtp</append>\n");
+          printf("          </match>\n");
+          printf("          <append key=\"portable_audio_player.access_method.drivers\" type=\"strlist\">libmtp</append>\n");
+          /* FIXME: needs true list of formats ... But all of them can do MP3 and WMA */
+          printf("          <match key=\"portable_audio_player.output_formats\" contains_not=\"audio/mpeg\">\n");
+          printf("            <append key=\"portable_audio_player.output_formats\" type=\"strlist\">audio/mpeg</append>\n");
+          printf("          </match>\n");
+          printf("          <match key=\"portable_audio_player.output_formats\" contains_not=\"audio/x-ms-wma\">\n");
+          printf("            <append key=\"portable_audio_player.output_formats\" type=\"strlist\">audio/x-ms-wma</append>\n");
+          printf("          </match>\n");
+	  /* Special hack to support the OGG format - irivers, TrekStor and NormSoft (Palm) can always play these files! */
+	  if (entry->vendor_id == 0x4102 || // iriver
+	      entry->vendor_id == 0x066f || // TrekStor
+	      entry->vendor_id == 0x1703) { // NormSoft, Inc.
+	    printf("          <match key=\"portable_audio_player.output_formats\" contains_not=\"application/ogg\">\n");
+	    printf("            <append key=\"portable_audio_player.output_formats\" type=\"strlist\">application/ogg</append>\n");
+	    printf("          </match>\n");
+	  }
+          printf("          <merge key=\"portable_audio_player.libmtp.protocol\" type=\"string\">mtp</merge>\n");
+          printf("        </match>\n");
+          printf("      </match>\n");
+        break;
+      case style_usbids:
+          if (last_vendor != entry->vendor_id) {
+            printf("%04x\n", entry->vendor_id);
+          }
+          printf("\t%04x  %s %s\n", entry->product_id, entry->vendor, entry->product);
+        break;
+      case style_hwdb:
+          printf("# %s %s\n", entry->vendor, entry->product);
+          printf("usb:v%04xp%04x*\n", entry->vendor_id, entry->product_id);
+          printf(" ID_MEDIA_PLAYER=1\n");
+          printf(" ID_MTP_DEVICE=1\n");
+          printf("\n");
+          break;
+      }
+      last_vendor = entry->vendor_id;
+    }
+  } else {
+    printf("Error.\n");
+    exit(1);
+  }
+
+  // Then the footer.
+  switch (style) {
+  case style_usbmap:
+  case style_hwdb:
+    break;
+  case style_udev:
+  case style_udev_old:
+    /*
+     * This is code that invokes the mtp-probe program on
+     * every USB device that is either PTP or vendor specific
+     */
+    printf("\n# Autoprobe vendor-specific, communication and PTP devices\n");
+    printf("ENV{ID_MTP_DEVICE}!=\"1\", ENV{MTP_NO_PROBE}!=\"1\", ENV{COLOR_MEASUREMENT_DEVICE}!=\"1\", ENV{libsane_matched}!=\"yes\", ATTR{bDeviceClass}==\"00|02|06|ef|ff\", PROGRAM=\"%smtp-probe /sys$env{DEVPATH} $attr{busnum} $attr{devnum}\", RESULT==\"1\", %s", mtp_probe_dir, action);
+    if (udev_group != NULL) printf(", GROUP=\"%s\"", udev_group);
+    if (udev_mode != NULL) printf(", MODE=\"%s\"", udev_mode);
+    printf("\n");
+   printf("\nLABEL=\"libmtp_rules_end\"\n");
+    break;
+  case style_hal:
+    printf("    </match>\n");
+    printf("  </device>\n");
+    printf("</deviceinfo>\n");
+    break;
+  case style_usbids:
+    printf("\n");
+  }
+
+  exit (0);
+}
diff --git a/util/mtp-probe.c b/util/mtp-probe.c
new file mode 100644
index 0000000..3ff2040
--- /dev/null
+++ b/util/mtp-probe.c
@@ -0,0 +1,321 @@
+/**
+ * \file mtp-probe.c
+ * Program to probe newly connected device interfaces from
+ * userspace to determine if they are MTP devices, used for
+ * udev rules.
+ *
+ * Invoke the program from udev to check it for MTP signatures,
+ * e.g.
+ * ATTR{bDeviceClass}=="ff",
+ * PROGRAM="<path>/mtp-probe /sys$env{DEVPATH} $attr{busnum} $attr{devnum}",
+ * RESULT=="1", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1",
+ * SYMLINK+="libmtp-%k", MODE="666"
+ *
+ * Is you issue this before testing your /var/log/messages
+ * will be more verbose:
+ *
+ * udevadm control --log-priority=debug
+ *
+ * Exits with status code 1 if the device is an MTP device,
+ * else exits with 0.
+ *
+ * Copyright (C) 2011-2012 Linus Walleij <triad@df.lth.se>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+#ifndef __linux__
+#error "This program should only be compiled for Linux!"
+#endif
+
+#include <unistd.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include <syslog.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <dirent.h>
+#include <libmtp.h>
+#include <regex.h>
+#include <fcntl.h>
+
+enum ep_type {
+  OTHER_EP,
+  BULK_OUT_EP,
+  BULK_IN_EP,
+  INTERRUPT_IN_EP,
+  INTERRUPT_OUT_EP,
+};
+
+static enum ep_type get_ep_type(char *path)
+{
+  char pbuf[FILENAME_MAX];
+  int len = strlen(path);
+  int fd;
+  char buf[128];
+  int bread;
+  int is_out = 0;
+  int is_in = 0;
+  int is_bulk = 0;
+  int is_interrupt = 0;
+  int i;
+
+  strcpy(pbuf, path);
+  pbuf[len++] = '/';
+
+  /* Check the type */
+  strncpy(pbuf + len, "type", FILENAME_MAX - len);
+  pbuf[FILENAME_MAX - 1] = '\0'; /* Sentinel */
+
+  fd = open(pbuf, O_RDONLY);
+  if (fd < 0)
+    return OTHER_EP;
+  bread = read(fd, buf, sizeof(buf));
+  close(fd);
+  if (bread < 2)
+    return OTHER_EP;
+
+  for (i = 0; i < bread; i++)
+    if(buf[i] == 0x0d || buf[i] == 0x0a)
+      buf[i] = '\0';
+
+  if (!strcmp(buf, "Bulk"))
+    is_bulk = 1;
+  if (!strcmp(buf, "Interrupt"))
+    is_interrupt = 1;
+
+  /* Check the direction */
+  strncpy(pbuf + len, "direction", FILENAME_MAX - len);
+  pbuf[FILENAME_MAX - 1] = '\0'; /* Sentinel */
+
+  fd = open(pbuf, O_RDONLY);
+  if (fd < 0)
+    return OTHER_EP;
+  bread = read(fd, buf, sizeof(buf));
+  close(fd);
+  if (bread < 2)
+    return OTHER_EP;
+
+  for (i = 0; i < bread; i++)
+    if(buf[i] == 0x0d || buf[i] == 0x0a)
+      buf[i] = '\0';
+
+  if (!strcmp(buf, "in"))
+    is_in = 1;
+  if (!strcmp(buf, "out"))
+    is_out = 1;
+
+  if (is_bulk && is_in)
+    return BULK_IN_EP;
+  if (is_bulk && is_out)
+    return BULK_OUT_EP;
+  if (is_interrupt && is_in)
+    return INTERRUPT_IN_EP;
+  if (is_interrupt && is_out)
+    return INTERRUPT_OUT_EP;
+
+  return OTHER_EP;
+}
+
+static int has_3_ep(char *path)
+{
+  char pbuf[FILENAME_MAX];
+  int len = strlen(path);
+  int fd;
+  char buf[128];
+  int bread;
+
+  strcpy(pbuf, path);
+  pbuf[len++] = '/';
+  strncpy(pbuf + len, "bNumEndpoints", FILENAME_MAX - len);
+  pbuf[FILENAME_MAX - 1] = '\0'; /* Sentinel */
+
+  fd = open(pbuf, O_RDONLY);
+  if (fd < 0)
+    return -1;
+  /* Read all contents to buffer */
+  bread = read(fd, buf, sizeof(buf));
+  close(fd);
+  if (bread < 2)
+    return 0;
+
+  /* 0x30, 0x33 = "03", maybe we should parse it? */
+  if (buf[0] == 0x30 && buf[1] == 0x33)
+    return 1;
+
+  return 0;
+}
+
+static int check_interface(char *sysfspath)
+{
+  char dirbuf[FILENAME_MAX];
+  int len = strlen(sysfspath);
+  DIR *dir;
+  struct dirent *dent;
+  regex_t r;
+  int ret;
+  int bulk_out_ep_found = 0;
+  int bulk_in_ep_found = 0;
+  int interrupt_in_ep_found = 0;
+
+  ret = has_3_ep(sysfspath);
+  if (ret <= 0)
+    return ret;
+
+  /* Yes it has three endpoints ... look even closer! */
+  dir = opendir(sysfspath);
+  if (!dir)
+    return -1;
+
+  strcpy(dirbuf, sysfspath);
+  dirbuf[len++] = '/';
+
+  /* Check for dirs that identify endpoints */
+  ret = regcomp(&r, "^ep_[0-9a-f]+$", REG_EXTENDED | REG_NOSUB);
+  if (ret) {
+    closedir(dir);
+    return -1;
+  }
+
+  while ((dent = readdir(dir))) {
+    struct stat st;
+
+    /* No need to check those beginning with a period */
+    if (dent->d_name[0] == '.')
+      continue;
+
+    strncpy(dirbuf + len, dent->d_name, FILENAME_MAX - len);
+    dirbuf[FILENAME_MAX - 1] = '\0'; /* Sentinel */
+    ret = lstat(dirbuf, &st);
+    if (ret)
+      continue;
+    if (S_ISDIR(st.st_mode) && !regexec(&r, dent->d_name, 0, 0, 0)) {
+      enum ep_type ept;
+
+      ept = get_ep_type(dirbuf);
+      if (ept == BULK_OUT_EP)
+	bulk_out_ep_found = 1;
+      else if (ept == BULK_IN_EP)
+	bulk_in_ep_found = 1;
+      else if (ept == INTERRUPT_IN_EP)
+	interrupt_in_ep_found = 1;
+    }
+  }
+
+  regfree(&r);
+  closedir(dir);
+
+  /*
+   * If this is fulfilled the interface is an MTP candidate
+   */
+  if (bulk_out_ep_found &&
+      bulk_in_ep_found &&
+      interrupt_in_ep_found) {
+    return 1;
+  }
+
+  return 0;
+}
+
+static int check_sysfs(char *sysfspath)
+{
+  char dirbuf[FILENAME_MAX];
+  int len = strlen(sysfspath);
+  DIR *dir;
+  struct dirent *dent;
+  regex_t r;
+  int ret;
+  int look_closer = 0;
+
+  dir = opendir(sysfspath);
+  if (!dir)
+    return -1;
+
+  strcpy(dirbuf, sysfspath);
+  dirbuf[len++] = '/';
+
+  /* Check for dirs that identify interfaces */
+  ret = regcomp(&r, "^[0-9]+-[0-9]+(\\.[0-9])*\\:[0-9]+\\.[0-9]+$", REG_EXTENDED | REG_NOSUB);
+  if (ret) {
+    closedir(dir);
+    return -1;
+  }
+
+  while ((dent = readdir(dir))) {
+    struct stat st;
+    int ret;
+
+    /* No need to check those beginning with a period */
+    if (dent->d_name[0] == '.')
+      continue;
+
+    strncpy(dirbuf + len, dent->d_name, FILENAME_MAX - len);
+    dirbuf[FILENAME_MAX - 1] = '\0'; /* Sentinel */
+    ret = lstat(dirbuf, &st);
+    if (ret)
+      continue;
+
+    /* Look closer at dirs that may be interfaces */
+    if (S_ISDIR(st.st_mode)) {
+      if (!regexec(&r, dent->d_name, 0, 0, 0))
+      if (check_interface(dirbuf) > 0)
+	/* potential MTP interface! */
+	look_closer = 1;
+    }
+  }
+
+  regfree(&r);
+  closedir(dir);
+  return look_closer;
+}
+
+int main (int argc, char **argv)
+{
+  char *fname;
+  int busno;
+  int devno;
+  int ret;
+
+  if (argc < 4) {
+    syslog(LOG_INFO, "need device path, busnumber, device number as argument\n");
+    printf("0");
+    exit(0);
+  }
+
+  fname = argv[1];
+  busno = atoi(argv[2]);
+  devno = atoi(argv[3]);
+
+  syslog(LOG_INFO, "checking bus %d, device %d: \"%s\"\n", busno, devno, fname);
+
+  ret = check_sysfs(fname);
+  /*
+   * This means that regular directory check either agrees that this may be a
+   * MTP device, or that it doesn't know (failed). In that case, kick the deeper
+   * check inside LIBMTP.
+   */
+  if (ret != 0)
+    ret = LIBMTP_Check_Specific_Device(busno, devno);
+  if (ret) {
+    syslog(LOG_INFO, "bus: %d, device: %d was an MTP device\n", busno, devno);
+    printf("1");
+  } else {
+    syslog(LOG_INFO, "bus: %d, device: %d was not an MTP device\n", busno, devno);
+    printf("0");
+  }
+
+  exit(0);
+}